checkout / frames-ios

Frames iOS: making native card payments simple

Home Page:https://www.checkout.com/docs/integrate/sdks/ios-sdk

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Crash with Apple Pay and version 4.3.3 of Frames and 2.0.3 of Risk SDKs

kevinpalser opened this issue · comments

Describe the bug
We updated from 4.3.2 to 4.3.3. No problems previously. With 4.3.3 as soon as the Apple Pay biometric face matching step finished there is a crash. Looking at the crash log it took us to a log function in the Risk module being the last function call.

To Reproduce
Steps to reproduce the behavior:

  1. Have custom integration, i.e not using the UI flow available from the SDK and calling the key functions directly.
  2. Proceed to biometric confirmation step of Apple Pay and the charge.

Expected behavior
Not to crash at the risk logging step.

Screenshots
Screenshot after tapping on the crash log to where the problem occurs.
Frames crash

Smartphone (please complete the following information):

  • Device: iPhone 14 Pro Max
  • OS: iOS 17.4.1

Additional context
The transaction when crashing went through to our server. This suggests the subsequent logging step is at fault. Seems to be replicable in that it keeps crashing. We reverted to Frames 4.3.2 & Risk 2.0.1 and the crash does not occur.

Hey @kevinpalser, can you please share the crash log that is produced in an isolated project?

Feel free to share it over here after you strip off the confidential/private information.

Currently, we couldn't reproduce the issue.

Hey @kevinpalser, can you please share the crash log that is produced in an isolated project?

Feel free to share it over here after you strip off the confidential/private information.

Currently, we couldn't reproduce the issue.

Here is the crash report with semi confidential info marked as [redacted]

2024-04-09_07-17-55.8156_+0100-16266a2d24b31400d7285b9d5fa32e7f08de0498.txt

Hey @kevinpalser, thanks for raising this and thanks for helping with additional data.

Unfortunately, I can't rule out an exact reason for it now. Our sample apps all work as expected. Also, if I have a look at the diff in between Risk SDK's 2.0.2 and 2.0.3 versions, I can't see any culprits.

If you'd like to help us further and isolate the issue in a sample project, please feel free.

Also, can you please share your Xcode version?

Unfortunately, I can't rule out an exact reason for it now. Our sample apps all work as expected. Also, if I have a look at the diff in between Risk SDK's 2.0.2 and 2.0.3 versions, I can't see any culprits.

Pitty - thanks for your efforts.

If you'd like to help us further and isolate the issue in a sample project, please feel free.

It would need time to pull out and make a mini project. If we can allocate the time, we'll try.

Also, can you please share your Xcode version?

Xcode 15.2 because of waiting on a resolution with another framework. I could test on Xcode 15.3.

I'm pretty sure the Risk SDK 2.0.3 caused the issue. It crashed randomly for me, not only with Apple Pay but also with the new card form using Frames 4.3.3. I had to downgrade to Frames 4.3.2 and Risk 2.0.1 to fix the crash.
Btw, I could never reproduce it in sandbox mode. It only crashed in Live mode, which we could only see if testing via TestFlight.

Hi @hai-ijji

It only crashed in Live mode, which we could only see if testing via TestFlight.

Same situation for us: live mode and TestFlight. Are you still using Frames 4.3.2 and Risk 2.0.1? We have not tried 4.3.4 because the change log reports minor version bump with no public facing changes.

@kevinpalser Yeah, I think using Frames 4.3.2 and Risk 2.0.1 is fine for now. The changes in new Frames version were not significant and the changes in Risk SDK mostly for logs.

hey, thanks for reporting and sorry for the inconvenience!

Can you please give version 4.3.5 a go if possible? @hai-ijji @kevinpalser

@okhan-okbay-cko I'll try and make time tomorrow to test the 4.3.5 branch. Thanks.

Thank you! You can use the tag directly if you prefer.

@okhan-okbay-cko @hai-ijji
I tested with the unreleased test branch with a live Apple Pay transaction using a TestFlight release and there was no crash.
Captura de pantalla 2024-05-01 a les 16 48 33

Captura de pantalla 2024-05-01 a les 16 50 21

I'll be closing this issue. Please feel free to re-open or create a new one if you face with the same crash.

This still happens for us. 4.3.5 crashed in live environment immedately after successful face recognition. Attaching crash log which might probably help.
2024-05-08_15-29-40.8635_+0200-9b1d793c0dd6bf52362a832dd694d8c233b2b03b.crash.txt

@okhan-okbay-cko unfortunately like @woolstrand we also had a couple of crashes yesterday recorded yesterday with 4.3.5 and shall revert back to 4.3.2. The 4.3.5 crash frequency is less than 4.3.3/4 but still less stable than 4.3.2.

I am still able to face this crash issue in 4.3.5 version on sandbox. Downgrading to 4.3.2 is working fine .
I am not using any face recognition , as soon as the 3DSWebViewController is presented app is getting crashed .
image (6)

Hi everyone, our apologies for causing all inconvenience. We are aware of this issue and actively working on it. Will keep you posted on this issue.

Hey all, please give version 4.3.6 a go and let us know if you still are having issues. Thanks.

@woolstrand @Prakaship78 @hai-ijji
Did you try 4.3.6?

Our company has been weary to update because unlike 4.3.3, which crashed immediately, 4.3.5 crashes were rarer making it difficult to gauge and less easily replicable. So we didn't want to risk live crashes with 4.3.6 based on our 4.3.5 experience even on a slow roll out.

Yes @kevinpalser did a proper round of testing on sanbox only and app is not crashing anymore .Need to test on prod after sometime and will let your know .
Thanks for the quick fix