iOS 8 - Can't Install Enterprise App

66,825

Solution 1

Looking through the console of the phone whist attempting to install one of my apps, I discovered:

Sep  9 12:16:56 iPhone misagent[94] <Error>: attempt to install invalid profile: 0xe8008011
Sep  9 12:16:56 iPhone installd[40] <Error>: 0x100484000 -[MIInstallableBundle _installEmbeddedProfileInBundle:]: Could not install embedded profile: 0xe8008011 (Expired)

Reasons unbeknown to me, apple invalidated half of my profiles and failed to alert me. After going into developer.apple.com find any invalid profiles:

Hit Edit - > Generate -> Download Rebuild the application with the new profile.

However - The bad news still at least one of my apps is failing to install. Looking through the console gives me nothing. I am convinced this is an apple bug so have filed a radar: 17622725

I hope your issue is a profile problem otherwise we may have to wait until tonight 1800GMT to see if apple have fixed it.

EDIT

With iOS8 GM - I just get Waiting... - I will keep you informed with the bug report progress.

EDIT

After troubleshooting a few of fixes have been found:

Fix 1

As of iOS8, if the images you are linking to in the manifest plist do not exist - Apple will not install the application on the phone - The manifest being the file that you link to on the download page: itms-services://?action=download-manifest&url={url}

Make sure both full-size-image and display-image exist:

<dict>
    <key>kind</key>
    <string>full-size-image</string>
    <key>needs-shine</key>
    <true/>
    <key>url</key>
    <string>https://{path_to_real_image}</string>
</dict>
<dict>
    <key>kind</key>
    <string>display-image</string>
    <key>needs-shine</key>
    <true/>
    <key>url</key>
    <string>https://{path_to_real_image}</string>
</dict>

Fix 2

Enterprise applications will not install if they existed previously on iOS7 due to a bug with iOS8. An error appears in the console:

Ignore manifest download, already have bundleID: {bundle_id}

This can be fixed by temporarily changing the bundleID in the manifest file, but apple are aware as they marked the bug report as duplicated. After internal tests you an also fix the problem by resting the home screen layout General -> Reset -> Reset Home Screen Layout

Fix 3

If you see the application get into the installing... stage as opposed to loading... almost certainly the problem is the embedded provisioning profile has expired, to fix the download you will need to re-archive you application with a new, updated provisioning profile.

Fix 4

If you see the application get to the installing... stage and your provisioning profile is valid - Download the application whilst attached to your console. (Xcode 6 > Window > Devices > Bottom Left Button [v]), You will probably find that the install failed with Verification Stage Failed a little below will be the error message. In my case (Entitlements found that are not permitted by provisioning profile) - For this error goto developer.apple.com and update your App Identifier to include the correct service. For me App Groups needed to be enabled. Then regenerate your provisioning profile

Solution 2

I got the same problem today: I couldn't install one of my Enterprise app on IOs8 (but on IOs7). After many hours of search, I finally read this message on the device console :

<Warning>: LoadExternalDownloadManifestOperation: Ignore manifest download, already have bundleID: com.ecaste.Crew-Desk

After a long time of searching, I finally read this post : http://support.hockeyapp.net/discussions/problems/26683-not-able-to-download-apps-ios8-beta-5-autoupdate-manually-etc

And by the end I just changed the name of the plist and the link to download the ipa (probably the second is not needed), and finally the app gets installed.

Finally it seems that it was a Cache problem in IOs8 that considers the app was already installed (and that was not the case, I uninstalled it previously).

Hope this help

Solution 3

Same error here, I have tried changing bundle-id, bundle-version, plist... but the error remains.

I know that this is a bit tricky, but this is the only thing that works for me:

http://support.hockeyapp.net/discussions/problems/30194-ios8-workaround-can-break-today-extension?full_site=1#comment_35141099

  1. Connect the device to a Mac or PC
  2. Create a backup in iTunes

  3. Install iExplorer: http://www.macroplant.com/iexplorer/

  4. Start iExplorer, then select the demo mode

  5. In the left sidebar, select Media, then open the Downloads folder, and delete all files in it

  6. Restart the device

  7. Open the download page and install the latest version of your app

Indeed I omit the first two steps and it works perfect :)

I hope this helps

Solution 4

Set Deployment Target Lower in

Project > Build Setting > iOS Deployment Target

Targets > Build Setting > iOS Deployment Target

Solution 5

I just had this problem right now and it was caused by the mainfest plist (keys: full-size-image + display-image) are pointing at url image locations that do not exist.

It looks like that iOS6/iOS7 are able to handle if the images do not exist but iOS8 is more restrictive about this.

Share:
66,825
Dylan Hand
Author by

Dylan Hand

Updated on July 16, 2020

Comments

  • Dylan Hand
    Dylan Hand almost 4 years

    Our company has an app that can be downloaded through a website using Enterprise Distribution.

    Enterprise Distribution Site

    In iOS 8 Beta 5, tapping the download link brings up the expected pop-up "(website) would like to install (App Name)". Tapping 'install' on that dialog first causes the app to get stuck "Waiting..."

    App stuck waiting

    Until it finally indicates: "Unable to Download App (app name) could not be downloaded at this time."

    Unable to Download App

    Installing works as expected using iOS 7.

    Running the app from Xcode under iOS 8 works.

    How do we support Enterprise Distribution iOS 8?

    Perhaps a change needs to be made to the Manifest file? When I tried building the app in Xcode 6 Beta 7, the Enterprise Archival process did not prompt me to make a manifest file...

  • Dylan Hand
    Dylan Hand over 9 years
    Thanks for your reply. Turns out I did have invalidated profiles, but regenerating them did not solve the issue. Also tried iOS8 GM and building the app in Xcode 6 GM. No luck yet.
  • Dylan Hand
    Dylan Hand over 9 years
    I think I found the problem. I had a reference to an image that doesn't exist in my <appname>.plist file. The app installs fine on one of my iOS8 GM devices, but still doesn't install on my personal iOS8 GM device. Can you check your plist file to see if you have a bad image reference and report back?
  • William George
    William George over 9 years
    I didn't have any missing images. But you lead me down a good point - I opened Organiser and Validate..d my archive. I got an error message saying Failed to locate or generate matching signing assets This may be the cause of my issues - I will let you know when I proceed.
  • yc.lin
    yc.lin over 9 years
    Dylan's solution worked for me. I removed the two keys pointing to the images, and it installed fine on iOS8. I also added the ".ios8fix" suffix to the manifest's bundle ID, but that didn't work until I removed the two keys. FYI.
  • Andreas Paulsson
    Andreas Paulsson over 9 years
    You can also read about it here: buildozer.io/ios8 . But this is not the same problem as this question is about, it is a different bug.
  • William George
    William George over 9 years
    @DylanHand Does the Reset Home Screen Layout help the issue whereby if you already have had the Enterprise App installed when upgrading you can not re-install?
  • Dylan Hand
    Dylan Hand over 9 years
    @WilliamGeorge no luck using Reset Home Screen Layout. I only have the issue on my personal phone, which I upgraded and restored from backup. It may be time to do a clean install.
  • William George
    William George over 9 years
    Yes, if you had the enterprise app in your iPhone backup it would fail with the above duplicate bundleID error - Hmm perhaps a full factory reset is the only way...
  • Grenter
    Grenter over 9 years
    Seems I was having a similar problem to yourself as soon as I change the Bundle identifier and manifest file it seems to allow me to install on iOS8 I am still testing some other bits out. It appears my next problem is that the ipa is stored on an FTP and need to move to HTTPS
  • wottle
    wottle over 9 years
    For the second issue, if you are launching the itms-services link from an app, you can background the app using the following: [[UIApplication sharedApplication] performSelector:@selector(suspend)];
  • Oscar Hierro
    Oscar Hierro over 9 years
    Thank you, this was actually my case too. The --sign parameter does not seem to be necessary (any more?).
  • HelmiB
    HelmiB over 9 years
    I've written the detail in my company blog. see here : teratotech.com/blog/…
  • Warren
    Warren over 9 years
    Reset Home Screen Layout appears to have no effect on "Ignore manifest download, already have bundleID" bug. Temporary bundle id mangling hack does work.
  • Sharique Abdullah
    Sharique Abdullah about 9 years
    Worked for us... Thank you so much for your answer.
  • stonedauwg
    stonedauwg about 9 years
    Strangely enough, as of XCode 6.3 having correct image links or not didn't seem to affect anything in my case. See my answer below
  • mkto
    mkto almost 9 years
    That was exactly my problem. Argh!
  • Andreas Paulsson
    Andreas Paulsson over 8 years
    Watch out, my early testing with iOS 9 shows that the ipa does not install at all if the bundle-identifier in the .plist file does not match the actual bundle identifier (this did work on iOS 8).
  • Luca Torella
    Luca Torella over 8 years
    With Xcode 7 & Jenkins build I'm getting (This provisioning profile cannot be installed on this device.). But if I archive via Xcode and install it on the device will work. Moreover if open the .ipa package generated by Jenkins, and I open the mobile provisioning profile I can see my device UUID in the list
  • Luca Torella
    Luca Torella over 8 years
    This is the error I'm getting stackoverflow.com/questions/32847871/…
  • Padmika
    Padmika over 8 years
    This works and to refine it a bit more you only need to delete the *.sqlitedb file under the Downloads folder. If you pull the sqlitedb file and query the 'downloads' table a record with your ill fated app id can be seen
  • Seto
    Seto about 8 years
    +1 for mentioning device console. It's the first source to look at for my problem. I simply remove existing app, and install the new app successfully.
  • KarenAnne
    KarenAnne over 7 years
    Thanks. The Fix 1 did it!