Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS port (for desktop_version) #1137

Merged
merged 11 commits into from
Nov 16, 2024
Merged

Conversation

leo60228
Copy link
Contributor

@leo60228 leo60228 commented Jan 23, 2024

Changes:

An iOS port of the C++ version to go with the Android port in #1004. The same caveats as that PR apply. An Xcode project for the ARM64 simulator can be created with a command like the following:

cmake .. -GXcode -DCMAKE_SYSTEM_NAME=iOS -DSDL2_FRAMEWORK=$HOME/SDL2-2.28.5/Xcode/SDL/Products/SDL2.xcframework/ios-arm64_x86_64-simulator/SDL2.framework -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_ARCHITECTURES=arm64 -DDATA_ZIP=$HOME/Downloads/data.zip

Similar commands should work for the x86_64 simulator and real hardware, though I haven't tested the former yet. Some further changes will likely be required to properly support app signing, though I think the details of that might differ between free and paid developer accounts? To force Xcode to build for real hardware without signing, you can use this command:

xcodebuild -verbose -project VVVVVV.xcodeproj -configuration Release -target VVVVVV archive CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO

A tvOS port would likely be fairly easy (and could potentially capitalize on a market for platformers playable with the Siri Remote?), but the only non-hacky way to store save data on tvOS is via Game Center, which requires a paid developer account.

Legal Stuff:

By submitting this pull request, I confirm that...

  • My changes may be used in a future commercial release of VVVVVV
  • I will be credited in a CONTRIBUTORS file and the "GitHub Friends"
    section of the credits for all of said releases, but will NOT be compensated
    for these changes unless there is a prior written agreement

@leo60228 leo60228 changed the title iOS port iOS port (for desktop_version) Jan 24, 2024
@flibitijibibo flibitijibibo self-assigned this Jan 25, 2024
Copy link
Collaborator

@flibitijibibo flibitijibibo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This lgtm - as soon as we're done with 2.4 stuff this should be merged in.

@leo60228
Copy link
Contributor Author

Here's an IPA for testing: https://drive.google.com/file/d/1Szx9lOgHgcL2rb-uQlZFOE7g9BBjJ_vA/view?usp=sharing

Apple doesn't want you to be able to install an IPA directly, but you can use a tool like AltServer or TrollStore to do so.

@InfoTeddy
Copy link
Contributor

This still okay? I want to merge as soon as possible 😛

Would also be nice to get an updated IPA for testing on a real iOS device.

@InfoTeddy
Copy link
Contributor

Btw this needs to be updated to account for #1174.

@leo60228
Copy link
Contributor Author

leo60228 commented Oct 5, 2024

Waiting for my iPhone to charge to test on hardware, but a simulator build seems to work: https://drive.google.com/file/d/1kuCdl2CrVHs9H7_7frJzyOWG2r7VRhv2/view

@leo60228
Copy link
Contributor Author

leo60228 commented Oct 5, 2024

Android CI failure appears to be unrelated to this PR.

@leo60228
Copy link
Contributor Author

leo60228 commented Oct 5, 2024

Works on hardware, tested with a DualShock 4.

@flibitijibibo flibitijibibo merged commit fa8517a into TerryCavanagh:master Nov 16, 2024
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants