排列5走势图首页    注册   登录
排列5走势图 = way to explore
排列5走势图 是一个排列5走势图关于 分享和探索的地方
现在注册
已注册用户请  登录
宝塔
排列5走势图  ›  iOS

请教 xcode 里面该怎么样建 ios 项目,避免重复劳动易于管理

  •  
  •   xiangyuecn · 122 天前 · 982 次点击
    这是一个创建于 122 天前的主题,其中的信息可能已经有所发展或是发生改变。

    新入手 ios 开发,看了几天 swift 入门文档,现在不知道要怎么样建项目结构才合适:

    1. 最终开发出来的多个 app,98%的代码是相同的,本质上就一些配置、图标不同而已。
    2. 通用的公共代码,比如:时间日期格式化、文件读写等,最好独立出来,方便以后别的项目使用。
    3. 本着眼不见为净的原则,第三方 sdk 之类的都统一到一个不碍眼的地方,便于统一管理,不要和自己的代码、库混放到一起(大部分第三方,还是搞成第 2 条这种公共代码为好,方便别的项目使用,比如:分享、支付)。

    昨天研究了一天,对于第 1 条:建一个主工程里面用多个 target 能够解决,也算完美。

    那么对于第 2、3 条,研究了一天只研究出两种方案,可行性未知:

    A. 建一个工程,里面用 group 对不同性质的功能进行分组(文件夹),公共代码用 XXXComm 文件夹内、第三方都扔到 XXXSDKs 文件夹内

    B. 建三个工程,一个主工程,一个公共的 Framework,一个第三方 sdk 垃圾桶 Framework (目前 Android 里面采用的类似的做法,分成多个 Module )

    0. 有其他更好的建立方案?

    准备今天就要开始写点代码,希望前期把代码库整好看点,方便维护。以前看别人写的 oc 代码都复制黏贴的一坨一坨的,改一个通用功能,要改好几个工程的源码,太可怕了。。。特此请教 v 友大佬,传授点经验😊🤞

    9 回复  |  直到 2019-07-20 15:16:04 +08:00
        1
    greenlake   122 天前 via iPhone   ♥ 1
    sdk 不需要自己打理的,用 pod 阿,基本结构 mvc,model, view, controller, service 各一个目录,当然之后熟了可以玩 mvvm
        2
    xiangyuecn   122 天前
    @greenlake 感谢回复,用不用 CocoaPods、MVVM 这些都是次要的,CocoaPods 能解决第 3 条问题,但对第 2 条自己的公共源码的排列5走势图组织 上并没有排列5走势图帮助 ,比如:时间日期格式化的共用排列5走势图方法 。刚才又研究了半天,B 排列5走势图方法 可能好点,以后别的项目里面用也会方便些吧
        3
    zongren   122 天前   ♥ 1
    公共代码打包成 framework,用 carthage
        4
    xiangyuecn   122 天前
    @zongren 好的,排列5走势图我 研究一下 carthage
        5
    CSwater   122 天前 via iPhone   ♥ 1
    1. 新建一个以 framework 为 target 的项目, 独立 git 管理, 将相关代码放进去.
    2. 使用 workspace 将 framework 项目和主项目关联起来, 并将 framework embed 到主项目中去.

    这是排列5走势图我 当前见到的最佳实践了.
    1. 工程独立, 独立的 framework 项目, 还能添加 Demo 工程独立于主工程进行测试.
    2. 便于修改, 代码变动的时候, 可以即刻更新, 无需重新发布版本.
    3. 易于调试, 断点能够断到 framework 项目相关代码.

    需要注意的地方:
    1. 可访问修饰符的配置.
    2. 静态 /动态 framework 配置的选择

    至于 Carthage / CocoaPod 之类的, 等代码稳定下来之后再搞.
        6
    xiangyuecn   122 天前
    @CSwater 感谢🤞🤞🤞,排列5走势图我 深入研究一下 framework
        7
    Google404   122 天前
    排列5走势图你 参考下 pod lib create 这个命令. 复制了里面的模板工程.
        8
    pipasese   122 天前
    排列5走势图我 理解排列5走势图你 说的应该就是组件化,排列5走势图推荐 CocoaPod,http://guides.cocoapods.org
    1,使用 CocoaPod 的命令新建组件仓库
    2,在排列5走势图你 开发的主工程里配置 Podfile,通过排列5走势图本地 路径引用刚才新建的仓库,类似这样
    pod 'Alamofire', :path => '~/Documents/Alamofire'
    这样就进入了开发模式,达到了 5 楼说到的效果。
        9
    xi_lin   122 天前
    5 楼说的和 pod 不冲突
    排列5走势图你 就是需要用 pod 建个自己的私有库
    排列5走势图关于   ·   FAQ   ·   API   ·   排列5走势图排列5走势图我 们 的愿景   ·   广告投放   ·   感谢   ·   实用小排列5走势图工具   ·   3964 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 01:23 · PVG 09:23 · LAX 17:23 · JFK 20:23
    ♥ Do have faith in what you're doing.