1

I've got a sandboxed Mac app that uses iCloud entitlements, and I'm trying to figure out a good way to test it across multiple OS X versions (i.e. 10.7, 10.8, and 10.9). My usual approach to this before I added the iCloud entitlements was to create an archive of the app and export it as a Developer ID-signed application, then cart the app around to my various partitions with the different OSes installed and try it out on each one.

However, now that I have the iCloud entitlement, the app refuses to launch if it's only Developer ID-signed; you have to have Mac App Store signing for iCloud's ubiquity containers entitlement. I can do a separate build with iCloud entitlements turned off, but I'd love it if there was an easier way to get a packaged, portable version of my app that I can test out on my other computers.

So, in short, my question is: is there a) a way to create an app package with iCloud entitlements that I can move to other computers or partitions for testing or b) a better way to test a sandboxed app with App Store entitlements across multiple OS X versions?

korsiber
  • 11
  • 1

1 Answers1

0

It turns out that I was misunderstanding the proper use of provisioning profiles. I figured out how to do this with some help from the question over at: iCloud and correct provisioning profile usage

The answers are spread pretty far throughout that question, however, so here's the summarized version:

To run an app that normally requires entitlements on a testing Mac, you'll need to sign the app with a provisioning profile, then install that provisioning profile on the testing Mac. This means that you need to already have the testing device added to your developer account when you create the provisioning profile. Create the provisioning profile and install it on both your testing Mac and the development Mac. Xcode handles installing the provisioning profiles on your development machine, but you'll need to download the provisioning profile and install it on your testing machine on your own. You can download it from Apple's Developer Portal, and it should take you to the System Preferences pane where you can install it automatically.

On your development machine, archive the app, then click the "Distribute..." button in Xcode's organizer. Choose "Export..." and export it as a raw application. Sign the app with the shared provisioning profile, and you should be good to go. The app can be moved to that Mac and run as normal.

Community
  • 1
  • 1
korsiber
  • 11
  • 1