一般的某个应用单独新建一个 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. [Xcode 实际操作]一、博主领进门-(3)使用资源文件夹(Assets.xcassets)导入并管理图片素材

    目录:[Swift]Xcode实际操作 本文将演示如何使用资源文件夹(Assets.xcassets)导入并管理图片素材. [Assets.xcassets]资源文件夹可以方便的进行图片的管理, 在读 ...

  2. Faster_Rcnn在windows下运行踩坑总结

    Faster_Rcnn在windows下运行踩坑总结  20190524 今天又是元气满满的一天! 1.代码下载 2.编译 3.下载数据集 4.下载pre-train Model 5.运行train ...

  3. 嵌入式C语言模块编写

    C 语言源文件 *.c 理想的模块化应该可以看成是一个黑盒子.即我们只关心模块提供的功能,而不管模块内部的实现细节.在大规模程序开发中,一个程序由很多个模块组成,这些模块的编写任务被分配到不同的人,编 ...

  4. 转 Vlan

    1.支持VLAN的交换机一定是三层交换机吗?2.Trunk配置了就可以VLAN间通信吗?3.Trunk具体怎么工作的?4.VLAN间的通信到底是怎么执行的?如果说给若干个纯二层环境加上若干个路由器,我 ...

  5. ACM2017Tsukuba:H - Homework

    第一问求最多,不需要区分数学作业和信息作业,直接模拟就行了 第二问考虑每天只能产生1的贡献,每天拆成两个点,限制每天只能有1的贡献,剩下的源点连数学作业,信息作业连汇点,再将数学作业和信息作业连能连的 ...

  6. vue 脚手架 图片预加载

    $('.back-img').onload =function(){ var img =new Image(); img.src = '../assets/dt-bj.png'; } 该组件内的图片加 ...

  7. PostgreSQL-9-别名与动态表复制

    1.列别名 SELECT column_name AS alias_name FROM table_name conditions...  ; alias_name: 它指定分配给列的临时名称 SEL ...

  8. canvas常用画法整理

    代码Canvas.htm <!DOCTYPE html> <html lang="en"> <head> <title>canvas ...

  9. C# 面向对象之封装

    封装是指将类的内部数据隐藏起来不让对象实例直接对其操作,C#中提供了属性机制来对类内部的状态进行操作. 在C#中封装可以通过public.private.protected和internal等关键字来 ...

  10. ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined) D

    Moriarty has trapped n people in n distinct rooms in a hotel. Some rooms are locked, others are unlo ...