xcode编译ios Universal framework

不久前领导指示要做ios的一个sdk,这活儿自然是framework最适合最方便,一个文件夹,拖进去就齐活了。不像static library头文件资源文件一大堆,也不像直接发布源码那么奔放。随后发现其实xcode是不支持创建ios的framework工程的。网上流传有手工制作framework的文章,随后又发现要做Universal的framework有点费劲哪,我好懒呐。随后又又发现了iOS-Universal-Framework这个好东西。这个东西算是个xcode的补丁吧,下载后分别运行Fake Framework和Real Framework两个文件夹里的install.sh,重启xcode后新建工程里,ios的Framework&Library里就有了FakeStatic iOS Framework和Static iOS Framework。再随后到对应target的Build Phases页填表就行了。
要做好向下兼容的话别忘了Architectures里添加armv6和修改iOS Deployment Target,这样build之后生成的framework自然就是Mach-O universal binary with 3 architectures了,之后不管是编译pc的i386 Simulator还是新旧iPhone真机的armv6、armv7程序,就都可以用这一个framework就可以了,曾经的我傻傻分不清除,删了拖,拖了删的,真是惭愧+悔恨呐。

貌似近来心情不大好,怎么这么啰嗦呢

——————————————-
注:
1.Fake Framework,假framework,会有依赖问题,实为Relocatable Object File的Bundle,跟网上流传的纯手动制作framework效果和原理一样。

2.Real Framework,真framework,工程在没有安装iOS-Universal-Framework的xcode上自然不能被识别,生成的framework则不受影响,可以直正常接用,拖进去就行了。

3.https://github.com/kstenerud/iOS-Universal-Framework

发表评论?

1 条评论。

  1. target specifies product type ‘com.apple.product-type.framework.static’, but there’s no such product type for the ‘iphoneos’ platform

发表评论


请输入正确的验证码