Hello, Ionites! You may have noticed, if you tried to submit your app to the iOS App Store in the last week, that as of today, some apps have started to be rejected for “non-public API use.” This is due to the hideKeyboardAccessoryBar method of the Ionic Keyboard plugin, which uses private APIs to remove the accessory bar to look like a native keyboard.
But don’t fret! Your app is not in any danger, and the plugin has been updated to remove the method, so all you need to do is update:
ionic plugin rm ionic-plugin-keyboard ionic plugin add ionic-plugin-keyboard
If you haven’t submitted to the App Store yet, or your app is currently under review, you still need to update!
Will my Ionic app already in the App Store be removed?
No. So far, we have zero reports of any existing Ionic apps being removed from the App Store. If your app is already happily in the App Store, there should be no reason for alarm.
What is the accessory bar?
On iOS, when you focus an input in the browser, the keyboard appears with a toolbar above it that has buttons for switching between inputs and closing the keyboard. Native apps traditionally do not show this bar.
What do you mean by “private” API?
In native apps, removing the accessory bar is common practice. To remove the accessory bar, we used a part within iOS that isn’t often used and is reserved for iOS internally. But no worries; we just updated the keyboard plugin to no longer use the private API. At this time, Apple doesn’t provide a way to remove the accessory bar through any public API.
Will you be adding the ability to remove the accessory bar again in the future?
Yes! We’re exploring our options at the moment. Because there is no public API, there is no guarantee that any solution we come up with won’t come up against this issue again! If we do add it back in, we will be clear about any risks to App Store submissions.
Thanks for your patience and for helping us resolve this issue so quickly! We’ll keep this post up to date with any new changes or information.