自升级到Xcode 8后,当我使用fastlane进行构建时,收到以下错误消息:
There does not seem to be a CURRENT_PROJECT_VERSION key set for this project
如果我转到Xcode> Build Settings并转到Versioning,则会有一个Current Project Version键,如下所示:
帮助文本表示输入整数或浮点数,但是当我单击该字段时,无法在“调试”或“释放”字段中输入数字。这与显示in this apple tech Q&A的屏幕截图不同,因此自Q& A发布以来,Xcode似乎发生了变化。
答案 0 :(得分:10)
目前,当您收到 fastlane错误时,终端日志会将您重定向到
了解您需要做什么。
<强>摘要强>
答案 1 :(得分:1)
不要。而是修改应用程序的info.plist文件中的值。
这意味着不使用agvtool(据我了解)。
为什么?多年来,Apple提出了几种更改版本和内部版本号的方式。他们中的许多人现在已经过时,实践不善。更改CURRENT_PROJECT_VERSION会修改项目的project.pbxproj文件中的值,如果您正在运行分布式团队,则如果团队的另一半尝试更新并且在睡眠状态下更新了此内部值,则会导致合并冲突。如果您使用的是Pod,则会另外添加到项目中的 per Pod合并冲突。
那么,CURRENT_PROJECT_VERSION?
不要使用它。
这些键位于info.plist文件中。
CFBundleVersion
CFBundleShortVersionString
使用CFBundleVersion
作为应用的内部版本号。
使用CFBundleShortVersionString
作为应用程序的版本号。
使用Plistbuddy进行操作。
<key>CFBundleShortVersionString</key>
<string>3.0.7</string>
<key>CFBundleVersion</key>
<string>934</string>
</dict>
</plist>
尝试以下脚本。
#!/bin/sh
# To make executable, use: chmod u+x Build-Versioning-Scripts/Increment_Build_Number.sh
# to locate your target's info.plist use
# ${PRODUCT_SETTINGS_PATH}
echo "----"
echo "Info.plist for target: ${PRODUCT_SETTINGS_PATH}"
buildNum=$(/usr/libexec/Plistbuddy -c "Print CFBundleVersion" "${PRODUCT_SETTINGS_PATH}")
echo "Current build #: $buildNum"
if [ -z "$buildNum" ]; then
echo "No build number found in $PRODUCT_SETTINGS_PATH"
exit 2
fi
buildNum=$(expr $buildNum + 1)
echo "Build # incremented to: $buildNum"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNum" "$PRODUCT_SETTINGS_PATH"
echo "----"
exit 0
通过将此脚本添加到构建计算机上的构建或归档过程中,这将自动更新应用程序的 build 编号。
如果您希望增加应用程序的版本号,请在info.plist中手动更改CFBundleShortVersionString
(捆绑版本字符串,简称)。
答案 2 :(得分:-1)
you may try change project format ?
我建议您更改此xcode格式版本。