Imagine you added support for a device that's not out yet, that you probably don't even physically possess (unless you're a heavy developer, and even that's probably a pre-release model), but that you're assuming will readily accept your updated app. Except when finally the device is released, it turns out the support you added for the new device was imperfectly applied, frustrating the experience of users everywhere who are used to this app working just fine on other devices but not this one.
Now imagine this happening with multiple apps, perhaps because the developer documentation for the device was an inferior match for reality, perhaps because the documentation was consistently mis-interpreted, perhaps because the emulation in development was slightly inaccurate. Whatever the cause, a vast lot of supposedly compatible apps are very much not.
Which product's image is harmed most by this outcome?
They allow anyone to say that their app is XS-compatible even if they never owned an iPhone.
Their worry is not actual compatibility.
> Apps with compatibility references to a pre-GM version
Apple didn't say you can't mention the iPhone XR, they said you can't claim compatibility with it yet... the author went through some great lengths to play up the absurdity of Apple wanting to keep the model under wraps and it's pretty clear that was never what they were askingWhy not just state ‘compatibility updates’ and nothing else?
It merely translates the iOS calls into OSX ones. It is not accurate in all cases and can be wildly off when it comes to performance.
https://twitter.com/lucvandal/status/1042023268352512001/pho...
And Hendrik Holtmann said his app was rejected for mentioning iOS 12 in the release notes - after iOS 12 had been publicly released:
Savage!! :D
> iPhone XR has not been authorized as required by the rules of the Federal Communications Commission. iPhone XR is not, and may not be, offered for sale or lease, or sold or leased, until authorization is obtained.
It could be that they aren’t wanting to imply that they’ve given out review units or other demo units in violation of not having approval.
I’m not saying it’s super likely, but it’s also not impossible.
But I appreciated a look into what happens when you start pushing back...
Yes. That is basically the gist of it.
Messing with low level, customer care team who are just trying to enforce the policies really is pretty childish.
The Author of the article said it beautifully - I know that millions of people are battling every day for their dignity and their families and their lives. But, goddammit, this is a bridge too stupid, and I can’t cross it.
And I am sure the customer care person at Apple found this so hilarious.
This is nothing more than a refined version of the idiots on YouTube squirting water guns at McDonalds cashiers. Because you know they deserve it for daring to work at McDonalds at the first place.
> Fly the pirate flag, toss a hammer at Big Brother, think different — just don’t violate Section 3.2 of the Program License Agreement, and communicate to your users words that are on a billboard you drove past on your way to work. Be a rebel, but somewhere else.
How does one do that, exactly?
I think his particular battle with Apple is not the most worth, and it's not unreasonable of them to prevent you from claiming compatibility with unreleased phones, but please let's not forget we're talking about a company that does not even have a public bug tracker, and will close your tickets as duplicates without you being able to read or be notified about the other supposed ticket your is a duplicate of.
It's a totally opaque company that gives developers no resort to fix their issues. You can only talk with the lowest level support and you can only take it out on them (which you should do politely, of course)
That you think so makes me think you seem "slight" deranged by Apples guideline process. That's some next level stupidity where that corporate line of "hey, we have emulators for it, which are intended for you to test, but you cannot mention this in an update" makes actually sense to someone.
https://news.ycombinator.com/item?id=18055701
Magnet listed as "Optimized for macOS 10.14 Mojave": https://itunes.apple.com/us/app/magnet/id441258766
And by big guy it wasn't the CEO or some VP at Apple. It was a low level app-reviewer who from reports earns something like $20/hour.
However, many economists have noted that app revenues (not advertising) is highly skewed towards Apple's platform. When will a $100B app market stop being treated as a feature of physical phone unit shipments, worthy of its own independent regulation?
Especially in this case as I imagine a large part of his income is tied to releasing apps for ios devices, so he doesn't really have an option to just stop developing for apple.
From accounts it is a low-level, call centre type role. Actually not far off a McDonalds cashier.
That is not an accurate description of what the simulator does. It is a separate userspace running on the same kernel, in this case the iOS userspace running side-by-side but isolated from the macOS userspace.
The simulator uses entirely iOS binaries, built for x86/x86-64. This includes UIKit, Foundation, libc, libdispatch, etc. It does not use the macOS ABI, nor the macOS libc/Objective-C/Swift runtimes. Each individual simulated device is its own isolated mach bootstrap, with its own separate launchd, daemons, and XPC services.
With the exception of a few libraries like the syscall interface and libpthread, which are tightly bound to the kernel.
The simulator has to render the screen via the macOS display device, and I can tell you my trusty Radeon 5870 is only up for rendering about 5 frames per second in the simulator.
I’m pretty sure any Metal apps will be wildly different in the simulator.
I don’t even consider myself an expert iOS Programmer at this point, and I can come up with three examples off the top of my head. I’m sure there are plenty more. And there’s a reason every single iOS library or widget on GitHub requires all bug reports to be made only after testing on-device.