美文网首页iOS调试技巧
Xcode仿Cocoapods自动化锁定文件(locked fi

Xcode仿Cocoapods自动化锁定文件(locked fi

作者: 仁伯 | 来源:发表于2018-09-28 16:40 被阅读46次

    前言

    最近在做这样一个需求,打包项目时读取本地配置文件,根据配置文件的不同呈现不同版本或者模块,当然实际比以上描述更复杂些。由于软件的逻辑是基于配置文件来启动运行的,这时我们面临了一个问题,怎么防止同伴误操作配置文件?

    正文

    当然,解决这一类问题,有很多方案,比如,svn/git锁定该文件;再比如将配置文件作为一个私有pods,让pods来实现锁定功能;


    Xcode locked file.png

    便于每次同伴误操作时会提醒;


    Xcode locked file.png

    以上的方式也还不错,但总觉得啰嗦,能不能我们自己在Xcode中锁定文件呢?
    答案是肯定可以(不过锁定文件和Xcode没啥关系),所谓锁定,其实是修改文件的读写权限,将文件变为只读。你可以手动show in finder里,查看文件信息,修改为只读或者勾选锁定。这样的手动操作之后,在Xcode编辑的确有了解锁提示,但这样也只能算是画地为牢,对自己只读,同伴依旧可以修改。


    image.png image.png

    那有没有什么自动化锁定文件的方法呢?其实我们只需在工程项目中添加执行脚本即可。

    屏幕快照 2018-09-28 16.17.18.png

    具体步骤,选择项目target,单击Build Phases,左上角加好,新建运行脚本,New Run Script Phase选项,然后在脚本填写如下:

    # Type a script or drag a script file from your workspace to insert its path.
    # A为父文件夹,B为子文件夹,C.file、D.file为目标文件
    cd ${SRCROOT}/A
    pushd B
      echo "A/B目录检索配置文件"
      for f in * ; do     
        # 遍历文件
        if [ "$f" == "C.file" ] || [ "$f" == "D.file" ]; then
          echo "❤️: 锁定 $f 文件🔐"
          chmod -R -w "$f" # 删除文件的写权限
        fi
      done
    popd
    #@author 仁伯安
    

    书写完成后,编译项目,即可自动化锁定文件。

    结语

    战战兢兢,如履薄冰,望再接再厉,仁伯安的GitHub仁伯安主页,如果觉得有帮助,请不要吝啬点赞,O(∩_∩)O谢谢......

    本文已在版权印备案,如需转载请在版权印获取授权。
    获取版权

    相关文章

      网友评论

        本文标题:Xcode仿Cocoapods自动化锁定文件(locked fi

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