一个sh脚本每次build的时候动态修改info.plist文件 达到动态更改版本号的目的 但是估计是因为缓存的缘故 每次只有clean之后再运行才会修改成功 看script执行的log 好像是先修改之后然后xcode去copy了一份旧的plist给覆盖了。。。 但是clean之后却没有这个copy操作 这是为什么 ????

提出临时解决办法  删掉当前app目录下的plist的文件 跑过去修改原plist文件 哈哈哈  每次强迫xcode去copy

 echo ${SRCROOT}
FILE_PATH=${SRCROOT}/../version.json

info_plist="$CONFIGURATION_BUILD_DIR/$PRODUCT_NAME.app/Info.plist"
echo ${info_plist}
echo $info_plist
echo "Removing Info.plist from build dir in order to force rebuild of it and reading of correct xcconfig variables, plist path $info_plist"
rm "$info_plist"

publicNet=$(cat $FILE_PATH | jq .PublicNet)
vCode=$(cat $FILE_PATH | jq .IOS.vCode)
vName=$(cat $FILE_PATH | jq .IOS.vName | sed 's/\"//g')
if [ "$publicNet" == "false" ];then
deployKey=$(cat $FILE_PATH | jq .IOS.CodePushDeploymentKey_staging | sed 's/\"//g')
elif [ "$publicNet" == "true" ];then
deployKey=$(cat $FILE_PATH | jq .IOS.CodePushDeploymentKey_production | sed 's/\"//g')
else
deployKey=$(cat $FILE_PATH | jq .IOS.CodePushDeploymentKey_staging | sed 's/\"//g')
fi
echo ${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}
echo ${TARGET_BUILD_DIR}/${INFOPLIST_PATH}

_publicNet=$(/usr/libexec/PlistBuddy -c "Print :PublicNet" "${SRCROOT}/$TARGETNAME/Info.plist")
_vName=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "${SRCROOT}/$TARGETNAME/Info.plist")
_vCode=$(/usr/libexec/PlistBuddy -c "Print :VersionCode" "${SRCROOT}/$TARGETNAME/Info.plist")
_vDeployKey=$(/usr/libexec/PlistBuddy -c "Print :CodePushDeploymentKey" "${SRCROOT}/$TARGETNAME/Info.plist")
echo "current PublicNet value is : $_publicNet"
echo "current version name is : $_vName"
echo "current version code is : $_vCode"
echo "current deploy key is : $_vDeployKey"

script 修改 plist遇到的问题的更多相关文章

  1. Xcode下修改plist文件

    plist文件在Mac OS下的重要性,如同Windows下的注册表文件.而很多场景下面,我们需要修改plist文件来实现一些"自动化"操作   Mac OS本身提供了一个工具:P ...

  2. 用PlistBuddy修改Plist文件

    Plist文件是以.plist为结尾的文件的总称. 众所周知, Plist在Mac OSX系统中起着举足轻重的作用,就如同Windows里面的Registry一样,系统和程序使用Plist文件来存储自 ...

  3. Mac 下,修改plist文件

    /usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName $DISPLAY_NAME" "${PROJECT_TEMP_D ...

  4. plist文件、NSUserDefault 对文件进行存储的类、json格式解析

    ========================== 文件操作 ========================== Δ一 .plist文件 .plist文件是一个属性字典数组的一个文件: .plis ...

  5. ios修改产品名

    在创建项目的时候,会设置一个项目名,以后生成的APP名字也就是这个了,但由于某种原因,我想修改APP名字,也就是屏幕程序图标下面显示的那个,这该怎么办呢? 下面有三种方法都可以: 修改Product ...

  6. Unity3D研究院之IOS全自动编辑framework、plist、oc代码

    Unity打IOS时会先生成一个Xcode工程,如果你需要增加一些第三方的framework那么需要手动一条一条的添加,这太烦了..而且可能你还需要修改Plist文件,甚至还可能要修改unity自动生 ...

  7. cocos2d-x 读取.plist文件

    转自:http://blog.csdn.net/hgplan/article/details/8629904 在cocos2d-x中可以用.plist格式的文件来保存数据,它是XML文件格式的一种,在 ...

  8. ecshop去官方化的修改

    1:如何修改网站"欢迎光临本店" 回答:languages\zh_cn\common.php文件中, $_LANG['welcome'] = '欢迎光临本店';将他修改成你需要的字 ...

  9. 修改整个app的字体

    在项目开发中  有时候为了一些好的UI效果  可能需要自定义字体  app导入字体库的教程网上有很多 导进去 修改plist文件  然后如何将整个app的字体都换成自定义的字体呢  一个个去写太麻烦了 ...

随机推荐

  1. Oracle SQL 部分特殊字符转义及escape的用法

    在处理sql时,遇到insert 或update 的参数中含有特殊字符“&”,下划线“_”, 单引号" ' "等时,要做转义处理. 例:插入特殊字元'&' upda ...

  2. [LeetCode] 139. Word Break_ Medium tag: Dynamic Programming

    Given a non-empty string s and a dictionary wordDict containing a list of non-empty words, determine ...

  3. Oracle 11g R2性能优化 10046 event

    作为SQL Trace的扩展功能,Oracle 10046 event(10046事件)是一个重要的调试事件,也可以说是系统性能分析时最重要的一个事件,它包含比SQL Trace更多的信息.但可惜的是 ...

  4. JDK1.8 HashMap--treeifyBin()方法

    /*树形化*/ final void treeifyBin(Node<K,V>[] tab, int hash) { int n, index; Node<K,V> e;// ...

  5. 如何执行shell命令

    可使用 git 命令行来执行shell命令,如 D 盘下的一 shell 脚本 test.sh 如下: echo "Hello world" 打开命令行,输入命令执行: 转载请注明 ...

  6. 从零开始搭建一个vue.js的脚手架

    在谷歌工作的时候,我们要做很多界面的原型,要求快速上手,灵活运用,当时用的一些现有框架,比如angular,太笨重了——尤雨溪(Vue.js 作者) vue.js是现在一个很火的前端框架,官网描述其简 ...

  7. 阿里云新老用户购买 2核8G云服务器5M带宽

    这次阿里云活动的力度还是很大的,2核8G云服务器5M带宽 3年才2070 ,还是很值的购买的. 也放一个我的团战队连接,欢迎大家一起拼低价 https://m.aliyun.com/act/team1 ...

  8. 【转】基于Jenkins实现持续集成【持续更新中】

    知识预览 持续集成 Jenkins安装 Jenkins插件 Jenkins配置 Jenkins备份与恢复 发布PHP项目 SVN 发布Maven项目 按版本发布 远程管理 War文件部署设置 任务 J ...

  9. RSA 汇总

    最近工作中遇到了RSA,这个,以前只是粗略的看了一下,结果,实际使用的时候,各种眼花缭乱啊.现在整理一下RSA有哪些相关知识. 1. RSA算法本身.算法本身的内容实际上是在pkcs#1的标准里面说明 ...

  10. Blender学习

    学习顺序(下面为引用他人的视频或博客) 51个必须知道的blender操作 https://www.bilibili.com/video/av4619930/ Blender常用快捷键一览表 http ...