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

iOS 工程套子工程,主工程和framework工程或.a静态库工程联调

时间:2016-05-15 10:57:33      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:

一、主工程套Library(即.a)工程联调

1.新建一个主工程和一个Library工程,如何创建Library工程参照我另外一篇博客iOS 最新framework和.a静态库制作及使用全解但这个Library工程不需要编译成静态库

2.将静态库工程拖到主工程,我这里拖到下图箭头所指的UseA文件夹下(如果你要拖到其他目录,就要改Library Search Paths,下面我会介绍Search Paths路径相关知识)

技术分享

3.将Library工程下Products目录下的.a文件拖入主工程的Link Binary With Libraries

技术分享

4.设置Header search path

首先看看主工程和子工程的文件夹路径

技术分享

子工程文件夹在主工程之外,和主工程是层级是并列关系,要想引用到子工程的头文件,设置Header search path为../BaseSDK(子工程所在路径) 参数为recursive,如下图

技术分享

“./”和“$(PROJECT_DIR)”表示当前工程所在文件夹,是一个相对路径,相对该工程在电脑的位置,会自动定位到在当前电脑的绝对路径。如果 写绝对路径,工程换了文件夹位置,或换到其他电脑,路径就报错。“../”表示当前工程所在文件夹的上一层文件夹路径。设置路径时两个参数的意 义,non-recursive非递归查找,recursive 递归查找 。

5.在主工程Viewcontroller导入库中的头文件#import "NSStringUtils.h"

技术分享

运行一下,成功调用了子工程将汉字转拼音的方法。

二、主工程套framework工程联调

1.新建一个主工程和一个framework工程,如何创建framework工程参照我另外一篇博客iOS 最新framework和.a静态库制作及使用全解但这个framework工程不需要编译成静态库

2.将framework工程直接拖到主工程,我这里拖到下图箭头所指的UseFrameworkTest文件夹目录下,如果你要拖到其他目录,就要改Framework Search Paths。search paths知识上面介绍过了。

技术分享

3.将framework工程下Products目录下的framework文件拖入主工程的Link Binary With Libraries

技术分享

4. 将framework中比较常用的头文件import到APPBaseSDK.h中(如下图画圈的),这样在外面只需要#import <APPBaseSDK/APPBaseSDK.h>,就可以引用到下图中画圈的文件。如果不想将太多文件都import到 APPBaseSDK.h中,在外面就像这样引用#import <APPBaseSDK/MBProgressHUD+Easy.h>(虽然能使用但会报警告,所以还是import到 APPBaseSDK.h中吧)

技术分享

5.调用子工程方法,如下图可以正常调用将汉字转拼音方法并打印结果了

技术分享

iOS 工程套子工程,主工程和framework工程或.a静态库工程联调

标签:

原文地址:http://www.cnblogs.com/zhanglinfeng/p/5494762.html

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