The article provides a multi-dimensional perspective for iOS dev community.
As a user, iOS is a great platform. It's a bit boring and strict, but beautiful and powerful (most of the time is)
But when you are a dev, everything is very different. Resolving iOS (and Apple in general) is like trying to talk to a paranoid robot as a Soviet border officer in Kafka's work.
IOS Safari is a mess
This is one of the scary browsers that I'm honored to be working with since I started web programming in the late 90s. I have lost a lot of hacks to be executed so that the code can run in Safari of iOS or its own web views. This is hard to accept in a world that complies with standards like 2016.
For example, you cannot specify the height of a <iframe>. While you can do this in any browser, including IE6 – one of the most hated browsers in the world, because the <iframe> tag has been around since 1999. This problem is still ongoing. since 2011.
You might wonder: Why doesn't Apple allow another browser mechanism to run on iOS? Or why did Apple not invest more resources in the Webkit project like Google did with Chromium?
You can't (easily) test old iOS vesions
Someday, I want to test simulator with iOS 7 & the result is? You can not. Of course, it is okay, but you have to download the old Xcode version, which is not supported, only runs on Mavericks.
So, either you keep the old macs, or you keep the old iOS devices and pray that Apple won't break anything further. Apple's policy is consistent, not caring about the feelings of outsiders. If you cannot upgrade your device, you are sad. Buy a new device if you want ownership of applications that are not bug-free.
Certification and backup records
Solving the problem of iOS certificates is very tedious, bureaucratic and confusing. Sometimes, even Apple docs, Xcode and Member Center can't solve what's happening.
Recently, I spent two days trying to identify why I couldn't create a certificate and finally realized the answer in some of Mozilla's documents. Xcode only provides a gray button and no one replies in Apple's developer forum.
As a developer, you should not need Apple's permission to run code on your devices, as well as most any platform in the world, including macOS.
AppStore is also a source of frustration. For example, a few hours ago, an application I was programming was rejected because someone at Apple didn't like my screenshots.
"We noticed that screenshot (s) does not fully reflect your application when used."
Obviously, I uploaded screenshots of the application without any changes. If Apple wants more screenshots or they think they're not good, why doesn't Apple say that? No, you deserve a real answer over 1 sentence automatically. Meanwhile, Apple takes a week to tell whether Apple likes your screenshots. Good luck to have a plan to launch the application.
Worse is what happens to iOS Dash app. Apple recognizes 1 dev behind a successful application that has cheated in the review section and decided to terminate the developer application.
"Apple's decision is final and can't appeal."
Of course, we all think that Apple is perfect and never makes mistakes. So why do you want to appeal like that?
The worst thing
Apple not only urges you to compile on a really expensive Apple computer, but you also have to pay to get the benefits of an iOS developer . Someday, when Apple allows the iOS developer program to be free to everyone and Apple will receive big applause. What a noble gesture!
Meanwhile, you can program almost any platform in the world for free, and even compile from any platform, like compile a Windows application on macOS or an Android application on Linux.
IOS programming has many such barriers. Do not know if any devs want to give up?