Getting Uiwebview API Deprecation Message After Adding Paypal Pod in My iOS App

Getting UIWebview api deprecation message after adding PayPal pod in my iOS app

It appears you are using a deprecated PayPal mobile SDK that is no longer supported for new integrations

If you need a native SDK, PayPal Express Checkout via the Braintree Mobile SDK is supported

App store rejecting app because of UIWebView, but UIWebView only in comments, not actual code

libPayPalMobile.a inside of the PayPal SDK most likely contains a reference to UIWebView in it.

However, the PayPal SDK is deprecated and it is now recommended to use Braintree Direct. So to solve this issue, you must either remove your integration with the PayPal SDK or migrate to use Braintree Direct.

Does a .json API need to be secure (https) to be used in iOS app development?

Yes. The App Transport Security forces you to use HTTPS. You could define exceptions, but Apple will automatically reject your app unless you've contacted Apple and provided a detailed explanation, why you can't use HTTPS.

See Session 706 of the WWDC 2016 for more information. This thread in the Developer Forums may contain some useful information for you, too.

I would strongly recommend you to set up HTTPS on your server. Let's Encrypt provides you the possibility to get certificates for free.

ITMS-90809: Deprecated API Usage - existing app that use UIWebView are no longer accepted

Yes, Apple did change the policies
Are you using ionic? if so, install these:

  1. cordova plugin add cordova-plugin-ionic-webview@latest
  2. npm install @ionic-native/ionic-webview

Then add this to your config.xml under ios platform:

<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">`
<param name="ios-package" value="CDVWKWebViewEngine" />
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

Finally run ionic cordova prepare ios to reflect the changes
then run ionic cordova build ios --prod

PS: Make sure you have only one webview plugin installed.. either this or the 'cordova-webviewengine'. But the above method worked for me and my app is in app store now

1188 duplicate symbols for architecture arm64

Thanks for everyone that helped me trying to get this fixed.

I was able to fix it by doing these steps:

  • I removed some librarys I had referenced in my target, by going to project view -> target -> general and then here I removed some duplicated librarys I had.
  • After that I closed XCode and then went to my project folder in finder and deleted, pods folder, podfile.lock, .xcworkspace file.
  • I also added a line in my podfile use_frameworks!
  • Open terminal, go into project folder, and did the following commands:

pod deintegrate

pod install

  • After that opened the newly created .xcworkspace file, clean project and then build.

I think the problem I had is that I had these frameworks in my project targets and they were the same as in the pods so that's why I had the issue of duplicate symbols.

Related Topics

Leave a reply