I am developing a local Expo module in which I am using a 3rd party Framework.
My .podspec
looks something like this:
Pod::Spec.new do |s| # root specification s.dependency 'ExpoModulesCore' s.vendored_frameworks = 'Frameworks/MyLocalFramework.framework' s.public_header_files = "Frameworks/MyLocalFramework.framework/Headers/*" # Swift/Objective-C compatibility s.pod_target_xcconfig = {'DEFINES_MODULE' => 'YES','SWIFT_COMPILATION_MODE' => 'wholemodule' } s.source_files = "**/*.{h,m,mm,swift,hpp,cpp}"end
After running pod install
in my prebuilded iOS app, which implements my module, I am able to import and use MyLocalFramework
in my Objective-C and Swift files without issues.
However, once I try to run my app with npx expo run:ios
I get a build error saying an import in my ModuleName-umbrella.h
failed. There it tries to import the Frameworks headers via the "Header.h"
syntax (this was generated after pod install
).
Now, when I manually change the imports using the <MyLocalFramework/Header.h>
syntax I can build and run the app without issues.
My question is: Why does pod install
use the "" import syntax here instead of <>? I don't want to manually change the imports every time I run pod install
.
Additional information:Under my modules Build Phases > Headers > Project
I specified the ModuleName-umbrella.h
as well as the MyLocalFramework
headers.