技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 系统架构 --> 如何做Xcode工程的工程化管理

如何做Xcode工程的工程化管理

浏览:2029次  出处信息

   有感于我厂某iOS项目的开发管理混乱,所以这里说一下我这边对Xcode工程的一些管理经验

  • 如果开发人数很多,且负责不同的部分和组件的话,可以用子Project的方式或者Workspace+多个Project的方式来分割功能和组件

  •    由于project.pbxproj这个文件很容易发生冲突(比如新增文件,删除文件,改变Build Setting等都会改变这个文件),且很难合并冲突,那么采用多Project的方式可以降低project.pbxproj冲突的机会,而一些公用的代码或组件也可以放在一个Project中,然后其他Project来依赖这个公用的Project就可以搞定了

  • 使用CocoaPods管理第三方的组件和类库

  •    至于什么是CocoaPods,可以看这篇文章 http://blog.zephyrleaves.net/?p=712

       使用CocoaPods可以极大减少对依赖包的管理成本,现在AppCode 2.5已经开始原生支持CocoaPods了,Xcode上也有对CocosPods的支持插件 https://github.com/ricobeck/KFCocoaPodsPlugin

  • 对于需要打出不同渠道或不同测试环境的包,可以通过Build Configuration来进行区分

  •    在Xcode项目->Project->Info->Configurations下面可以点+号添加自定义的Build Configuration(默认只有Release和Debug),然后针对不同的渠道和环境配置不同的Build Setting,当然一些渠道的配置也可以走XCCONFIG的方式进行配置,不过我还是建议走Build Configuration,因为这样很容易配置Scheme

  • 用Scheme来配置打包对应的Build Configuration 以及 执行 对应的 Build Configuration

  •    由于不同渠道和环境通过Build Configuration来进行区分配置,那么执行和打包的入口就需要由Scheme来进行管理,特别是在使用CocoaPods管理的情况下,整个工程是用workspace来进行管理的 ,这个时候使用xcodebuild的时候就必须指定Scheme了

       在Manage Schemes下面,可以创建多个Scheme(默认应该有一个对应Target的一个Scheme),在Edit Scheme里面可以设置不同Action(Run/Test/Profile/Analyze/Archive)对应的Build Configuration是啥,我这边是一个Build Configuration对于一个Scheme,这样很方便

       由于Scheme都是放在个人的userdata下面的,所以在Manage Schemes下面对Scheme选中Shared,那么这些Scheme就可以被共享给团队的其他成员看到并使用了

  • 使用xcodebuild命令打包

  •    由于一般情况下可能需要对多个渠道打出多个app包,如果对每个渠道都先clean在archive需要多个操作,实际上如上有配置对应渠道的Scheme后,可以用xcodebuild命令一次打出过个包来,比如:

    xcodebuild -workspace XXX.xcworkspace -scheme XXX clean archive 
    xcodebuild -workspace XXX.xcworkspace -scheme XXX_91 clean archive
    

       写这样一个shell,就可以一次打出2个archive了

       OK,上面这些都是我管理Xcode工程的一些经验,如果大家有更好的一些实践的话,都可以来告诉我哦


建议继续学习:

  1. 技术人员的未来:做技术还是做管理?    (阅读:7758)
  2. 为什么招不到人    (阅读:6150)
  3. 领导需要比下属更懂技术吗?    (阅读:5291)
  4. 软件公司的两种管理方式    (阅读:4517)
  5. robbin谈管理:大公司体制内创新的困境    (阅读:3726)
  6. 如何管理程序猿    (阅读:3765)
  7. 一个小公司老板的日常管理,希望能让创业的朋友学到    (阅读:3301)
  8. 职业素养:如何管理好你的上级    (阅读:3252)
  9. 一个程序员的管理思考    (阅读:3083)
  10. IoC/DIP其实是一种管理思想    (阅读:2953)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1