问题
It seems like the 2.3.0 version of the Google Cast SDK for iOS stopped supporting the arm64
architecture (it does support x86_64
though, making it work in the 64-bit simulator)
λ: cd GoogleCast.framework
λ: file GoogleCast
GoogleCast: Mach-O universal binary with 5 architectures
GoogleCast (for architecture cputype (16777228) cpusubtype (0)): current ar archive
GoogleCast (for architecture armv7): current ar archive random library
GoogleCast (for architecture armv7s): current ar archive random library
GoogleCast (for architecture i386): current ar archive random library
GoogleCast (for architecture x86_64): current ar archive random library
Therefore, I get this error when building for a physical device:
ld: archive has no table of contents file '/Users/****/Frameworks/GoogleCast.framework/GoogleCast' for architecture arm64
回答1:
I raised this issue https://code.google.com/p/google-cast-sdk/issues/detail?id=324&can=1&q=arm64
adding -all_load in Other Linker Flag made it work with arm64 but I still get warnings about a missing dwarf:
"warning: (arm64) /Users/marksp/Documents/src/tvmp-iview-ios/Pods/google-cast-sdk/GoogleCastFramework-2.3.0-Release/GoogleCast.framework/GoogleCast(CastProtos.o) object file doesn't contain DWARF debug information"
回答2:
If -all_load flag doesn't work for you (because of 3rd party libraries)
You can use ranlib
like this :
ranlib GoogleCast.framework/Versions/A/GoogleCast
Source : google cast mailing list
回答3:
If you install 2.3.0.1 via CocoaPods, insert the code below in Podfile.
post_install do |installer|
`ranlib Pods/google-cast-sdk/GoogleCastFramework-2.3.0-Release/GoogleCast.framework/Versions/A/GoogleCast`
end
来源:https://stackoverflow.com/questions/24798718/google-cast-sdk-2-3-0-for-ios-doesnt-support-64-bit