|
I think there are a lot of answers that miss the big picture. It's making money. Specifically, getting discovered. Now, if what you meant was difficulty from an engineering standpoint (e.g. you just want to develop iOS apps as an employee or contractor), then the answer is: synchronizing data and UI. Notice I stated something broad, rather than something really narrowly specific. Provisioning is incredibly annoying, but spend a day reading some tutorials and docs and you're done, so it's clearly not the hardest problem. Same with backwards compatibility. Apple does a good job at maintaining compat. And even then it's not the problem you spend most of your time hammering against. The single greatest source of bugs, engineering effort, design patterns (MVC, MVVM, etc.), and attempts to build huge new frameworks (see: React Native, ReactiveCocoa, Realm, etc.), and so on, is synchronizing data and UI. |
By the way, thanks for sharing. I agree 100% with UI being a pain. On the other hand, I still don't have much experience with synchronizing data since most of my projects have been with static data.
In addition, I agree that money is one (or the only) end goal but I guess that's true for any career. I think if I had asked "How do I make tons of money with iOS development?" I would've gotten little answers. LOL. It's very difficult and the ones making the cash probably don't want their competition knowing.