react-native-quick-crypto icon indicating copy to clipboard operation
react-native-quick-crypto copied to clipboard

🐛 Apple Store Rejection

Open yashovardhan opened this issue 1 year ago • 1 comments

What's happening?

Hey folks,

We use the react-native-quick-crypto library as a recommended polyfill dependency with our SDKs, but recently multiple of our clients are reporting that because of the OpenSSL dependency, people are facing iOS App Store rejections.

The particulars can be found here:

  • When installing the latest version of the library, it throws a series of errors as follows image

  • The only way to solve it to add the OpenSSL binaries and manually linking it, using the following steps:

    1. Install OpenSSL:
    Run brew install openssl to ensure OpenSSL is installed.
    
    
    2. Link OpenSSL in Xcode:
    In Xcode, go to Build Settings and add the following paths:
    
    Library Search Paths: /usr/local/opt/openssl/lib
    
    Header Search Paths: /usr/local/opt/openssl/include
    
    
    
    3. Update Podfile:
    Add pod 'OpenSSL-Universal' to your Podfile.
    Run pod install inside the ios directory.
    
    
    4. Link OpenSSL Libraries:
    In Xcode, under General > Linked Frameworks and Libraries, add libssl.a and libcrypto.a.
    
    
    5. Clean and Rebuild:
    Use Product > Clean Build Folder in Xcode, then rebuild the project.
    
  • Now when this is done, the build goes through and the testflight app works, however while trying to publish to the app store, the following error is raised by them

image

I think this is happening due to the latest version changes in the library. In the past our clients have used this library extensively and did not face any such issues. Any recommendations here will be helpful.

Reproducible Code

import {install} from 'react-native-quick-crypto';

install();

Relevant log output

N/A

Device

iOS App Store

QuickCrypto Version

0.7.1

Can you reproduce this issue in the QuickCrypto Example app?

I didn't try (⚠️ your issue might get ignored & closed if you don't try this)

Additional information

yashovardhan avatar Oct 14 '24 08:10 yashovardhan

bubbletrouble suggested in Discord that you add , "~> 3.2.2000" or whatever version to `"OpenSSL-Universal" - that's how they got past the App Store submission.

Also said "But maybe its best instead of using OpenSSL-Universal to use the openssl compiled for ios and put into a xcframework ?"

link: https://discord.com/channels/1147256486762913884/1147309985651503234/1296518828108414996

boorad avatar Oct 17 '24 18:10 boorad

I've seen apps with later versions of this library than 0.7.1 have no issues with App Store approvals. Please reopen if this issue persists.

boorad avatar Jan 02 '25 01:01 boorad