无法在Xcode 9 beta模拟器中安装应用程序

18

我最近下载了 Xcode 9 beta 版本,但当我试图在模拟器中运行我的应用程序时,它无法安装。每次尝试运行应用程序时,我的 Xcode 都会显示以下错误:

无法安装此应用程序。

enter image description here

该应用程序曾经可以在 Xcode 8.3.3 中工作。


你已经解决了这个问题吗?如果是的话,重新安装应用程序的步骤是什么? - rodalfus
@rodalfus 我没有找到任何解决方案,我卸载了Xcode 9并重新安装了Xcode 8.3。 - Akshay Sunderwani
可能是XCode 9 beta显示应用程序启动时出错的重复问题。 - AlexVogel
12个回答

23

很遗憾,错误信息并没有解释安装失败的原因。您可以查看~/Library/Logs/CoreSimulator/CoreSimulator.log以查看是否有更多信息的剩余错误消息。如果没有,您应该检查模拟器设备的系统日志:

sudo xcode-select -s /Applications/Xcode-beta.app # if you haven’t already
xcrun simctl spawn booted log show

您可以使用 --predicate 进行筛选。

好的,我会检查一下。谢谢你的帮助。 - Akshay Sunderwani
5
事实证明,我的应用程序扩展没有有效的“CFBundleVersion”字符串。感谢这个提示。 - dalton_c
6
我的情况是手表和扩展程序的标识符不匹配。我之前曾经重新命名过原始应用程序的标识符,但忘记在其他目标中进行更改。 我使用的命令是: xcrun simctl spawn booted log show | grep "This app was unable to be installed." - Anton Matosov
1
这应该是被接受的答案,因为这是找出错误实际原因的唯一方法。 - Aleksandar Vacić

11

虽然回答晚了,但对于其他人可能很有用。我刚开始接手一个已经存在的表盘套件和自定义键盘代码的项目。在更改标识符后,我遇到了相同的错误,花了一天时间找出原因。

我检查了所有版本的包标识符和代码包。然后我在Xcode中使用旧标识符进行全局搜索,并发现以下内容:

enter image description here

这两个.plist文件中都有旧的WKCompanionAppBundleIdentifier,所以在我手动更新它为新的标识符之后,应用程序可以再次运行。

重要提示:

如果您仅从“常规”选项卡更改标识符,则并不意味着它会全部更新。请通过搜索并将其替换为新标识符来检查所有可能的位置。

XCODE VERSIO: Version 9.0 (9A235)

2
谢谢!你帮我省了很多时间! - Viktor Malyi

2

1

1

我在使用Xcode 9的IOS模拟器上安装我的应用程序时遇到了类似的问题。

我发现问题(至少对于我的情况)是由于Watch App的info.plist中存在未经授权的密钥(Privacy - Location When In Use Usage Description)导致的。

我已将此密钥移动到WatchKit Extension的info.plist中,现在应用程序可以重新安装。

我希望这能帮助其他遇到相同问题的人。


适用于我。谢谢。看起来我的使用方式还没有被添加。 - luhuiya

0

我遇到了同样的错误,而且我在我的项目中使用了Cocoapods,对我有帮助的方法就是更新pods。


1
我的Pods都已经更新了,但我仍然无法安装应用程序。 - Akshay Sunderwani

0

我在手动将谷歌地图框架添加到我的项目时,在XCode 9.3.1上遇到了同样的问题。

为了解决这个问题,我从嵌入式二进制文件中删除了谷歌框架...

enter image description here


0

这个问题可能由多个条件引发,但是如果你查看日志文件 ~/Library/Logs/CoreSimulator/CoreSimulator.log ,并且它显示了以下错误:

NSUnderlyingError=0x7fb51c271ee0 Could not hardlink copy /originPath to /destinationPath

那么你的项目目标设置中的构建号可能为空。

进入 项目目标 > 身份 > 构建 并设置一个构建号。在安装更新版本之前,你需要先卸载模拟器中的应用程序,并重新安装它。


0

根据需求更改部署目标。 选择项目 > GENERAL > DEPLOYMENT TARGET 还要检查您设备的iOS版本。


部署目标是 iOS 9,模拟器正在运行 iOS 11 beta。 - Akshay Sunderwani

0

在重命名包含iOS和watchOS应用程序的项目之后,我在Xcode 9.0 beta 5中遇到了此问题。为了解决这个问题,我重新创建了iOS目标。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接