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