What does Apple mean when it comes to the 64-bit requirement for extensions on iOS8?

What does the apple really want to say with the bold sentence ?

For example, I have third party libraries in my application that are not compiled as 64 bit, but I am not using them inside an extension. Should I "still" compile third party libraries of the containing application (my main application that includes the extension) for 64 bit architecture? (I don't want to do this as it is very difficult and it will double the size of my app since I am not even targeting armv7s but just armv7)

A note on 64-bit architecture

Application extension target must include arm64 (iOS) or x86_64 architecture (OS X) in architecture build settings, or it will be rejected by the App Store. Xcode includes the appropriate 64-bit architectures with the "Standard Architectures" settings when creating a new application extension target.

If your supporting target links for apps are in the embedded framework, the app must also include 64-bit architecture or it will be rejected by the App Store.

For more information on 64-bit development, see the 64-bit Migration Guide for Cocoa Touch or the 64-bit Migration Guide for Cocoa, depending on your target platform.

Link: https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionCreation.html


source to share

1 answer

This means that your extension must be 64-bit. This means that if you are using a framework, you must enable the 64-bit version.

If the code is used only in the main application and not in the extension, then it should not be 64-bit.

Having said that, it's been over a year since the first 64-bit iOS devices came out. Even if you can't fully build arm64 right now, you should probably have a migration plan.



All Articles