Thanks for being a part of WWDC25!

How did we do? We’d love to know your thoughts on this year’s conference. Take the survey here

Can't get enterprise apps to install via web server under iOS 9 beta 3

This was working fine on iOS 8.4 as well as iOS 9 beta 2, but now we can't seem to install enterprise apps on a device running iOS 9 beta 3. I've tried wiping the phone and doing a fresh restore to 9b3, but no dice.


Normally, a user visits a URL to download the app based on a manifest plist hosted on a server, and that plist at the "url=" describes the app's bundle identifier and the location to the .ipa, among other things.


itms-services://?action=download-manifest&url=


On other versions of iOS, this asks the user if they'd like to install "App Name" — with a dialog to cancel, or install. On iOS 9, nothing happens once you visit the page. There's no profiles to accept or reject in settings, no app on SpringBoard that appears, nothing.


I will note that this only seems to be happning on our own https-accessbile file server. Builds from other services like Crashlytics seem to work okay, and even more interestingly, copying the same plist file over to something like Dropbox, and pointing to the hosted plist file that way (with the IPA in the same location as before) works. It's weird.


Is this happening to anyone else? It's happening to a few of the users in our company. Any fixes?

Does you server have TLS 1.2 configured? Maybe the new App Transport Security (or whatever it is called) requires servers used for installing enterprise apps to use the highest current TLS. I just tried installing one of our enterprise apps on an iPad 3, and it worked fine. Our server has TLS 1.2 configured.

If you look in the iOS system console you'll find an error something like this:


iPhone itunesstored[192] <Error>: 0x16e35f000 __MobileInstallationInstallForLaunchServices_block_invoke222: Returned error Error Domain=MIInstallerErrorDomain Code=70 "invalid symlink at /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.mDhkLT/extracted/Payload/YOURAPPNAME.app/YOURAPPNAME.app" UserInfo={LegacyErrorString=70, FunctionName=__78-[MIFileManager standardizeOwnershipAndValidateSymlinksAtURL:toUID:GID:error:]_block_invoke, SourceFileLine=363, NSLocalizedDescription=invalid symlink at /private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.mDhkLT/extracted/Payload/YOURAPPNAME.app/YOURAPPNAME.app}


(Where YOURAPPNAME is your application's own name.) This appears to be something that is broken in beta 5 (public beta 3) in the install process in IOS. It's nothing to do with TLS as the install plist and IPA files are already loaded to the phone.


I've filed this as radar #22347779

I've started to see the same 'invalid symlink' error with some of our Enterprise apps as of the latest beta.


@VoalteMalcolm you may want to try installing the app via iTunes, as the device was logging more detailed information when I went that route. For me, I'm seeing that we do in fact have an invalid symlink: our Jenkins build server has somehow created an absolute symlink to a file in our DerivedData directory on the build server.

Hi,


I too started seeing this "invalid symlink" error today, after installing iOS 9 on an iPhone that used to run iOS 8.4 and be able to install the same build without issues.


I'm building via Jenkins and distributing via Crashlytics.


Has anyone found the cause for this issue?


Thanks for any help,


Philippe

Turning off "Generate Archive?" option under General build settings for Jenkins, made it work for us.

Hope that helps.

Can't get enterprise apps to install via web server under iOS 9 beta 3
 
 
Q