修改xcode中plist的脚本

为了做些自动化打包的东西,思路想歪了整了份这样的脚本

执行文件名字,一般跟创建工程文件夹名字相同

EXECUTABLE_NAME="${EXECUTABLE_NAME}"
echo $EXECUTABLE_NAME > /Users/derkin/Desktop/test3/HelloWorld/test.txt
echo "testtte" > /Users/derkin/Desktop/test3/testtte.txt

工程目录路径

PROJECT_DIR="${PROJECT_DIR}"
EXECUTABLE_NAME="${EXECUTABLE_NAME}"

工程plist路径

project_infoplist_path="${PROJECT_DIR}/${EXECUTABLE_NAME}/Info.plist"
echo $project_infoplist_path > ${PROJECT_DIR}/${EXECUTABLE_NAME}/project_infoplist_path.txt
echo $project_infoplist_path > /Users/derkin/Desktop/test3/infoplist.txt

编译时间

buildTime=date +%Y-%m-%d'+'%H:%M
echo $buildTime > ${PROJECT_DIR}/${EXECUTABLE_NAME}/buildTime.txt
echo $buildTime > ${PROJECT_DIR}/buildTime.txt

修改的命令行

modifyCmdString="'""Set :buildTime"" "${buildTime}"'"
echo $modifyCmdString

destinationCmd="/usr/libexec/PlistBuddy -c "${modifyCmdString}" ${project_infoplist_path}"
echo "cmd :\n "${destinationCmd}

执行plistbuddy处理方法

a="/usr/libexec/PlistBuddy"
a2="-c"
b="'Set :buildTime ${buildTime}'"
c="${project_infoplist_path}"
eval ${a}" "${a2}" "${b}" "${c}

写这个脚本用了很多时间,因为中间遇到了shell脚本无法执行脚本字符串

最后只能找到一个eval的方式来解决

猜测之所以是这样是因为会出现字符串编码转换问题或则是shell脚本内部机制问题

参考的附录:如何知道xcode build过程中会产生哪些宏变量 http://blog.csdn.net/fly52035/article/details/45894763

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝...
    心有琳鑫阅读 12,639评论 0 15
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 5,006评论 0 11
  • Xcode 工程的环境变量以及Build Settings参数设置 http://www.360doc.com/c...
    liusong007阅读 2,198评论 1 3
  • 在你完成应用程序的beta版本后,最后会有些人去帮你测试,使你去完善应用程序……或者会有投资青睐。但是如果测试人员...
    zmp1123阅读 6,896评论 15 46
  • 我爱你
    从头再来努力奋斗阅读 231评论 0 0

友情链接更多精彩内容