About 5 years ago, I decided to write an iOS app. I wasn’t satisfied with the features of the Hacker News clients I had downloaded from the app store, so I decided to write my own. It was called Hacker News Zero (https://itunes.apple.com/us/app/hacker-news-zero/id764890985?mt=8)
It’s a pretty basic Hacker News app. You can only read comments (currently the API doesn’t support it), and you can view each of the other “sections” of the site like Ask HN, Jobs, etc.
After it was released, it developed a (very) modest following, and it actually ended up helping me get my first job as an iOS developer. I took the time to maintain the app in my spare time, adding things like iPad support and dark mode. I even re-wrote it in Swift this year.
But then one day, after submitting a small bug fix update, I got an email from Apple. My app had been rejected. The following is their first letter:
Guideline 5.2.2 — Legal
Your app contains content or features that may infringe upon rights owned by news and media outlets such as Harper’s Magazine, Ars Technica, and TechCrunch.
Your app and its contents should not infringe upon the rights of another party. In the event your app infringes another party’s rights, you are responsible for any liability to Apple because of a claim.
To resolve this issue, please attach documentary evidence in the App Review Information section in App Store Connect. In accordance with section 3.2(f) of the Apple Developer Program License Agreement, you acknowledge that submitting falsified or fraudulent documentation can result in the termination of your Apple Developer Program account and the removal of your apps from the App Store. Once Legal has reviewed your documentation and confirms its validity, we will proceed with the review of your app.
Alternatively, please make the necessary changes to your app so that it does not infringe upon the rights of a third party. For example, before accessing the news articles:
- Include links to third-party news articles that launch in a web browser outside of the app.
- Require the user to configure third-party RSS feeds/sources.
Showing articles from random third party sources is pretty much THE feature of a Hacker News client app. There is no way anyone anywhere can get “documentary evidence” for every domain on the internet. As for their alternatives, kicking the user out to Safari would significantly reduce the usability of the app. And I don’t think configuring a “feed” really works for this kind of app: am I supposed to force the user to configure a feed that includes every site on the internet?
So I thought that maybe they missed the fact that there is a “Show in Safari” button in a toolbar below every article. So I sent a reply back informing them of this.
I got a prompt reply back from them:
We continue to find that your app displays full articles from multiple news sources.
To resolve this issue you can do any of the following:
- Attach documentary evidence in the App Review Information section in App Store Connect granting you permission to use these sources
- Require users to customize their news sources upon launching your app
- Only show a portion of the article within your app and link out to Safari for the rest
Ok, they’ve made themselves clear. Apps can’t show any third party links within the app itself. But wait, aren’t there hundreds of Hacker News client apps out there that do exactly that? Not to mention clients for other similar services like Reddit, Twitter, etc. This must be a mistake. They are mistaking my app for some sort of RSS feed aggregator or something, right?
Over the next couple of weeks, I sent several replies back and forth the app reviewer, but it was wholly unproductive. Questions like, “How is my app different than all the other Hacker News apps out there?” were ignored. It felt like I was arguing with a robot.
So I decided to send an official appeal to the App Review board. However, after a couple of days, it was rejected. Guideline 5.2.2 was cited back to me in their short response.
Guideline 5.2.2, for the record, is pretty broad. Here it is from Apple’s site:
It makes you wonder: if this rule is supposed to be enforced by app review, how does ANY Hacker News client make it through app review? Showing content from a third party service is what a Hacker News client DOES. My best guess is this rule is kind of a CYA guideline put in to protect themselves from lawsuits, and I am one of the unlucky ones they decided to exercise it on.
The lesson here is: be wary if your iOS app relies on third party services, or even links to third-party domains. Also, the app reviewer’s word is final, and you must do what they say if your app gets rejected.
Nothing I do, short of dramatically reducing the usability of the app, will let me make any more updates to it. It is very frustrating, seeing as I maintain it for free and in my own spare time. Perhaps there’s an avenue I haven’t thought of, but for now, it seems my app is dead in the water.