У меня есть приложение, которое записывает видео и использует extern libs как FMMPEG и x264. Все extern libs скомпилированы с SDK iOS 9.2 и для всех допустимых архитектур.Ошибка приложения в iOS 9, но не в iOS 10
Он работал нормально, пока не решил использовать SDK IOS 10 в качестве базового SDK и заменить устаревшие методы в iOS 10 новыми методами с использованием iOS (после обновления версии Xcode до версии 8.X). На данный момент у меня есть этот билд настройка:
Как я уже сказал, приложение использовать Экстерн LIBS, и это ЛИЭС скомпилирован с прошивкой 9.2 SDK версии (я решил это для избежания предупреждений, потому что Minimun поддерживаемой версии для моего приложения - 9.2). Ну, когда приложение запускается в iOS 10, оно запускается без ошибок, но когда приложение запускается в iOS 9, и я начинаю записывать видео, приложение всегда срабатывает в режиме float в FFMPEG lib (если я редактирую исходный код FFMPEG и отбрасываю float значение до целого числа перед операцией сбой приложения в следующей операции с плавающей точкой, поэтому это не решение).
Проблема заключается в том:
Only crash when I use iOS 10.X SDK version for compile app in Xcode, when I configure for use iOS 9.X SDK version in Xcode for compile and install app in iOS 9, it don't crash.
Решение может быть: Использование IOS 9.X SDK для компиляции в Xcode, но я не могу использовать IOS 9.X SDK версии для создания приложения , Я использую фреймворки, которые находятся только в iOS 10 как UserNotifications.
Конечно, я всегда проверить версию IOS в режиме исполнения:
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0) {...}
Аннотация:
App скомпилирован с IOS 10.X SDK + прошивкой 9 = Крушение
App скомпилирован с iOS 9.X SDK + iOS 9 = Нет сбоя (но не может быть решением)
разбивая код:
code=EXC_ARM_BREAKPOINT,subcode=0xe7ffdefe
Вы проверили этот вопрос? http://stackoverflow.com/questions/29434253/xcode-exc-breakpoint-exc-arm-breakpoint-subcode-0xe7ffdefe В этом конкретном случае это было целое число, которое использовалось в 64-битной среде, но его использование в код был 32-битным. Проблема в том, что проблема с 'UInt32' исправлена. Может быть, используя 'Float32'? –
Проблема не в 32 и 64 бит, проблема в том, что один iPhone SE с iOS 10 запускает приложение без проблем. Другой iPhone SE с крахами iOS 9 в поплавковых операциях, iPhone SE использует 64-битный proc, поэтому это не может быть ошибка. Также сбой приложения в стороннем lib, изменение всех типов является сумасшедшим. – Anthony
Отредактировано с помощью решения. Спасибо всем парням;) – Anthony