Xcode 子工程的正确使用姿势是啥?

2017-07-03 16:25:13 +08:00
 chipmuck

原因:

公司业务辐射,导致公司的 iOS 项目需要接入更多不同的公司业务,加上团队的人员的不断增加,所以也要调整项目的架构。

计划:

目前打算在主工程中采用路由进行调用模块,将模块和模块之间解耦,并把模块单独作为一个子工程。

问题:

有没有有经验的同学说一下,其中的注意点和使用姿势?

4792 次点击
所在节点    iDev
10 条回复
GaoMjun
2017-07-03 18:47:25 +08:00
cocopods 貌似就是这样
jamescheng
2017-07-03 20:10:58 +08:00
可以尝试组件化开发
letuslinux
2017-07-03 20:50:16 +08:00
用 cocopods 分模块 route,很容易
lldong
2017-07-03 21:00:21 +08:00
简单点弄就是建立一个 target 静态库的子工程,拖子工程 .xcodeproj 到主工程中,然后 Build Phases 中添加静态库 target 到 Target Dependencies 和 Link Binary With Libraries 中,注意子工程的 deployment target 和主工程设置一样的系统版本,C++ 标准库版本一致,最后配置主工程的 Header Search Path 到子工程目录下,Other Linker Flags 添加 -ObjC 避免子工程 Category 没加载。使用时可以用依赖注入之类方法解耦,尽量避免双向依赖~ 暂时想到这些
chipmuck
2017-07-03 21:08:20 +08:00
@GaoMjun
@jamescheng

cocoapods 我们打算弄个私有 repo,然后放一些基础层(网络、存储等)这种不用经常维护的东西;其余业务用子工程完成。
chipmuck
2017-07-03 21:09:25 +08:00
@lldong 跟我想的大体相同。

不过碰到了 bundle 的一些问题。
HuangLibo
2017-07-04 09:41:07 +08:00
用子工程就是 manual 方式的集成, 不推荐. 还是老老实实用包管理吧
zichen0422
2017-07-04 09:49:38 +08:00
cocopods, + 组件化, 你值得拥有
chipmuck
2017-07-04 10:19:13 +08:00
@jamescheng
@zichen0422

组件化能具体说说嘛?
rainex
2017-07-12 21:26:34 +08:00
不同模块做成库,然后被调用。

拿 win 下软件做个例子,各个功能和业务做成动态链接库 dll,然后主 exe 调用,当然你也可以把动态库做成 lib 静态库链接编译进去,一般是提倡动态链接的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/372709

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX