Firebase Unity iOS Неперехваченное исключение: NSInvalidArgumentException: + [FIRApp registerLibrary: withVersion:]

Проблема:

Uncaught exception: NSInvalidArgumentException: +[FIRApp registerLibrary:withVersion:]: unrecognized selector sent to class 0x101b94b98

Firebase Unity iOS Неперехваченное исключение: NSInvalidArgumentException: + [FIRApp registerLibrary: withVersion:]

Я пробовал много решений, но ничего не помогло. Позвольте мне рассказать вам об этом подробнее

  • Сделал сборку iOS из Unity 2017.3.0f3, установив минимальную целевую версию 9.0
  • Создано Podfile:

    $ cd your-project directory

    $ pod init

  • Мой Podfile примерно такой

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'Unity-iPhone' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  # Pods for Unity-iPhone
  pod 'GoogleInterchangeUtilities'
  pod 'GoogleSymbolUtilities'
  pod 'GoogleToolboxForMac'
  pod 'Firebase'
  pod 'Firebase/Core'
  pod 'Firebase/Analytics'
  pod 'Firebase/Auth'
  pod 'Firebase/Storage'
  pod 'Firebase/Database'

  target 'Unity-iPhone Tests' do
    inherit! :search_paths
    # Pods for testing
  end

end
  • Добавлен ObjClinker flag в Other Linker Settings в настройках целевой сборки
  • В раздел Arguments Passed On Launch добавил -FIRAnalyticsDebugEnabled
  • Добавлен AdSupport.framework в раздел Linked Frameworks and Libraries
  • Затем сделайте сборку с помощью .xcworkspace, а не .xcodeproj

Итак, скажите мне, что я делаю не так?

  • Разве плагины Firebase Unity не должны работать без каких-либо проблем с настройками, как я, а в случае Android он работает сам по себе, просто импортируйте плагин, и все готово?

Покажите свой код инициализации firebase для App Delegate

Niall Kiddle 13.04.2018 12:57

Что ты имеешь в виду? мне нужно написать что-нибудь в App Delegate? Я использую плагин Firebase Unity, разве он не все напишет сам? Кстати, в App Delegate я ничего не писал, если надо писать, то скажите, что

eagle 16.04.2018 04:24

Это видео может помочь вам с настройкой youtube.com/watch?v=uj6rs3HFg5o Убедитесь, что вы следуете этой документации. Кажется, вы не прочитали его как следует firebase.google.com/docs/unity/setup

Niall Kiddle 16.04.2018 11:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
3
581
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Основная проблема была решена путем обновления pod в соответствии с шагами, описанными в эта ссылка (переполнение стека).

После этого просто выполните следующие шаги, чтобы проект XCode заработал, поскольку pod init и pod install выполняет Unity:

  • Сделайте сборку XCode из Unity, выбрав Xcode Workspace - Add Cocoapods to the Xcode workspace из iOS Resolver Settings
  • Откройте .xcworkspace, а не .xcodeproj
  • Добавить -ObjCOther Linker Flags в настройки сборки цели
  • Если вы с помощью Firebase Analytics, вам также необходимо добавить AdSupport.framework в раздел Linked Frameworks and Libraries.

В конце просто взгляните на Контрольный список запуска Firebase

Другие вопросы по теме