0

I have an app that record video, and use extern libs as FMMPEG and x264. All extern libs are compiled with iOS 9.2 SDK and for all valid architectures.

It was working fine until I decided use iOS 10 SDK as Base SDK and replace deprecated methods in iOS 10 with newer methods using iOS (after update Xcode to 8.X version). At this moment I have this build settings:

Build Settings

As I said, the app use extern libs, and this libs are compiled with iOS 9.2 SDK version (I decided it for avoid warnings because the minimun supported version for my app is 9.2). Well, when the app run in iOS 10 it run without errors, but when the app run in iOS 9 and I start recording video, the app crash always in a float operation in FFMPEG lib (if I edit FFMPEG source code and cast the float value to integer before operation the app crash in next float operation, so it isn't a solution).

The problem is:

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.

The solution could be: Use iOS 9.X SDK for compile in Xcode, but I can't use iOS 9.X SDK version for create app, I use frameworks that are only in iOS 10 as UserNotifications.

Of course, I always check the iOS version in runtime with:

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0) {...}

Abstract:

App compiled with iOS 10.X SDK + iOS 9 = Crash

App compiled with iOS 9.X SDK + iOS 9 = No Crash (but can't be a solution)


Crashing code:

code=EXC_ARM_BREAKPOINT,subcode=0xe7ffdefe

halfer
  • 19,824
  • 17
  • 99
  • 186
Anthony
  • 1
  • 1
  • Did you check this question? http://stackoverflow.com/questions/29434253/xcode-exc-breakpoint-exc-arm-breakpoint-subcode-0xe7ffdefe In that particular case, it was an integer that was being used in a 64-bit environment but its use in code was 32-bit. Simply casting to a `UInt32` fixed the issue. Maybe using `Float32`? – Alejandro Iván Dec 15 '16 at 14:38
  • The problem isn't 32 and 64 bits, the problem is: one iPhone SE with iOS 10 run app without problems. Other iPhone SE with iOS 9 crash in float operations, iPhone SE use a 64-bit proc, so it can't be the error. Also the app crash in a third party lib, change all types is crazy. – Anthony Dec 15 '16 at 14:43
  • Edited with solution. Thanks for all guys ;) – Anthony Dec 20 '16 at 09:41

1 Answers1

0

(Posted on behalf of the OP).

The problem was solved. When I was checking logs, I saw next error:

dyld: Symbol not found: ___gesf2 

The problem was that the app was searching the symbol in AddressBook Framework when the app ran in 32 bits (armv7 & armv7s). The solution was remove this framework from project and recompile it.

halfer
  • 19,824
  • 17
  • 99
  • 186