检查Objective C中支持的框架体系结构

时间:2013-12-26 04:41:05

标签: ios iphone objective-c ipad

根据Apple在明年2月的要求,提交给AppStore的每个应用都需要支持Arm64架构。在我的项目中,我使用了许多静态库(* .a),我可以检查这些库是否支持arm64 arch。但是,我不知道某些框架如Facebook.framework是否支持这个新的拱门。我怎么检查呢?请帮我解决这个问题。感谢。

2 个答案:

答案 0 :(得分:26)

每个框架实际上只是一个目录 - 甚至不像包目录,而是一个可以直接浏览到Finder的普通目录。进入.framework中的Versions/A,在那里你会找到一个与框架同名的文件。

该文件实际上是一个静态库(.a)文件,只是没有扩展名。像任何静态库一样检查它(使用filelipo -info),您将看到文件包含的二进制文件。

你也会通过XCode知道。如果您将项目切换为支持arm64并且您链接的库没有arm64支持,则在编译设备时XCode将无法完成链接。

答案 1 :(得分:19)

检查终端中的以下命令 lipo -info yourlib.a

输出如:
Architectures in the fat file: yourlib.a are: i386 x86_64 armv7 arm64

如果是Framework.framework

转到下面的内部框架中 cd /Your_Path_/CocoaLumberjack.framework

然后运行命令
lipo -info CocoaLumberjack