V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
? http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
? http://www.cocos2d-iphone.org/
CocoaPods
? http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
? http://code.google.com/mobile/analytics/
WWDC
? https://developer.apple.com/wwdc/
Design Guides and Resources
? https://developer.apple.com/design/
Transcripts of WWDC sessions
? http://asciiwwdc.com
Cocoa with Love
? http://cocoawithlove.com/
Cocoa Dev Central
? http://cocoadevcentral.com/
NSHipster
? http://nshipster.com/
Style Guides
? Google Objective-C Style Guide
? NYTimes Objective-C Style Guide
Useful Tools and Services
? Charles Web Debugging Proxy
? Smore
chipmuck
V2EX  ?  iDev

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

  •  
  •   chipmuck · 2017-07-03 16:25:13 +08:00 · 4806 次点击
    这是一个创建于 2502 天前的主题,其中的信息可能已经有所发展或是发生改变。

    腾讯云最新优惠活动来了:云产品限时1折,云服务器低至88元/年 ,点击这里立即抢购:9i0i.cn/qcloud,更有2860元代金券免费领取,付款直接抵现金用,点击这里立即领取:9i0i.cn/qcloudquan

    (福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

    原因:

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

    计划:

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

    问题:

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

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

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

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

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

    拿 win 下软件做个例子,各个功能和业务做成动态链接库 dll,然后主 exe 调用,当然你也可以把动态库做成 lib 静态库链接编译进去,一般是提倡动态链接的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5619 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 1655ms · UTC 05:53 · PVG 13:53 · LAX 22:53 · JFK 01:53
    Developed with CodeLauncher
    ? Do have faith in what you're doing.


    http://www.vxiaotou.com