If you have had to spend a few days (or still are if you’re desparate enought to be here) trying to get your app working with sandbox I might be able to help.
I’m assuming you have alredy tried the following under the project properties:
- Targets > Capabilities > App Sandbox > Turn ON
- General > Signing > Mac App Store
- Build Setting > Code Signing > Provisioning Profile > [Some rovisioning profile you have already set up]
If this solves your problem awesome, then I’m no further use to you. Otherwise read on my friend.
For me I thought I was really clever by putting a Copy Files build phase which would copy the compiled binary over to a Dropbox folder for use later on.
I then thought I was clever by fixing a warning (honestly can’t remember what it was now) by going under the Build Settings and setting Skip Install for Release to YES.
What did this do I hear you think. It produced a folder structure like the following:
When I peaked inside the .app I didn’t find the following important files & folders:
- _CodeSignature [folder]
- embedded.provisionprofile [file]
- Resources/archived-expanded-entitlements.xcent [file]
The most important one is is the entitlements file, as I had skipped the install the archive was simply archiving the copied target that was going to dropbox
Up until now I’ve told you what I did wrong. What I did to fix this was as follows.
- Delete the Copy Files build phase.
- Set the Skip Install to NO for ALL Configurations i.e. Debug & Release in my case.
Once I ran Archive my folder structure was correct and my app was on the following path:
On a side note, you’ll find that if you leave in the Copy Files you will have both build paths within your .xarchive folder. Which means you get a funky icon instead of your app icon. This happens because there are two targets in the archive instead of the expected one.