Hacker News new | ask | show | jobs
by djrockstar1 1639 days ago
It's appalling to me that iOS developers still exist after all the hoops you have to jump through to get an iOS app out. I'm a web developer that got roped into developing and then publishing a react native app for android and iOS. The android process was relatively painless compared to the crap Apple has you do. For starters, you can't even produce an app build without running on iOS, so the company had to procure an old Mac just so we could compile. Once I got Xcode set up, I learn that I need to connect to an iPhone as a target device in order to build. Thank god for small companies and being able to get things done quick. Another hoop and painful 30-40 minute compile times later (for a relatively small app mind you, also caching didn't seem to help whatsoever cause even back to back compiles were still slow as hell), we finally get out a build out on TestFlight, only to wait an undisclosed amount of time for Apple's approval.

I realize these aren't issues if you're already drunk on the Apple Kool-aid and have the latest Mac with the latest iPhone. Then these barely seem like hurdles, but to someone who hasn't already sold their soul to Apple, publishing an iOS app should not be this difficult.

5 comments

Well:

> Anywho, that’s Apple for you. Why am I still an iOS developer? I dunno, I got bills to pay.

People will chase the money. Even with the onerous review process and 30% cut, there's still a good amount of money to be made on the App Store.

This is the standard collective action problem: if a significant chunk of iOS app developers just said "that's enough, we're not working on this anymore" (and if legions of other developers didn't surge in to replace them), then you better believe things would change. But no one wants to stick out, and most software developers seem to think they're too good for a union.

> software developers seem to think they're too good for a union.

Unionizing in global workforce is a fool's errand. Especially when authoritarian governments exist.

Even if there was an IT worker's International, some asshole in e.g. North Korea can prevent IT workers joining on pain of death.

Or outlaw it. Or deem it a terrorist hacker collective.

  > Unionizing in global workforce is a fool's errand. Especially when authoritarian governments exist.
whats the alternative?
The reason is of course money. The profit per user on the Apple garden is light years beyond any other platform. I've seen the exact same app make 100 times as much money on iOS than on Android with half as many users.
> I need to connect to an iPhone as a target device in order to build.

This is not correct. You can build just fine without any iOS device.

Alright, I looked around and finally came across this StackOverflow answer[0] that supports your point. Turns out, if you use let Xcode handle code signing for you, you need a physical device for it to target (which is what we were doing), however there also exists an option to manually sign code yourself, in which case you wouldn't need a physical device. Thanks for the correction, I'm glad to be wrong!

[0] https://stackoverflow.com/a/58920415

You can just select the simulator target if you’re testing your app. When making a release build, you can either select a real iOS device or the generic iOS device that is there for that purpose. (Honestly, I agree with you on some of your points, but some of them seem a bit contrived or a derivative of “I need to learn how to do things in Xcode”. I’d be the first to admit it has a confusing interface for some things, but there’s also like some part of it you’re just going to have to deal with.)
Building reactnative apps is time consuming because of the library and it’s dependencies. Native compile times are much faster.
Can confirm this is true, however you should find that subsequent compiles are much quicker unless you’re doing something unusual.

If you’re just changing JavaScript it should be more or less instant (you may not even need to recompile, hit R in the packager console or use hot reloading). If you add a new native dependency or change some native code, it will have to recompile any affected parts of the code but you should still see much quicker compile times than from a clean state.

I find building react native apps much faster than building native apps. You don't need to recompile if you're just changing the javascript, and only a couple weeks out of the year have I actually needed to change any native code.
I agree. It speaks to the powerful draw of a (comparatively) affluent user base that people put up with it. Apple's remarkably hostile in their entire ecosystem. I wrote a web page which for some reason doesn't work in Safari. I spent an hour investigating, but since Apple won't even let me run their browser without spending thousands on hardware it's just not worth it to me to bother looking into it. Closed as won't fix, tell your OEM to be less of a pain.