У меня есть приложение iOS, написанное в Swift в Xcode 6.2, с использованием Parse SDK 1.7.0. Я прочитал инструкции Parse Quick Start для настройки отчетов о сбоях (в том числе ParseCrashReporting.enable()
в AppDelegate), но похоже, что у моего сценария запуска есть проблема. Ошибка: App "/Users/ben/Library/Developer/Xcode/DerivedData/MyApp-ahydphsjgdgefbhcdodokcmofehe/Build/Products/Debug-iphonesimulator/MyApp.app.dSYM" wasn't found. Command /bin/sh failed with exit code 1
.Xcode, Parse Crash Reporting, dSYM-файл не создан
В соответствии с этим, похоже, что Xcode не создает файл dSYM. В моих настройках сборки> Параметры сборки я изменил формат отладочной информации на «DWARF с файлом dSYM» для Debug и Release. (Ранее для параметра «Отладка» было установлено значение «DWARF»)
Должен ли я изменить что-либо еще в настройках сборки?
Кроме того, может ли это быть проблемой? export DWARF_DSYM_FILE_SHOULD_ACCOMPANY_PRODUCT=NO
Вот мой запустить скрипт:
export PATH=/usr/local/bin:$PATH
cd $PROJECT_DIR/parse
parse symbols "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
Заранее спасибо за любые идеи о том, как это исправить.
Редактировать: Благодаря ответу от @udjat, я смог запустить приложение и запустить скрипт (ниже) без сбоя приложения. И благодаря некоторым исправлениям ошибок из Parse отчеты о сбоях в тестировании функционируют и сейчас, хотя до сих пор существует значительная задержка.
Новый запуск сценария:
echo "Parse Crash Reporting"
export PATH=/usr/local/bin:$PATH
CLOUD_CODE_DIR=${PROJECT_DIR}/parse
if [ -d ${CLOUD_CODE_DIR} ]; then
cd ${CLOUD_CODE_DIR}
parse symbols MyApp --path="${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
echo "Finished uploading symbol"
else
echo "Unable to upload symbols"
fi
краш-тест в AppDelegate:
func crash() {
NSException(name:NSGenericException, reason:"Everything is ok. This is just a test crash.", userInfo:nil).raise()
}
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
ParseCrashReporting.enable()
dispatch_after(
dispatch_time(DISPATCH_TIME_NOW, Int64(5.0 * Double(NSEC_PER_SEC))),
dispatch_get_main_queue(),
{() -> Void in
self.crash()
});
}
Вы абсолютно уверены, что поедете в нужный каталог? Я не вижу ничего плохого. Это работает для меня: [Отчет о сбое в сборе без работы] (http://stackoverflow.com/questions/28755933/parse-crash-reporting-not-working) – nick9999
Кроме того, я заметил, что журнал включает в себя 'export DWARF_DSYM_FILE_SHOULD_ACCOMPANY_PRODUCT = NO' , Кажется, что изменить это на 'YES' может решить проблему, но я не могу найти, где ее изменить. Есть идеи? – blwinters
Это, наверное, точная проблема. Я лично не знаю, чтобы исправить это, потому что у меня никогда не было этой проблемы, но я рассмотрю ее. – nick9999