美文网首页
项目搭建流程

项目搭建流程

作者: 谁偷走了我爱吃的奶酪 | 来源:发表于2021-07-16 19:55 被阅读0次

    前言

    我们有时候需要重新启动一个项目,但由于距离上一次项目的创建时间跨度较长,有些细节就会遗忘,所以将项目从零到一的流程记录下来,给自己和需要搭建新项目的同学做一个参考

    项目搭建流程:

    1.创建project并关联Cocoapods
    2.多个Target创建developer、gray、release环境
    3.创建和完善目录结构
    
    1.创建project并关联Cocoapods

    通过Xcode新建一个项目,这里以Swift项目为例,建好后需要修改Bundle Identifier、支持的版本,如果项目是用纯代码,可以将Main.storyBoard进行删除,需要注意的是,iOS13以后项目会自动创建SceneDelegate,这个是系统来支持iPad多进程的,APP可以直接删掉,最后需要修改Info.plist文件,将Main storyboard file base name和Application Scene Manifes这两个配置进行删除,不然运行会找不到Main storyboard崩溃,这时project就创建好了,下一步进行cocoapods的导入

    1.打开终端,cd到当前工程目录
    2.pod init自动生成Podfile文件或者touch Podfile创建Podfile文件
    3.vim Podfile文件,按i进入编辑状态(以导入HandyJSON为例)
    platform :ios, '10.0'  
    use_frameworks!  
    target '项目名称' do  
    pod 'HandyJSON', '~> 5.0.2'
    end  
    4.编辑完成后Esc退出编辑状态,按:wq保存
    5.pod install --verbose --no-repo-update
    6.重启Xcode,通过.xcworkspace运行
    

    注意

    • pod install有可能报错,因为你本地的repo库没有Podfile标注版本的第三方库,需要先执行 pod repo update,这时由于走的是GitHub下载,下载的会很慢,可以通过给Github挂个代理(需要有VPN),就可以解决
    解决 pod repo update速度慢的问题
    1. 使用Shadowsocks代理 -> 高级设置 -> 本地Socket5监听端口修改为1080
    2. git config --global http.proxy socks5://127.0.0.1:1080 (git全局设置代理)
    3. git config --global --unset http.proxy (恢复/移除上面设置的git代理)
    1. 使用Shadowsocks代理 -> 高级设置 -> 本地Socket5监听端口修改为1080
    2.git config --global http.https://github.com.proxy socks5://127.0.0.1:1080 (国内git库不需要走代理,而是只需要github上的代码库走代理)
    3.git config --global --unset http.https://github.com.proxy (恢复/移除github上的代码库走代理)
    
    • swift的podfile文件注意use_frameworks! 这一句是必须的,作用是把三方库打包成静态库,而oc是不需要的
    2.多个Target创建developer、gray、release环境

    可以通过多个target来动态切换测试、灰度、正式环境,配置target主要有以下几个流程

    • 创建多target, 及更改Target的名称
    • 添加不同Target下的应用图标
    • 配置Info.plist
    • 配置全局宏,目的是在代码中进行环境的区分

    由于篇幅过长,详细创建流程参考 Target去管理你的项目环境版本 这篇文章

    这里补充一下,上面文章没有讲到配置Info.plist,这个需要看自己项目target需不需要区分,不需要区分的话可以直接删除上面Duplicate创建target产生的Info.plist, 同时修改target的路径为默认target的Info.plist, 如果需要区分,就修改一下plist的前缀为你的target名称,这更容易区分,同时修改每个target对应的plist文件路径为新修改名称的路径
    3.创建和完善目录结构

    目录结构是很重要的,需要清晰明了,清楚的表达每个模块应该做些什么,这样迭代下去,就不会混乱,还有目录结构需要根据团队的协作规范去进行变化,比如,我们团队的模块管理类规范是分散到每个业务模块里面,这时主目录结构就不需要加上Manger管理模块

    -主目录结构
      -- APPDelegate 入口
      -- Classes 业务模块
      -- Extentions 扩展
      -- Network 网络请求
      -- Utility 工具扩展
      -- Config 项目配置
      -- Resource 文件资源
      -- Vendors 第三方库(非cocoapods导入)
      -- Documentation 目录文件注释
      -- SupportFile 支持文件
    
    - 模块目录结构
    -- Classes       
        ---Base               // 基类
            ----Controller     
            ----Model       
            ----View 
        ---Home
            ----Model       
            ----View 
            ----ViewModel 
            ----Controller   
        ---Mine
            ----Manger
            ----Model       
            ----View 
            ----Controller     
        类推...
    

    不同业务模块的结构是动态变化的,因为不同模块业务复杂度不同,比较简单的模块保持MVC的结构便于快速的迭代,很复杂的模块,需要解耦,减轻VC的负担,采用MVVM的结构,代码维护将会更简单,有些模块有比较独立的业务需求,通过建Manger模块进行单独管理


    模块内容

    上图简单描述了每个模块负责的内容,至此项目的初步搭建就完成了,后续版本开发沿着这个思路去迭代,项目就会很清晰, 移动应用的业务模块化架构设计,其真正的目标是提升开发质量和效率。单从实现角度来看并没有什么黑魔法或技术难点,更多的是结合团队实际开发协作方式和业务场景的具体考量——“适合自己的才是最好的”

    相关文章

      网友评论

          本文标题:项目搭建流程

          本文链接:https://www.haomeiwen.com/subject/dzdbpltx.html