This demo shows a few things about distributing a .ipa file outside the App Store. In the Organizer, you can use the Distribute App button and choose a method like Release Testing. This will only work with archives signed by a team participating in the Apple Developer Program. For example, Enterprise distribution isn’t possible because there are no enterprise signing certificates on this computer, and this archive isn’t signed with one.
Click the Distribute button to show the review screen. Scroll down and see that get-task-allow is set to false. That will keep debuggers from being able to attach to this .ipa. Now, Export and find a place to save the .ipa on your computer.
Open the export folder and see the .ipa, some log files, and property lists. The Packaging.log was generated while Xcode talked to Apple and generated all the correct certificates. If you’re ever troubleshooting app distribution, this is a good place to look for errors. The Distribution Summary plist file is basically the same information you saw on the review page before Xcode created the .ipa.
A little secret: a .ipa is actually a zip archive in disguise. Change the .ipa ending to .zip. If you can’t see the filename extensions, change the Finder Settings to Show all filename extensions. Your computer will ask if you’re sure about this.
Once it’s a zip, you can expand it by double-clicking. Now, you’ll have a folder called Payload. Open that folder, and there’s your app.
Another little secret: it’s just a special folder, not a single file. Right-click the app and choose Show Package Contents. Now, you can see the executable itself. You can also see the app icon graphics.
The Info.plist is the same information you see in Xcode under the Info tab of the target settings. Select the embedded.mobile provision file and show the Quick Look by pressing the space bar or right-clicking and selecting Quick Look.
Now, you’ll see some more information about the app, including the platforms it’ll run on, when it was created, and when it’ll expire. You can also see the certificate that was used to sign the app. The list of provisioned devices shows all of the devices that this team currently owns.
When you’re working with an expanding group of testers, someone on your team will add device IDs to the team’s Apple Developer account. This build of this app will only run on these two devices. If the team added more, you’d have to return to the Organizer and create a new Distribution. You wouldn’t have to rebuild the app, and you’d know that the new users were getting the exact same build.
Now that you’ve completed your inspection of the .ipa, change the .zip extension back to .ipa. Connect one of the allowed devices to the Mac. You can install the .ipa by dragging and dropping it onto the phone in Finder.
Here’s the phone showing in Finder. If you click just below the name, you’ll see the alternate identifiers for this device. The UDID is the value that matches the signing certificate. When you’re working with teammates who aren’t as handy with computers as you, you can walk them through getting this value off their own devices so you can add them to the team’s list of devices. When the UDID shows, you can right-click and copy it to the clipboard.
Here’s an admin user connected to this team’s account on developer.apple.com. By clicking Devices, they can manage the test devices for this team. The team is allowed 100 of each kind of device. At the end of each year, the team can delete unused devices and reset the value to 100.
Click the plus in the blue circle to bring up the form. You can enter a human-readable name and the UDID value. Once a new device is added, you’ll need to redistribute any apps you want this new device to be able to run.