6 ms·
Apple's whole deal is that you either submit to their lock in, or you gtfo. The only way to make an ios app is to: 1) Spend $100 a year for the privilege of be
by beeboobaa 3y ago
Apple's whole deal is that you either submit to their lock in, or you gtfo. The only way to make an ios app is to:
1) Spend $100 a year for the privilege of being allowed to access their app store
2) Buy several $1000 iPhones (you'll be expected to test on every model they currently support by app store reviewers)
3) Buy one $2000 macbook per developer that needs to work on the iOS app (build tooling only runs on macos)
4) Good luck if you want to integrate this with your CI! Either another mac mini ($1000) or a subscription to some service that does it for you. Forget about using your linux boxes that you use for everything else. Apple says no!
5) Everyone who needs to log in to the apple developer portal also needs an iDevice. Apple is so secure they only support their own proprietary second factor push messages to iDevices!
You can see why they don't allow emulators or virtual machines. Think of the sweet, sweet $$$ they'd be losing out on!
- madeofpalk 3y agoHow is this different to other commonly emulated devices?
- i5-2520M 3y agoOther commonly emulated devices are not "general purpose" computers like phones, tablets and laptops. There is no need to emulate those systems generally since they can be ran in a VM (Linux, Android (mostly), and Windows). I know your main point is comparing to consoles and that is probably fair to some extent, but still, I wanted to mention these.
- beeboobaa 3y agoIn practically every way. You don't run into any of this shit when developing for Android, Windows or (obviously) Linux.
- lxgr 3y ago> Apple is so secure they only support their own proprietary second factor push messages to iDevices! Don’t they support SMS 2FA as well? They do for my dev Apple ID that’s not logged in on any other device at least, and I see the option as a fallback on my personal ID too.
- beeboobaa 3y agoLast time I tried this was only an option after setting up the apple 2FA. So you still need the iDevice even if you don't plan on actually using it. eWaste at its finest!
- lxgr 3y agoI really don’t think that’s true. Apple sells music, movies and subscriptions on platforms other than their own (iTunes for Windows, Apple TV and Music for Android etc.), and these require Apple IDs as well. I dislike many aspects of Apple’s service offerings, but not being able to log in on non-Apple devices was never one of them.
- beeboobaa 3y agoThis is about the Apple Developer Console "Account Holder" account which has different requirements from a normal apple id. See https://developer.apple.com/support/authentication/ https://developer.apple.com/support/authentication/ This page now claims that you need a "trusted device" or a "trusted phone number". If true, this is different from how it was in the past. Sadly I have no way to check, since I'm not paying another $100 to sign up with a new account just to prove a point.
- lxgr 3y agoInteresting, I wasn’t aware they have a separate tier for that! Hopefully they’ll allow security keys there eventually then.
- dijit 3y agoIn the interest of balance, since it's pretty easy to pile on when you think you're punching up: > 1) Spend $100 a year for the privilege of being allowed to access their app store Comparable to all curated store fronts. > 2) Buy several $1000 iPhones (you'll be expected to test on every model they currently support by app store reviewers) Not different than supporting any commodity device. You should have target devices for every variation you intentionally support. > 3) Buy one $2000 macbook per developer that needs to work on the iOS app (build tooling only runs on macos) That's not true, both the macbook line but also in general. I have worked in places that use VM's on MacMinis for iOS development, but there's also AppCode from Jetbrains. > 4) Good luck if you want to integrate this with your CI! Either another mac mini ($1000) or a subscription to some service that does it for you. Forget about using your linux boxes that you use for everything else. Apple says no! Mac Mini for CI, yes, if you're doing it as above then it's an additional VM on your MacMini. > 5) Everyone who needs to log in to the apple developer portal also needs an iDevice. Apple is so secure they only support their own proprietary second factor push messages to iDevices! That's not true, I use Linux to log in to my developer portal with the root account. > You can see why they don't allow emulators or virtual machines. They allow VMs and Emulators, they just require that it's official hardware. If you are categorically opposed to owning any apple devices then I can see why you would feel a certain way. To put it in perspective: I genuinely despise Windows, yet I need to spend a lot of money because making Windows software on any other platform is practically impossible, and "running a VM" isn't going to help because you must still license that VM. The major differentiator here of course is that the license cost for the OS is part of the hardware cost in the Apple ecosystem and not separated out. But ultimately every company that has a platform for software development is going to charge you: A) Access to that platform B) For the tools required to build on that platform in addition. I recommend everyone votes with their wallet. (and they do, just in favour of the App Store, because it is significantly more lucrative to lean in and buy a pile of mac minis and a developer license agreement than to lose sales by not being apart of it.) You could look at this as Win/Win or Lose/Lose depending, almost entirely, on your willingness to let Apple also profit from your work. (again: likening it to my experience with Windows).
- messe 3y ago> AppCode from Jetbrains is being discontinued, and won’t receive further updates.
- gwervc 3y agoThat list is a bit disingenuous as the mosts expensived points apply to every platforms: you'll need a PC to develop software for Windows, you'll need a computer too even for building Linux apps as manipulating bits using butterflies is quite inconvenient[1]. One might even use a Mac already, so it's not an additional cost in all situations. In the same vein physical devices are also mandatory for developing quality Android applications. Sure the 99$/year is annoying for hobbyists but it's not that of an expense for any business. [1] xkcd.com/378
- jwells89 3y agoPoint 2 is not remotely true. I’ve been doing iOS development for almost a decade and have only ever tested against my phone (which is usually not the latest model) and an iOS device that represents the oldest thing the app supports. For testing everything in between the excellent iOS Simulator (which is far more usable than the equivalent in Android Studio) is adequate. For development these days you can find a used/refurb M1 Air or mini that will do the job just fine for less than half the stated price. As for 2FA they support FIDO keys and passkeys just fine.
- pastage 3y agoPoint 2 is a problem if you only have one MacBook but lots of things to tests. We have burnt so much cash and time on that.
- beeboobaa 3y ago> Point 2 is not remotely true Guess you've been lucky. Congrats! > For development these days you can find a used/refurb M1 Air or mini that will do the job just fine for less than half the stated price. Okay? So you still need to buy an extra general purpose computer just to be able to build for a phone? And this is somehow okay because you can "just" buy a refurbished one? > As for 2FA they support FIDO keys and passkeys just fine. Nope. Unless this is a very recent change which they haven't even documented yet. https://developer.apple.com/support/authentication/ https://developer.apple.com/support/authentication/
- 2OEH8eoCRo0 3y ago> 1) Spend $100 a year for the privilege of being allowed to access their app store Doesn't it require $100 a year to compile an app and install it on your own phone (because even hobby apps require signing)? I can't fathom why so-called "hackers" put up with this. I suspect because $
- kotaKat 3y agoNo, you can build and install for yourself. Self-signed apps last 7 days before they need to be re-signed. If you have a Developer Account your signed app lasts 1 year before re-signing. People have even made it (generally) easy to re-sign IPAs; see tooling like https://sideloadly.io/ https://sideloadly.io/.
- yellow_lead 3y agoFor point 5, I don't think it's true. We have team members that can login to app store connect without any iDevice. I also regularly login from non-macs. I agree with your other points. The lock-in, especially for CI, is terrible.