简体   繁体   中英

64bit support for static libraries in iOS

According to Apple after June 1st, apps that are not built for 64-bit will be automatically rejected, when uploaded to app store. My app is using "Standard architectures" and BaseSDK is 8.0. With the first glance this means that the app is OK with these rules, however what happens when external libraries are not 64 bit? For example

$ lipo -info libssl.a 
Architectures in the fat file: libssl.a are: armv6 armv7 

This libssl.a files seems to be compiled for 32bit. However I do need it in my app, therefore it is linked. My app is at the AppStore for a long time and it was first built with 32 bit. Now with "Standard architectures" it compiles with 32 and 64 bit support.

Is this OK, or do I need 64bit version of my static libraries as well?

EVERYTHING needs to be 64 bit for the final app to be 64 bit

EVERYTHING means

  • the app itself
  • all linked static libraries
  • all linked dynamic libraries
  • all linked frameworks (apple's usually are!)
  • all included 'extensions' (which are apps of its own)

Yes.

If your project is 64 bit while the external libraries are 32 bit, your project won't even compile.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM