Подтвердить что ты не робот

Интеграция Fabric/Crashlytics через CocoaPods

Я пытаюсь интегрировать Fabric/Crashlytics через CocoaPods, мой подфайл выглядит следующим образом:

pod 'Fabric/Core', '1.2'
pod 'Fabric/Crashlytics', '1.2'

Но когда я пытаюсь создать свое приложение, сборка завершается с ошибкой, и я получаю Shell Script Invocation Error, что пробег script не найден:

.../Script-F8D74CB61AB5D7A50013D134.sh: line 2: ./Fabric.framework/run: No such file or directory

Можно ли установить Fabric только с помощью CocoaPods?

4b9b3361

Ответ 1

Теперь Fabric поддерживает установку с помощью CocoaPods: http://docs.fabric.io/ios/fabric/cocoapods.html

Если вы просто ищете Crashlytics, вы можете использовать эти два контейнера:

pod 'Fabric'
pod 'Crashlytics'

Наряду с добавлением следующей фазы сборки script (обратите внимание: если путь к вашему репо содержит пробелы, вам понадобятся кавычки):

"${PODS_ROOT}"/Fabric/run <API Key> <Build Secret>

Run Script Build Phase

Если вы хотите использовать TwitterKit, вам нужно будет включить:

pod 'TwitterKit'

Ответ 2

То же самое для меня было исправлено, изменив строку:

./Pods/Fabric/Fabric.framework/run YOUR_API_KEY YOUR_BUILD_SECRET

в

../Pods/Fabric/Fabric.framework/run YOUR_API_KEY YOUR_BUILD_SECRET

Другими словами, просто добавьте лишний '.' чтобы указать, что каталог "Pods" является родным братом, а не дочерним элементом каталога сборки. YMMV.

Ответ 3

У меня была та же проблема, используйте переменную среды $PODS_ROOT, которая указывает на вашу папку Pods; обязательно процитируйте его, если у вас есть пробелы на вашем пути; поэтому вместо

./Pods/Fabric/Fabric.framework/run YOUR_API_KEY YOUR_BUILD_SECRET

использование

"$PODS_ROOT"/Fabric/Fabric.framework/run YOUR_API_KEY YOUR_BUILD_SECRET

Ответ 4

Try:

  • Удалите в podfile Fabric и Crashlytics.

  • pod install

  • Добавить Fabric и Crashlytics в podfile снова

  • pod install

  • Добавьте Run script, как указано выше.

Надеюсь, что это поможет.

Ответ 5

Мне пришлось использовать другой путь в Xcode 7, используя CocoaPods 0.39:

${SRCROOT}/Pods/Fabric/Fabric.framework/run <key> <secret>

podfile:

pod 'Crashlytics'
pod 'Fabric'

Я также только что обновил Fabric до 3.4.1, и этот путь ^ немного изменился на Fabric/run. Убедитесь, что вы внимательно проверите бит после ${SRCROOT} и сравните его с тем, что рекомендует приложение Fabric. Подробнее см. журнал изменений для 3.4.1.

Ответ 6

macOS Sierra, Swift 3

изменить

${PODS_ROOT}/Fabric/run

к

"${PODS_ROOT}/Fabric/run"

Ответ 7

Путь к script, который выполняется во время фазы сборки, отличается при использовании Cocoapods. Страница github на https://github.com/bpoplauschi/CrashlyticsFramework рекомендует использовать ./Pods/CrashlyticsFramework/Crashlytics.framework/run, однако я обнаружил, что мне пришлось использовать ./Pods/Fabric/Fabric.framework/run для моей установки. В любом случае вам придется прорываться через каталог Pods, чтобы найти то, что вы ищете.

Ответ 8

в

Fabric (1.6.7)

Вы должны изменить путь от

"${PODS_ROOT}/Fabric/Fabric.framework/run" YOUR_API_KEY YOUR_BUILD_SECRET

к

"${PODS_ROOT}/Fabric/run"  YOUR_API_KEY YOUR_BUILD_SECRET

Ответ 9

Если вы полагаетесь на что-то конкретное на старые Podspecs и не можете обновлять официальные библиотеки, вы можете добавить

source 'https://github.com/orta/FabricSpecs.git'
source 'https://github.com/CocoaPods/Specs.git'

В верхней части вашего подфайла, и он будет искать более старые - неофициальные версии до новых. Подробнее см. FabricSpecs.

Ответ 10

Для моего проекта это сработало:

"${PODS_ROOT}/Fabric/Fabric.framework/run" YOUR_API_KEY YOUR_BUILD_SECRET

Ответ 11

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

Сказав, что, поскольку вы мертвы, используя Cocoapods, единственный способ добиться успеха будет следующим

  • Запустите установщик приложений Crashlytics до того момента, когда вы дадите фазу сборки script.
  • Скопируйте script
  • Отменить установку
  • Установить через Cocoapods
  • Добавьте скопированный script в вашу фазу сборки

Ответ 12

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

В Build Phase -> Run Script добавьте следующую строку:

chmod +x ./Pods/CrashlyticsFramework/Crashlytics.framework/run

./Pods/CrashlyticsFramework/Crashlytics.framework/run YOUR_API_KEY YOUR_BUILD_SECRET

Ответ 13

Удалите podfile.lock и manifest.lock, затем повторно запустите установку podfile, а затем продолжайте оттуда, используя приложение "easy" configure из Fabric.

На сайте Fabric.io есть очень красивые демонстрации слайд-шоу с экрана. Я нашел их с Google - не вижу, где они доступны с сайта.

FYI, если у вас проблемы, это не вы:). В основном (по состоянию на 3 августа) каждый шаг процесса на платформе Fabric потенциально прерывается.

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

Надеемся, что все они скоро будут исправлены.

Предупреждение: большинство ответов, которые вы найдете через поиск, будут устаревшими, потому что, по-видимому, fabric.io сильно изменился 15 июля, но если вы прокрутите все, что найдете в стеке /o, вы можете найти более новый ответ.