神刀安全网

Apple starts rejecting apps that use UIWebBrowserView

#1

Hi,I’ve application in Ionic, on submission on Store it got rejected saying I’m using some non-public APIs. Below is response received from them.

From Apple

2.5 – Apps that use non-public APIs will be rejected

2.5 Details

Your app still uses or references the non-public APIs, which is a violation of the App Store Review Guidelines. Specifically, your app includes a misuse of the UIWebBrowserView private class.

The use of non-public APIs is not permitted in the App Store because it can lead to a poor user experience should these APIs change.

Next Steps

Please revise your app to remove any non-public APIs. If you have defined methods in your source code with the same names as the above-mentioned APIs, we suggest altering your method names so that they no longer collide with Apple’s private APIs to avoid your application being flagged in future submissions.

Additionally, if you are using third party libraries, please update to the most recent version of those libraries. If you do not have access to the libraries’ source, you may be able to search the compiled binary using the "strings" or "otool" command line tools. The "strings" tool can output a list of the methods that the library calls and "otool -ov" will output the Objective-C class structures and their defined methods. These tools can help you narrow down where the problematic code resides. You could also use the "nm" tool to verify if any third party libraries are calling these APIs.

Resources

For information on the "nm" tool, please see the "nm tool" Xcode manual page.

If there are no alternatives for providing the functionality your app requires, you may wish to file an enhancement request.

If you have difficulty reproducing a reported issue, please try testing the workflow described in Technical Q&A QA1764: How to reproduce bugs reported against App Store submissions.

If you have code-level questions after utilizing the above resources, you may wish to consult with Apple Developer Technical Support. When the DTS engineer follows up with you, please be ready to provide:

– complete details of your rejection issue(s)

– screenshots

– steps to reproduce the issue(s)

– symbolicated crash logs – if your issue results in a crash log

I feel some of plugin is using it. Kindly check following plugin list

cordova-plugin-camera 2.1.0 "Camera"

cordova-plugin-console 1.0.2 "Console"

cordova-plugin-datepicker 0.9.3 "DatePicker"

cordova-plugin-device 1.1.1 "Device"

cordova-plugin-dialogs 1.2.0 "Notification"

cordova-plugin-geolocation 2.1.0 "Geolocation"

cordova-plugin-inappbrowser 1.2.1 "InAppBrowser"

cordova-plugin-network-information 1.2.0 "Network Information"

cordova-plugin-splashscreen 3.2.0 "Splashscreen"

cordova-plugin-statusbar 2.1.1 "StatusBar"

cordova-plugin-whitelist 1.2.1 "Whitelist"

cordova-plugin-x-socialsharing 5.0.10 "SocialSharing"

cordova-plugin-x-toast 2.4.2 "Toast"

cordova.plugins.diagnostic 2.3.10 "Diagnostic"

ionic-plugin-keyboard 1.0.8 "Keyboard"

onesignal-cordova-plugin 1.11.2 "OneSignal Push Notifications"

org.pushandplay.cordova.apprate 1.1.7 "AppRate"

Also system info

ionic -v1.7.14

ionic info

Your system information:

Cordova CLI: 6.0.0

Gulp version: CLI version 3.9.1

Gulp local: Local version 3.9.1

Ionic Version: 1.2.4

Ionic CLI Version: 1.7.14

Ionic App Lib Version: 0.7.0

ios-deploy version: 1.8.4

ios-sim version: 5.0.4

OS: Mac OS X El Capitan

Node Version: v5.3.0

Xcode version: Xcode 7.2 Build version 7C68

I don’t understand which plugin/element is causing this issue. Can you guys help to understand or guide on nm tools

#2

We are having the exact same issue. Apple rejected an app for using non-public API UIWebBrowserView. The plugin responsible appears to be ionic-plugin-keyboard within UIWebViewExtension.m file. This issue appears to have started today with Apple rejecting apps that use UIWebBrowserView. Waiting for reviewer to provide more information.

#3

Hell Guys,

We are facing exact same issue and Apple rejected it yesterday only. I am looking into option of changing the plugin. Also will changing the class name and object name in xcode works?

Here is what I got reply from them

From Apple

2.5 – Apps that use non-public APIs will be rejected

Hello Vijay,

Thank you for your question. Specifically, we found that your app includes a category, “HackishAccessoryHiding”, for UIWebView that includes methods meant to programmatically access a displayed UIWebBrowserView object. If this is part of the Ionic framework, it would be appropriate to reach out to them if you cannot remove the at-issue code on your own.

Regards,Vijay

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » Apple starts rejecting apps that use UIWebBrowserView

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
分享按钮