用于编辑PROJECT-Info.plist文件的CFBundleVersion字段的Bash脚
发布时间:2020-12-16 01:23:21 所属栏目:安全 来源:网络整理
导读:为了建立一个持续的集成系统,哈德森,我写了一个bash脚本来自动构建 Xcode项目. 此外,在Debug配置中,被要求我将PROJECT-Info.plist文件的CFBundleRevision字段中的项目的svn修订版本插入${BUNDLE_VERSION} .r ${SVN_REVISION}. 你可以在下面找到PROJECT-Info.
为了建立一个持续的集成系统,哈德森,我写了一个bash脚本来自动构建
Xcode项目.
此外,在Debug配置中,被要求我将PROJECT-Info.plist文件的CFBundleRevision字段中的项目的svn修订版本插入${BUNDLE_VERSION} .r ${SVN_REVISION}. 你可以在下面找到PROJECT-Info.plist文件的源代码: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> [...] <key>CFBundleVersion</key> <string>1.0</string> [...] </dict> </plist> 我尝试过以下bash脚本: sed 'N;s_^.*<key>CFBundleVersion</key>.*<string>[0-9][0-9]*.[0-9][0-9]*</string>$_<key>CFBundleVersion</key> <string>'"$BUNDLE_VERSION"'.r'"$SVN_REVISION"'</string>_' $PROJECT-Info.plist 该脚本应该用${BUNDLE_VERSION} .r ${SVN_REVISION}替换“1.0”字符串(仅在当前的标准输出中). 我认为这是我处理两行之间的未知字符的方式(“N”选项和“.*”表示任何字符)是错误的. 任何想法 ? 提前感谢,抱歉我的英文水平不好. $myversion=1.0.3 $perl -O777 -i.bak -pe 's|<key>CFBundleVersion</key>s*<string>[d.]*</string>|<key>CFBundleVersion</key></key>'"$myversion"'<string>|' bundle 将文件包移动到bundle.bak,并将1.0.6.9替换为新捆绑文件中的1.0.3. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |