一般的某个应用单独新建一个 project 就可以了,然后把所有的程序文件都放在里面,这个可以满足大部分普通的需求,但是有时候,项目有可能要使用其他的项目文件,或者引入其他的静态库文件,这个时候 workspace 就派上用场了,workspace 即可以单独管理多个项目,又可以通过配置,让各个项目相互依赖,如果不用 workspace,以前的做法是如果用到其他项目的文件,要手动 copy 文件到当前的项目,在 workspace 里这个步骤不需要了。
下面是我自己的例子 ,现在用 workspace 管理2个 project,其中一个是 static library: MyStaticLib,另外一个是依赖这个静态库的 project:  MyUseStatic,菜单 xocde4 > file > New Workspace 新建一个空的workspace,名字可以随便取。

在左边 project navigator 右键菜单 New Project ,然后选择 Ios > Framework & Library > Cocoa Touch Static Library , 然后输入项目名称 MyStaticLib,这样就新建了一个空白的静态库项目,接着新建个类文件,名字为 MyLib, 选中 MyLib.h头文件,打开右边的 File inspector 窗口,在 Target membership 中将 MyStaticLib 后面的 project改成 public 。

在左边的 project navigator 右键菜单 New Project ,然后选择 Ios > Application > Window-based Application,然后输入项目名称 MyUseStatic,下面配置让它依赖 MyStaticLib,打开 Build Phases配置选项 然后展开 Link Binary With Libraries ,点击 + 会看到 Workspace > libMyStaticLib.a ,选中它,就让此项目产生了对 MyStaticLib的依赖关系,然后在 Build S Setting配置选项里 搜索 USER_HEADER_SEARCH_PATHS,将它的值设为 MyStaticLib 的build prouect 路径,在import静态库中的新文件时,会到这个路径中寻找。

现在编译  MyUseStatic 会自动先编译依赖的 MyStaticLib。

使用xcode workspace 多个project协同工作的更多相关文章

  1. [转]使用xcode4 workspace 多个project协同工作

    转载地址:http://erlangprogram.com/use-xcode4-workspace   一般的某个应用单独新建一个 project 就可以了,然后把所有的程序文件都放在里面,这个可以 ...

  2. 使用Xcode改动iOS项目project名和路径名

    对,好.错.改正. ------ 前言 系统 10.9 开发平台 xcode 5.0 旧project名 MyProject-iPad 改动之后 新project名 FjSk-iPad 点击项目,进入 ...

  3. 聊聊 Xcode 项目文件中的 project.pbxproj

    project.pbxproj 文件被包含于 Xcode 工程文件 *.xcodeproj 之中,存储着 Xcode 工程的各项配置参数.它本质上是一种旧风格的 Property List 文件,历史 ...

  4. XCode: Target Settings和Project Settings的区别

    一个XCode project包含了两种设置:Project Settings 和 Target Settings. 它们之间的主要区别在于:Project settings应用于project里面的 ...

  5. Project Navigator Help: Creating a Workspace in Xcode

    Creating a Workspace Start a multiproduct development endeavor by creating a workspace. 1.Choose Fil ...

  6. Xcode 编辑器之Workspace,Project,Scheme,Target

    一,前言 最近老是突然对Workspace,Project,Scheme,Target四者的关系有些疑惑,所以查阅资料总结一下. 二,Workspace,Project,Scheme,Target四者 ...

  7. Xcode相关概念:Target、Project、Scheme、Workspace

    创建并编译Xcode工程时,有几个常用概念想在这里记一下. Xcode Target: 定义:A target defines a single product; .... 理解:输出文件,等同于VS ...

  8. Project、Target、Workspace and Scheme

    前言 今天有人问我Target和Project是什么关系?额...学习iOS开发都知道Target和Project的关系.这里我就简单的做了一个总结,而且加入的Scheme和Workspace.如果不 ...

  9. Differences Between Xcode Project Templates for iOS Apps

    Differences Between Xcode Project Templates for iOS Apps When you create a new iOS app project in Xc ...

随机推荐

  1. IT兄弟连 JavaWeb教程 Servlet会话跟踪 设置Session存活时长

    方式一:修改所有的session默认时长,修改tomcat目录下的conf文件夹下的web.xml文件. <session-config> <session-timeout>希 ...

  2. 01 | VIM基础攻略

    启动 vim 后,vim 处于 normal 模式. Step One: "i" -> insert 模式, ESC -> normal 模式: "x&quo ...

  3. js监听键盘提交表单

    <!DOCTYPE html> <html> <head> <title>登陆系统</title> <link href=" ...

  4. Eclipse - lombok的@Slf4j和@Data无效

    问题与分析 最近开始学习spring-boot框架,我用的是Eclipse,然后发现在使用到了lombok的@Data注解时,Eclipse会编译错误.@Data的作用是自动生成toString方法和 ...

  5. IP服务-3-DHCP

    DHCP代表了动态IP地址分配的下一阶段.DHCP建立在BOOTP协议格式的基础上,专注于动态分配多种信息,以及为未来的扩展提供灵活的消息结构,并且无需预先定义每个客户端的MAC地址.DHCP提供的功 ...

  6. python入门之实例-验证码

    需求: 随机生成6位的验证码,要求有字母和数字 import random temp = "" for i in range(6): j = random.randrange(0, ...

  7. 由Reference展开的学习

    在阅读Thinking in Java的Containers in depth一章中的Holding references时,提到了一个工具包java.lang.ref,说这是个为Java垃圾回收提供 ...

  8. 梳理一下我理解的aop

    在看了很多网上的资料和记录之后,我大概捋了下SpringAOP的各种阶段: 基本的advice编程,利用ProxyFactory拿代理类 利用spring把ProxyFactory,advice等be ...

  9. Django 使用allauth报错

    一:报错 RuntimeError: Model class django.contrib.sites.models.Site doesn't declare an explicit app_labe ...

  10. [android][windows][使用HAXM加速模拟器][不使用SDK manager]

    网上找到了来使用HAXM,可惜我在sdk manager上下载不了,也使用过勾上[fetching...]那个选项,依然无效. 所以自己手动下载来安装和使用. 具体的教程可以参考http://blog ...