Problems with c++ on iOS arm64e device.

Tested on: iPhone11+iOS16.5/iPhoneXS+iOS15.4.
Compile with: XCode12/13/14.

I tried following code, compile with arch=arm64e only, and result in crash "EXC_BAD_ACCESS". at "LDRAA"

std::cout << "";

The crash will not be triggered if:

  • compile with arch=arm64 only
  • compile with arch=arm64e only and tested on iOS<=14
  • not use any c++ I/O api

Is there a specific reason you’re using arm64e? Apple does not generally support arm64e for third-party code, although there are some very specific exceptions to that rule.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Thanks Quinn @DTS Engineer for a fast response here :)

I'm unrelated to the original author, yet had a very similar question. We were looking into compiling our app for arm64e (for the benefit of added user security); we stumbled upon this article (Apple dev documentation link), and thus believed that it's something publicly available.

However, we then stumbled upon the iOS 15 minsdk requirement (for the current XCode) which isn't really well documented (except for the compiler/linker warning in xcode 15.3+ when targeting older minsdk).

So if you could share, are there any plans to eventually allow arm64e for 3P devs? Am I correct that there are some unresolved issues, i.e. ABI isn't guaranteed to be stable yet and may break in a future iOS update? Furthermore, it may require AppStore submission pipeline to support arm64/arm64e slices -- potentially, targeting different SDK -- and thus there's some work which needs to be done on the AppStore side?

If that would be helpful, I can ask our Security team to reach out to you with more details w.r.t the motivation to someone on your side.

So if you could share, are there any plans to eventually allow arm64e for 3P devs?

I can’t talk about The Future™ but, speaking generally, when Apple makes changes like this we generally announce them pretty loudly.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Problems with c++ on iOS arm64e device.
 
 
Q