iOS创建多工程并且相互引用

业务需求模拟

公司需要开发一款学习类的app,针对不同的用户层级开放两个用户端:学生端、老师端。

项目分析

方法一(普通版)
新建俩个项目,一个是学生app,老师app
在开发的过程中,你会发现这俩个app有很多公共的模块,比如登录模块,用户中心模块.........
当你在学生端写完登录模块的时候,然后手动拷贝登录模块的代码到老师端,接着进行开发

-----来自菜鸟的阐述


方法二(改进版)
新建俩个项目,一个是学生app,老师app
把公共的模块组件化,在学生app,老师app分别我pod引用,省略了手动拷贝的操作。当公共组件更新的时候,分别在两个app项目端进行更新。

-----来自不那么菜的菜鸟的阐述


方法三(进阶版)
新建一个工作组workspace,在这个工作组上面新增学生project和老师project,两个工程公用一个工作组。同时工作组pod公共组件,俩project公用一套公共模块,这样可以及时更新。

-----来自具有逼格的老鸟的阐述


项目启动

方法一就不多做介绍了,

方法二中提及的公共组件的封装,欢迎去看我上一篇文章提到的公共组件封装的文章,以下是连接:
公共组件的封装

如果你已经看完了方法二中提及的文章,下面开始进行方法三的具体操作了。

1.创建工作组workspace

本地创建一个“MyProject”的文件夹
接着打开Xcode,File->New->Workspace

创建在“MyProject”的文件目录下,保存。

image.png

打开MyWorkspace工作组

image.png

打开之后你会发现是一个空的工作台


image.png

再接着让我们来创建两个用户端吧。
File->New->Project

image.png

保存在myworkspace工作组下

image.png

此时你会发现工作台下面有一个“StudentProject”的项目了


image.png

现在我们来看下项目结构

image.png

再接着创建“TeacherProject”
步骤如上,保存路径的时候 注意


image.png

创建之后 我们再来看看工作台

image.png

大功告成
一个工作台下面包含了两个工程。

image.png

将自制公共组件和第三方SDK导入项目中,俩工程都能调用公共组件模块和第三方SDK

首先打开终端,cd到“MyProject”目录下,创建Podfile文件


image.png

接着输入

source 'https://github.com/jiangxiaobin1011/JSpecs.git'    //自制组件库索引
source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '9.0'   
workspace 'MyWorkspace.xcworkspace'    //工作台路径
project 'StudentProject/StudentProject.xcodeproj'     //主工程路径

def commonPods
     pod 'AFNetworking', '~> 3.1.0'        //共有第三方库申明
end

target 'StudentProject' do
  project 'StudentProject/StudentProject.xcodeproj'
  pod 'Masonry', '~> 1.0.2'   
  commonPods             
  pod 'JCategoryKit'      //自制组件库引用
end

target 'TeacherProject' do
  project 'TeacherProject/TeacherProject.xcodeproj'
  commonPods     
end

ps:拷贝的时候记得删掉“//+提示内容” ,不然pod识别不了

好了 接下来打开myworkspace

image.png

想要引用pod里的文件,记得在工程 buildsetting的user headr里面添加“$(PODS_ROOT)”

image.png

进阶:

尽量让两个工程不要互相依赖,互相解耦,这样的话 其中任何一个项目都能作为一个独立的项目隔离出来。也就是所谓的工程组件化

关于工程组件化的思想 推荐大家去看这篇文章

工程组件化

完结撒花,此处应该有掌声💐🌹👏

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 接着上篇文章"Swift/Objective-C-使用Cocoapods创建/管理私有库(初中级用法)"的探索之路...
    sky_storming阅读 12,243评论 4 41
  • (❁´`❁)*✲゚*仪式感。。。。。。。。。。。将要看的书,完成的任务摆在桌上,或者写在纸上,严肃的心里或行动来个...
    西瓜米阅读 2,325评论 0 0
  • 刘钴笩:黄金投资初学者的正确姿势 1、控制情绪——投资者必须心平气和,控制自己的情绪,对于市场突如其来的变化,必须...
    刘钴笩阅读 1,760评论 0 0
  • “如果说你在见我之前还有六条命,那么,你现在只剩五条命了。” “医生,您这话,几个意思啊?” “家属呢?” “您告...
    Vray成风阅读 1,706评论 0 4
  • 温柔的人大多都是这样诞生的,他们亲身经历了许许多多的难过后,决定让其他人不要再像自己这般难过,这份血淋淋的体贴...
    YuShi_阅读 4,101评论 13 4

友情链接更多精彩内容