码迷,mamicode.com
首页 > 移动开发 > 详细

iOS XCode7制作.Framework动态库和.a静态库的总结

时间:2016-06-24 14:44:41      阅读:738      评论:0      收藏:0      [点我收藏+]

标签:

一、开发SDK时的支持情况:

OC语言制作动态库时,支持iOS8+;OC语言制作静态库,支持iOS7+。

Swift语言制作动态库时,支持iOS8+;Swift不支持静态库

 

对于SDK来说,支持情况非常重要。像我就是一开始就被坑了,我使用Swift开发动态库的方式提供SDK,所以只能支持到iOS8+。但这意味着所有使用我的SDK的客户的APP都必须到iOS8+,这就坑爹了。

所以假如需要支持iOS7的话,只有使用OC语言开发.a静态库的一条路。

 

二、开发动态库的简易过程:

开发动态库时,只要通过创建工程时选择Cocoa Touch Framework就可以了,可以选择OC或Swift语言开发。

新建完SDK工程后,再新建一个APP的工程作为demo,把之前的工程拖进来,并把sdk生成的product加入app工程的link library,通过工程组合的方式进行开发,调试非常方便

 1.

技术分享

2.

技术分享

3.

技术分享

 

开发动态库看似简单,但还是会遇到一些棘手的问题,比如OC开发SDK时,swift工程如何调用(或是Swift开发的动态库,让OC支持),资源文件找不到等,环境配置等。

一些问题我都总结在这篇文章内

http://www.cnblogs.com/rayshen/p/5330512.html

 

二、开发静态库的简易过程:

开发静态库时(只能用OC语言开发了),只要通过创建工程时选择Cocoa Touch Static Library

和之前一样,我们最好再新建一个APP的工程做Demo,方便调试自己的SDK

 技术分享

 

2.创建新的APP工程,并拖入静态库的SDK工程

技术分享

 

3.加入.a的索引

技术分享

 

四、开发静态库时的资源管理

1.选择SDK的工程,点击target中的+,然后选择OSX,增加资源Bundle的target(这点真的非常傻逼,iOS居然没有建立Bundle的选项,笑了)

技术分享

 

技术分享

2.修改Bundle的target为 iOS

技术分享

3.假如我们新建一个controller,带XIB的,选择bundle->build phases,加入xib,或者image等资源文件

技术分享

 

然后在新的APP工程中,把.h,.a,.bundle一起提供,就可以使用了。

 

iOS XCode7制作.Framework动态库和.a静态库的总结

标签:

原文地址:http://www.cnblogs.com/rayshen/p/5613990.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!