This Hacker News discussion primarily revolves around a tool called xtool
that aims to enable iOS development on non-macOS platforms, and the surrounding implications, particularly concerning Apple's licensing agreements and ecosystem control.
Technical Challenges and Bugs
Users encountered immediate practical issues when trying to use the xtool
tool. The most prominent reported problem was an ENTITY_ERROR
related to an existing or pending development certificate.
"sherdil2022: Looks promising. But I am getting the following error when I run 'xtool dev':
status: "409", code: "ENTITY_ERROR", title: "There is a problem with the request entity", detail: "You already have a current Development certificate or a pending certificate request."
I have even manually copied the development certificate and installed on the iPhone - but keep getting the same error when I do 'xtool dev'"
This error suggests a conflict with Apple's certificate management system, making it difficult for users to proceed with development.
Apple's Licensing and Ecosystem Control
A significant portion of the discussion centers on whether xtool
and its users violate Apple's developer license agreement. The core of this argument lies in Apple's restriction on using their SDKs and provisioning profiles on non-Apple-branded hardware.
"TheDong: You have to accept Apple's licensing agreement as part of downloading XCode to run this tool (which relies on XCode's SDKs etc).
Quoting from the license agreement:
You may not use the Apple Software, Apple Certificates, or any Services provided hereunder for any purpose not expressly permitted by this Agreement, including any applicable Attachments and Schedules. You agree not to install, use or run the Apple SDKs on any non-Apple-branded computer, and not to install, use or run iOS, iPadOS, macOS, tvOS, visionOS, watchOS, and Provisioning Profiles on or in connection with devices other than Apple-branded products, or to enable others to do so.
Both xtool itself, and anyone who uses it, is violating this license agreement, and apple has shown itself in the past to be a real ass about this sort of thing."
This interpretation suggests that any use of xtool
on a platform other than macOS, especially on non-Apple hardware, is a direct contravention of the terms of service. The sentiment among some users is that Apple actively enforces these restrictions to maintain control over its ecosystem.
The Legality and Practicality of Running on Apple Hardware with Non-macOS
A nuanced debate emerged regarding the interpretation of Apple's license when using macOS on non-Apple hardware, or using non-macOS operating systems on Apple hardware.
"sherdil2022: Also, it looks like using tools like xtool will violate Apple Developer license. Not a lawyer - but do your due diligence."
And later:
"sockbot: So running on Asahi is ok?
Jotalea: Asahi isn't Apple-branded but it runs on Apple hardware so.. I think it's ok. Though I'm not a lawyer, so I can't say for sure."
This highlights the ambiguity and the differing interpretations of "Apple-branded computer" versus "Apple hardware." The argument is made that as long as the underlying physical hardware is Apple-branded, it might fall within a gray area or be tolerated. However, the counterpoint raises concerns about Apple's potential to detect such setups.
"bornfreddy: I would be surprised if they didn't. It is trivial to detect this."
Anti-Competitive Practices and Developer Freedom
Many users expressed frustration with Apple's perceived anti-competitive practices and their desire to restrict development to their hardware and software ecosystem. xtool
is seen by some as a way to challenge this control and promote greater developer freedom.
"bornfreddy: This! There is no reason Apple should be able to dictate how their software and devices can be used just so they can exclude other companies from their ecosystem. This measure is a clear example of anti-competitive practices. Free market sometimes needs regulation to be kept free."
The comparison to the Hackintosh community and historical tolerance from Apple was also brought up, suggesting that casual or enthusiast use might be overlooked, while commercial ventures built on circumventing restrictions could face backlash.
"CharlesW: > Both xtool itself, and anyone who uses it, is violating this license agreement, and apple has shown itself in the past to be a real ass about this sort of thing.
Only with people dumb enough to build businesses on the back of Apple's IP (see: Corellium). Hobbyist/enthusiast use of Apple technologies (see: the Hackintosh community) has a long history of being tolerated."
This sentiment extends to the broader process of developing for Apple platforms, with users complaining about forced upgrades and hardware requirements that feel like a "subscription with extra steps."
"malloc-0x90: Never built on Apple, last time I tried:
it asked me to update Xcode;
Xcode asked me to update the OS first;
and the OS asked me to buy a new 1300$€ MacBook hardware (with similar specs, the one I was using wasn't even that old/slow).
So to quote Rick and Morty i though: "That's just subscription with extra steps!" - and made a windows program and an Android app."
Data Privacy Concerns
One user raised concerns about Apple's data collection practices, suggesting that Apple might be able to detect non-standard development environments and potentially collect more data than users realize.
"mystified5016: What possible reason do you have to assume it fetches only this data?
Apple is absolutely slurping up any and all data they can get about your machine, you, whatever is visible on the network, nearby WiFi networks and your physical location.
They have no reason whatsoever to not do this, they explicitly do this on iOS, and there is a lot of money for them to sell the data they collect about you.
This is how modern corporations are. Apple is no different from Google, Facebook, Microsoft, et al."
This contributed to the overall distrust some users have towards Apple's ecosystem and their potential responses to tools like xtool
.
Implications for CI/CD and Cross-Platform Development
The discussion also touched upon how this licensing interpretation affects Continuous Integration and Continuous Deployment (CI/CD) pipelines for iOS apps, especially for developers using non-Apple platforms.
"gman83: These terms and services would also seem to make it a violation to run CI/CD services that enable Windows & Linux users to build React Native or Flutter apps for IOS?"
The general understanding is that to build iOS apps for CI/CD, a macOS environment (such as Mac Minis or cloud-based macOS runners) is typically required, which then falls under Apple's stipulated usage terms. xtool
is presented as an alternative that could democratize this process further.
"v5v3: To make and release an android app you can do it on any windows, Linux or apple laptop or desktop.
To make and release an iOS app, apple insist you can only do it on an apple machine.
This is a cross platform solution challenging Apple's arrogance and greed."