For example:
- You MUST use Apple’s own apps (iMessage, Phone, etc.) as well as Apple’s own App Store
- To be fair, the EU is doing work to solve this particular issue…but most of the reforms are only for EU customers
- You have to use WebKit when developing a browser for
macOSiOS and iPadOS, you can’t use Gecko or Blink - iOS apps must be developed using XCode IF YOU WANT TO PUBLISH IT ON THE APP STORE, which is only available on MacOS…
That last one is weird. Why can’t you compile Swift outside of MacOS (i.e. third party IDEs)? Why can only XCode do it?
edit: Gecko and Blink based browsers are available on macOS. I learnt something new today. Not for iOS or iPadOS though. Also, Xcode is only a requirement for publishing in the App Store. You are able to compile Swift in any OS. You’ll just need to distribute the app via sideloading and/or third-party app stores (in the EU)
What the hell rock have you been living under? Apple has been an abusive walled garden for many years.
I’m just interested to know how they’re able to make it so that you HAVE to use XCode (which is only available on MacOS)
Why wouldn’t they be able to? Acceptance to their App Store requires that apps be built with a trusted tool chain. Their reasoning is that it’s harder to built malicious apps that might make it past review if you’re using their tools.
Also: Money
You don’t really; a cross compilation with a compiler that can generate the ARM instructions for Apple’s ARM CPUs should largely just work.
However, it’s impossible to test the produced app without using an iPhone or MacOS’s tools to simulate running on an iPhone. You also are just going to have way less of an uphill battle using Apple’s tools and you’re likely to get better optimized binaries.
You also don’t have to build iOS apps with Swift; C++ and things like Qt can be used.
Also the iOS SDK isn’t freely available, so you’d have to copy that out of an Xcode installation… but given enough time and effort, you could almost certainly hack together a cross-compilation config for Clang that compiles an unsigned iOS app on Linux. Signing it might in fact be the bigger issue, since I’m not aware of any tools that sign Mach-O binaries on Linux.
Something to implement signing given the key to sign with could almost certainly be created.
I think the biggest reason this stuff hasn’t really happened is … there’s not much motivation and Apple will likely respond to such efforts unkindly so you might need to be a bit of a curious masochist (or at least in strange circumstances) to attempt such an effort 😅
The walled garden is the appeal to many of their customers.
To whom is it abusive?
Just because people like being abused doesn’t mean it’s not abuse.
Developers get shafted pretty hard by Apple, if nobody else.
I don’t use iOS anymore but users don’t complain about the walled garden, or they would buy an Android. They want their phone to work reliably like a washing machine with a few buttons, and it’s an acceptable personal choice.
Edit: now you’re downvoting the fact that people have different preferences than you. Pathetic.
That’s right.
I’m 46, I just want my stuff to work. Couldn’t care less about all the customisation arguments.
I’m not a software hobbyist anymore. I don’t want to spend hours doing research and trying to de-enshittify my new phone. I know Apple is ripping me off, but if one believes that time is money, it’s actually tolerable. Then there’s the UI, which I believe is the best in the market.
I’m not a fan of Apple’s walled garden, but for me, it’s the lesser evil. If someone goes with Samsung or something, though, I’d be a dick if I was a snob about it. Use what you like!