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

len*_*ung 17 iphone objective-c ipad ios

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

Ken*_*ner 31

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

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

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


Kir*_*tel 20

检查终端中的以下命令
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