简体   繁体   中英

Testing Mac App Store app on real device - How to export?

I have been developing Mac App Store and iOS apps for several years now. I don't event want to know how many hours, days or weeks (?) I spend by solving provisioning problems...

One of my Mac apps targets OS X 10.7+. While everything works fine in genereal, after the last update some users reported problems when using the app on 10.7. Other OS X version work fine.

In the past, I simply cloned the project from my developing computer (iMac) to my MacBook running the specific OS X version. I then opened the project in Xcode, ran it and check what the problem was. This is far to easy for Apple, since this not possible any more.

The project only compiles (due to several reasons) in Xcode 7+ only. Xcode 7 runs on 10.10+, thus testing on 10.7 is not possible.

I have been trying to build/export the app to test it on my MacBook the whole day without any success. The app simply does not start on 10.7 on my MacBook. Of course the MacBook is a registered devices, included in my provisioning profiles, etc.

This is my workflow:

  • Removed all App Store specific entitlements from the app in Xcode/Target/Capabilities
  • Created new wildcard certificates and provisioning profiles that does not include any App Store specific entitlements
  • Selected the new profiles in Xcode/Target/Build Settings/Code Signing
  • Run Product/Archive
  • In Organizer select the Archive and click on Export

Here I tried several different combination (signing, no signing, etc.). No matter if I choose Export a Developer-Signed Application or Export as a Mac Application the result is always the same.

When I copy the created App file to my MacBook und start it nothing happens. The icon flashes once and this is all. Only the Console gives I hint about the Problem:

killed com.mycompany.myapp because its use of the com.apple.developer.team-identifier entitlement is not allowed.

Great... As explained I removed all entitlement from the app and from the profiles. Where the hack does this entitlement come from and how do I get rid of it?

Is there no way to test the App with all its features (== all entitlement) on another device?

I should have answered my own question earlier. Back in January I was somehow able to get the app running on my other Mac. Now I had to solve the same problem and it took some time to dig out the correct solution again.

So, maybe this will help others to solve the same problem. At least it will help my future-me to remember what has to be done :-)

  • Archive the app just as you would prepare the app to be submitted to the App Store.
  • Switch to the Organizer and select the just created archive
  • Select Export... instead of Upload to App Store...
  • Select Export a Developer ID-signed Application (second option). DO NOT select Export a Development-signed Application (third option). Actually I have no idea what's the difference is, but only the first one works...)
  • Click Next and the Organzier will fetch provisioning information from your dev account. DO NOT select the fetched provisioning profile but select Use local signing assets from the dropdown box instead
  • Click Choose and Export in the next step.
  • Done

Good luck and happy app signing...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM