Crashlytics в iOS не буде продовжувати минулу програму "Створи свій проект" у програмі Fabric


74

Я встановлюю Crashlytics для мого додатка iOS. Я завантажив його за посиланням на їхній сайт і пройшов усі етапи інтеграції фреймворків, додав сценарій запуску тощо.

У мене виникла проблема, тому я видалив фреймворки і вирішив почати спочатку і спробувати нову установку. Але додаток Fabric оновлено до більш нової версії, і тепер, коли я намагаюся перевстановити Crashlytics у свою програму, це не дає мені можливості перевстановити фреймворки. Це відбувається від натискання кнопки "встановити" до екрана "Створити свій проект", який я не можу пройти.

Щоб допомогти налаштувати свій проект, будь ласка, побудуйте його зараз, натиснувши ⌘B

Я натискаю ⌘B, він нарощується, і нічого не відбувається. Я думаю, що проблема в тому, що я видалив рамки Crashlytics і Fabric зі свого проекту, але я не бачу способу, щоб повернути їх знову. Додаток Fabric не дає мені такої можливості.


1
@MikeB: Все, що я бачу, - це "Давайте оновимо Crashlytics", без можливості фактично додавати новий додаток пізніше. Потік оновлення просто не працює через дубльовані символи. Як отримати правильну версію Crashlytics framework, яка добре працює з Fabric?
Матей Балантич

@ MatejBalantič дивно почути, що ви бачите дубльовані символи. Спробуйте видалити поточні копії фреймворку. Також крок, про який я згадував раніше, також буде функціонувати як режим ремонту, щоб повернути вас до роботи.
Mike Bonnell,

Я хочу сказати, що ГОЛОВНА проблема тут, коли ви намагаєтесь це за допомогою .xcworkspace. Причиною є те, що якщо ви відкриваєте програму Crashlytics, вона відкриває вашу .xcxcodeproj.
Jacksonkr

Використовуючи Xcode 10.2, наведені нижче відповіді знову перестають працювати. Доводиться встановлювати Fabric ручним способом.
Раптор,

@Raptor має рацію. Це перестало працювати з Xcode 10.2 з Cocoapods. Я не намагався встановити Fabric вручну (і це не те, що я прагну зробити).
Альбертодебортолі

Відповіді:


70

Перехід від коментаря до відповіді.

Майк із Тканини тут. Якщо ви зробите резервну копію через програму Mac, натисніть стрілку у верхньому лівому куті, натисніть "+ Нова програма", яка допоможе вам повторно додати все.


У мене пов'язана проблема. У мене був проект на старому Mac. додана тканина, створена за допомогою бета-версії та всього іншого. як зазначено в дос. не копіювати фреймворк у проекті. Я не проект чудово працює на старому mac -. але коли я клоную репо до іншого mac. Я просто можу скомпілювати. Мій додаток відображається у списку на новому Mac. він застряг на "Щоб допомогти налаштувати ваш проект, будь-ласка, побудуйте його зараз, натиснувши ⌘B", оскільки я не можу будувати, оскільки fabric.h відсутній. будь-яка пропозиція для мене? я спробував скористатися додаванням нового додатка. отримати на екрані повідомлення про помилку може бути додано. зверніться до служби підтримки :(
Alix

Здається, щось було пошкоджено під час завантаження нових файлів. Використання моєї відповіді вище має допомогти виправити це на новій машині, не впливаючи ні на що інше.
Майк Боннелл

1
Я спробував додати нову програму там, де вона вже відображає мою програму у списку. Перше, що у мене ніколи не було цього проекту на новій машині. якщо його читання з веб-сайту тканини прекрасне. але тоді я застрягаю у збірці, і спіннер обертається чекаючим проектом, щоб отримати компіляцію, яку він зазвичай не має, оскільки Fabric.h відсутній. І це відбувається з усіма проектами. як тільки я клоную репо десь десь, крім хост-машини (де тканина була додана до проекту). Всі зламані.
Алікс

9
@MikeB ми можемо просто створювати програми в Інтернеті та використовувати Cocoapods, мені не подобається додаток Fabric Mac
onmyway133

3
Ви, хлопці, вже вирішили цю проблему? У мене така сама проблема, і я не можу виконати вказані вище дії, оскільки я не можу створити програму через помилку "framework not found Fabric". А також однозначно люблю мати Тканину в Cocoapods.
берильцетин

164

Зайдіть у налаштування побудови цілі. Знайдіть "Формат інформації про налагодження". Встановіть це значення з "DWARF" в налагодженні та відпустіть до "DWARF з файлом dSYM"


7
Дякую! Це виправлення для Xcode 10 та Mojave!
Марк

ЦЕ ВІДПОВІДЬ, ЯКИЙ Я ШУКАВ, НІЩО ІНШЕ НЕ РОБОТАЛО!
Богдан Разван

1
Це повинно бути частиною документації. Дуже дякую.
pavan309

1
Натомість цю відповідь потрібно позначити як правильну!
haik.ampardjian

1
Це не працює для мене. Хтось може підказати, що ще можна зробити для вирішення цієї проблеми? Дякую
Aanchal Chaurasia

25

Якщо ви перевірите навігатор ресурсів, ви можете побачити таке повідомлення:

"DEBUG_INFORMATION_FORMAT повинен бути встановлений на dwarf-with-dsym для всіх конфігурацій. Це також може бути проблемою синхронізації, переконайтеся, що фаза побудови сценарію запуску Fabric є останньою фазою збірки, і жоден інший скрипт не перемістив dSYM з місця розташування Xcode Неможливо обробити eCreditWebWrapper.app.dSYM на шляху "

Перейдіть до Параметри побудови та знайдіть "Формат інформації про налагодження". Переконайтеся, що для параметра "Налагодження" встановлено значення "КАРТИЛ із файлом dSYM".

Без файлу dSYM Fabric не працюватиме.


6

Що стосується Xcode 10.2.1, автоматична установка через додаток Fabric Mac більше не працюватиме. Нові програми не можуть можна додавати за допомогою покрокового посібника "Нова програма".

Ви повинні слідувати інструкціям з монтажу вручну . Завантажте та додайте 2 фреймворки у свою робочу область Xcode, потім додайте фазу Run Build Script (та відповідні коди Fabric), а потім створіть додаток. Останнє (дуже важливо), запустіть програму на реальному пристрої.

Після успішного запуску програми інформація про новий додаток буде доступна на інформаційній панелі Fabric, а також у додатку Fabric Mac (для перегляду нового додатка потрібно перезапустити програму).


Ось кроки:

  1. Завантажте 2 фреймворки
  2. Перетягніть до свого проекту, де знаходиться ваш делегат програми (переконайтеся, що встановлено галочку "Копіювати елементи, якщо потрібно")
  3. Скомпілюйте проект / робочу область у Xcode
  4. Додайте "Фазу запуску сценарію", як вказано тут ; Зверніть увагу, що Xcode 10+ вимагає додаткової конфігурації наInput Files
  5. Додайте необхідні importкоди та коди ініціалізації в App Delegate
  6. Додайте ключі API Fabric в Info.plist
  7. Знову складіть
  8. Запустіть програму на реальному пристрої. Ви побачите рядок Crashlyticsу журналі Xcode. Якщо журнал не відображається, перевірте, чи містить ваша активна схема OS_ACTIVITY_MODEналаштування. Встановіть його, defaultякщо поточне налаштування disabled.
  9. Якщо з’являється рядок Crashlytics, це означає, що ручна установка працює; ви побачите, як ваш додаток з’являється на Інтернет-панелі інструментів Fabric.

Я зробив як інструкцію. Все ще не працює. інші запропоновані рішення також не працюють. ти маєш ідею?
Ібрагім

Я додав кроки у свою відповідь. сподіваюся, це допоможе.
Raptor

Привіт @Raptor! Я зрозумів, що щось не працює з найновішою версією Xcode ... Я виконав ваші кроки і бачу в журналах такі речі, як: [Crashlytics] Version 3.13.4 (143) [Crashlytics] Running on iPhone10,6, 12.2.0 (16E227) [Fabric] Initialized with kit versions: { "com.twitter.answers.ios" = "1.4.1"; "com.twitter.crashlytics.ios" = "3.13.4"; "io.fabric.sdk.ios" = "1.10.2"; }`[Налаштування [тканини] завантажено успішно`` .... Але все одно не відображається на моєму dashboard
emiliomarin

Він повинен відображатися на панелі інструментів Fabric. Переконайтеся, що ви вибрали правильний додаток на інформаційній панелі.
Raptor

Запуск програми на пристрої є критичним. Щоб також отримати мій перший звіт про аварійне завершення роботи, потрібно було впровадити код, який змушує збої, а потім перерозподілити на пристрій (на відміну від повторного відкриття програми на самому пристрої), оскільки перезапуск програми через XCode - це те, що надсилає звіт про збій.
Pigpocket

5

Я вирішив це питання наступним чином. Дотримуючись рекомендацій зверху, я почав додавати новий додаток до crashlytics. Коли я дійшов до додавання нової фази збірки "Запуск сценарію", я просто скопіював цей текст і вставив його до попереднього (створеного за допомогою Crashlytics). Я також зняв прапорець біля пункту "Запускати сценарій лише під час встановлення".

Після цього я скасував додавання нового додатка та повернувся до ОНОВЛЕННЯ. На даний момент, створення програми, може перейти до наступного кроку, і ви більше не застряжете на цьому екрані.


1
Не допомагає також.
Дмитро

5

Я теж застряг на фазах побудови.

Я також зняв прапорець "Run script only when installing"і знову натиснув command + B, а потім перейшов до наступного кроку.


Це було все, що мені потрібно було зробити! Набагато простіше, ніж відтворити новий додаток і перевстановити все ...
Джейк Т.

5

Якщо сценарій не запущений, можливо, ви поставили галочку "запускати сценарій лише під час встановлення" у розділі сценарію запуску. Сподіваюся, це допоможе


У Xcode 12 це називається "На основі аналізу залежностей". Він почав працювати для мене, коли я його НЕ ПЕРЕВІРИВ.
Євген Лейченко

3

TL; DR

Торкніться своєї схеми -> редагувати схему -> встановити конфігурацію збірки на "Випуск"

Пояснення:

Відповідь, за якою проголосували найбільше, звучить правильно, але бувають ситуації, коли вам просто не потрібні збої в збірках налагодження (хто хоче, щоб збої надсилалися, коли ви просто розробляєте і експериментуєте зі своїм кодом?). У цьому випадку вам слід вимкнути crashlytics, перевіривши прапорці компіляції налагодження (поза сферою дії цієї відповіді) і вперше під час встановлення збірки програми для випуску, щоб повідомити crashlytics про те, що ви створили програму.


2

У мене було те саме питання сьогодні. Проблема полягала в тому, що у мене не було запущеного сценарію:

./Fabric.framework/run <api key>

у моєму проекті. Як тільки я повернув це назад, тоді все працювало чудово. Я також очистив свій проект і видалив похідні дані, щоб бути впевненим.


І це має бути в рядку 1
Codetard

2

ви повинні перевірити, що ваша цільова версія розгортання через "мінімальна версія iOS Fabric 6.0"


2

Мені вдалося отримати програму Fabric для продовження процесу встановлення, встановивши для цілі збірки значення "Загальний пристрій iOS" і створивши архів із меню Продукт> Архів.

Просто побудова програми або запуск її на емуляторі, здається, не запускає додаток Fabric для продовження.


встановлення цілі збірки на "Загальний пристрій iOS" і, ймовірно, встановлення формату інформації про налагодження на "ГНОК з файлом dSYM" насправді вирішило проблему для мене
skofgar,

2

Якщо ви використовуєте Xcode 10 .

Навігатор проектів -> ваш проект -> Цілі -> Фази побудови -> ваш сценарій запуску для тканини -> Вхідні файли -> "+" (додати вхідний файл) -> очистити поле та пропустити цей рядок:

$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

Обов’язково видаліть це:$(SRCROOT)/

введіть тут опис зображення


1

На етапі побудови сценарію запуску відбувається виклик:

./Crashlytics.framework/run <your_api_key_here>

Можливо, ви додали деякі умови, щоб активувати це лише для певних збірок, таких як:

releaseConfig="Release"

if [ "$releaseConfig" = "${CONFIGURATION}" ]; then  
    echo "Running Crashlytics"
    ./Crashlytics.framework/run <your_api_key_here>
fi

так що це не просто спрацює на onB

Див. Https://dev.twitter.com/crashlytics/ios/advanced-setup


1

У моїй ситуації я правильно виконував усі кроки, але застряг на кроці "додати фазу збірки". Потім я просто перезапустив тканину і все працює просто чудово

Також є кілька інших можливих дій:

1) Просто перезапустіть Fabric, Xcode та ваш Mac. 2) Також, якщо ви використовуєте Cocoapods, змініть лінію фази побудови з

./Crashlytics.framework/run [yourAPIKey] 

до

"${PODS_ROOT}/Fabric/run" [yourAPIKey]

3) Після побудови проекту, якщо Fabric перестане відповідати, просто почекайте деякий час. Це зайняло близько хвилини на моєму Mac.


Ого. Я просто витратив годину, намагаючись це налагодити, і це було причиною.
JRam13,

1
Трохи про те, що додаток Fabric не відповідає, думав, що він розбився, але я просто не мав достатньо терпіння.
Райан,

1

Дякую, я вирішив проблему, видаливши папки:

~ / Library / Caches / com.crashlytics.data
~ / Library / Caches / com.crashlytics.mac

Не забувайте про це , ~/Library/Caches/io.fabric.sdk.mac.dataа також
Raptor

0

Будь ласка, переконайтесь, що сценарій запуску, який ви додаєте, відповідає вашій фактичній цілі, якщо ви додасте до тесту ціль, вона не продовжиться, доки ви не додасте її до фактичної цілі


0

Жодне з вирішень тут не спрацювало для мене. Сценарієм для мене було те, що хтось інший додав фреймворк Fabric до нашого проекту та передав його до репо. Сценарій запуску на їх комп'ютері запустив / запустив плагін Fabric, але не запускав / запускав на моєму, хоча і не повідомляв про помилки.

Рішенням було створити окремий проект, використовуючи Cocoapods, завантаживши ту саму версію Fabric, замінивши сценарій запуску в нашому проекті / репо (і той, на який посилається в сценарії запуску цілі) на завантажену версію з Cocoapods. Відновіть, і тоді плагін відповість.

Порівнюючи два файли сценарію запуску, вони різко відрізняються, але сценарій запуску від Cocoapods не був плоским текстовим файлом і був нечитабельним. Тож я не впевнений, чим відрізнялося між сценаріями, але ми якось отримали різні версії сценарію, використовуючи ту саму версію Fabric.


0

Я зробив неправильно, додавши сценарій до фази побудови проекту pods, замість основної фази побудови проекту, додавши його до фази побудови основних проектів, вирішило проблему.


0

Якщо ви дублюєте ціль, видаліть сценарій запуску з фази збірки та додайте його знову, щоб вирішити проблему.



0

Для Xcode 10. Додайте вбудоване розташування Info.plist вашого додатка до поля Фази введення Файлів введення:

$ (BUILT_PRODUCTS_DIR) / $ (INFOPLIST_PATH)

Це вирішило мою проблему. Сподіваюся, це може вирішити проблему інших.


0

Виявилося, у мене недостатньо дозволів для створення нового проекту в Fabric. Оновлення з Memberдо Adminвирішеної проблеми.


0

У моєму випадку видалення програми з допомогло. 1) Видаліть програму з тканини. 2) Ще раз виконайте всі кроки, щоб додати програму та встановити Crashlytics.


0

Мені ніщо не допомогло. Тепер Fabric ловить моє створення архіву. Але я створюю архіви за допомогою fastlane's build_app.


0

Відкрийте проект у вищій версії Xcode . Це вирішило мою проблему через багато годин.

Мій проект побудований на Xcode 10.2, і я працював на Xcode 10.1, але коли я запускав той самий проект на Xocode 11. Збірка була успішною.


-1

Перейдіть до папки /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/<CURRENT_IOS_SDK>/usr/lib/та видаліть усі .dylib файли.

У мене це спрацювало.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.