Using Delphi 12 I was trying to deploy a simple Empty Project to my iphone. Realizing that Embarcadero does not currently support debugging to IOS 17 I was simply trying to test loading an app to an IOS 17.* device.
Whenever I tried to deploy the app using 'Run Without Debugging" I would receive the following error:
The operation couldn’t be completed. (OSStatus error -10814.) (NSOSStatusErrorDomain error -10814.)
The app would load to my phone but would not launch. I spent hours trying to determine the cause and could not find any similar issue when I searched the various Community Forums.
I was surprised I could not find any occurences of this happening to anyone else as it was very easy for me to recreate.
- File/New/Multi-Device Application - Delphi
- Target IOS Device 64-bit
- Build
- Run Without Debugging
The app loads to the phone then fails to launch and I get the above error.
I ended up opening a support case with Embarcadero.
I eventually was able to pinpoint the cause of the problem and thought I would share the solution here in case someone else comes across this issue.
I found that the problem stemmed from the value of CFBundleIdentifier in the Version Info under Project Options. By default, when I create a new project, the value of this Key in the Version Info is $(ModuleName).
When I change the value of the CFBundleIdentifier by adding the prefix to the Value such as 'com.MyCompanyName.$(ModuleName) the error went away and the app loaded and launched on my iPhone.
Perhaps there is a setting in the IDE that will default this value to include the prefix but I know this was not an issue in Delphi 11 as all my existing projects have the CFBundleIdentifier value as $(ModuleName).
Hopefully this answer will save someone some time and grief.