Ответ 1
Я исправил TwitterCore > 3.0.0 - проблема для FirebaseUI > 3.0.0 или update pod
pod 'FirebaseUI'
pod 'TwitterCore', '<=2.8.0' # fixed
Удачи.
Я обновил FirebaseUI до последней версии и обновил TwitterCore 3.0.0 (был 2.8.0), с тех пор как я получил эту ошибку компилятора в Xcode:
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, хотя это явно не было написано в моем подфайле. Я написал pod 'TwitterCore', '~>2.8.0'
Я исправил TwitterCore > 3.0.0 - проблема для FirebaseUI > 3.0.0 или update pod
pod 'FirebaseUI'
pod 'TwitterCore', '<=2.8.0' # fixed
Удачи.
Я получил аналогичную ошибку ( "_TWTRIdentifierForAdvertising", на которую ссылается:) после обновления до Firebase 4.0.0, хотя я не использую TwitterCore. и разрешил его, исключив "FirebaseUI" из подкаса. Затем я заметил, что в Firebase DatabaseExample podfile, включенном в quickstart-ios, "FirebaseUI" был переименован в "FirebaseUI/Database". Я добавил его в podfile с правильным именем, и все выглядит нормально.
Если вы все еще боретесь с этой ошибкой, то здесь вы идете на мое решение. Я заметил, что некоторые из вышеперечисленных решений не устраняют проблему с пакетом Twitter, поскольку они просто удаляют ссылку на нее, что не является правильным подходом для тех людей, которые хотят иметь дело с функцией Twitter.
В настоящий момент FirebaseUI
версия 4.1.1
и TwitterKit
>= 2.4
удовлетворяет ее требованиям, но согласно моему тесту последняя версия 2. * (которая теперь 2.8.1) генерирует ошибку с undefined.
Я проверил, что FirebaseUI
4.1.1 отлично работает с предыдущим TwitterKit
2.7. Поэтому мое решение - просто заставить te cocoapod установить эту версию.
Следуйте процедуре:
1) Добавьте эти два экземпляра в свой подфайл. (вы можете выборочно добавить подпрограммы 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.
Exemple:
target 'Your_project' do
pod 'Firebase', '~> 1.0'
конец
В моем случае это было просто прокомментировано:
# pod 'FirebaseUI/Twitter'
В Xcode 9, Swift 3, Firebase
- > _TWTRIdentifierForAdvertising ", ссылка
Это помогает мне:
сначала добавьте в свой подфайл: pod 'FirebaseUI' , '~ > 4.0'
после того, как: Обновление pod
Если вы используете его в тестировании. Вы должны добавить pod в цель MyAppTests.
например:
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