ℹ Please replace these two lines with what you did.
Build success without workaround
The header is not found.
CocoaPods : 1.5.0
Ruby : ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin17]
RubyGems : 2.6.13
Host : Mac OS X 10.13.3 (17D47)
Xcode : 9.2 (9C40b)
Git : git version 2.15.0.403.gc27cc4dac6-goog
Ruby lib dir : /Users/paulbeusterien/.rbenv/versions/2.4.0/lib
Repositories : cpdc-eap-spec - sso://cpdc-eap/spec @ a8bc771e29e69f1909d675897aa194584edc02e4
cpdc-internal-spec - sso://cpdc-internal/spec @ 18fc461957247a2c3d86b43901cf0d3c3f1a40b2
master - https://github.com/CocoaPods/Specs.git @ 4a324eae6501e935f5169d4c9f4b2ae9801ef0fc
paul-specs - sso://user/paulbeusterien/Specs @ 0b01f6ce5731056ef13971c3c2e339fb1c789cff
Executable Path: /Users/paulbeusterien/.rbenv/versions/2.4.0/bin/pod
claide-plugins : 0.9.2
cocoapods-deintegrate : 1.0.2
cocoapods-dependencies : 1.1.0
cocoapods-plugins : 1.0.0
cocoapods-search : 1.0.0
cocoapods-stats : 1.0.0
cocoapods-trunk : 1.3.0
cocoapods-try : 1.1.0
cocoapods_debug : 0.1.0
#use_frameworks!
use_modular_headers!
target 'iid-use-module-bug_Example' do
pod 'iid-use-module-bug', :path => '../'
target 'iid-use-module-bug_Tests' do
inherit! :search_paths
end
end
I believe this will be fixed by a change I'm working on that will have headers from vendored static frameworks found via FRAMEWORK_SEARCH_PATHS, rather than via the sandbox's headers directory
@paulb777 I think this will be fixed easier with the 1.6.0 refactor of build settings, do you think we can move it to 1.6.0?
@dnkoutso This is needed for FirebaseMessaging to build with modular headers, so I'd prefer that 1.5.1 gets a fix.
I can debug and try to make a PR later this week.
👍
The difference between with and without use_modules! is HEADER_SEARCH_PATHS in ./Pods/Target Support Files/iid-use-module-bug/iid-use-module-bug.xcconfig
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public"
vs
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FirebaseCore" "${PODS_ROOT}/Headers/Public/FirebaseInstanceID" "${PODS_ROOT}/Headers/Public/GoogleToolboxForMac"
but I think those should be present in FRAMEWORK_SEARCH_PATHS for vendored frameworks instead?
Yep - adding the following to ./Pods/Target Support Files/iid-use-module-bug/iid-use-module-bug.xcconfig is another way to make it build:
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/FirebaseCore/Frameworks" "${PODS_ROOT}/FirebaseInstanceID/Frameworks"
I'll see if I can turn that on ...
I'd prefer that 1.5.1 gets a fix. +1
@paulb777
Is there a temporary solution?We can not wait 1.5.1 releasing.
@paulb777
I test your PR in my local. I am not sure the PR make this issue. Please help me.
# A mixed oc/swift pod
pod 'YTXDTNWBWeexContainerBusinessModule'
link error:
ld: library not found for -lswiftCoreLocation for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I am so confused.
By the way, If i remove 'YTXDTNWBWeexContainerBusinessModule' then link well!
I found why...
If 'Other Linker Flags' add '-ObjC' then the link error will happen
@mdsb100 Thanks for trying out the PR. It sounds like you have a different issue. Please create another issue with enough info to reproduce.
@paulb777
Try this PR, It seems 'pod install ' slower than before.
Hello
There is a same issue with abstract target.
#use_frameworks!
use_modular_headers!
abstract_target 'iid-use-module-bug_shared_core' do
pod 'iid-use-module-bug', :path => '../'
target 'iid-use-module-bug_Example_1' do
end
target 'iid-use-module-bug_Example_2' do
end
target 'iid-use-module-bug_Tests' do
inherit! :search_paths
end
end
Most helpful comment
@dnkoutso This is needed for FirebaseMessaging to build with modular headers, so I'd prefer that 1.5.1 gets a fix.
I can debug and try to make a PR later this week.