ld: 架构为armv7的FireBase Google有4个重复符号。

5

使用 CocoaPods,安装 Firebase:

  target ‘Ejemplodo
pod 'MOCA'
pod 'Firebase/Auth'
end

安装CocoaPods 但是当我尝试编译时

Ld /Users/dortiz/Library/Developer/Xcode/DerivedData/Ejemplo-hknorfqqubdrwxbrvosftrtmrnle/Build/Products/Debug-iphoneos/Ejemplo.app/Ejemplo normal armv7 cd /Users/dortiz/Documents/BEACONS/Ejemplo/Ejemplo export IPHONEOS_DEPLOYMENT_TARGET=10.2 export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk -L/Users/dortiz/Library/Developer/Xcode/DerivedData/Ejemplo-hknorfqqubdrwxbrvosftrtmrnle/Build/Products/Debug-iphoneos -L/Users/dortiz/Library/Developer/Xcode/DerivedData/Ejemplo-hknorfqqubdrwxbrvosftrtmrnle/Build/Products/Debug-iphoneos/GTMSessionFetcher -L/Users/dortiz/Library/Developer/Xcode/DerivedData/Ejemplo-hknorfqqubdrwxbrvosftrtmrnle/Build/Products/Debug-iphoneos/GoogleToolboxForMac -L/Users/dortiz/Documents/BEACONS/Ejemplo/Ejemplo/Pods/MOCA -F/Users/dortiz/Library/Developer/Xcode/DerivedData/Ejemplo-hknorfqqubdrwxbrvosftrtmrnle/Build/Products/Debug-iphoneos -F/Users/dortiz/Documents/BEACONS/Ejemplo/Ejemplo/Pods/FirebaseAnalytics/Frameworks/frameworks -F/Users/dortiz/Documents/BEACONS/Ejemplo/Ejemplo/Pods/FirebaseAuth/Frameworks/frameworks -F/Users/dortiz/Documents/BEACONS/Ejemplo/Ejemplo/Pods/FirebaseCore/Frameworks -F/Users/dortiz/Documents/BEACONS/Ejemplo/Ejemplo/Pods/FirebaseInstanceID/Frameworks/frameworks -F/Users/dortiz/Documents/BEACONS/Ejemplo/Ejemplo/Pods/GoogleInterchangeUtilities/Frameworks/frameworks -F/Users/dortiz/Documents/BEACONS/Ejemplo/Ejemplo/Pods/GoogleSymbolUtilities/Frameworks/frameworks -filelist /Users/dortiz/Library/Developer/Xcode/DerivedData/Ejemplo-hknorfqqubdrwxbrvosftrtmrnle/Build/Intermediates/Ejemplo.build/Debug-iphoneos/Ejemplo.build/Objects-normal/armv7/Ejemplo.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -miphoneos-version-min=10.2 -dead_strip -Xlinker -object_path_lto -Xlinker /Users/dortiz/Library/Developer/Xcode/DerivedData/Ejemplo-hknorfqqubdrwxbrvosftrtmrnle/Build/Intermediates/Ejemplo.build/Debug-iphoneos/Ejemplo.build/Objects-normal/armv7/Ejemplo_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -fembed-bitcode-marker -fobjc-arc -fobjc-link-runtime -ObjC -all_load -lGTMSessionFetcher -lGoogleToolboxForMac -lMOCALib -lc++ -lsqlite3 -lz -framework AddressBook -framework AudioToolbox -framework CoreBluetooth -framework CoreLocation -framework CoreTelephony -framework FirebaseAnalytics -framework FirebaseAuth -framework FirebaseCore -framework FirebaseInstanceID -framework GoogleInterchangeUtilities -framework GoogleSymbolUtilities -framework MapKit -framework MobileCoreServices -framework PassKit -framework Security -framework StoreKit -framework SystemConfiguration -framework UIKit -lsqlite3.0 -lPods-Ejemplo -Xlinker -dependency_info -Xlinker /Users/dortiz/Library/Developer/Xcode/DerivedData/Ejemplo-hknorfqqubdrwxbrvosftrtmrnle/Build/Intermediates/Ejemplo.build/Debug-iphoneos/Ejemplo.build/Objects-normal/armv7/Ejemplo_dependency_info.dat -o /Users/dortiz/Library/

已经清理和重新安装了pods。
要仅导入Firebase,请使用
@import Firebase;

3个回答

5
在项目文件(蓝色)的“构建设置”中,进入“其他链接器标志”并确保你没有手动设置-ObjC -all_load。当使用Objective-C模块和Cocoapods时,这些不是必需的,因为Cocoapods会为你的目标正确添加相应的标志。

3

这看起来像是 Firebase 3.11.1 构建中的一个错误。

尝试通过将以下内容添加到您的 Podfile 中,回退到 Firebase 3.11.0:

pod 'Firebase/Analytics', '3.11.0'

更新:2017年2月14日:今天发布的Firebase 3.13.0应该解决了重复符号问题。

其实,作为框架,Firebase 是另一个选择。 - Daniel ORTIZ

0

你只需要在项目设置和目标设置中的“其他链接器标志”中删除-all-load标志即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接