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

栏目: IOS · 发布时间: 5年前

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

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

正文

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

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

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

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

以上的方式也还不错,但总觉得啰嗦,能不能我们自己在Xcode中锁定文件呢?

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

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

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

Xcode仿Cocoapods自动化锁定文件(locked file) 具体步骤,选择项目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 ":heart:: 锁定 $f 文件:closed_lock_with_key:"
      chmod -R -w "$f" # 删除文件的写权限
    fi
  done
popd
#@author 仁伯安

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

结语

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

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

获取版权

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

企业应用架构模式

企业应用架构模式

Martin Fowler、王怀民、周斌 / 王怀民、周斌 / 机械工业出版社 / 2004-7 / 49.00元

本书作者是当今面向对象软件开发的权威,他在一组专家级合作者的帮助下,将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。本书获得了2003年度美国软件开发杂志图书类的生产效率奖和读者选择奖。本书分为两大部分。第一部分是关于如何开发企业应用的简单介绍。第二部分是本书的主体,是关于模式的详细参考手册,每个模式都给出使用方法和实现信息,并一起来看看 《企业应用架构模式》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

在线进制转换器
在线进制转换器

各进制数互转换器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具