Сбой сборки Xcode8 на устройстве iOS 9

#ios #swift #xcode #testflight

#iOS #swift #xcode #тестовый полет

Вопрос:

Я преобразовал свое приложение в Swift 2.3 в Xcode 8. При запуске на симуляторе iOS 10 и iOS 9 (или отладочной сборке на физическом устройстве iOS 9/10) проблем нет. Также наш (большой) набор автоматических тестов пользовательского интерфейса отлично работает на устройстве iOS 10. Но при создании (релизного) IPA для iTunes / TestFlight эта версия завершается сбоем на iOS 9 сразу при запуске. На iOS 10 работает без каких-либо проблем.

Ведение журнала показывает мне это:

 dyld: lazy symbol binding failed: Symbol not found: _sqlite3_key_v2
      Referenced from: /var/mobile/Containers/Bundle/Application/A5200093-5C37-46AD-8C16-BC873469EC6F/*.app/*
      Expected in: dyld shared cache
Oct 10 11:51:45 iPhone *[1310] <Notice>: dyld: Symbol not found: _sqlite3_key_v2
      Referenced from: /var/mobile/Containers/Bundle/Application/A5200093-5C37-46AD-8C16-BC873469EC6F/*.app/*
      Expected in: dyld shared cache
  

 Oct 10 11:51:45 iPhone diagnosticd[84] <Error>: unable to find offset 0x836c5da8 in shared cache for arch 'arm64'
Oct 10 11:51:45 iPhone diagnosticd[84] <Error>: Invalid offset 2204917160 into shared cache for arch 'arm64'
  

Ответ №1:

Тем временем я сам выяснил эту проблему. Это очень специфично для моей ситуации. Проблема возникла из-за сторонней библиотеки (так что будьте конкретны; JB4A-SDK). Обновление до последней версии устранило проблему.