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:
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?
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.
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.
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…