自从我在Xcode中收到此编译器错误以来,我将FirebaseUI更新到最新版本,并更新了TwitterCore 3.0.0(2.8.0(:
Undefined symbols for architecture x86_64:
"_TWTRIdentifierForAdvertising", referenced from:
+[TWTRCardConfiguration deviceID] in TwitterKit(TWTRCardConfiguration.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我目前恢复到以前版本的TwitterCore,即使它没有明确写在我的Podfile中。我写了pod 'TwitterCore', '~>2.8.0'
我已经修复了TwitterCore>3.0.0是FirebaseUI>3.0.0或更新pod的问题
pod 'FirebaseUI'
pod 'TwitterCore', '<=2.8.0' # fixed
祝你好运
我在 quickstart-ios 随附的 Firebase DatabaseExample pod文件中注意到"FirebaseUI"已重命名为"FirebaseUI/Database"。我用正确的名称将其添加到 pod 文件中,一切似乎都很好。
如果您仍在为此错误而苦苦挣扎,那么您可以使用我的解决方案。我注意到上述一些解决方案并不能解决Twitter包的问题,因为它们只是删除了对它的引用,对于那些想要处理Twitter功能的人来说,这不是正确的方法。
目前,FirebaseUI
版本4.1.1
并且 TwitterKit
>= 2.4
满足其要求,但根据我的测试,最新的 2.* 版本(现在是 2.8.1(生成未定义符号引用的错误。
我检查FirebaseUI
4.1.1 与早期的 2.7 TwitterKit
配合使用即可。所以我的解决方案是强制 te cocoapod 安装这个版本。
按照以下步骤操作:
1( 将这两个实例添加到您的 Podfile。(如果您不想全部安装FirebaseUI的子规范,则可以有选择地添加它们(。
pod 'TwitterKit' , '2.7'
pod 'FirebaseUI', '~> 4.0'
2( 运行:
pod update
我已经通过使用解决了它:
# Uncomment this line to define a global platform for your project
platform :ios, '9.0'
# Uncomment this line if you're using Swift
use_frameworks!
target 'app name' do
#pod 'FirebaseUI'
pod 'FirebaseUI/Database'
pod 'Firebase/Storage'
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
end
如您所见,我已经FirebaseUI
发表了评论,并将FirebaseUI/Database
用于数据库,Firebase/Storage
用于存储。
这将是如何定义 podfile 版本的一个例子。
示例:
目标"Your_project"执行
pod 'Firebase', '~> 1.0'
结束
就我而言,它只是被注释掉了:
# pod 'FirebaseUI/Twitter'
在 Xcode 9、Swift 3、Firebase 中
-> _TWTRIdentifierForAdvertising",参考
这对我有帮助:
首先添加到你的 Podfile:pod 'FirebaseUI', '~> 4.0'
后:pod update
如果你在测试中使用它,pod。您必须在 MyAppTests 目标中添加 Pod。
例如:
platform :ios, '9.0'
target 'MyApp' do
use_frameworks!
pod 'TwitterCore', '~>3.0.0'
target 'MyAppTests' do
inherit! :search_paths
pod 'TwitterCore', '~>3.0.0'
end
end