Objective-C用workspace和cocoapods管

2023-10-11  本文已影响0人  下班不写程序

正常情况下, 每个workspace 只对应一个App project, 等项目庞大之后, 就出现了组件化开发, 一种方案是多组件开发, 只是通过runtime将一个项目拆分多个模块, 每个module只是代码的一个集合; 而另一种的就是一个主文件+多个project形式, 也就是单workspace管理多project. 今天就来介绍下第二种方式的使用, 其他的相关学习可参考:
CTMediator组件化
Swift用workspace和cocoapods管理多个project

1. 创建存放workspace 和 project 的文件夹

例: ocWorkspace

2. 构建一个workspace
构建一个workspace1
构建一个workspace2

如图选择构建一个WorkSpace,会生成,xcworkspace文件,一般创建完成后会自动打开WorkSpace工程。打开工程后,会发现什么都没有, 然后我们要添加各个工程(project)。

3. 创建并添加新工程
添加新工程
OC都以完整工程为例

同时一定要注意路径的选择!!!


路径选择
这个时候其实就可以运行aa项目了.
4. 再创建并添加新工程, 测试同时管理两个, 创建方式一模一样

或者想在当前worksapce内添加已经创建好的项目, 就在当前的workspace项目中右键->add file


添加已有项目

创建好之后, 可以选择不同项目分别运行, 都是ok的, 那两个项目之间如何相互引用呢?

5. 互相引用

如果要在项目aa中引用bb中的文件,则必须要修改路径,在aa的Build Settings 里找到Header Search Paths,添加一项SRCROOT)/../bb(也可以直接将文件夹bb拖到里面自动生成路径),并且设置为recursive。SRCROOT]是当前的工程路径,..是返回上一层,然后到bb文件夹。使用了相对路径,为了是项目移动不会影响这个配置,只要主工程和其他工程的相对位置不变,这里的相对位置是固定在同一个文件夹。


头文件路径配置
6. 使用

在aa中使用时, 需要引入头文件.m, 而不是.h, 这里需要注意


aa中如何使用
7. 使用cocoapods 管理

通过终端cd 到当前workspace 路径下
touch Podfile
编辑Podfile 文件

# 平台最低版本
platform :ios, '10.0'

use_frameworks!

# workspace文件名
workspace 'OCWorkspace.xcworkspace'

# 主工程路径
project 'aa/aa.xcodeproj’

target 'aa' do
    project 'aa/aa.xcodeproj’
    # 自己的引用
    # 也可以指定自己的platform
end

target 'bb' do
    project 'bb/bb.xcodeproj’
    pod 'Masonry'
end

pod install

8. project类型为framework 或者Library
这里以framework为例

一定要加入引用:aa项目-> target -> General ->Frameworks, Libraries, and Embedded Content -> 添加需要的SDK


添加引用

最后在aa的Header Search Paths 设置cc的路径即可。
引用需要的文件同样是.m的形式。

结语

路漫漫其修远兮,吾将上下而求索~

作者简书

作者掘金

作者GitHub

.End

上一篇下一篇

猜你喜欢

热点阅读