Ios – Ad hoc distribution: failed to install app

ad-hoc-distributioniosiphoneprovisioning-profilexcode5

I'm developing an ios app (only for iphone) and trying to have other people test it. I have no problem installing the app on my own device through Ad hoc distribution. When I tried installing on another person's device, it always failed with the message "xxxxx could not be installed at this time". I'm using xcode 5.

Here are the steps that I followed:

  1. Add the device's UDID to the existing Ad hoc provisioning profile in the developer portal
  2. Download that provisioning profile and drag that to the xcode organizer
  3. Under code signing->provisioning profile->release, choose the Ad hoc provisioning profile. Under code signing identity->release, choose the distribution certificate from the Ad hoc profile. I set the provisioning profile (debug) to none and set the code signing identity(debug) to 'don't code sign'.
  4. Build the app and create an archive.
  5. Click the Distribute button in Organizer. Choose "Save for Enterprise or Ad Hoc deployment" and then select the Ad hoc provisioning profile.
  6. Click export and check "save for enterprise distribution". Fill in the application url and title.
  7. Upload the ipa and plist file to a server. Create an index page which contains a link to the plist file. The link looks like this:

     <a href="itms-services://?action=download-manifest&url=http://mydomainname/apps/myappname.plist">Install Application</a>
    
  8. Send the url of the index page to the tester.

Did I miss anything? I tried deleting all the provisioning profiles on my phone and then had no problem installing the app by clicking the "Install Application" link. One weird thing that I noticed was that the status of the ad hoc provisioning profile installed on the other person's iphone was "Valid signing identity not found", as well as the team shown as "unknown". I saw somebody mentioned "Code signing entitlements". Does that matter if I leave that empty?

Best Answer

Couple of things to try out:

  1. Check that the UDID you added to the portal is ticked for use under the AdHoc provision. When adding a new UDID it's possible to forget to manually update the provision profile with the new UDID.
  2. Don't create the link yourself and don't use a plist. Just drag the ipa you created to a site like http://www.diawi.com/ and share that link with your tester.

Good Luck