Opened 3 years ago

Closed 3 years ago

#12647 closed defect (fixed)

iOS port compiling incorrectly

Reported by: thevolumeremote Owned by: criezy
Priority: normal Component: Port: iOS
Version: Keywords: iOS
Cc: thevolumeremote Game:

Description (last modified by thevolumeremote)

The last two daily builds (6-18-21, 6-19-21) when cloned from git and compiled in Xcode are not compiling correctly with no changes on my end to what normally works.

The .IPA file generated from Xcode (I always build as an archive for generic iOS device so I can save the IPA) is only 36mb while the usually (working) builds produce an IPA that is 86mb.

When extracting the IPA it has no files in it except for the ScummVM executable, absolutely nothing else- no icons, folders, engines etc.

Also of note when exporting the IPA instead of showing the proper app icon it shows a generic exec icon. When opening in Filza, it displays no information such as the bundle ID, which it usually does and then Filza crashes when trying to install it.

Included is the IPA if it is of help to you. Thank you!

https://www.dropbox.com/s/5da6s4qthnl6w9f/ScummVM-iOS.ipa?dl=0

Attachments (2)

Packaging.log (16.0 KB ) - added by thevolumeremote 3 years ago.
Info.plist (2.2 KB ) - added by thevolumeremote 3 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 by thevolumeremote, 3 years ago

Description: modified (diff)

by thevolumeremote, 3 years ago

Attachment: Packaging.log added

comment:2 by thevolumeremote, 3 years ago

I tried another daily build on 7-3-21 and the same result, the only item in Payload is the ScummVM executable. The IPA itself is only 36mb as opposed to 86.9mb of the previously working builds. I've changed nothing in how I compile the build in Xcode, it's always worked up until the time of this tickets original comment.

comment:3 by criezy, 3 years ago

I tried building ScummVM for iOS with Xcode today, and while the compilation worked, it indeed failed to install it. It was complaining that it could not find the executable.

I tracked the issue to https://github.com/scummvm/scummvm/commit/0ff00cca2
I tested that in my case if I change back the CFBundleExecutable from ScummVM to $(EXECUTABLE_NAME) I can then generate a working build with Xcode.

I suspect that it would work if I used scummvm (all lower case) as well. Indeed when compiling with Xcode the executable generated is scummvm (all lower case).

When compiling with the command line however (for example the daily builds on https://buildbot.scummvm.org), the executable is renamed to ScummVM. So I cannot just blindly change the Info.plist. And I guess there was a reason to not use $(EXECUTABLE_NAME) (I am guessing it doesn't work when compiling on the command line).

I will experiment a bit but I think one solution will be to generate a all lower case scummvm executable both with Xcode and the command line, and change the Info.plist to use also lower case scummvm.

@thevolumeremote can you please try changing the Info.plist to add back $(EXECUTABLE_NAME) (partial revert of the changed I linked above) to confirm that the issue you see is the same one I found?

comment:4 by thevolumeremote, 3 years ago

Hi @criezy and thanks for taking a look at this, I think you're onto something with the capitalization. I won't be home for another few hours but when I am I will check and confirm your findings.

In the meantime I had the last working build (compiled via terminal) in my dropbox- this was built just a week or two before the build stopped compiling correctly- and it looks like for the bundle ID, it is indeed lowercase. I'm attaching the Info.plist file directly to the ticket and below is a dropbox link to the IPA & Payload file if you want to take a further look at how it was when it was last working.

https://www.dropbox.com/s/roxzyzkdku915sd/ScummVM-iOS%202021-05-24%2019-42-15.7z?dl=0

by thevolumeremote, 3 years ago

Attachment: Info.plist added

comment:5 by criezy, 3 years ago

Owner: set to criezy
Resolution: fixed
Status: newclosed

I pushed a fix for the wrong executable name in the Info.plist. This will hopefully fix this bug.

If it turns out that the problem you have is a different one, please reopen this ticket.

Note: See TracTickets for help on using tickets.