From the user's point of view, iOS is an outstanding platform. Perhaps somewhat monotonous and tough, but attractive and reliable (mostly).
From the position of the developer, things are quite different. Working with iOS (and in fact, in general, with Apple) is like trying to talk to a paranoid robot acting as a famous Soviet border guard from Kafka’s novel.
Safari for iOS - sucks
It is one of the most disgusting browsers I've dealt with since I started web development in the late 90s. I lost count of the crutches I had to install in order to make the programs work in Safari for iOS or in its web views. This is simply unacceptable in the world of 2016, where everything is subject to standards.
To give you an idea: you cannot, for example, set the height of the <iframe> element. This is what we are able to do in any other browser (even in IE6, the most hated browser on Earth), after the <iframe> tag was introduced in 1999. This problem has existed
since 2011 .
')
The situation is really surprising. Why doesn't Apple allow other browser engines to work in iOS? Or why does Apple not invest more resources in the Webkit project, as Google does with its Chromium?
Nola Lawson: This is because they have a lot more engineers and enthusiasts among developers than Apple.
Impossible (easy) to test old iOS versions
Once I needed to test a simulator with iOS 7. Guess what happened. It turned out that this, of course, is
possible , but you will need to download the old and unsupported version of Xcode, which only works in
Mavericks !
That is, you must keep either old Macs or old iOS devices, praying that Apple will not break anything further.
Apple's policy is not to take prisoners. If you do not update your device, then you are an “unwanted” person. Buy a new iOS device if you want to be a “privileged” person receiving applications without bugs.
Certificates and initialization profiles
IOS certificate operations are tedious, bureaucratic, and difficult to understand. Sometimes something collapses, and then neither the Apple documentation, nor Xcode, nor this horrible Member Center can shed any light on what is happening.
Most recently, I lost 2 days trying to figure out why I couldn’t create a certain certificate, and finally found the answer. Who would have thought - in some obscure documents on Mozilla. Xcode gave me only a gray button, but no one at all responded to the Apple Developer Forum.
It should not be so that you, as a developer, ask Apple for permission to run your own program on your own device. You know that this is the case on almost any other platform in the world. Even macOS.
iOS AppStore
AppStore is another huge source of irritation. For example, just a few hours ago, the application I’m working on was rejected because someone at Apple didn’t like my screenshots:
We note that your screenshot (s) does not sufficiently show (s) your application in action.
I obviously downloaded the screenshots of the running application without any changes.
If Apple thinks there should be more screenshots or that they look somehow ugly, then why not write? No, you deserve nothing more than an automated answer.
By the way, it takes a company a week to let her know if she likes your screenshots. We wish you success in trying to plan a coordinated exit strategy ...
Remember the robot from the fantastic action movie "Elysium - Paradise is not on Earth"?
"Do you want to talk to a man?"Fortunately, I can just keep downloading screenshots and hope that the application will be accepted at some point. Just wasting time.
But the above is not as bad as what happened today with
the Dash iOS app . Apple decided that the developer of a successful application was involved in review fraud and closed this application.
Apple’s decision is final and cannot be appealed.
Of course, we all know that Apple is flawless and that it never makes mistakes. How can you doubt it?
Worst of all
You have to pay for the honor of being an iOS developer. It is not enough that Apple forces you to compile on an Apple computer, which is not worth your money, or that you must endure all these problems.
Someday, Apple will make the iOS developer program free for everyone, under general applause. Fans will scream with delight. Why, such a smart gesture!
And at the same time, you can develop for free on almost any other platform in the world and even compile it from any other platform. As, for example, it is possible to compile Windows applications on macOS, or Android applications on Linux.
It's all.
Copyright October 7, 2016: Obviously, the @ryosukeniwa twitter account was deleted after the publication of this material. What a coincidence.