Я хочу добавить Crashlytics в свое приложение с помощью диспетчера пакетов Swift.
Теперь, поскольку обычный способ установки Firebase — через CocoaPods, руководство о том, как правильно настроить Crashlytics, также адаптировано для CocoaPods.
Другими словами, скрипт запуска, который мы должны скопировать из учебника, несовместим с SPM, как вы можете видеть здесь:
${PODS_ROOT}/FirebaseCrashlytics/run
Итак, как я могу найти местоположение файла Crashlytics с помощью SPM, чтобы получить правильный сценарий запуска?
Спасибо!





Оказывается, это внутри папки DerivedData:
~/Library/Developer/Xcode/DerivedData/YOURAPP-.../SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run
Для вашего удобства вы можете использовать переменную сборки для обобщения пути к папке:
${BUILD_DIR%Build/*}SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run
Наконец, ваш сценарий запуска должен выглядеть примерно так:

У меня сработало ${BUILD_DIR%Build/*}SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run, Xcode 12.5. ОМГ СПАСИБО
Теперь это "${BUILD_DIR%Build/*}SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
И еще одна очень важная вещь, если используется нестандартное имя для файла конфигурации firebase. Этот флаг нужен для его обозначения:
-gsp ${PROJECT_DIR}/PATH-TO-CONFIG/GoogleService-Info-Dev.plist
Таким образом, окончательный сценарий должен выглядеть так
${BUILD_DIR%Build/*}SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run -gsp ${PROJECT_DIR}/PATH-TO-CONFIG/GoogleService-Info-Dev.plist
Где PATH-TO-CONFIG — это путь к файлу конфигурации firebase в проекте.
Спасибо за предложения. Я не могу сделать эту работу. Я получаю сбой и следующее сообщение об ошибке:
/Users/[path-to-my-project]/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run: Нет такого файла или каталога Сбой команды PhaseScriptExecution с ненулевым кодом выхода
Я не понимаю, почему он пытается найти сценарий crashlytics в моей папке проекта Xcode, а не в папке производных данных во время выполнения.
Я получил решение. в Xcode Preferences перейдите в: Xcode -> Preferences -> Locations -> Advanced и выберите первый вариант «Уникальный». Firebase ожидает, что папка сборки будет находиться там.
Добавьте пакет, выбрав File → Add Packages… в строке меню Xcode.
Найдите Firebase Apple SDK, используя URL репозитория:
https://github.com/firebase/firebase-ios-sdk.git
Затем установите для правила зависимости значение Up to Next Major Version и укажите 8.10.0 в качестве нижней границы.
Затем выберите Добавить пакет.
Выберите продукты Firebase, которые вы хотите установить в своем приложении.
Если вы установили FirebaseAnalytics, добавьте параметр -ObjC к Other Linker Flags на вкладке Build Settings.
Это сработало для меня, но мне пришлось изменить настройки проекта.
"${BUILD_DIR%Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
Кажется, теперь
"${BUILD_DIR%Build/*}SourcePackages/checkouts/Crashlytics/run"