4 ms·
It's not practical to cross-compile an iOS app on Linux (or a macOS app, for that matter), but it's not an App Store policy to forbid you. Apple just hasn't shi
by dfabulich 6y ago
It's not practical to cross-compile an iOS app on Linux (or a macOS app, for that matter), but it's not an App Store policy to forbid you. Apple just hasn't shipped any software or documentation to let you do it.
Is it your view that Apple has an ethical responsibility to ship cross-compilation build tools for Linux? (Is that because it's unethical to ship a closed-source operating system with a closed-source build tool?)
- sdflhasjd 6y agoI'm not sure what you mean by "not practical". It is definitely possible for macOS apps, and it seems to be possible for iOS apps too. I have worked on an open source game, we cross compile for macOS on Linux without any Apple hardware. As far as I understand - or have been told, this violates some Apple license terms.
- saagarjha 6y agoSurely building a binary that links against their SDK, as long as your are not using their toolchain, must be fine?
- dfabulich 6y agoIt's possible, but it's cheaper and easier to just use a Mac, and the resulting builds will typically work better. For example, does your open-source game notarize your macOS builds? It's easy in Xcode, PITA on Linux, and if you don't, your game is difficult to launch on macOS 10.15 Catalina.
- damnyou 6y agoIt's contractually forbidden. If you know the right people, you can get access to complete toolchains built in secret for compiling iOS apps on Linux. It's a lot of engineering work but not technically impossible. But it's all very hush-hush because going up against Apple in court is terrifying.
- dfabulich 6y agoThe App Store rules are right here. https://developer.apple.com/app-store/review/guidelines/ https://developer.apple.com/app-store/review/guidelines/ There's nothing in here about cross-compiling. macOS's license terms forbid running it on non-Apple hardware (even in a VM), and Xcode's license terms only permit running it on macOS, but people can and do compile iOS and macOS builds on open-source operating systems in a purely open-source reverse-engineered stack. It's just more practical to use a Mac for CI than it is to reverse-engineer the iOS toolchain.
- damnyou 6y agoThat's not what at least one lawyer has told me, though lawyers tend to be a pretty cautious bunch. As I said, you've got to know the right people to get access to the stuff I'm talking about. (There are also other conditions, such as you can't be a current or former Apple employee.)