EXC_BAD_ACCESS только на xcode 8 под управлением iOS 8

Приложение отлично работает при компиляции из xcode 7 для iOS с 8 по 10, но при компиляции из xcode 8 приложение работает нормально только на iOS 9 и 10 на iOS 8, приложение сработает непоследовательно. Иногда он останавливается на случайном элементе пользовательского интерфейса, например:

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

Но чаще всего он просто падает на главный:

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

* thread #1: tid = 0x11d655, 0x35deaf56 libobjc.A.dylib`objc_msgSend + 22, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xf632d5c1) frame #0: 0x35deaf56 libobjc.A.dylib`objc_msgSend + 22 frame #1: 0x2db167ea CoreUI`-[CUINamedImage initWithName:usingRenditionKey:fromTheme:] + 98 frame #2: 0x2db21d48 CoreUI`-[CUICatalog imageWithName:scaleFactor:deviceIdiom:deviceSubtype:sizeClassHorizontal:sizeClassVertical:] + 128 frame #3: 0x2b8aee98 UIKit`__98-[_UIAssetManager imageNamed:scale:idiom:subtype:cachingOptions:sizeClassPair:attachCatalogImage:]_block_invoke + 240 frame #4: 0x2b8aecea UIKit`-[_UIAssetManager imageNamed:scale:idiom:subtype:cachingOptions:sizeClassPair:attachCatalogImage:] + 230 frame #5: 0x2b95df86 UIKit`-[UIImageAsset imageWithTraitCollection:] + 474 frame #6: 0x2b58d9d2 UIKit`-[UIImageView _resolveImageForTrait:] + 286 frame #7: 0x2b58d690 UIKit`-[UIImageView _didMoveFromWindow:toWindow:] + 156 frame #8: 0x2b28aef4 UIKit`-[UIView(Internal) _didMoveFromWindow:toWindow:] + 656 frame #9: 0x2b300d50 UIKit`-[UIControl _didMoveFromWindow:toWindow:] + 44 frame #10: 0x2b28aef4 UIKit`-[UIView(Internal) _didMoveFromWindow:toWindow:] + 656 frame #11: 0x2b28aef4 UIKit`-[UIView(Internal) _didMoveFromWindow:toWindow:] + 656 frame #12: 0x2b28aef4 UIKit`-[UIView(Internal) _didMoveFromWindow:toWindow:] + 656 frame #13: 0x2b28a804 UIKit`__45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 112 frame #14: 0x2b28a720 UIKit`-[UIView(Hierarchy) _postMovedFromSuperview:] + 428 frame #15: 0x2b294bce UIKit`-[UIView(Internal) _addSubview:positioned:relativeTo:] + 1462 frame #16: 0x2b29460e UIKit`-[UIView(Hierarchy) addSubview:] + 30 frame #17: 0x2b459eae UIKit`__53-[_UINavigationParallaxTransition animateTransition:]_block_invoke + 1262 frame #18: 0x2b29ada4 UIKit`+[UIView(Animation) performWithoutAnimation:] + 72 frame #19: 0x2b45977c UIKit`-[_UINavigationParallaxTransition animateTransition:] + 812 frame #20: 0x2b417cfc UIKit`-[UINavigationController _startCustomTransition:] + 2860 frame #21: 0x2b337026 UIKit`-[UINavigationController _startDeferredTransitionIfNeeded:] + 422 frame #22: 0x2b336e2c UIKit`-[UINavigationController __viewWillLayoutSubviews] + 44 frame #23: 0x2b336dc0 UIKit`-[UILayoutContainerView layoutSubviews] + 184 frame #24: 0x2b28b7fe UIKit`-[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 514 frame #25: 0x2acb1834 QuartzCore`-[CALayer layoutSublayers] + 136 frame #26: 0x2acad20c QuartzCore`CA::Layer::layout_if_needed(CA::Transaction*) + 360 frame #27: 0x2acad094 QuartzCore`CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 16 frame #28: 0x2acaca70 QuartzCore`CA::Context::commit_transaction(CA::Transaction*) + 224 frame #29: 0x2acac874 QuartzCore`CA::Transaction::commit() + 324 frame #30: 0x2aca674c QuartzCore`CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 56 frame #31: 0x27d37ffc CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 20 frame #32: 0x27d356ba CoreFoundation`__CFRunLoopDoObservers + 278 frame #33: 0x27d35ac2 CoreFoundation`__CFRunLoopRun + 914 frame #34: 0x27c833b0 CoreFoundation`CFRunLoopRunSpecific + 476 frame #35: 0x27c831c2 CoreFoundation`CFRunLoopRunInMode + 106 frame #36: 0x2f1f2200 GraphicsServices`GSEventRunModal + 136 frame #37: 0x2b2ed43c UIKit`UIApplicationMain + 1440 * frame #38: 0x0017bf62 Dev`main(argc=1, argv=0x01549a28) + 106 at main.m:14 frame #39: 0x3636aaae libdyld.dylib`start + 2 

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

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

 thread #1: tid = 0x11d992, 0x020fce9e libclang_rt.asan_ios_dynamic.dylib`__asan::AsanDie(), queue = 'com.apple.main-thread', stop reason = Attempt to free a non-allocated address { "access_size" : 0, "access_type" : 0, "address" : 103442256, "description" : "Attempt to free a non-allocated address", "instrumentation_class" : "AddressSanitizer", "pc" : 0, "stop_type" : "fatal_error" } 

Опять же приложение прекрасно работает при построении из Xcode 7 или из Xcode 8 для iOS 9 или 10. Это происходит только тогда, когда вы создаете из Xcode 8 для iOS 8. Любые идеи?

One Solution collect form web for “EXC_BAD_ACCESS только на xcode 8 под управлением iOS 8”

Какой-то другой парень в команде нашел ответ. Богус.

https://forums.developer.apple.com/thread/60919

С Xcode 8 GM эта ошибка возникнет, если вы включите 16-битные или P3-активы в приложение, нацеленное на выпуск iOS раньше, чем iOS 9.3. Если для вашего приложения требуется широкая цветовая функциональность, вы должны изменить свой целевой уровень развертывания на iOS 9.3 или новее. Если ваше приложение не требует широкой цветовой функциональности, и вы хотите развернуть его на более старые версии iOS, вы должны заменить все 16-разрядные или P3-активы 8-разрядными ресурсами sRGB. Вы можете найти 16-битные или P3-активы, запустив «assetutil» в каталоге активов, указанном в сообщении об ошибке из iTunes Connect. Следующие шаги описывают процесс:

  1. Создайте файл Inspectable .ipa. В Xcode Organizer (Xcode-> Window-> Organizer) выберите архив для проверки, нажмите «Экспортировать …» и выберите «Экспорт для Enterprise или Ad-Hoc Deployment». Это создаст локальную копию. ipa-файл для вашего приложения.
  2. Найдите этот .ipa-файл и измените его расширение на .zip.
  3. Разверните .zip-файл. Это создаст папку Payload, содержащую ваш пакет .app.
  4. Откройте терминал и измените рабочий каталог на верхний уровень вашего .app-пакета cd path / to / Payload / your.app

  5. Используйте инструмент поиска, чтобы найти файлы Assets.car в вашем пакете .app, как показано ниже: find. -name 'Assets.car'

  6. Используйте инструмент assetutil для поиска любых 16-разрядных или P3-активов в каждом Assets.car, которое ваше приложение имеет, как показано ниже. : sudo xcrun –sdk iphoneos assetutil –info /path/to/a/Assets.car> /tmp/Assets.json

  7. Изучите полученный /tmp/Assets.json и найдите любое содержимое, содержащее «DisplayGamut»: «P3» и связанное с ним «Имя». Это будет имя вашего набора изображений, содержащего один или более 16-разрядных или P3-активов.

  8. Замените эти активы 8-битными / sRGB-активами, затем перестройте свое приложение. Обновление. Если для вашего целевого назначения развертывания задано значение 8.3 или 8.4, и у вас есть каталог активов, вы получите это же сообщение об ошибке, даже если на самом деле у вас нет 16-разрядных или P3-активов. В этом случае вам нужно будет либо снизить целевой уровень развертывания до 8,2, либо переместить его до 9.x.

Обновление. Если для вашего целевого назначения развертывания задано значение 8.3 или 8.4, и у вас есть каталог активов, вы получите это же сообщение об ошибке, даже если на самом деле у вас нет 16-разрядных или P3-активов. В этом случае вам нужно будет либо снизить целевой уровень развертывания до 8,2, либо переместить его до 9.x.

  • Xcode 8 Beta - преобразовать в текущий синтаксис Swift: не удалось найти тестовый хост
  • Xcode 8 Проблема: рамка для «панели навигации» будет отличаться во время выполнения
  • Как преобразовать 'void *' возврат из функции C в 'UnsafeMutableRawPointer' в Swift 3?
  • добавьте Shadow на UIView, используя swift 3
  • UIImagePickerController застрял на сжатии видео на симуляторе iOS10 после выбора видео
  • Ошибка для пользователя chmod / Библиотека / Разработчик / CoreSimulator / Devices НЕТ Такой файл или каталог
  • Swift 3 / Xcode 8 - CNContact <Private>
  • Ошибка сегментации: 11; (xcode 8, Swift 3) после использования NotificationCenter
  • Как создать очередь отправки в Swift 3
  • Xcode8 не может подключать несколько / одиночных uibuttons к одному @IBAction в swift-файле
  • XCode 8 не показывает изображения в раскадровке
  • Interesting Posts

    Swift3 Xcode 8: «none» недоступен: используйте для создания пустого набора опций; Что мне делать?

    iOS – Можно ли отключить segue с помощью кода внутри своего метода разматывания?

    Как включить задний / левый саблей в UINavigationController после установки leftBarButtonItem?

    Как определить среду CloudKit во время выполнения?

    Как начать программирование iOS в 2013 году?

    Watchkit – как обрабатывать значки для представления в App Store?

    Каков наилучший способ сопоставления шаблонов URL-адресов REST с объектами модели для структуры Siesta?

    iOS и Bluetooth с низкой энергией, возможности?

    Добавить событие в календарь Google из ios

    ошибка компиляции для iphone 6 (Нет компиляции архитектур)

    Отладка / воспроизведение EXC_BAD_ACCESS сбоя в CA :: release_объектах

    Сбой громкоговорителя SpeakHere после того, как приложение выходит на передний план

    создание приложения для воспроизведения потокового видео RTSP

    Титановый вид выдвигается, когда появляется клавиатура

    Получить текущую позицию UIScrollView

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.