Post

Replies

Boosts

Views

Activity

Reply to App launches fail after App Store update: dyld "could not register fairplay decryption, mremap_encrypted() => -1" on the first embedded framework; reinstall fixes it (FB24755993)
Follow-up, for the record: we fixed this on our side and the crash is gone. The variable turned out to be the arm64e slice. The three facebook-ios-sdk frameworks (FBSDKCoreKit, FBSDKCoreKit_Basics, FBAEMKit) are shipped fat (arm64 + arm64e) since 18.1.0, and they were the only two-slice binaries in our bundle. Our main executable is arm64, so that slice was never executed on any device — but once Apple's processing changed (the DTAppStoreToolsBuild 27A261 builds), iOS 18's delta-update path could no longer decrypt those frameworks, while a fresh install and iOS 26 were fine. The fix: a Run Script phase after "Thin Binary" that runs lipo -thin arm64 on every embedded framework/dylib that carries a second slice and re-signs it, plus a check that fails the build (and the upload) if anything under Frameworks/ or PlugIns/ is not arm64-only. Nothing else in the bundle changed. So if you are hitting this: check lipo -info on every embedded framework in the delivered app; a second slice next to arm64 is the thing to remove. (Same finding as facebook-ios-sdk#3997.)
1w
Reply to App launches fail after App Store update: dyld "could not register fairplay decryption, mremap_encrypted() => -1" on the first embedded framework; reinstall fixes it (FB24755993)
Follow-up, for the record: we fixed this on our side and the crash is gone. The variable turned out to be the arm64e slice. The three facebook-ios-sdk frameworks (FBSDKCoreKit, FBSDKCoreKit_Basics, FBAEMKit) are shipped fat (arm64 + arm64e) since 18.1.0, and they were the only two-slice binaries in our bundle. Our main executable is arm64, so that slice was never executed on any device — but once Apple's processing changed (the DTAppStoreToolsBuild 27A261 builds), iOS 18's delta-update path could no longer decrypt those frameworks, while a fresh install and iOS 26 were fine. The fix: a Run Script phase after "Thin Binary" that runs lipo -thin arm64 on every embedded framework/dylib that carries a second slice and re-signs it, plus a check that fails the build (and the upload) if anything under Frameworks/ or PlugIns/ is not arm64-only. Nothing else in the bundle changed. So if you are hitting this: check lipo -info on every embedded framework in the delivered app; a second slice next to arm64 is the thing to remove. (Same finding as facebook-ios-sdk#3997.)
Replies
Boosts
Views
Activity
1w