copy from:http://www.cnblogs.com/xiaouisme/archive/2012/02/06/2339470.html

本文讲解怎么在xcode4的workspace里配置工程联编,但这里并非惟一方法。

创建workspace,添加一个IOS的lib工程叫做libA,再添加一个IOS的lib工程叫做libB,再添加一个app工程叫做appC.

场景:appC工程需要用到libA和libB工程生成的libs。

两lib工程都一样配置,这里以libA为例:
1.设置lib的public headers.
2.选中libA工程的target,在Build Settings里设Installation Directory为$(BUILT_PRODUCTS_DIR)

配置appC工程:

首先是让appC链接各lib:
1.选中appC工程的target-appC ,在Build Phases的Link Binary With Libraries里添加liblibA.a和liblibB.a

然后是让appC看得到各lib的公共头文件:
1.选中appC工程,在下方点开Add Target: IOS,Other,Aggregate. 这个target命名为runScript.
2.选中appC工程的target-runScript,在Build Phases的下面点开Add Build Phase/Add Run Script
输入脚本如下:
rm -rf ${PROJECT_DIR}/${PROJECT_NAME}/LibsHeaders/
mkdir ${PROJECT_DIR}/${PROJECT_NAME}/LibsHeaders/
cd ${BUILT_PRODUCTS_DIR}
find . -name "*.h" -exec cp '{}' ${PROJECT_DIR}/${PROJECT_NAME}/LibsHeaders/ \; #copy all the lib's public header files.
3. 选中appC工程的target-appC ,
在Build Phases的Target Dependencies里添加target-runScript。
在Build Settings里设Always Search User Paths为YES,设User Header Search Paths为${PROJECT_DIR}/${PROJECT_NAME}/LibsHeaders/
(也就是上面脚本拷头文件的目标目录)

end

xcode4的workspace里各lib工程与app工程联编之runscript简介的更多相关文章

  1. xcode4的环境变量,Build Settings参数,workspace及联编设置

    转自:http://www.cnblogs.com/lancidie/archive/2013/04/08/3007566.html 一.xcode4中的环境变量 $(BUILT_PRODUCTS_D ...

  2. eclipse里将java工程改web工程

    转自:http://blog.csdn.net/heirenheiren/article/details/8488245 把一个普通的eclipse项目转成web项目 1.  编辑工程的.projec ...

  3. 对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错。

    对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错.步骤如下: 右键新的工程---&g ...

  4. xcode 环境,多工程联编设置【转】

    http://blog.csdn.net/vienna_zj/article/details/8467522 一.xcode4中的环境变量 $(BUILT_PRODUCTS_DIR) build成功后 ...

  5. 关于eclipse导工程或移植工程常碰到的错误汇总

      在开发过程中,eclipse是使用得最多的IDE,但由于其开源且免费的性质决定了其不然有很多的BUG,在项目很赶的时期碰到某些很恶的错误很浪费时间,也很让人郁闷,现我总结一下我碰到的错误并总结下对 ...

  6. 多工程联编,cocopods的使用

    最近在使用coco2d-x, 想要使用 cocopods,发现我的目录结构如下图 发现我有三个工程文件,  那么 就需要多工程联编使用cocopods, workspace 'xcworkspace' ...

  7. 使用Pods和自定义静态库实现多工程联编

    使用Pods和自定义静态库实现多工程联编 字数607 阅读112 评论0 喜欢0 近来随着公司项目开发的深入,项目的规范也就越来越高了,为了更加方便的管理自定义静态库与pods之间的联系,好好的研究了 ...

  8. 多工程联编的Pods如何设置

    多工程联编的Pods如何设置 (2014-07-17 13:57:10) 转载▼ 标签: 联编 多工程 分类: iOS开发 如今,CocoaPods使用越来越多,几乎每个项目都会使用到.有时候我们的项 ...

  9. 如何实现在H5里调起高德地图APP?(上)

    这一篇文章,将讲述如何在H5里调起高德地图APP,并展示兴趣点.适合于展示某个餐馆,商场等,让用户自行选择前往方式. 场景一.在高德地图上展示Marker点或者POI标记 在一些基于位置分享的应用开发 ...

随机推荐

  1. Ant配置

    首先去官网下载一个ant的文件 http://ant.apache.org/bindownload.cgi

  2. 解决win service 2003 IIS发布Gis网站后,访问地图服务出错,无法正常打开而且 事件查看器出现错误提示。

    错误详情: 应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为{379376DB-AEA6-40D1-9491-9345E61EF6BE})的 本地 激活 权限授予用户 NT AUT ...

  3. Redis Admin UI

    https://github.com/ServiceStackApps/RedisAdminUI 最近的v4版本不能用,需要下载v3版本,下载地址 https://github.com/Service ...

  4. ssh配置事务

    http://blog.csdn.net/jianxin1009/article/details/9202907(不错)

  5. IE浏览器设置

  6. redhat6.4 配置centos6 yum替换

    1.卸载掉系统redhat自带的yum   rpm -qa |grep yum |xargs rpm -e --nodeps 2 下载相关的centos yum插件   主要有python-inipa ...

  7. JavaScript Date(日期) 对象

    日期对象用于处理日期和时间. 如何使用 Date() 方法获得当日的日期. getFullYear()使用 getFullYear() 获取年份. getTime()getTime() 返回从 197 ...

  8. opencv有关错误及解决办法

    1.载入图片时内存溢出情况,如图: 分析及解决办法:因为载入的图片太大,导致内存溢出.所以更换小一点的图片就行了. 2.

  9. 『重构--改善既有代码的设计』读书笔记----Extract Class

    在面向对象中,对于类这个概念我们应该有一个清晰的责任认识,就是每个类应该只有一个变化点,每个类的变化应该只受到单一的因素,即每个类应该只有一个明确的责任.当然了,说时容易做时难,很多人可能都会和我一样 ...

  10. 【转】linux 必须掌握的60个命令

    Linux必学的60个命令Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要 ...