Xcode里面是可以同时存在多个工程的。可以通过存放在同一个工作空间来实现同一个Xcode页面存在多个工程,也就是有多个xcodeproj。如下图所示。

这样不仅可以方便管理几个相似功能的工程,更重要的是,可以实现多工程联编。

接下来我们会做一个多工程的Demo

  1. 建立一个工作空间MyWorkspace。
  2. 使用方法一建立一个普通的Xcode工程MyApp1添加到MyWorkspace。
  3. 使用方法二建立一个普通的Xcode工程MyApp2添加到MyWorkspace。
  4. 建立一个SDK工程MySDK添加到MyWorkspace。实现联编。

1.建立一个工作空间MyWorkspace

Xcode里面,建立一个工作空间。File->New->Workspace,命名为Myworkspace,存放在文件夹MyWorkspace中(名字都是可以随便命名的)。

这样我们就建立了一个空的工作空间。然后我们就可以往这个工作空间中加入几个Xcode工程。

2. 使用方法一建立一个普通的Xcode工程MyApp1添加到MyWorkspace

File->New->Project 新建一个名为MyApp1的app工程文件。为了便于管理,我们把他放在MyWorkspace文件夹中。创建完成后 在工作空间的Xcode工程中,File->Add File To "MyWorkplace",选中刚才创建的MyApp1工程。这样MyApp1工程就添加到了MyWorkplace中了。

3. 使用方法二建立一个普通的Xcode工程MyApp2添加到MyWorkspace。

我们用另外一种方法添加一个工程到MyWorkplace工作空间中。 File->New->Project 新建一个名为MyApp2的app工程文件。在存放工程的界面中,将下面的Add to : 选择成MyWorkspace。这样MyApp2工程就添加到了MyWorkplace中。到此,我们就可以在一个Xcode的界面中同时管理两个工程了。

4. 建立一个SDK工程MySDK添加到MyWorkspace。实现联编。

但是多工程使用的精髓并不在这里,而在于两个工程连编。 我们新建一个名为MySDK的.a库。然后将这个MySDK工程添加到MyWorkplace,来实现MyApp2与MySDK联调。 File->New->Project->选择Static Library ,按照方法二添加到MyWorkspace。然后在MySDK里面创建一个sayHello类方法。在方法中打一个断点。将.a库拉到MyApp2里面。在ViewController里面调用sayHello方法。执行之后,断点就会停在MySDK工程中的里面。这样就可以在两个工程进行调试了。

关于静态库的相关知识和设置,可以查看简书上的这篇文章,写得非常好。点我飞去了解静态库

【iOS开发】在一个Xcode页面建立多个工程相关推荐

  1. iOS开发UI篇—IOS开发中Xcode的一些使用技巧

    iOS开发UI篇-IOS开发中Xcode的一些使用技巧 一.快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n     新建项目 cmd + n             新建文 ...

  2. iOS开发 - Xcode如何更换iPhone或iPad模拟器的类型

    iOS开发 -Xcode如何更换iPhone或iPad模拟器的类型 在菜单中选择Project --> Set Active Executable --> iPhone Simulator ...

  3. iOS开发:xcode无法选择设备和corner stone如何过滤上传文件

    今天开发遇到一个问题,丛svn checkout的项目,xcode竟然把它识别成Mac工程了,target在Xcode上的device选项竟然只有My Mac,无法选择iphone. 用电脑打开其他工 ...

  4. 转:IOS开发之----Xcode非ARC项目中设置部分文件ARC支持

    ARC是什么 ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting).简单地说,就是代码中自动加入了retain/release,原先需要手动添加的 ...

  5. iOS开发除了XCode还需要掌握的8个重要工具,让您开发更容易

    在我的开发人员生活中,我搜索了可以在开发过程中帮助我的工具,并在本文中为您收集了我喜欢的工具. 1.Sherlock. 在大型项目中,xCode 设计过程对我们来说是不够的.Sherlock在开发过程 ...

  6. IOS开发环境 Xcode 下载 安装

    官网下载地址 找到mac 系统对应的 Xcode 版本 嫌麻烦直接百度,但别人写的不一定对就是 然后下载对应Xcode版本 下载完成后 解压,然后双击就行了: 点击Agree 安装:安装成功弹出:

  7. iOS开发- 使用fui(Find Unused Imports)扫描工程中不用的类

    为了给APP提速,需要定期清理不用的类 fui(Find Unused Imports)是开源项目能很好的分析出不再使用的类,准确率非常高,唯一的问题是它处理不了动态库和静态库里提供的类,也处理不了C ...

  8. iOS开发 使用fui(Find Unused Imports)扫描工程中不用的类

    为了给APP提速,需要定期清理不用的类 fui(Find Unused Imports)是开源项目能很好的分析出不再使用的类,准确率非常高,唯一的问题是它处理不了动态库和静态库里提供的类,也处理不了C ...

  9. 【iOS 开发】Objective-C 入门 Xcode 环境详解

    作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38424965 一. Xcode 环境安装 与 工程创建 1. ...

最新文章

  1. import export php,import与export在node.js中的使用方法
  2. DPM(Deformable Parts Model)--原理(一)
  3. 【转】DICOM网络协议(一)概述
  4. (2)Linux进程调度器-CPU负载
  5. GUID基本概念以及C#、SqlServer中GUID基本用法
  6. python 3.6 安装 win32 win32com模块
  7. 智慧农业:农业物联网实施方案
  8. linux u盘读取速度,[操作系统]linux dd命令测试U盘读写速度
  9. 全国计算机等级考试二级教程--python语言程序设计(2018年版)第七章:数据组织的维度
  10. 日志打印、main函数中代码执行顺序
  11. linux 关闭桌面特效,[多图] Ubuntu 中开启3D桌面特效与设置方法
  12. 软件能力成熟度模型(Capabilitymaturity model,CMM)
  13. 【MySQL】MySQL复制技术
  14. 表格的背景图片怎么弄HTML,HTML中新建表格怎么加背景
  15. 百度地图 - 绘制海量点
  16. 使用 golang gopacket 实现进程级流量监控
  17. 英特尔OpenVINO使用入门(C++集成方式)
  18. Base58原理及代码
  19. C语言大作业小学生数学检测系统,小学数学测试系统C语言设计.doc
  20. linux0.11-文件系统

热门文章

  1. Hadoop阅读笔记(一)——强大的MapReduce
  2. Inheritance vs. Composition in Java
  3. 在SIP对讲机中RTP/RTCP的实现
  4. J2EE远程调试,远程debug你的线上Springboot项目
  5. Liferay7 BPM门户开发之24: Liferay7应用程序安全
  6. I00012 打印三位数的水仙花数及其个数
  7. Linux内核启动:setup_arch
  8. .Net 让网页列表的前3条显示New图标
  9. WCF中如何修改MaxItemsInObjectGraph的限制
  10. Intelli IDEA快捷键(配合IdeaVim)