Skip to content

Conversation

@boorad
Copy link
Collaborator

@boorad boorad commented Dec 12, 2025

Fixes #857

This PR resolves the code signing error 0xe8008015 that prevents react-native-quick-crypto from running on physical iOS devices when using Swift Package Manager for OpenSSL integration.

Root cause: The existing build phases used --preserve-metadata=identifier,entitlements which conflicts with pre-signed xcframeworks from SPM. Additionally, || true was silently suppressing codesign failures.

Solution: Created a reusable helper script (scripts/quickcrypto_spm_fix.rb) that library consumers add to their Podfile. The script:

  • Uses --force --deep --timestamp=none to properly strip and re-sign the framework with the app's identity
  • Adds chmod -R u+w to handle read-only framework copies from rsync
  • Removes duplicate/conflicting embed phases that accumulate across pod installs
  • Positions the embed phase at the end of build phases for correct ordering

Usage: Add to your Podfile:

require_relative '../node_modules/react-native-quick-crypto/scripts/quickcrypto_spm_fix'

post_install do |installer|
  react_native_post_install(installer)
  quickcrypto_fix_spm_signing(installer)
end

Also may help #844 & #851 

@boorad boorad self-assigned this Dec 12, 2025
@boorad
Copy link
Collaborator Author

boorad commented Dec 12, 2025

PXL_20251212_182820090.jpg

iPhone 11 physical device, showing off signed OpenSSL framework

@github-actions
Copy link
Contributor

🤖 End-to-End Test Results - Android

Status: ✅ Passed
Platform: Android
Run: 20176284423

📸 Final Test Screenshot

Maestro Test Results - android

Screenshot automatically captured from End-to-End tests and will expire in 30 days


This comment is automatically updated on each test run.

@github-actions
Copy link
Contributor

🤖 End-to-End Test Results - iOS

Status: ✅ Passed
Platform: iOS
Run: 20176284436

📸 Final Test Screenshot

Maestro Test Results - ios

Screenshot automatically captured from End-to-End tests and will expire in 30 days


This comment is automatically updated on each test run.

@boorad boorad merged commit 52c66cc into main Dec 12, 2025
2 checks passed
@boorad boorad deleted the fix/857 branch December 12, 2025 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🔧 [iOS] OpenSSL.framework code signing error prevents app installation on device (v1.0.5)

2 participants