Ad-Hoc Deployment

Ad-hoc Deployment

If you don't want to use testflight, here is another over-the-air solution:

  1. In your xcode project go to Product > Archive

  2. Click Distribute in the xcode organizer window that appears when the operation is complete

  3. Click Save for Enterprise or Ad Hoc Deployment and choose next

  4. Choose your ad hoc provisioning profile (created in the member center at developer.apple.com. Make sure it has all 20 device uuids included on the profile.

  5. Click Export

  6. Save it. Make sure to click on the Save for enterprise distribution checkbox and fill out the required info. Application URL will be the URL starting with http:// or https:// that will go to your files (see next step)

  7. This will save two files yourFilename.ipa and yourFileName.plist. Copy these files to your webserver.

  8. Now for the magic. You need to make a link somewhere with the URL itms-services://?action=download-manifest&url=http://yourwebserver.com/path/to/yourFileName.plist

  9. Assuming all your links work and your provisioning profiles are correct, the app should start installing on any registered device that clicks on that link.

If you don't want over the air downloads, you can distribute that .ipa file that was generated in step 6 to your 20 people (their devices must be registered on the provisioning profile still). They can open that file in iTunes and then sync your app with their devices.

Installation of an application over the air or by syncing with iTunes will not wipe the content of any devices.

Difference: Ad Hoc distribution and Developmental distribution

Expanding on your comments

  1. Ad Hoc builds can be distributed and installed though iTunes, the X Code organizer or though the web. One service for managing adhoc builds and testing is Testflight (https://testflightapp.com/) check them out they have lots of resources regarding provision profiles,

  2. Normally your distribution builds are optimized with debugging information stripped, so yes you can not debug adhoc & distribution builds in the debugger.

  3. Your App ID is linked to APNS, so the certificate you generate is linked to your application. Device tokens on Sandbox and production are different.

To answer your questions

  1. for your iOS developer profile you're limited to 100 devices across the entire account. These are shared between applications. 100 devices means that you are allowed to register 100 devices per developer account per year. At the end of the year when you renew your account you can edit this list and reset your device quota.

  2. Both ad hoc builds and developer builds require your UDIDs. What happens is that the provision profile (development or adhoc) must match the provision profile that the app was signed against. Under development it's usually easiest to use a wildcard App ID (such as *) but when you are releasing (under ad hoc or app store distribution) you should use the full App ID name such as com.company.appname this is to identify your app under services such as In app purchases or Push notification services

How should I understand Save for Development Deployment in Xcode for iOS app?

1) As apple integrated testflight in itunes connect so when you select "Save for Ad Hoc Deployment" then you can distribute your app to users with designated devices. The app will be code signed with the distribution certificate. i.e it will use distribution certificate which we used to submit app on appstore. Previously when you use "Save for Ad Hoc Deployment" then you can create an ipa from development profile also. but now on it requires distribution certificate for "Save for Ad Hoc Deployment".

2) When you select "Save for Development Deployment" then you can distribute your app using development profile. it just like previously we did with "Save for Ad Hoc Deployment". i.e you can create your ipa file using development certificate also and you can distribute this ipa to your client and testers who's device id is present in your provisioning profile.

Ad Hoc iOS App Distribution to several hundred devices

iOS AdHoc deployment is limited to 100 Devices per app.

You can read more about it here https://developer.apple.com/library/archive/documentation/ToolsLanguages/Conceptual/DevPortalGuide/DistributinganApp/DistributinganApp.html

If you are planning to deploy the app to a larger number of devices, as you wrote, I think your only option is to deploy it on the AppStore and allow access only to selected devices.

For instance, you can ask your clients for their devices UUID and check if a device opening the app is associated with one of these UUIDs.

Or you could protect the app with a login (username-password) or even a serial code that you give to your clients privately.

What is the difference between ad hoc distribution and app store distribution in ios

Ad-Hoc Distribution:
Distribution builds of an app, which can be installed on 100 devices designated by the developer on his provisioning portal. The distribution mechanism can be websites, mails or OTA. These type of builds are generally for beta testing or demos.

App-store Distribution:
Distribution builds that are intended for general public(for sale). The distribution mechanism is App store only.



Related Topics



Leave a reply



Submit