4 ms·
That's a feature, not a bug. What possible benefit could there be to helping people who are hostile to their platforms develop for them? If you want to develop
by ryanwaggoner 10y ago
That's a feature, not a bug. What possible benefit could there be to helping people who are hostile to their platforms develop for them? If you want to develop for Apple platforms, you do so from Apple platforms. Fair and logical.
- timecube 10y agoLots of people use iPhones with Windows computers. What actual benefit does this completely arbitrary restriction give to anyone other than Apple?
- kartickv 10y agoIt's not an arbitrary restriction. All the tools will have to be reimplemented. Take the simulator, for example. It's implemented by translating iOS system calls into OS X system calls. It's not an entire OS running on a emulated CPU. That won't work on Windows. Will Apple have to implement an emulator? But that will be slower for developers using a Mac. Should have they to support both? There are significant downsides. You can argue that the upside is still worth it, but you can't dismiss the downsides as "completely arbitrary".
- sjtgraham 10y agoAFAIK this is incorrect the simulator runs x86/x86-64 binaries and links against x86/x86-64 versions of Apple's frameworks (including UIKit). There is no translation of syscalls happening, the instruction for a syscall, e.g SVC 0x80 on ARM wouldn't be happening in your binary but in a framework your binary (indirectly) links to. Also the simulator is basically an x86 version of iOS, look inside for yourself and see. Someone correct me here but I don't see why it would be impossible to for apple to ship a simulator for Windows, n.b. how MS has shipped the Linux ABI translation.
- kitsunesoba 10y agoThe simulator doesn't run a full x86 version of iOS; it runs an x86 version of the iOS userland on top of the host kernel (Darwin) and components shared between OS X and iOS. A port of the simulator would be possible but it'd be a good deal heavier than its OS X counterpart since it'd be running the entire OS instead of just the topmost layer.
- sjtgraham 10y agoBoth platforms share the same core OS (Darwin) and Kernel (XNU), so when I say the simulator is basically an x86 iOS I think that's fair.
- kartickv 10y agoYou're again missing the point that that would be heavier and so perhaps not as good for developers that choose to use macOS. The question is not whether "the simulator is basically an x86 iOS". The point is that requiring macOS to build iOS apps is not an arbitrary restriction — it's a tradeoff. You can argue for or against Apple's decision, but you can't argue that it's an arbitrary restriction on Apple's part.
- douche 10y agoWhy is the simulator not simply a VM loaded with iOS, like with Android, or Windows Phone, or most of the other targets that you can cross-compile and test for from Windows or Linux?
- pcwalton 10y agoThe same type of benefit that Apple gets from making iTunes available on Windows: a broader userbase. A broader base of developers can mean more and higher-quality apps. A better selection of apps can lead to greater sales of iPhones and iPads. (It also might not. But there is certainly a potential benefit for Apple here.)
- ChrisLTD 10y agoApple platforms already have the best consumer software, so maybe Apple's strategy is the right one?
- paulcole 10y ago> A broader base of developers can mean more and higher-quality apps. One word counter-argument: Android.
- pcwalton 10y agoI don't think that Android would have had better apps if Android developer tools were Mac-only. The reason behind the Play Store/App Store quality difference has more to do with the way the store is run, the system frameworks (Core Animation vs. the Java frameworks, etc.), and the inclination of users to purchase apps.
- paulcole 10y ago> I don't think that Android would have had better apps if Android developer tools were Mac-only. Would it be worse?
- mkishi 10y agoSo, developers who use other systems and want to publish iOS apps are "hostile" to Apple's platform? That makes no sense. A polished iOS app with lots of users is worth much more for the whole Apple ecosystem than a few developers using OSX computers.
- ryanwaggoner 10y agoI think that if the hurdle of using OSX to develop for Apple platforms is so high to one that they'd describe it as "fundamentally developer hostile", then yes. It just doesn't make sense to me why anyone thinks they're entitled to have Apple build and support a complex developer toolchain on their platform of choice, and if Apple doesnt, it's a sign of "hostility". I don't think Apple wants that person building for their platforms. As an apple user and developer, neither do I.
- mkishi 10y ago> What possible benefit could there be to helping people who are hostile to their platforms develop for them? If you want to develop for Apple platforms, you do so from Apple platforms. That suggests you think every developer who wants to publish iOS apps should either do so from a Mac or they are automatically hostile towards Apple. That's the point I was touching. I personally wouldn't call Apple's choices hostile and I don't think anyone is entitled to have cross-platform tools. But you made it clear you think I'm an "enemy" as long as I'm not on a Mac, and there would be zero benefits in allowing me to publish apps to my phone. (ps. I do own a Mac)
- ryanwaggoner 10y agoNo, I was responding to a particular user.
- kitsunesoba 10y agoThey may not be "hostile" but they are most certainly more likely to treat iOS as a second-class citizen or an afterthought, which is obviously not all that desirable. Depending on who you ask a half hearted port is worse than nothing at all. By requiring a Mac to develop for iOS, they're forcing a certain level of investment which makes it more likely that developers targeting the platform make their apps worth the time spent (for both the dev and the consumer). By opening it up they're welcoming those who port just to tick a box.