I am the proud recipient of many Apple rejection notices from the App Store (I have been releasing iOS apps since 2012). I have not had an app pulled, but I have had many rejections to submitted apps (the latest were received yesterday).
In all of the notices, Apple is usually quite explicit in what the problem is, including attaching screengrabs, and they will respond, if I ask them for further clarification.
I've seen cases where Apple will actually decompile/debug your app and point you the exact feature / method / line that they find unacceptable. Despite all of my other complaints about iOS ecosystem, they _do_ keep their App Store walled garden fairly well tended.
Out of curiosity, where those big name apps, or small ones? I assume that level of service is reserved or more important apps?
Not a tiny app by any means, but we were definitely small enough that we were surprised at the level of depth in their analysis.
Small ones. Most are free.
Over the years, I've had over twenty apps in the store, but most are retired.
I'm down to seven: https://littlegreenviper.com/AppDocs/
I had Apple point out that I hadn’t yet added a TOS for a trivia app I was making; they’re very thorough.
Almost every rejection has been a matter of "process," like ToS, privacy policy, plist entries, etc.
In a couple of cases, they actually found crashes that I missed in my testing.
I should also mention another common rejection reason, so it's "out there."
Trademark use.
I have had apps rejected because I used a trademark (usually Apple's) in my app name or description.
For example, I had submitted an app called "Bluetooth 8-Ball for tvOS".
I was told that "tvOS" was not allowable. I had to use "TV".
This kind of thing has happened a few times. I casually use Apple trademarked terminology a lot, but I can't be as sanguine about it when I submit apps.
Full Disclosure: They also had a problem with the app being a "demonstrator" app. They don't want us releasing apps that they don't think we're "serious" about. They had a point, and I ended up withdrawing the app.
This is why I'm often amused when people gripe about the $99/year membership fee for the Apple Developer Program.
I consider it a "token" amount, calculated to be just enough to keep people that aren't actually serious about releasing apps out.
They sure aren't looking at developer account fees to hold their bottom line up.
It's low enough that I can easily keep two organizational accounts going.
As someone who gripes about it: I think $99/year is a perfectly reasonable fee in order to submit to the App Store. I just don't think it should be the only way to run my own code on my own phone (without jumping through the rediculous hoop of reinstalling an app every single week).
You just answered yourself. It's not a the only way to run your own code on your own phone. AFAIK that restriction is to prevent jailbreakers from easily sideloading paid apps as "their" apps on their phones.
But it effectively is! There is no way for me to make anything useful for myself if I have to connect my phone to a computer and reinstall the app every seven days. If I forget, the app suddenly won't open. If I go on vacation without a computer, the app won't open. The seven day thing is useful for testing, and nothing more.
If the goal is to prevent piracy, well, as with other forms of DRM I as a paying customer don't appreciate being treated like a thief. Dedicated pirates can and do just buy stolen enterprise certs on the black market anyway.
> If the goal is to prevent piracy
I don't think that's their goal.
I suspect that it's all about "brand reinforcement."
Apple is (arguably) the world's most valuable brand. Those don't come in Cracker Jack boxes.
They don't want some knucklehead running around, showing some crapplet that makes the brand look bad, and they certainly don't want them installing said crapplet on their friends' phones, so there's a bunch of folks running around, making them look bad.
This makes that a lot less likely. If they restrict it to paid accounts, then they have an assumption that the people writing the apps are "serious" about developing decent software.
I suspect that a big part of them buying up TestFlight was because they didn't want a company out there, making it easy to install un-vetted crapplets into a wide range of devices (which the old TestFlight allowed).
I have some experience with this. I used to work for a world-renowned corporation that made photographic equipment. Their brand is right up there, with Apple.
They would go nuts about sample photos getting out of the company. It was really difficult to report bugs, or even share test results, because the sample photos couldn't make our cameras look bad.
There's a great deal of controversy about Apple's iron-fisted control issues, but I do understand. I'm not always happy about it, but you can't argue with the results.
Xcode is free, Interface Builder is free, all the documentation for everything is free. I'm trying to get into Windows development and don't use Apple devices, but I agree $99 a year for everything Apple gives developers is not expensive considering the value and the cost of these tools on similar platforms.
They're "free" but you must buy Apple hardware to run them.
Someone from Apple got on the phone with me to explain a rejection. I was disappointed with the outcome but very surprised at how they were willing to talk about it and explain why.
I was able to get a couple of apps approved, but I have perfected my forelock-pulling and wheedling skills. I always deal with them very respectfully and deferentially.
Basically, I support Apple’s “walled garden.” It’s a pain to deal with, but it makes their App Store a lot more valuable.
There is a lot of loud, vocal, opposition to it, but the vast majority of regular (as in non-geek) people like it just fine.
I agree. While I wasn't happy with the outcome, I do respect it and would not do anything to actively work around it. Just pulled the feature and moved on with the app.
The fact that they took the time to explain and justify the rejection made all of the difference. I have been on the receiving end with Google and it's much more difficult to deal with.
Which pretty much blows up the idea that Google's vagueness is about security.