Developer ID signed apps cannot load external data under macOS Sierra

Hello, we currently have problems with the download versions (ZIP) of our applications under the new operating system »macOS Sierra« from Apple. It is a (non-native) video tutorial app with external data and different startfiles (certificate signed) for Mac and Windows (originally created for DVDs). Although the Mac startfile of the download version was properly signed with a valid Apple Developer ID certificate, an authorization problem now appears and the application can no longer load external data. The same application on DVD still works impeccable. My researches have shown that under "macOS Sierra" developer ID signed apps (outside the App Store) are not allowed to use external libraries, external code or external data:

https://developer.apple.com/library/content/releasenotes/MacOSX/WhatsNewInOSX/Articles/OSXv10.html

»Starting in macOS 10.12, you can not get any longer. An app distributed outside the Mac App. To provide secure execution, code your disk image is using the codesign tool, or distribute your app through the Mac App Store. For more information, see the updated revision to macOS Code Signing In Depth.«

https://developer.apple.com/library/content/technotes/tn2206/_index.html


Is our described type of application no longer compatible with macOS Sierra?


Is there any solution to continue offering our applications as a download for macOS Sierra outside the App Store? Possibly one could encapsulate here in the individual trainings over an automatism all necessary files in an app, afterwards sign and to prepare as DMG !?

Accepted Reply

If the app continues to work from DVD, it’s likely that this is a packaging problem. I recommend you read through the Shipping your Signed Code section of Technote 2206 macOS Code Signing In Depth. For more background on this, watch WWDC 2016 Session 706 What’s New in Security.

If you can’t get this working based on the info above, my recommendation is that you open a DTS tech support incident so you can work through this in detail with one of my colleagues.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Replies

If the app continues to work from DVD, it’s likely that this is a packaging problem. I recommend you read through the Shipping your Signed Code section of Technote 2206 macOS Code Signing In Depth. For more background on this, watch WWDC 2016 Session 706 What’s New in Security.

If you can’t get this working based on the info above, my recommendation is that you open a DTS tech support incident so you can work through this in detail with one of my colleagues.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Hello eskimo,


thanks a lot. That helped me.


Now I would like to know how to create a read only disk image on macOS sierra. I uses to do this with disk utility creating an .sparseimage with a background image, an icon, one folder with my application and an alias from the programm folder and then convert it with disk utility to an compressed disk image.


This seems not to work anymore.

If you’re creating a disk image to distribute your app, you should script that work using the disk image tool. That makes the task easier but, more importantly, it allows you to get repeatable results. You can also integrate the code signing into that script.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Hello eskimo,


thank you very much. That helped me again.


Unfortunately I have now the problem that under Sierra the alias to the directory »Applications« (Programme) in the DMG is presented without a preview icon.

The path seems to be right and the application is copied correctly.

And after some time and several times openeing the directory »Applications« the right preview icon appears.

Do you know this problem and is there any solution for this?


Do you know this problem and is there any solution for this?

No idea, sorry.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"