Dadoum / Sideloader

Open-source cross-platform iOS app sideloader (yep, even Linux is supported). Alternative to Sideloadly, AltServer, SideServer, Cydia Impactor, iOS App Signer…
Other
322 stars 25 forks source link

[Question]: How do I go about building an ipa on Linux with theos? #4

Closed mak448a closed 8 months ago

mak448a commented 9 months ago

Theos building was mentioned in the readme, could you help me a bit? Thank you.

Dadoum commented 9 months ago

You always had multiple way to compile iOS apps on Linux. With theos, you have to set-up an iOS application (in Swift or Objective-C) with nic.pl, then you add to your Makefile the PACKAGE_FORMAT line I given in the readme. Then when you'll run make package, this will build an unsigned ipa.

That ipa, you can install it with sideloader onto your device. You could also download certificates with the upcoming sideloader cli, and sign it yourself and install it if it fits more with your workflow. Finally, you could debug it with idevicedebug, idevicedebugserver and lldb, even if I never tested that part tbh.

By the way, theos isn't your only option. If you prefer some other programming language like Rust or D, you can build the app bundle yourself, or if you want to use the Swift Package Manager, you can use this awesome project that will allow you to make apps for iOS from Linux with SPM.

mak448a commented 3 months ago

I know this is a bit out of nowhere, but I just started to check this out. Do you know of any way this could be used to build an XCode project exported from Godot Engine? If not, are there any resources for learning Swift (or whatever can be built) with Theos?

Dadoum commented 3 months ago

I tried to use https://github.com/facebookarchive/xcbuild with a custom toolchain but I ultimately failed. Another option I tried was to use a swift xcode project parser but I am not knowledgable enough about xcode projects to actually make a correct list of the files to be built here.

Theos can build C, C++, Objective-C, Swift and pretty much anything you would want to build. You could also directly use a swift SDK (since it is a new feature of Swift Package Manager) and target iOS, and it will be able to build objective c files too.

mak448a commented 3 months ago

Do you know of any resources to get started with the project that nic.pl spits out? I successfully built an ipa from it. I just used "[3.] iphone/application".