11 ms·
The fact that you have to build an iOS app on a Mac, that you can't even set up a CI build on commodity hardware, or in the cloud, is pretty fundamentally devel
by MBlume 10y ago
The fact that you have to build an iOS app on a Mac, that you can't even set up a CI build on commodity hardware, or in the cloud, is pretty fundamentally developer-hostile. I'll start to feel wooed when they take steps toward fixing that.
- knucklesandwich 10y agoI don't disagree with your general point that it's ridiculous how locked down the tooling is, but I think you can build an iOS app on a CI in the cloud, can't you? TravisCI and CircleCI at least offer options for this, I believe.
- Fr0styMatt88 10y agoI think Unity Cloud Build is another example. They say it supports iOS (I've personally never used it though). https://unity3d.com/services/cloud-build https://unity3d.com/services/cloud-build
- joshdickson 10y agoThey said CI build on commodity hardware. Yes folks like Circle have CI for iOS and OS X apps, but (1) it's on Apple hardware and (2) as a result, way more expensive.
- knucklesandwich 10y agoThe above person said or in the cloud. Agreed that its a pain. I only have experience with OS X builds (not for cocoa apps, but for a CLI tool) in TravisCI, but I can tell you that their build box offerings are much weaker than what you can get for Linux (presumably because of the cost).
- asimuvPR 10y agoGreat point. The whole process seems alien to me. More so when its forced by one of the biggest computer companies in the world.
- msie 10y agoSo what? I have to build a Windows app on Windows, most likely using Visual Studio.
- cptskippy 10y agoI think his point, and one I agree with, is that the tool chain is incredibly expensive, obsoleted frequently, and requires lots of maintenance. If you used Microsoft's tool chain to build Windows apps, you can do so with a VM under the Dream Spark license for free. The barrier to entry for OSX/iOS development is hundreds to thousands of dollars.
- msie 10y agoWell, Xcode is free. Apple Dev membership is free. You need a computer to develop software on. Windows machines aren't free. A legit Windows OS license is more expensive than OSX.
- smt88 10y agoIs a Dev membership free, or is it $99/year?
- bitserf 10y ago$99 is when you want to distribute via App Store. You don't need that to do the development or use the tools.
- JimDabell 10y agoA developer account is free, the $99 is to publish in the App Store, receive technical support, and receive free versions of various things (e.g. OS X Server).
- cptskippy 10y agoOh so you can buy the OSX upgrade and install it on any x86 hardware? No? Then it's not comparable to the retail Windows License. You can pickup a Windows PC and an Android phone for half the cost of just a Mac Mini that still requires a display.
- joshuak 10y agoNot Apple, but you have all of these features with Qt [1] which can be deployed to iOS. 1: http://www.qt.io http://www.qt.io
- JonathonW 10y agoYou can develop your application with Qt on whatever platform you want, but you'll still need Apple hardware when it comes time to build and test on iOS, because Qt still has to build and link against Apple's SDKs and use Apple's codesigning tools to produce builds that are actually runnable.
- JimDabell 10y agoBuilding and linking is still an issue, but you can do the signing on other platforms now: https://github.com/saucelabs/isign https://github.com/saucelabs/isign Given that the Swift toolchain is now open-source and being ported to other platforms, I would expect that the building and linking issues will be solved fairly shortly. I wouldn't be surprised if there was something official announced at WWDC.
- ryanwaggoner 10y agoThat'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.
- mdorazio 10y agoThank you for bringing this up since it's been massively painful for years. As an example, when I first started developing for iOS back in 2009, I had to buy a $500 used macbook before I could even get started coding. That hardware was obsolete within about 3 years (couldn't update to the latest OSX or XCode), so then I had to pony up another $800 for a refurbished mac mini just to still be able to develop. Meanwhile, Android Studio runs on... actually I don't know what it doesn't run on. And yes, I know that leasing time on a mac for dev work is an option, but that gets rather pricey over time ($1 per hour or $20/month is not cheap if you need to work on and maintain apps for multiple years). And an RDC experience will never be as good as having the actual computer in front of you, even on a fast connection.
- giarc 10y agoI've never heard of leasing but $20 month is a steal. At $20/month, it would take 7.5 years to pay off a $1800 laptop. If you are leasing in that time you would have upgraded a few times.
- mdorazio 10y agoYou don't get root access or a dedicated server, but it is an option: http://www.macincloud.com/pricing/compare http://www.macincloud.com/pricing/compare
- zootam 10y agohave you looked into hackintoshing?
- derefr 10y agoI would note that, if you want to Mackintosh specifically for the sake of compiling OSX/iOS executables, it's far easier to set up a computer to run a bare-metal hypervisor that knows how to run OSX virtual machines (e.g. VMWare ESXi), than it is to directly set up the same computer to run OSX directly. (Source: did both over the last month.)
- Roritharr 10y agoYou are correct. I've started Android Development since I did not want to work on Apple Hardware. I don't like the "just different" attitude concerning some basic things (Why can't I order a MacBook with full printed special character keyboards AND none of those non-standard key bindings(especially horrible on German Keyboards)? Why can't they offer a Version of Finder that is not insanely infuriating to people used to Windows or Ubuntu?) that are just hostile to people who don't drink their brand of kool-aid. I'm happily developing on Windows and if I ever feel badly served by this, switching to Ubuntu is a very warm well trodden road. I really don't get what people See in Macs, other than the tribe factor.
- realworldview 10y agoso angry
- cheez 10y agoI'm running into this problem right now for my app, and there are reasonably priced cloud options out there. Mac OS doesn't run on commodity hardware so it isn't surprising that you can't set up a CI build on commodity hardware. Put another way, Mac OS is not like Windows and Linux: the software is inextricably linked to the hardware.
- deleted 10y ago[deleted]
- viktorbenei 10y agoI completely agree, just wanted to add that there are options for iOS / macOS CI in the cloud, like ours ( https://www.bitrise.io https://www.bitrise.io - we have a free plan for freelancers ) or Travis / Circle. Not on commodity hardware of course, and you most likely won't have macOS as an option on AWS/GCE/Azure in the near future either.. (we use a private vSphere system right now)