I recently upgraded to Editor 2 and opened an old project from early 2017. Everything still runs fine, but when I try to bundle the project as an iOS application, there is no longer any Info.plist file generated, so I can’t run it in the emulator. The file is specified, with its correct path, in the game.project settings. How do I fix this?
Did we use to output one of those before?
We have added support for bundling specifically for the iOS emulator though. It’s one of the target architectures in the iOS bundle dialog.
I made sure the simulator box was checked in the Bundle Application dialog. There needs to be an Info.plist included in the .app bundle, or you get this error when you do a boot install with xcrun simctl:
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=22):
Failed to install the requested application
The bundle identifier of the application could not be determined.
Ensure that the application's Info.plist contains a value for CFBundleIdentifier.
If I manually copy an Info.plist file from a 2017 build into the .app bundle, the installation works.
Oh, and what does your game.project file say in the info.plist field:
Is it empty? There should be a default info.plist in builtins/manifests/ios.
And the Bundle Identifier field? https://defold.com/manuals/project-settings/#infoplist
Like I said in my original message, the file is specified, with its correct path.
The settings haven’t been changed since 2017. They used to work.
I see. This is very strange. What if you unpack the .ipa (it’s a zip file) and then right click and select Show Package Contents in Finder on the .app file. There should be an Info.plist next to the executable, the icons etc:
I already looked through the .app file. It’s not in the .ipa file either.
armv7-darwin MacMini$ unzip -l Psychophant.ipa
Archive: Psychophant.ipa
Length Date Time Name
--------- ---------- ----- ----
0 02-09-2020 16:23 Payload/
0 02-09-2020 16:23 Payload/Psychophant.app/
8329 02-09-2020 16:23 Payload/Psychophant.app/Icon.png
25175 02-09-2020 16:23 Payload/Psychophant.app/Icon-76@2x.png
162 02-09-2020 16:23 Payload/Psychophant.app/game.public.der
48833 02-09-2020 16:23 Payload/Psychophant.app/game.dmanifest
30794 02-09-2020 16:23 Payload/Psychophant.app/Icon-60@3x.png
29664 02-09-2020 16:23 Payload/Psychophant.app/Default@2x.png
11309 02-09-2020 16:23 Payload/Psychophant.app/Icon-76.png
10743 02-09-2020 16:23 Payload/Psychophant.app/Icon-72.png
3517688 02-09-2020 16:23 Payload/Psychophant.app/Psychophant
23683 02-09-2020 16:23 Payload/Psychophant.app/Icon-72@2x.png
19098 02-09-2020 16:23 Payload/Psychophant.app/Icon-60@2x.png
26528 02-09-2020 16:23 Payload/Psychophant.app/game.arci
17946 02-09-2020 16:23 Payload/Psychophant.app/Icon@2x.png
30214 02-09-2020 16:23 Payload/Psychophant.app/Default-568h@2x.png
28131 02-09-2020 16:23 Payload/Psychophant.app/Icon-167.png
18623 02-09-2020 16:23 Payload/Psychophant.app/Default.png
9744757 02-09-2020 16:23 Payload/Psychophant.app/game.arcd
36476 02-09-2020 16:23 Payload/Psychophant.app/Default-Portrait-1024h.png
3563 02-09-2020 16:23 Payload/Psychophant.app/game.projectc
--------- -------
13631716 21 files
This is very strange. Would you be willing to share the project with me so that I can take a look (bjorn@defold.com)?
I have uploaded the project to GitHub and sent you an invitation.
Thank you. I’m able to bundle the project for iOS and the project contains the Info.plist as expected. It doesn’t matter if the bundle is signed or not or which. And it doesn’t matter which architecture I choose. In all cases the .app contains an Info.plist.
You are using the latest Defold Editor? Which version of macOS? What if you create an new empty project from the Welcome/Start screen and bundle it for iOS/simulator?
I’m using Defold Editor 1.2.165 with Mac OS High Sierra.
When I create a new empty project, that bundle doesn’t contain any Info.plist file in either the .app or the .ipa.
MacMini$ unzip -l My\ Project.ipa
Archive: My Project.ipa
Length Date Time Name
--------- ---------- ----- ----
0 02-11-2020 00:14 Payload/
0 02-11-2020 00:14 Payload/My Project.app/
2710 02-11-2020 00:14 Payload/My Project.app/Icon.png
11811 02-11-2020 00:14 Payload/My Project.app/Icon-76@2x.png
162 02-11-2020 00:14 Payload/My Project.app/game.public.der
700 02-11-2020 00:14 Payload/My Project.app/game.dmanifest
16086 02-11-2020 00:14 Payload/My Project.app/Icon-60@3x.png
3517688 02-11-2020 00:14 Payload/My Project.app/MyProject
4078 02-11-2020 00:14 Payload/My Project.app/Icon-76.png
3917 02-11-2020 00:14 Payload/My Project.app/Icon-72.png
5198 02-11-2020 00:14 Payload/My Project.app/Icon-72@2x.png
8388 02-11-2020 00:14 Payload/My Project.app/Icon-60@2x.png
528 02-11-2020 00:14 Payload/My Project.app/game.arci
7827 02-11-2020 00:14 Payload/My Project.app/Icon@2x.png
14362 02-11-2020 00:14 Payload/My Project.app/Icon-167.png
6945 02-11-2020 00:14 Payload/My Project.app/game.arcd
2548 02-11-2020 00:14 Payload/My Project.app/game.projectc
--------- -------
3602948 17 files
I’ve sent a PM to @Karl_Hornell, with a debug bob.jar which will print out diagnostics.
We’ll know more after he has run that on the project.
Karl found the issue, which is that if you bundle with only x86_64-ios as a target, the Info.plist will be missing from the .ipa.
We’re using #4659 to track this issue.