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.