普通静态库生成步骤(一):

1,制作.a文件的静态库(没有图片资源)

创建.a文件的静态库项目

实现自己需要封装的方法

生成已经编译好的.a静态库(注意,项目名最好用英文,上面是为了方便识别,才使用中文,)


查询.a静态文件的位置

2,使用.a静态库

3, 出错: 调试!

错误:Undefined symbols for architecture i386:(x86_64 / i386 /arm64 / armv7s / armv7 )

原因:静态库的架构不对!

生成.a静态库时,是在iPone6的模拟器
而在项目中,是在iPone5的模拟器中运行!

iPone一共有5种架构:

模拟器架构(2种):
i386:     4S /5         (32位)
x86_64:5S --->6S (64位)

真机架构(3种):
armv7:4/4S
armv7s:5/5C最特殊的一代默认已经不支持输出
arm64:5S -->6S

怎么查看架构?
在终端输入命令:lipo -info 静态库路径

怎么合成5种架构?
1) 使用合成命令合成! 语法:
    合成命令:lipo -create静态库1.a静态库2.a -output新静态库.a
    1,将已经在模拟器iPone 6下,编译好的静态库,剪切存放在新的文件夹里面
    2,在iPone 5的模拟器下,直接运行!(.a的静态库文件,会由红色变为黑色)
    3,在终端,输入命令 lipo -create静态库1.a静态库2.a -output新静态库.a,(合成了新的静态库)

创建在iPone 5模拟器下的.a静态文件
通过命令,将适用于iPone5 和适用于iPone 6的静态库,合成成一个新的静态库

2) 一次性编译适用,真机或者模拟器的所有版本!(注意需要编译两个版本(真机+模拟器))

如要适用,所有真机+模拟器的所有版本,则需要分别编译,然后再用命令合成新的.a静态库

3)对于iPone 5 和 iPone5C 的真机架构(armv7s),该如何适用 ?

2014年10月后,iPone就不在支持armv7s的架构,那么真机该如何,该如何适用所有版本的架构呢?
Build Active Architecture Only -->No
选中静态库->选中TARGETS -> Build Settings -> Architectures ->添加arm64 armv7 armv7s ->选中真机运行


你可能感兴趣的:(普通静态库生成步骤(一):)