Back to the Mac: How to Notarize Disk Images for Distribution Outside the Mac App Store

Distributing macOS apps as ZIP archives has been quaint since Sierra. Today’s macOS packaging requirements mandates notarization, otherwise it would say that your app is suspicious. This often means distributing apps within disk images since this container format can be signed, notarized, and stapled.

How to Compile OpenSSL 1.1.1 for Apple Silicon

The long-rumored ARM Mac is on the horizon. With this comes the big work of porting and re-compiling current applications. But many Mac App Store apps are dependent on OpenSSL, which doesn’t yet support ARM on the Mac. Here is how you can continue to test your mac app while waiting for official OpenSSL support for the new hardware.

How to Maintain Loading State in Cells

When a table view asks for a cell, often images in the cell isn’t yet available and needs to be fetched from a server – thus the cell gets a placeholder image. But static placeholders doesn’t look as good as animated ones. Unfortunately cell views gets scrolled off and re-used which makes managing animations challenging.

Clean Architecture with VIPER Sample Project for UIKit

Architecting applications to meet today’s challenges and be ready for tomorrow’s problem is not an easy feat. The principles of clean architecture may be sound, but separating the signal from the noise is tough. Here is a sample VIPER project for iOS that you can tinker to learn about the principles of clean architecture.

How to Implement VIPER Clean Architecture in an iOS App

Compartmentalizing functionalities within an app to improve its maintainability is difficult. More so when you’re not well versed with software architectures and other software engineering principles. What if you can confidently structure your app to be resilient and adaptive to change?

How to Pass App Store Review: Guideline 4.2 Design – Minimum functionality

Delivering a “minimum viable product” won’t be viable if your app isn’t going to pass App Store Review. Is your app “good enough” for the App Store? Is it appropriate for the App Store and not better off in the web? Read on to ensure your app pass the gates of App Review.

How to Provide Free Time-Limited Trials in the App Store

Providing “lite” version of apps had been the strategy to provide free trials since the dawn of the App Store. However these reduced-functionality apps fall short on demonstrating its full capabilities, which in itself be ineffective in enticing the user to buy. Fortunately that is no longer the only option available for App Store apps.

Code Signing Failure due to Symlink Folders

You try to reduce the application’s size by sharing resources in framework bundles and creating symbolic links so that other frameworks can find and use those resources. However this fell at odds with code signing (and probably notarization). Here is how to share code and resources in frameworks the right way.