说来惭愧,搞ios这么久了,一直没玩过静态库,现在就来试一试。之前试过几次没有成功,这次一定要一举拿下。
http://www.xuanyusong.com/archives/606
IOS研究院之使用Xcode4制作静态库详解(五)
看了这篇文章,觉得挺简单的啊,看完了,自己开始尝试,碰到个问题,不管怎么着,我的.a文件始终都是红色的,好像上次,就卡在这一步,没往下走,继续搜索了一下,无果。看到另外一个教程:http://hi.baidu.com/sxgg008/item/43ab4146e460e4bbde2a9f38
ios 静态库制作过程
果然编译后,我的.a 文件,就变成白色的了。
我用lipo -info 命令查看生成的两个文件,果然模拟器生成的架构是i386架构的,ios Device生成的是armv7架构。
然后用 lipo -create FileA FileB -output FileC 命令合并了一下两个文件,生成了一个 Filec 我用lipo -info 一查,哈哈,果然,提示 Architectures in the fat file: …… are armv7 i386 。合并成功。
试试
确实,不对应会报错。
搞定了,这样是可以把我的静态库给别人用,但是,我还是不会在静态库里面调试。继续
http://www.cnblogs.com/speeding/archive/2011/09/29/2195252.html
看着觉得怎么这么复杂啊,没怎么看,自己继续往下做。
期间碰到个问题,在新建workspace 之后,如果往里 add file ,想加入project,但是老是只能加进来,一个工程文件,其余的东西都加载不进来。
于是,我把原来的workspace之类的都删掉,然后新建了个文件夹
------------------------newfile
------------------------------------------------workspace文件
------------------------------------------------静态库文件夹
------------------------------------------------程序文件夹
我做成这个格式之后,就可以顺利地在引入两个完整的Project了
还有一个发现,当,这种结构时,不用lipo -create 命令合并,用 device 的那个.a文件,就模拟器,真机 通吃了。
这样子,就可以在静态库里面调试了。
这里有一个注意事项,必须是选中idevice的那个选项。
我的Xcode 版本是 4.5.1
待会儿把程把例子程序给传上来,例子程序已上传到资源
还有一点没搞定的是,目前我在动态库里面,做了修改,但是不能直接点击cmd+R就把这个修改反映到工程里,还是不能达到vs里面那么方便。肯定是哪里我没配置上,估计是编译顺序之类的,需要把每次都把静态库提前编译一下。