Troubleshooting: Cannot Deploy to the iOS Device
To resolve this problem, look at these areas:
- Delphi only: If you have not run your iOS app on the iOS simulator, make sure you meet the following requirements:
- Make sure your iOS device is connected to your Mac by USB cable.
- Specify an iOS device platform as the target platform in the Project Manager.
- Complete the Provisioning page. (Your developer certificate is required for code signing.)
- Set the required Project Options for your iOS app:
- Make sure that the Xcode command-line tools are installed on your Mac. (Required for code signing your iOS app.)
- Upgrade Xcode if there is a newer version available. (Required after you upgrade your iOS device.)
- If you get an error dialog box with the error message "Unable to install package" followed by an error code, perform the appropriate steps as described here:
- e800000e: The version of Xcode that is installed on your Mac does not support the iOS version of your device. Install a version of Xcode on your Mac that supports the iOS version of your device. After the upgrade, unplug and plug again your iOS device to your Mac.
- e800001c: If the iOS simulator is running on your Mac, close the simulator and try to run your application on your iOS device again.
- e800002d: The debug symbol found on your Mac does not match with the debug symbol found on your iOS Device.
- If you install a new Xcode or update the device with new iOS, you need to synchronize your iOS device with the new Xcode installed on the Mac. See Synchronizing the Xcode with Your iOS Device for more info.
- e800003a: You are trying to install an application with the same name to a previously installed application in the target device, but signing the application with a different Developer Certificate. RAD Studio tries to upgrade the existing application using a different developer certificate.
- Uninstall the existing application in the target device, and try to run your application again.
- In Project > Options > Provisioning, select the same Developer Certificate to sign your application.
- e800007e: Your iOS device version is lower than the default minimum version.
- Select Project > Options > Delphi Compiler > Linking and change Minimum iOS version supported to the version of your iOS device. For example:
7.0
. (If this does not work, you might need to acquire a newer iOS device.)
- Select Project > Options > Delphi Compiler > Linking and change Minimum iOS version supported to the version of your iOS device. For example:
- e8000080: You are trying to run your iOS application on an iOS device that does not match the iOS form factor (UIDeviceFamily) defined for your project. For example, you might be trying to run your iOS application on an iPad, but your application is configured to run on an iPhone only.
- Select Project > Options > Version Info and choose a
UIDeviceFamily
value that matches your iOS device. For example, choose iPhone & iPad to run your application on any iOS device.
- Select Project > Options > Version Info and choose a
- e8000087: Your iOS device does not support the selected target platform architecture. This can happen when you try to run a 64-bit iOS application on a 32-bit iOS device. To get your application running on a device you must do either one of the following:
- Change the target device to a 64-bit iOS device.
- In the Project Manager, choose iOS Device - 32 bit as the target platform to run your application on any 32-bit iOS device.
- Enable the Generate iOS universal binary file (armv7 + arm64) option to build your application so that it supports both 32-bit and 64-bit iOS devices. You can find this option in:
- Project > Options > Delphi Compiler > Compiling > Other options (Delphi)
- Project > Options > C++ Compiler > Advanced > Other options (C++)
- e8000097: You have turned on Restrictions in the target iOS device, that prevent installing new applications in the device. For more information, see About Restrictions (parental controls).
- Turn off Restrictions in the target device, and try to run your application again.
- e8008015: The target iOS device has not been provisioned with the provisioning profile that you configured in RAD Studio.
- You can either provision the target device with the configured provisioning profile, or change the RAD Studio project configuration to a different provisioning profile. See Completing the Provisioning Page.
- Ensure that your provisioning data in RAD Studio matches your iOS developer account, and not your Mac developer account. Be specially careful when you specify your iOS developer certificate name.
- e8008016: Possible causes are:
- You have set entitlements options for iOS that are not permitted by the provisioning profile installed in the target device.
- If you use Remote notifications in your application, ensure that you have set the proper application services for the provisioning profile installed in the target device.
- If you use "Auto" in Provisioning Options to sign your application, verify that the signing data is valid for your target device. You may need to select a specific Developer Certificate Name and Provision Profile.
- Make sure that you set the right value for the
CFBundleIdentifier
fields on the Provisioning page for the target iOS platform. See Creating an App ID for Your Application.
- You have set entitlements options for iOS that are not permitted by the provisioning profile installed in the target device.
- e8008018: Your certificate is out of date. Download a new version of your certificate.
- e8008019: This error happens when you try to run an application built using the Application Store platform configuration on an iOS device. To run your application on an iOS device, you must use the Debug or Ad hoc platform configuration instead. To generate your application package for submission to the App Store, you must deploy your application.
- If you get an error dialog box with the error message "Unable to locate DeviceSupport directory matched with connected device info":
- Check that the Xcode version supports the SDK version from the device. If the device is not supported you need to update the Xcode to a superior version. See Running Your iOS Application on an iOS Device.
- If SDK versions are compatible then, see Synchronizing the Xcode with Your iOS Device for more info.
- If you get an error dialog box with the error message "Application bundle should have Info.plist inside", select Project > Build > ProjectName to regenerate the info.plist file.
- If you get an error dialog box with the error message "The program being debugged is not being run", restart both your iOS device and your Mac.
If you see an error entry with an error code in the Messages tool window, on the bottom of the RAD Studio interface, select that entry and press F1 to open the help for that error.
Synchronizing the Xcode with Your iOS Device
You need to ensure that the Xcode that is installed in the Mac supports the iOS version of the iOS device, and that they are synchronized. To do so, follow these steps:
- Unplug your iOS device from the Mac.
- Open Xcode on your Mac.
- From the main menu, select Window, Devices.
- Attach your iOS device back to the Mac.
- On the Devices window, select your iOS device on the left-hand side of the window.
- Wait for the loading wheel to disappear. When it does, you can close Xcode and try to run or debug your application again.