It seems a number of Mac apps failed to launch over the weekend, due to a change in the way Apple certifies apps that have not been purchased via the Mac App Store.
Users of apps, including 1Password, Soulver, PDFPen and others, who had obtained the apps directly from the developers’ websites, all reported the apps crashed immediately upon launch. Developers indicated the issue was caused by the apps’ code signing certificates reaching their expiration date.
Apple issues developer signing certificates to assure users that an app they have downloaded outside of the Mac App Store is legitimate, comes from a known source, and hasn’t been modified since it was last signed. In the past, the expiration of a code signing certificate had no effect on already shipped software, but that changed last year, when Apple began requiring apps to carry something called a provisioning profile.
What is a Provisioning Profile?
A provisioning profile tells macOS that the app is allowed to perform certain system actions, as the app has been checked by Apple against an online database. The profile is also signed using the developer’s code signing certificate, and if that certificate expires, that causes the provisioning profile to become invalid, and the app won’t run.
AgileBits Explains What Happened
AgileBits, developer of the popular 1Password app, sold both in the Mac App Store and directly from the developer’s website, saw users who had purchased the app directly from them unable to launch the app. The developers explained in a blog post that they were caught by surprise:
We knew our developer certificate was going to expire on Saturday, but thought nothing of it because we believed those were only necessary when publishing a new version. Apparently that’s not the case. In reality it had the unexpected side effect of causing macOS to refuse to launch 1Password properly.
The common factor among the affected apps appears to be those that include iCloud entitlements as part of their provisioning profile. Developers are apologizing and telling affected users to download and install the latest updates to the apps to fix the launch issues.