Сбой приложения на устройстве, но работает на симуляторе iOS
Приложение не было разработано мной, но теперь я должен добавить некоторые функции. Компиляция кода добавляет запуски на симуляторе, но немедленно вылетает на реальном устройстве (didFinishLaunchingWithOptions никогда не вызывает). Xcode не показывает никаких ошибок. Я думаю, что проблема может быть в модулях и фреймворках, но я не знаю, как проверить, так ли это. Я переустановил модули и пересоздал зависимости фреймворка в проекте, но ни одно приложение по-прежнему не работало. У меня есть только эта информация из Xcode
Как эта информация может помочь мне? Любая помощь приветствуется.
UPD2: сбой приложения на iOS9 и iOS10, поэтому NSCameraUsageDescription не проблема
4 ответа
Проблема была в каркасах стручков. Скрипт, сгенерированный модулями, не может правильно встраивать некоторые фреймворки. Я удалил сценарий "[CP] Embed Pods Frameworks" и сам добавил фреймворки в "Embedded Binaries". И проблема была решена.
Имел ту же проблему, работал на симуляторе, но не на устройстве и получил эту замечательную, но минималистичную трассировку стека "abort_with_payload"
Оказывается, мне просто нужен ключ "NSMicrophoneUsageDescription" в моем списке
Если abort_with_payload
произошла ошибка, скорее всего, отсутствует Info.plist UsageDescription
любого секретного ключа, поэтому проверьте, не пропало ли что-либо, или Apple изменила / добавила новую UsageDescription для камеры, фотографий, местоположения и т. д., которые вы используете.
Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Termination Description: DYLD, Library not loaded: @rpath/libswiftCoreGraphics.dylib | Referenced from: /var/containers/Bundle/Application/7208AD66-5D56-4973-88A9-8D22D7E541DB/myapp.app/myapp | Reason: no suitable image found. Did find: | /private/var/containers/Bundle/Application/7208AD66-5D56-4973-88A9-8D22D7E541DB/myapp.app/Frameworks/libswiftCoreGraphics.dylib: code signing blocked mmap() '/private/var/containers/Bundle/Application/7208AD66-5D56-4973-88A9-8D22D7E541DB/myapp.app/Frameworks/libswiftCoreGraphics.dylib'
Когда произошел сбой на abort_with_payload, я также получил вышеуказанный вывод с консоли. Я думаю, что самое важное сообщение - это "подписывание кода заблокировано mmap()", которое указывает, что проблема, вероятно, была вызвана подписанием кода.
Мое решение состояло в том, чтобы удалить сертификат Apple WWDR и загрузить его из Apple. И УБЕДИТЕСЬ, доверяя сертификату, используйте опцию "использовать системные значения по умолчанию".
Затем выйдите из XCode, снова откройте его, очистите проект и восстановите. Меня устраивает.
Это также может произойти, если у вас есть XIB в подпроекте, и они имеют встроенные UIView. Затем для этих UIViews должен быть выбран правильный модуль!