3

苹果用粗体字真正想表达什么?

例如,我的应用程序中有未编译为 64 位的 3rd 方库,但我没有在扩展中使用它们中的任何一个。我是否应该“仍然”为 64 位架构编译包含应用程序(我的包含扩展的主应用程序)的第 3 方库?(我不想这样做,因为它非常困难,而且它会使我的应用程序的大小增加一倍,因为我什至不针对 armv7s,而只是针对 armv7)

关于 64 位架构的注意事项

应用扩展目标必须在其架构构建设置中包含 arm64 (iOS) 或 x86_64 架构 (OS X),否则将被 App Store 拒绝。当您创建新的应用程序扩展目标时,Xcode 包括适当的 64 位架构及其“标准架构”设置。

如果您的包含应用程序目标链接到嵌入式框架,则该应用程序还必须包含 64 位架构,否则将被 App Store 拒绝。

有关 64 位开发的更多信息,请参阅 Cocoa Touch 的 64 位转换指南或 Cocoa 的 64 位转换指南,具体取决于您的目标平台。

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

4

1 回答 1

1

这意味着您的扩展程序必须具有 64 位版本。这意味着如果您使用框架,则必须包含 64 位版本。

如果代码仅用于主应用程序而不是扩展程序,那么它不需要是 64 位的。

话虽如此,距离第一批 64 位 iOS 设备面世已有一年多的时间。即使您现在不能完全构建 arm64,您也应该有一个迁移计划。

于 2014-09-21T09:30:09.077 回答