xcode4的workspace里各lib工程与app工程联编之runscript简介
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简介的更多相关文章
- xcode4的环境变量,Build Settings参数,workspace及联编设置
转自:http://www.cnblogs.com/lancidie/archive/2013/04/08/3007566.html 一.xcode4中的环境变量 $(BUILT_PRODUCTS_D ...
- eclipse里将java工程改web工程
转自:http://blog.csdn.net/heirenheiren/article/details/8488245 把一个普通的eclipse项目转成web项目 1. 编辑工程的.projec ...
- 对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错。
对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错.步骤如下: 右键新的工程---&g ...
- xcode 环境,多工程联编设置【转】
http://blog.csdn.net/vienna_zj/article/details/8467522 一.xcode4中的环境变量 $(BUILT_PRODUCTS_DIR) build成功后 ...
- 关于eclipse导工程或移植工程常碰到的错误汇总
在开发过程中,eclipse是使用得最多的IDE,但由于其开源且免费的性质决定了其不然有很多的BUG,在项目很赶的时期碰到某些很恶的错误很浪费时间,也很让人郁闷,现我总结一下我碰到的错误并总结下对 ...
- 多工程联编,cocopods的使用
最近在使用coco2d-x, 想要使用 cocopods,发现我的目录结构如下图 发现我有三个工程文件, 那么 就需要多工程联编使用cocopods, workspace 'xcworkspace' ...
- 使用Pods和自定义静态库实现多工程联编
使用Pods和自定义静态库实现多工程联编 字数607 阅读112 评论0 喜欢0 近来随着公司项目开发的深入,项目的规范也就越来越高了,为了更加方便的管理自定义静态库与pods之间的联系,好好的研究了 ...
- 多工程联编的Pods如何设置
多工程联编的Pods如何设置 (2014-07-17 13:57:10) 转载▼ 标签: 联编 多工程 分类: iOS开发 如今,CocoaPods使用越来越多,几乎每个项目都会使用到.有时候我们的项 ...
- 如何实现在H5里调起高德地图APP?(上)
这一篇文章,将讲述如何在H5里调起高德地图APP,并展示兴趣点.适合于展示某个餐馆,商场等,让用户自行选择前往方式. 场景一.在高德地图上展示Marker点或者POI标记 在一些基于位置分享的应用开发 ...
随机推荐
- SQL Server Management Studio 使用作业实现数据库备份
1.数数据库备份脚本: 数据库备份:DECLARE @BcpFile VARCHAR(30),@SQLBACKUP VARCHAR(1000),@BcpFullFile VARCHAR(100) SE ...
- GoogleAuthenticator
<?php /** * PHP Class for handling Google Authenticator 2-factor authentication * * @author Micha ...
- 371. Sum of Two Integers -- Avota
问题描述: Calculate the sum of two integers a and b, but you are not allowed to use the operator + and - ...
- css样式积累
1.圆角: border-radius:16px 16px 16px 16px; 2透明度: filter: alpha(opacity=80); ...
- 一个小白对Arguments的理解
1.Arguments是一个类似数组的实参队列,译为:论据,论点,姑且译作参数(实参): 2.Arguments与形参保持不同的存储空间,只有当形参被赋值之后两者才会相等 3.传说在严格模式下函数内自 ...
- 反射给对象赋值遇到的问题——类型转换[转http://blog.csdn.net/xiaohan2826/article/details/8536074]
发布时间:2012-10-25 10:49浏览次数:225 给一个对象属性赋值可以通过PropertyInfo.SetValue()方式进行赋值,但要注意值的类型要与属性保持一致. 创建对象实例的 ...
- Bootstrap_Javascript_选项卡
选项卡Tabs是Web中一种非常常用的功能.用户点击或悬浮对应的菜单项,能切换出对应的内容. 一 . 结构分析 Bootstrap框架中的选项卡主要有两部分内容组成: 选项卡组件(也就是菜单组件),对 ...
- JS 导出图片,toDataURL
//输出图片 function exportCanvasAsPNG(id, fileName) { //获取canvas元素 var canvasElement = document.getEleme ...
- nginx——rewrite模块
1.什么是Nginx的Rewrite规则? Rewrite主要的功能就是实现URL的重写,Nginx的Rewrite规则采用PCRE(Perl Compatible Regular Expressio ...
- 练习2 A - ASCII码排序
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 输入三 ...