Приложений файл не найден


недавно открыл проект, который я скомпилировал и представил в Apple.

Я не касался его в течение нескольких месяцев, но я получаю эту странную ошибку компиляции в:

#import <Crashlytics/Crashlytics.h>

ошибка гласит:

'Crashlytics/Crashlytics.h' file not found

какие-либо предложения, почему?

Xcode: 4.6.3 Mac OS X: 10.8.4

12 55

12 ответов:

просто добавить $(SRCROOT) до Пути Поиска Фреймворка в настройках сборки проекта (пути поиска).

процесс установки Crashlytics сбрасывает его Crashlytics.framework в папку проекта (или создает симлинк).

если вы переехали Crashlytics.фреймворк где - то глубже в иерархии папок проекта-установите "рекурсивный" вправо или просто укажите прямо на его родительскую папку в Header Search Paths:

$(SRCROOT)/Path/to/the/folder/containing/Crashlytics.framework

удалить фреймворки из проекта и диска. Убедитесь, что у вас установлена самая новая версия плагина Fabric.

скопируйте фреймворки из папки плагина на рабочий стол с помощью следующих команд:

ditto -xk ~/Library/Caches/com.crashlytics.mac/5b91b14e832a7b1c29441ec5ba109810/sdks/ios/com.twitter.crashlytics.ios-default.zip ~/Desktop/

ditto -xk ~/Library/Caches/com.crashlytics.mac/5b91b14e832a7b1c29441ec5ba109810/sdks/ios/io.fabric.sdk.ios-default.zip ~/Desktop/

добавление фреймворков с рабочего стола в проект.

информация из: https://twittercommunity.com/t/error-upgrading-from-crashlytics-on-ios/36196/2

Я бы рекомендовал просто использовать CocoaPods, чтобы добавить структуру Crashlytics. Больше не нужно заботиться о путях.

Podfile:

pod 'Crashlytics', '~> 3.4.1'

этап сборки скрипта для загрузки dSYM:

./Pods/Crashlytics/iOS/Crashlytics.framework/run <your_crashlytics_id>

импорт:

#import <Crashlytics/Crashlytics.h>

для меня это работает:

удалите структуры fabric и crashlytics из вашего проекта и удалите файлы с диска для нашего проекта.

прокомментируйте строки в вашем appdelegate.m файл, если вы добавили их для следующего:

import Fabric/Fabric.h
import Crashlytics/Crashlytics.h

и

[Fabric with:@[CrashlyticsKit]];

в приложении fabric выберите "новое приложение" и выберите файл проекта Xcode

перепишите сценарий сборки и построить в соответствии с инструкциями. Шаг сборки-это то, почему вам нужно прокомментируйте строки выше - это не сработает, если вы оставите эти строки.

после запуска сценария сборки вам будет предложено перетащить фреймворки из окна приложения в навигатор проекта. Это скопирует последние версии фреймворков he (которые включают в себя .H-файлы) на ваш проект

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

в моем случае фреймворк был в папке проекта, но не в навигаторе проекта. Я перетащил его в проект и все работало нормально.

у меня была эта проблема, работающая с распределенными командами (через github) после регистрации затем проверить Crashlytics. Элемент Crashlytics.framework будет только одна папка внутри него -- "версии". Вам нужно сохранить версию содержимого внутри Crashlytics.framework в другое место, а затем скопировать их в Crashlytics.framework позже.

Удалить Crashlytics.рамки из проекта и диск. Скопируйте и добавьте его снова. Это помогло мне.

в моем случае я переходил от старой установки Crashlytics через приложение Mac к Cocoapods. Многие ответы на этот вопрос рекомендуют полностью удалить все и начать все сначала. Я начал делать это и заметил несоответствие между кодом, найденным в ткань документации и код, показанный в приложении Fabric во время шага, где он говорит вам, что нужно скопировать в фазу сборки сценария запуска.

документация Fabric имеет двойные кавычки вокруг вся строка: "${PODS_ROOT}/Fabric/Fabric.framework/run <Your_API_Key> <Your_Build_Secret>"

в приложении Fabric были только двойные кавычки вокруг пути к run исполняемый файл:"${PODS_ROOT}/Fabric/Fabric.framework/run" <Your_API_Key> <Your_Build_Secret>

поэтому, прежде чем удалить все и начать все сначала, попробуйте обновить этап сборки сценария запуска следующим образом:

"${PODS_ROOT}/Fabric/Fabric.framework/run" <Your_API_Key> <Your_Build_Secret>

Я изменил имя рабочей папки и Craslytics не удается. Проверьте это в настройках сборки (пути поиска).

удачи!

Я попытался играть с путем поиска фреймворков и перемещением и повторным подключением файла фреймворка; проверил настройки сборки (раздел Link binary with libraries), но ошибка сохранилась.

наконец, я переустановил фреймворк, который занимает всего 2-3 минуты. Проблема может быть вызвана тем, что вы переехали в приложений.фреймворк в другую подпапку из корневого каталога, но я не уверен в точной причине.

  • удалить все, что касается приложений
  • запустите приложение crashlytics, войдите в систему и выберите свой проект
  • добавить запуск скрипта
  • перетащите & падение .файл фреймворка (я сохранил его в корневой папке)
  • добавить import и startWithAPIKey заявлений
  1. полностью удалите рамки Crashlytics на вашем proj включите сценарий оболочки в сценарий запуска этапов сборки приложения.
  2. переустановите ткань следуйте инструкциям, все будет в порядке.

Я ранее обновился до ткани и не было никаких проблем. Через пару дней я снова открыл тот же проект и получил недостающие crashlytics.файл проблемы ч.

Я не мог просто переустановить плагин из-за некомпилирующего проекта (у меня было так много сообщений CLS_LOG и ссылок на отсутствующие crashlytics.H-файл в моем проекте, потребовалось бы много времени, чтобы удалить их, чтобы позволить сборке работать - рефактор не будет работать на CLS_LOG).

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

  1. загрузите плагин Fabric еще раз и дважды щелкните zip-файл, чтобы распаковать приложение Fabric.

  2. щелкните правой кнопкой мыши значок ткани и "показать содержимое пакета"

  3. скопируйте Crashlytics.папка framework на рабочий стол, а затем повторно добавить его в свой проект с помощью File - > Add Files to ....

Если Шаг 3 не работает для вас, вы также можете добавить crashlytics.фреймворк в папку проекта на вашем компьютере напрямую, а затем также добавить его в список проектов с помощью Xcode же, как в шаге 3, но снимите флажок "копировать элементы, если это необходимо", как вы уже положили файлы там самостоятельно.

затем мой проект был скомпилирован и снова работал нормально.

с точки зрения догадки о том, почему файл пропал без вести? Часть процесса обновления заставила меня удалить старые рамки, а затем запустить скрипты и т. д. из плагина. Я думаю, что произошло позже, когда я очистил свой мусор, что некоторые ссылки были потеряны. У меня также была проблема, когда я поместил Crashlytics в свой .файл gitignore, поэтому он исчез из всех моих проектов, каждый из которых был совершен, что было не очень здорово.

надеюсь, это кому-то поможет!