iOS-SDK icon indicating copy to clipboard operation
iOS-SDK copied to clipboard

ITMS-90809: Deprecated API Usage

Open Cniklasson opened this issue 1 year ago • 21 comments

PayPal SDK Version

1.1.0

Environment

Sandbox

Xcode Version

Xcode

OS Version & Device

Iphone 14 , 17.2.1

Integration type

Swfit Package Manager

Development Processor

Both

Describe the bug

Dear Developer,

We identified one or more issues with a recent delivery for your app, "Beliri" 1.0.1 (12). Please correct the following issues, then upload again.

ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).

To reproduce

This is the result -

apple@apples-MacBook-Pro-2 Nuvicci % grep -R UIWebView * Binary file Resources/Paypal/libPayPalMobile.a matches

PayPal Native payments followed this link

https://developer.paypal.com/docs/checkout/advanced/ios/

How to my developers move forward from here? We are stuck

Expected behavior

To run smoothly.

Screenshots

IMG_4889 IMG_4890 IMG_4891 IMG_4848

Cniklasson avatar Mar 20 '24 17:03 Cniklasson

@scannillo

This is the result -

apple@apples-MacBook-Pro-2 Nuvicci % grep -R UIWebView * Binary file Resources/Paypal/libPayPalMobile.a matches

Cniklasson avatar Mar 20 '24 17:03 Cniklasson

Thank you for reaching out to us. I will consult with Sammy as well as related team about this issue.

KunJeongPark avatar Mar 21 '24 13:03 KunJeongPark

I was told that the latest version of PayPalCheckout (1.2.0) which is used in our latest PPCP version does not use this deprecated method.

KunJeongPark avatar Mar 21 '24 14:03 KunJeongPark

I see that you commented out the line with older version of PayPalCheckout, did your app submission include that line?

KunJeongPark avatar Mar 21 '24 14:03 KunJeongPark

I was told that the latest version of PayPalCheckout (1.2.0) which is used in our latest PPCP version does not use this deprecated method.

I've enlisted developers to handle the task, and I'll ensure they receive all necessary details promptly.

After discussions with Luka Jakovac, Partner Sales & Onboarding Specialist, we've decided to omit Braintree as it's not applicable in our scenario.

Additionally, the PayPal Mobile Checkout SDK is tailored for existing app beta users, while for new users, we're currently utilizing Version 1.1.0 of the PayPal Mobile iOS SDK for Native Payments.

Followed by this link Native Payments https://developer.paypal.com/docs/checkout/advanced/ios/

Could you confirm if the latest version for PayPalNativePayments is 1.2.0, as the latest version for PayPalCheckout is indeed 1.2.0?

It's crucial to ensure we're focusing on PayPalNativePayments rather than PayPalCheckout to avoid any further issues, given the extensive effort we've already invested in this endeavor.

Cniklasson avatar Mar 21 '24 17:03 Cniklasson

We are working actively to build our PPCP to improve the experience for all users as well as existing merchants. Yes, PPCP iOS version 1.1.0 is definitely using PayPalCheckout 1.2.0.

PayPalNativePayments underneath the hood is just wrapping PayPalCheckout.

A suggestion from a teammate is to check if your pods are not cached somewhere.

Thank you so much and keep us posted on this issue as well as suggestions for future improvements. Another point is to make sure that you don't use PayPalCheckout on its own.

KunJeongPark avatar Mar 22 '24 18:03 KunJeongPark

We are working actively to build our PPCP to improve the experience for all users as well as existing merchants. Yes, PPCP iOS version 1.1.0 is definitely using PayPalCheckout 1.2.0.

PayPalNativePayments underneath the hood is just wrapping PayPalCheckout.

A suggestion from a teammate is to check if your pods are not cached somewhere.

Thank you so much and keep us posted on this issue as well as suggestions for future improvements. Another point is to make sure that you don't use PayPalCheckout on its own.

Iam happy for the quick replies and support! So to start we should upload PayPal Native Payments to version 1.2.0? And check what is happening from there. As we have version 1.1.0

Cniklasson avatar Mar 22 '24 19:03 Cniklasson

We are happy to support you using our SDK. Yes, that is correct. Make sure you don't include the portions you commented out.

KunJeongPark avatar Mar 22 '24 19:03 KunJeongPark

We are happy to support you using our SDK. Yes, that is correct. Make sure you don't include the portions you commented out.

They tried to upload.

Reply from developers ” We are getting error. The version is not compatible”

Checked attached photo.

Reply from developers (does not include it.) ”FYI - commented code will never act”

”all pods cached cleared whenever we run, we run pod update command”

IMG_5581 IMG_5582

Cniklasson avatar Mar 28 '24 12:03 Cniklasson

Any idea @KunJeongPark

Cniklasson avatar Apr 06 '24 07:04 Cniklasson

Hello, can you tell me what your app's deployment target target is and what version of Xcode you are using? I tried pod install with PayPal/PayPalNativePayments using target 17.4, 15.0 and 14.0 and I didn't get any errors.

KunJeongPark avatar Apr 08 '24 13:04 KunJeongPark

Hello, can you tell me what your app's deployment target target is and what version of Xcode you are using? I tried pod install with PayPal/PayPalNativePayments using target 17.4, 15.0 and 14.0 and I didn't get any errors.

Sorry for late reply. I need to wait replies from developer.

Please check the versions :

Minimum Deployment target - 14.1 Xcode version - 15.1 (15C65)

Cniklasson avatar Apr 10 '24 10:04 Cniklasson

Hello, i told developers to start from beginning.

They recive this error now. Any idea?

PayPal checkout button stuck infinite loading spinner and unable to complete the transaction

IMG_5767

Cniklasson avatar Apr 12 '24 11:04 Cniklasson

Hello, I just tested this with our demo app and I am not seeing any issues. Do you see any error output in your console?

KunJeongPark avatar Apr 12 '24 14:04 KunJeongPark

Hello, I just tested this with our demo app and I am not seeing any issues. Do you see any error output in your console?

The specific problem manifests as an infinite loading spinner on the PayPal checkout button, preventing any transactions from being completed. Additionally, I am receiving the following error messages in the Xcode console:

Error acquiring assertion: <Error Domain=RBSServiceErrorDomain Code=1 "target is not running or doesn't have entitlement com.apple.runningboard.assertions.webkit" UserInfo={NSLocalizedFailureReason=target is not running or doesn't have entitlement com.apple.runningboard.assertions.webkit}>

0x119020ea0 - ProcessAssertion::acquireSync Failed to acquire RBS assertion 'XPCConnectionTerminationWatchdog' for process with PID=5635, error: Error Domain=RBSServiceErrorDomain Code=1 "target is not running or doesn't have entitlement com.apple.runningboard.assertions.webkit" UserInfo={NSLocalizedFailureReason=target is not running or doesn't have entitlement com.apple.runningboard.assertions.webkit}

Cniklasson avatar Apr 15 '24 07:04 Cniklasson

https://streamable.com/r7q2ti

To provide a clearer picture of the issue, I have attached a video showcasing the integration process and the error as it occurs.

Cniklasson avatar Apr 15 '24 07:04 Cniklasson

Thank you for the details. The error seems to be related to use of WKWebView with iOS 15. I found this thread, let me know if those suggestions solve the problem: https://forums.developer.apple.com/forums/thread/709919 "Goto MenuBar and find product -> Goto Menu menu -> Scheme -> Edit Scheme -> It comes up with popup -> Select "Run" - -> Select "Arguments" -> Then Environment Variables -> after this click on "+" button set "OS_ACTIVITY_MODE = disable"" I will talk to the team about this issue as well.

KunJeongPark avatar Apr 15 '24 12:04 KunJeongPark

Goto MenuBar and find product -> Goto Menu menu -> Scheme -> Edit Scheme -> It comes up with popup -> Select "Run" - -> Select "Arguments" -> Then Environment Variables -> after this click on "+" button set "OS_ACTIVITY_MODE = disable"" Also tried for solution of background modes

I have tried this solution. But it does not help

harsukhbir avatar Apr 17 '24 06:04 harsukhbir

Thank you for the details. The error seems to be related to use of WKWebView with iOS 15. I found this thread, let me know if those suggestions solve the problem: https://forums.developer.apple.com/forums/thread/709919 "Goto MenuBar and find product -> Goto Menu menu -> Scheme -> Edit Scheme -> It comes up with popup -> Select "Run" - -> Select "Arguments" -> Then Environment Variables -> after this click on "+" button set "OS_ACTIVITY_MODE = disable"" I will talk to the team about this issue as well.

@harsukhbir is our developer he have tried this solution but its not working.

Cniklasson avatar Apr 17 '24 17:04 Cniklasson

Hello, thank you for your patience. We won't be able to get a fix for this issue because this PayPalNativePayments is being deprecated in the near future. I don't know the exact timeline yet, but we are encouraging merchants to use PayPalWebPayments instead.

In the meantime, if you give us your PayPal clientID, we can set it up so that you fall back to web checkout flow within PayPalNativePayments. Our recommendation is to use PayPalWebPayments since you are just integrating.

Thank you.

KunJeongPark avatar Apr 18 '24 21:04 KunJeongPark

We generally close out issues on one topic and if you have another, you can open another issue. As soon as you reply to my comment, I will close out this issue and you can open new one to inquire about web fallback option with PayPalNativePayments or integrating PayPalWebPayments.

KunJeongPark avatar Apr 18 '24 21:04 KunJeongPark