相关疑难解决方法(0)

安装Xcode 11后无法在模拟器上运行应用程序-CFBundleVersion错误

昨天,我下载了Xcode 11的Beta版。之后,我打开了项目并尝试使用新的Xcode运行。不幸的是,消息出现了错误:


Failed to install the requested application
Domain: NSPOSIXErrorDomain
Code: 22
Failure Reason: The application's CFBundleVersion is invalid.
Recovery Suggestion: Ensure your bundle contains a CFBundleVersion with a valid semantic version number.
--
Run Code Online (Sandbox Code Playgroud)

我已经关闭了Beta版,并尝试使用Xcode的最新稳定版本(10.2.1)再次运行,但是发生了相同的错误。我需要提及的是,在尝试使用Xocde 11运行项目之前,它在Xcode 10上运行时没有任何问题。在使用beta Xcode运行之前和之后,都没有任何改变。

我已经尝试过的:

  • 我已经删除了Xcode 11 beta
  • 我已经清理了我的项目并将其从最新分支中撤出
  • 我已经从以下位置完全删除了Xcode 10:
~/Library/Caches/com.apple.dt.Xcode
~/Library/Developer
~/Library/MobileDevice
~/Library/Preferences/com.apple.dt.Xcode.plist
/Library/Preferences/com.apple.dt.Xcode.plist
/System/Library/Receipts/com.apple.pkg.XcodeExtensionSupport.bom
/System/Library/Receipts/com.apple.pkg.XcodeExtensionSupport.plist
/System/Library/Receipts/com.apple.pkg.XcodeSystemResources.bom
/System/Library/Receipts/com.apple.pkg.XcodeSystemResources.plist
Run Code Online (Sandbox Code Playgroud)
  • 然后安装最新稳定版本10.2.1

我可以运行没有经过Xcode 11测试的其他项目,而不会出现任何问题。

我的最后一个想法是仅重新安装macOS,但我不想这样做。

编辑:我忘了提到该应用程序在物理iPhone XS上运行。

xcode ios xcode10 xcode11

43
推荐指数
6
解决办法
1万
查看次数

如何使用脚本读取Xcode 11中的当前应用程序版本

Xcode 11之前,我使用了一个脚本来读取当前应用程序版本(适用于AppStore)并帮助我更改LaunchScreen,因为我们不能为此使用swift。

sourceFilePath="$PROJECT_DIR/$PROJECT_NAME/App/Base.lproj/LaunchScreen.storyboard"
versionNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$INFOPLIST_FILE")
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")

sed -i .bak -e "/userLabel=\"APP_VERSION_LABEL\"/s/text=\"[^\"]*\"/text=\"v$versionNumber\"/" "$PROJECT_DIR/$PROJECT_NAME/App/Base.lproj/LaunchScreen.storyboard"
Run Code Online (Sandbox Code Playgroud)

但是在Xcode 11中,项目的构建设置中有一个新的部分称为Versioning

在此处输入图片说明

CFBundleShortVersionString自动更改为$(MARKETING_VERSION)。Xcode会自动处理该问题,我不想手动将其更改为静态数字,而是让Xcode进行处理。

11

因此,问题是如何MARKETING_VERSION使用运行脚本访问此新文件并将其设置为launchScreen标签?

xcode sh build-settings ios xcode11

17
推荐指数
4
解决办法
3373
查看次数

如何使用脚本在 Xcode 11 中更改构建设置版本?

由于 Xcode 11 已将 Version 更改为 $(MARKETING_VERSION) & Build 为 $(CURRENT_PROJECT_VERSION)

构建设置中有新字段

在此处输入图片说明

由于

xcrun agvtool new-version

xcrun agvtool new-marketing-version

不能像在 Xcode 10 上那样完美地工作

我试过这个/sf/answers/4071527561/但没有用

我只能从中获得正确的价值

echo $versionNumber 
echo $buildNumber
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能为它设置新的值呢?

versioning shell xcode11

8
推荐指数
1
解决办法
4342
查看次数

标签 统计

xcode11 ×3

ios ×2

xcode ×2

build-settings ×1

sh ×1

shell ×1

versioning ×1

xcode10 ×1