Are you facing any difficulty while installing the apps on an iOS device? You may don’t even get the error message when installing the apps and this makes it more difficult for you to understand what is wrong and why you can’t install the apps?
There may be not one but more reasons behind the installation issues. Let’s understand what they are:
iOS popup for installation did not appear
If you find difficulty in installing the application on iOS, first check if you have already installed it on your phone from AppStore. If an app is already installed in your phone with the same bundle identifier from the AppStore, then you cannot install it again on your phone and you see no change on the device screen. Apple iOS 8+ has this security behavior to prevent the malicious developer from overwriting a real app.
First, delete the app installed from the AppStore to install the application for testing from the platform of appforshare.io.
Nothing seems to happen
The popup of the installation appeared but then no function will be performed. Check the Home Screen of your device to make sure that the installation is in progress in the background. App installation is now performed in the background since iOS 8+ devices and you can’t see anything special in Safari. But the icon can be seen on the Home Screen and an indicator is there to show the progress.
Untrusted Enterprise Developer Popup
From iOS 9 and onwards, the developer of an in-house mobileprovision needs to trust the device’s user. Else a popup will appear and prevent the developer from using the app.
This can be done in iOS 9.0 and 9.1 through: Settings > General > Profiles > Tap Developer’s Profile > Tap Trust. On iOS 9.2+, the steps are: Settings > General > Device Management > Tap Developer’s Profile > Tap Trust.
Unable to download
If you see no download option, firstly, check the internet connection. Then make sure the device is not behind the firewall that may prevent downloading the .ipa files or your device does not support the app.
There is no detailed information you get from iOS that tells what’s wrong here. Appforshare.io provides information at the time of installation to the tester or client for the most common checks. Some of the most common installation issues are given below:
- Provisioning profile has been expired
- UDID of the device is not in the provisioning profile
- The device is incompatible with the iOS version, device family, device capabilities requirements, and device support architectures.
- Less storage
Things to check as a Developer
If you can’t install the app on your device, the following are a few things to check.
- The app’s provisioning profile built must contain the UDID of the device by Xcode
- Check the UDID is not fake (if it starts with “fffff….” then it is fake)
- Build a Release a version of your app for all the device’s architectures
- The device is not behind the enterprise firewall; else it may prevent downloading the .ipa files of the app
UDIDs in the provisioning profile
When you are using a Development or Ad-hoc provisioning profile, make sure you add your device’s UDID into that provisioning profile to sign your app. But if you are using In-house builds for an Enterprise Apple account, you do not need to register UDIDs.
The .mobileprovision file is embedded into the .ipa file when you compile your build. This is required in the XCode 4 and later versions. Unzip the .ipa file and right-click to Show package content on the .app located in the Payload folder to look for the .mobileprovision file. The file will be open in any text editor where you will see XML/plist code contents with UDIDs of the devices where the app is being installed.
The data in the XML/plist file inside the .mobileprovision looks like this:
Find Your UDID on iPhone Using Appforshare.io to add it into your .mobileprovision file.
UDIDs are a string of 40 characters. A valid UDID can be retrieved from iTunes or directly from a web app like Appforshare.io.
You can also get the device’s UDID through a native API provided by Apple to integrate with some of the apps available on the AppStore. In iOS 7, this API is deprecated and a fake UDID is provided that starts with ffffff. These are invalid UDIDs and can’t identify a device and install the apps on it.
More than one built architecture may be used when you build an iOS app. For faster compilation, the default setting is set to build only the current architecture with the debug configuration in XCode so that the app cannot run on older devices. New devices, however, are compatible with the older architectures.