FireAbase InAppMessaging сбой моего проекта с "- [NSBundle initWithURL:]: аргумент URL ноль" - PullRequest
0 голосов
/ 03 февраля 2019

Недавно я добавил Firebase In-App Messaging в свой проект через cocoapods.После выполнения процесса установки в документации, я получаю сообщение об ошибке ниже.Если это помогает, я также недавно установил Admob, но эта ошибка не появлялась, пока я не установил обмен сообщениями в приложении.Меня сбивает с толку то, что код для его настройки едва ли существует, поэтому где я мог получить ошибку с нулевым URL-адресом?

Сначала я не был уверен, что проблема связана с Firebase IAM,но после удаления и переустановки проблема исчезла, а затем снова появилась.Итак, я опишу, как я установил Firebase IAM.Я использовал эту ссылку для справки:

https://firebase.google.com/docs/in-app-messaging/get-started?authuser=0

  1. Добавил ее в мой Podfile, с cocoapods 1.4.0

  2. Добавил "-FIRDebugEnabled" в мои схемы

  3. Получил идентификатор моего экземпляра и добавил его в свою кампанию в консоли

  4. Двойной флажокмои схемы

Ошибка:

    Terminating app due to uncaught exception
    'NSInvalidArgumentException', reason: ' -[NSBundle initWithURL:]: nil URL argument'
    First throw call stack:
    (0x234b8cec4 0x233d5da40 0x234a93594 0x23554f6a8 0x23554f62c 
    0x10027a1b8 0x10248cdc8 0x10248ee28 0x10027a0f8 0x10027a2c0
    0x10027b518 0x100267038 0x100260888 0x100266e44 0x100267328   
    0x100264bd0 0x10248b824 0x10248cdc8 0x10248fc90 0x10249e1dc
    0x10249ebc8 0x2347a917c 0x2347abcec)
    libc++abi.dylib: terminating with uncaught exception of type NSException

В консоли появляется мой идентификатор экземпляра, затем некоторая дополнительная информация, затем ошибка, так что я понятия не имею, какчто может быть причиной этого.Вот некоторые из выводов в моей консоли:

     [Firebase/InAppMessaging][I-IAM700004] 1 messages were fetched successfully.
    [Firebase/InAppMessaging][I-IAM270005] No impression records update due to no change after applying the server message list
    [Firebase/InAppMessaging][I-IAM160010] There are analytics event trigger based messages, enable listening
    [Firebase/InAppMessaging][I-IAM160001] There are 0 test messages and 1 regular messages and 3 Firebase analytics events to watch after resetting the message cache
    [Firebase/InAppMessaging][I-IAM240002] Fetch is done. Start message rendering flow.

Для справки, я просмотрел все эти ссылки и многое другое, когда вы гуглите ошибку:

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

Я начал отладку приложения, разместив точку останова там, где путь к ресурсу был равен нулю.при достижении точки останова значение равнялось нулю и показывало, что имя_проекта было скомпилировано с оптимизацией - пошаговое выполнение может вести себя странно. сообщение.

Это не позволило нам наблюдать реальные значения переменных, поскольку оптимизация настроек проекта в модуле отличалась от основной и целевой настройки, поэтому измените на Нет.

Модули> Настройка проекта> Настройка сборки> Генерация кода

image

Теперь я смог увидеть значение / путь для основного пакета приложения, но InAppMessagingDisplayResources.bundle все еще отсутствовал в proj_name.app, который далнамек на то, что при копировании файла произошла ошибка.Выяснилось, что в в разделе ресурса копирования модуля установлен флажок Запускать скрипт только при установке .Снимите флажок, приложение не аварийно завершит работу из-за отсутствия пакета.

Настройка цели> Фазы сборки> Копировать ресурсы Pod

image

0 голосов
/ 22 февраля 2019

Причина этого заключается в том, что отсутствует файл InAppMessagingDislayResources.bundle.Для копирования и создания этого файла вам понадобится сценарий фазы сборки ресурсов.Далее будет восстановлен этот сценарий фазы сборки.

-В Xcode запустить чистый-Удалите каталог Pods-Удалите файл Podfile.lock-В каталоге проекта запустите 'pod install'-Рестарт Xcode

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...