https://www.jianshu.com/p/f2bc7d155a86

阅读 7858

视频地址 如果文章不详细,点击看操作视频

 项目需求:代码抽层,业务逻辑和数据处理要高度抽离,模块化,需要将model 层 和 network层抽离出来。所以,就考虑建一个公共工程,每次新建项目,只是需要依赖这个工程就行了,代码的模块化之后我们可以对每一个模块持续优化集成,便于实现一些更加复杂的需求和结构设计。
思路设计:①MonkeyApp,用于存放公共的库。②MonkeyAppDemo用于写demo和示例。
具体步骤:
1、创建MonkeyApp工程,注意这里被依赖的工程要是Cocoa Static Library。
 
psb.png

2、创建MonkeyAppDemo工程。在MonkeyAppDemo上面右键,添加文件,选中MonkeyApp.xcodeproj,建立依赖关系。

 
1__#$!@%!#__psb.png

3、在MonkeyAppDemo里面import相关的类会出现找不到的error,会编译错误。需要进行下面的操作:

 
2__#$!@%!#__psb.png

4、编译一次还是有错误。还是编译还出现找不到相关的文件。这个时候可以判断的是,编译的结果没有能够正确的依赖,进行下面的步骤 ;添加target的依赖关系,保证编译MonkeyAppDemo的时候先编译MonkeyApp。选中MonkeyAppDemo Target,然后选中其Build phases选项,添加MonkeyApp target。

 5:如果需要引入MonkeyApp中的图片资源,需要copy file选项勾选

 6:存在category的时候,使用category会导致Crash解决办法是在Sample里面添加编译的命令
 
4__#$!@%!#__psb.png

7:最终效果,这样就可以完成model层和network层的抽层了。

 
5__#$!@%!#__psb.png

Xcode创建子工程以及工程依赖的更多相关文章

  1. iOS创建子工程

    实际开发中,我们可能会同时开发好几个端,比如楼主目前开发的家教平台,需要老师端,家长端,助教端三个端.有很多工具方法,或者封装的自定义控件都是可以复用的.我们就可以把公用的代码抽取出去,新建一个工程, ...

  2. springboot 创建子父工程

    1.创建子父工程 2.添加pom配置文件 2.1  父工程pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" ...

  3. eclipse创建多模块maven工程小结

    创建maven工程步骤 1 新建一个maven工程,如下图所示: 2 选择项目名称(或项目目录),如下图所示: 3 填写maven工程相关信息,注意父maven工程的packing方式是pom,如下图 ...

  4. maven项目 子父级工程。

    一 .什么是 maven 子父级工程? 建立一个maven项目,然后在该项目 下创建一个module,子级的maven,他继承于父级项目. 1.新建立 maven项目,file  ------new- ...

  5. 在Xcode5和Android Studio添加工程间的依赖

    正在编辑中,尚未完成 先看看ios的target是什么,请先参看http://www.cocoachina.com/bbs/read.php?tid-10884.html做个大概了解 这里有一篇文章, ...

  6. 创建springboot的聚合工程(一)

    比起传统复杂的单体工程,使用Maven的多模块配置,可以帮助项目划分模块,鼓励重用,防止POM变得过于庞大,方便某个模块的构建,而不用每次都构建整个项目,并且使得针对某个模块的特殊控制更为方便.接下来 ...

  7. MAVEN创建JAVA的Web工程

    maven命令:http://blog.csdn.net/edward0830ly/article/details/8748986 1.创建MAVEN的Web工程 mvn archetype:gene ...

  8. 解决myeclipse/eclipse创建或导入maven工程时引发的问题

    起因: 最近学习maven,按照教程把命令行创建的maven工程导入到eclipse/myeclipse,由于库中没有一些依赖包,所以在导入工程的时候开发工具自动下载依赖包.可是,由于天朝特殊环境的问 ...

  9. maven创建分model的工程

    创建parentmvn archetype:generate -DgroupId=com.hikvision -DartifactId=aocp-parent -DarchetypeArtifactI ...

随机推荐

  1. python之路之网络基础

    c类地址

  2. 题解【洛谷P1407】 [国家集训队]稳定婚姻

    题面 题解 很好的\(Tarjan\)练习题. 主要讲一下如何建图. 先用\(STL \ map\)把每个人的名字映射成数字. 输入第\(i\)对夫妻时把女性映射成\(i\),把男性映射成\(i+n\ ...

  3. AJAX-状态属性

    XMLHttpRequest对象的readyState属性 作用:表示xhr对象的请求状态 值:由0到4表示5个状态 0:请求尚未初始化 1:已经打开到WEB服务器的连接,正在向服务器发送请求 2:请 ...

  4. C++泛型算法总结

    1 accumulate(b,e,T) 累和(基础和为T) 注意T的类型必须和序列中元素类型相同,如double序列后面的T就必须是0.0,如果是0就会把序列中的数当成int进行求和 2 count( ...

  5. Java实现Word/Pdf/TXT转html

    引言: 最近公司在做一个教育培训学习及在线考试的项目,本人主要从事网络课程模块,主要做课程分类,课程,课件的创建及在线学习和统计的功能,因为课件涉及到多种类型,像视频,音频,图文,外部链接及文档类型. ...

  6. 如何对字符串进行码表替换转码--加密encode

      # encoding:utf-8 import base64 from string import maketrans OLD_STR = "ABCDEFGHIJKLMNOPQRSTUV ...

  7. java学生成绩管理系统

                                                       信1805-1 20183590 田庆辉             石家庄铁道大学 2019 年秋季 ...

  8. 概率dp poj 3071

    题目首先给出一个n,表示比赛一共进行n轮,那么队伍就有2^n只队伍输入一个2^n*2^n的矩阵,p[i][j]代表队伍i打败队伍j的概率dp[i][j]代表第i轮比赛的时候,队伍j赢的概率首先初始化时 ...

  9. argument

    js中arguments的用法   了解arguments这个对象之前先来认识一下javascript的一些功能: 其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载 ...

  10. Spring AOP编程(二)-AOP实现的三种方式

    AOP的实现有三种方式: l         aop底层将采用代理机制进行实现. l         接口 + 实现类 :spring采用 jdk 的动态代理Proxy. l         实现类: ...