for (auto&& doc : cursor)
...
导致此错误:
51968复制符号for architechture x86_64
callstack由来自其他框架的已编译类组成。
Swift 3,XCode 8。
没有此pod(FireBase),我的项目可以正常工作。
答案 0 :(得分:0)
问题是关于-ObjC
标志。 CocoaPods自动将此标志添加到Other linker flags
项目中。
但是这个标志我的其他自定义项目没有正确构建。 为了解决这个问题,我做了这些步骤。
FirebaseAnalytics.framework
,FirebaseCore.framework
,FirebaseInstanceID.framework
,GoogleInterchangeUtilities.framework
,GoogleSymbolUtilities.framework
,GoogleToolboxForMac.framework
以及admob:GoogleMobileAds.framework
-ObjC
使用Other linker flag
使用-force_load
强制使用所有库。也就是-force_load GoogleMobileAds.framework/GoogleMobileAds -force_load FirebaseAnalytics.framework/FirebaseAnalytics -force_load FirebaseCore.framework/FirebaseCore -force_load GoogleToolboxForMac.framework/GoogleToolboxForMac -force_load GoogleSymbolUtilities.framework/GoogleSymbolUtilities -force_load GoogleInterchangeUtilities.framework/GoogleInterchangeUtilities -force_load FirebaseInstanceID.framework/FirebaseInstanceID
不要忘记在控制台中创建和下载 GoogleService-Info.plist 文件: https://console.firebase.google.com
**编辑**
版本3.12拒绝-force_load GoogleSymbolUtilities.framework/GoogleSymbolUtilities
所以,现在正确的解决方案是:
-force_load GoogleMobileAds.framework/GoogleMobileAds -force_load FirebaseAnalytics.framework/FirebaseAnalytics -force_load FirebaseCore.framework/FirebaseCore -force_load GoogleToolboxForMac.framework/GoogleToolboxForMac -force_load GoogleInterchangeUtilities.framework/GoogleInterchangeUtilities -force_load FirebaseInstanceID.framework/FirebaseInstanceID