App Store Rejection: "Your app did not include interactive iOS features"


#1

I was really disappointed to learn my binary was rejected, even though I relied solely on the Ionic framework. Here is the full message:

We noticed an issue with your app that contributes to a lower quality user experience than Apple users expect:
-Your app did not include interactive iOS features. App Store apps should use native iOS buttons and include iOS features other than just web views, push notifications, or sharing.

What my app does:
It displays the Men’s Gymnastics Code of Points (Skills) in an organized searchable fashion. It loads all the data from my web server. The screenshot below pretty much shows the entire app:

Screenshots:

I’m not really sure where to go from here, as I have never developed for iOS (I’m an Android guy). Does anyone have any suggestions?


#2

Are you using any iOs features? Notifications, phone integration, etc. Many of these can be accessed via the Ionic Native plugins.


#3

You haven’t stated this explicitly, but I assume:

It loads all the data from my web server.

Means your app loads the init screen and just loads a website in the UIWebView. All the buttons and navigation are loaded as is from the website. Is this right?

This is a common situation for app rejection (many posts around the net). Technically, you are packaging a website in an app shell. Is that correct?

If so, yes, I’ve read of many cases of rejection (dates back to 2012 in stack overflow as one example, and another one here - so its not a new policy)

Right now, if I understand right, Apple is saying ‘all this app does is loads a website’ and its not something we want to approve as an app

On the other hand, if you have crafted the UI completely in the app and only rendering data from the web, then I’m very surprised.

No one uses native buttons when using ionic. These are all CSS styled buttons made to look like native ones (or not). If they are insisting you need to have some “native” features thats very odd. I may, for example, implement a book reading app that has no need for native features. I think they have formed an impression that your app is a wrapper for a website. If that is not true, ou should challenge this with the app review board.

Edit 1: I relooking at the UI you posted - it does look like you have designed it locally using ionic elements and you are not just loading the website. I see modals, search bars, I assume you have other logic built in. In which case, ouch. Maybe add a cordova plugin to save data to disk using sqlite (so its not a local storage) and try? I really don’t like this direction though.


#4

Go theough the native list and add some plugins that arent invasivr to your ui

Like sqlite to drive ionic storage
Printibg to print stuff
Network
Device
Social share of achievements
Badge

And if u dont like these put them in ypur about page

Etc


#5

Thanks for the thorough reply. When I said it loads everything from a server, I meant just the database of skills and skill images. All the UI is done on the front end using ionic components.


#6

Thanks for the tip. We use native sqlite and networking. I’ll look into more native stuff


#7

It doesn’t have notifications and it doesn’t access phone, sms, location, etc. We use native storage and networking. But that’s about it native-wise.


#8

I had an app rejected for a similar guideline and I just re-submitted the exact same build with a note in the ‘note’ field of the App Review section explaining all of the features of my app that they might have missed with a cursory or automated test.

They approved it quickly during the second review, which may be easier and cleaner than adding random plugins to the settings/about page to try to make a random reviewer happy…