我有一个静态库提供给我,我需要在应用程序中使用 . 我被告知它支持ARM64 .
当我使用 otool -hV mylibrary.a
列出马赫 Headers 时,我只获得 x86_64
的CPU类型 .
当我使用 otool -fv mylibrary-a
列出胖头时,我得到CPU类型I386,x86_64,ARM,ARMv7S . ARM64 .
我的理解是,我需要为我将要运行的架构提供头文件 . 但是,该应用程序在64位设备上正常工作 .
iOS开发中的fat头和mach头之间有什么区别?这个库可以安全地用于64位应用程序吗?
1 回答
mach header和universal header提供类似的信息 . 他们识别诸如cputype和cpusubtype之类的东西 . 通用标头还指示每个体系结构的文件偏移/大小 . 我相信通用 Headers 是从马赫 Headers 中获取信息,但我很容易就此错了 .
如果您只看到x86_64,请尝试
otool -hv -arch all myLibrary.a
FWIW,更简单的方法是做
lipo -info myLibrary.a
. 如果您看到所需的切片,那么您应该很高兴,只要库本身适用于该切片 .