Summary
@imgly/editor-react-native@1.76.0 does not compile in an Expo SDK 56 / React Native 0.85 iOS project when CocoaPods is configured with useFrameworks: 'static'.
The immediate fatal error is in IMGLYEditorModule.mm: it imports the generated Swift compatibility header using a framework-style path, but CocoaPods exposes the header differently for this static-library/static-framework setup.
Environment
@imgly/editor-react-native: 1.76.0 (also reproduced on 1.73.1)
- Expo SDK: 56
- React Native: 0.85
- React: 19.2
- Build: Expo prebuild (CNG) + CocoaPods,
npx expo run:ios
- Xcode: 26.4
- iOS deployment target: 16.4
expo-build-properties ios.useFrameworks: static
Expo SDK 55+ / React Native 0.82+ always runs on the New Architecture, so this configuration is not opt-out-able on SDK 56.
What Happens
With useFrameworks: 'static', pod install succeeds, but the Xcode build fails while compiling IMGLYEditorModule:
IMGLYEditorModule.mm:2:9: 'IMGLYEditorModule/IMGLYEditorModule-Swift.h' file not found
#import "IMGLYEditorModule/IMGLYEditorModule-Swift.h"
The generated Swift compatibility header appears to be available as:
#import "IMGLYEditorModule-Swift.h"
but the package source imports:
#import "IMGLYEditorModule/IMGLYEditorModule-Swift.h"
The build log also includes this warning from IMGLYUI, though it does not appear to be the primary fatal error:
no rule to process file '.../ios/Pods/IMGLYUI/LICENSE.md' of type 'net.daringfireball.markdown' for architecture 'arm64' (in target 'IMGLYUI' from project 'Pods')
What We Tried
-
useFrameworks: 'dynamic': pod install fails earlier with a static binary conflict:
The 'Pods-...' target has transitive dependencies that include statically linked binaries: (IMGLYEngine)
-
useFrameworks: 'static': pod install succeeds, but the Xcode build fails with the missing Swift header error above.
-
Upgrading @imgly/editor-react-native from 1.73.1 to 1.76.0: same result.
-
Clean regeneration each time with expo prebuild --clean.
Local Workaround That Fixes The Header Error
Patching ios/IMGLYEditorModule.mm to support both CocoaPods header layouts resolves the missing-header import:
#import "IMGLYEditorModule.h"
#if __has_include("IMGLYEditorModule/IMGLYEditorModule-Swift.h")
#import "IMGLYEditorModule/IMGLYEditorModule-Swift.h"
#else
#import "IMGLYEditorModule-Swift.h"
#endif
#import "IMGLYConstants.h"
Questions
- Is
@imgly/editor-react-native@1.76.0 expected to support Expo SDK 56 / React Native 0.85 on iOS?
- For Expo SDK 56 / RN 0.85, what is the intended
useFrameworks configuration: dynamic, static, or something else?
- Is the
IMGLYEditorModule-Swift.h import path a bug in the library when consumed under static linkage?
- Is there a recommended workaround for the
IMGLYEngine static-binary conflict when using useFrameworks: 'dynamic'?
We can provide a minimal reproduction repo if helpful.
Summary
@imgly/editor-react-native@1.76.0does not compile in an Expo SDK 56 / React Native 0.85 iOS project when CocoaPods is configured withuseFrameworks: 'static'.The immediate fatal error is in
IMGLYEditorModule.mm: it imports the generated Swift compatibility header using a framework-style path, but CocoaPods exposes the header differently for this static-library/static-framework setup.Environment
@imgly/editor-react-native: 1.76.0 (also reproduced on 1.73.1)npx expo run:iosexpo-build-propertiesios.useFrameworks:staticExpo SDK 55+ / React Native 0.82+ always runs on the New Architecture, so this configuration is not opt-out-able on SDK 56.
What Happens
With
useFrameworks: 'static',pod installsucceeds, but the Xcode build fails while compilingIMGLYEditorModule:The generated Swift compatibility header appears to be available as:
but the package source imports:
The build log also includes this warning from
IMGLYUI, though it does not appear to be the primary fatal error:What We Tried
useFrameworks: 'dynamic':pod installfails earlier with a static binary conflict:useFrameworks: 'static':pod installsucceeds, but the Xcode build fails with the missing Swift header error above.Upgrading
@imgly/editor-react-nativefrom 1.73.1 to 1.76.0: same result.Clean regeneration each time with
expo prebuild --clean.Local Workaround That Fixes The Header Error
Patching
ios/IMGLYEditorModule.mmto support both CocoaPods header layouts resolves the missing-header import:Questions
@imgly/editor-react-native@1.76.0expected to support Expo SDK 56 / React Native 0.85 on iOS?useFrameworksconfiguration:dynamic,static, or something else?IMGLYEditorModule-Swift.himport path a bug in the library when consumed under static linkage?IMGLYEnginestatic-binary conflict when usinguseFrameworks: 'dynamic'?We can provide a minimal reproduction repo if helpful.