As Alexei said, too many reasons can trigger this message. Apple uses it as a "catch all the bugs."
You can diagnose it through the console . Connect the device to your desktop and access it either from Xcode Organizer (Mac only) or iPhone Configuration> (Mac and Windows). But...
It's just not that simple !: - (
The console may not be enough. Sometimes there is no corresponding message.
Then the last resort follows the checklist . We do everything from scratch again. There are many out there ... But after that, my general and not detailed checklist for air distribution at the moment.
Create a layout . This is the most difficult part, always performed on the Internet, and Apple changes all stages all the time. In general, you need a certificate, identifier, and provisioning profile. Listing devices are almost always required. My current selection is " Distribution β In House ."

PS: If you want to list devices, make sure the UDIDs are correct. There are a lot of posts.
Set the profile under Project β Build Settings . - With Xcode 5, everything has changed. Instead of signing the code with an identifier, you can clear all of this and install it in the section * Signing the code β * Preparation profile . The identifier will automatically change to "Automatic." There is also no need to manually download files from step 1 and install them. Xcode now controls this.

Archive . In Xcode 5, there is no longer a need to create a "Build for Archive". Just archive it. It should appear on the Organizer , and it will take some time if this is a large project. Many errors may occur at this point, but they are almost always related to code compilation, not OTA.
Deploy Now in Organizer β Archives, select the desired archive (it should already be selected as the last one), click "Distribute", then Save for Enterprise or Ad Hoc Deployment . Maybe now big. When saving a file, there is the option "Save for enterprise distribution". This is a completely misleading name. In fact, this creates a plist file. If you already have it, everything is in order. You can even manually edit it, which is usually better. For step (5), a plist is required. Here's a good one:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>items</key> <array> <dict> <key>assets</key> <array> <dict> <key>kind</key> <string>software-package</string> <key>url</key> <string>http://example.com/app.ipa</string> </dict> <dict> <key>kind</key> <string>full-size-image</string> <key>needs-shine</key> <false/> <key>url</key> <string>http://example.com/FullSizeImage.png</string> </dict> <dict> <key>kind</key> <string>display-image</string> <key>needs-shine</key> <false/> <key>url</key> <string>http://example.com/Icon.png</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.example.app</string> <key>kind</key> <string>software</string> <key>subtitle</key> <string>for iOS</string> <key>title</key> <string>My App</string> </dict> </dict> </array> </dict> </plist>
Distribute . Skip this step if you want to install it using the Xcode or iPhone configuration utility. Everything is ready. This is the placement of a file on a website . Just add an HTML page with a href link, for example:
itms-services://?action=download-manifest&url=http://example.com/app.plist
Unfortunately, working with web servers is never easy. So check the mime server type ! I made a couple of PHP files to handle them if your server supports php. Just save the files as they are (plist, html and ipa) and a link to app.plist.php instead:
app.plist.php
$file = fopen("app.plist", "r"); while(!feof($file)){ $line = fgets($file); print str_replace(".ipa", ".ipa.php", $line); } fclose($file); ?>
app.ipa.php
<?php header('Content-type: application/octet-stream'); $file = fopen("app.ipa", "r"); while(!feof($file)){ $line = fgets($file); print $line; } fclose($file); ?>
Check out . Ensure that all files listed in the asset array are available for download. If any of these files returns 404 or such (including icons), the entire installation will fail. You must either (A) make these files available, or (B) remove those missing entries from the plist. Icons are not required for download.
Here is a no-icon plist example:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>items</key> <array> <dict> <key>assets</key> <array> <dict> <key>kind</key> <string>software-package</string> <key>url</key> <string>http://example.com/app.ipa</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.example.app</string> <key>kind</key> <string>software</string> <key>subtitle</key> <string>for iOS</string> <key>title</key> <string>My App</string> </dict> </dict> </array> </dict> </plist>
Sample files are a very important part of the checklist. They must be 100% correct.
Double check plist and html files!
PS: I am writing this answer because in my case it was a "simple" question of incorrect link to the .plist file. And, as such, itβs difficult, like hell, to diagnose. Well, only in this checklist can I find an error! He pointed to "another-app.ipa", not to "app.ipa"!
cregox Oct 29 '13 at 14:39 2013-10-29 14:39
source share