安装称已成功,但在设备上找不到应用程序。

84

Xcode给了我这个消息:

找不到已安装的应用程序。安装成功,但在设备上找不到该应用程序。 bundleId =(空)

我刚开始使用Pods。

我该如何修复这个问题?


2
我们在过去一个月内收到了一些关于这个问题的报告。但是,这些报告中没有一个包含来自主机或设备的系统诊断信息。我已经将它们全部退回给原始报告者以获取数据,但到目前为止,没有人提供可操作的数据来调查这个错误。你能否请提交一个雷达报告(使用反馈助手或访问bugreport.apple.com),并包括来自设备和主机Mac的系统诊断信息?谢谢。 - Jeremy Huddleston Sequoia
1
从下面的答案来看,似乎这些问题是由于安装的应用程序出现了问题,问题在于Xcode认为应用程序已经安装成功,但实际上却没有成功安装。事实上,当针对模拟器进行调试时,有更好的错误报告,因此我建议使用模拟器来发现实际问题。我仍然有兴趣弄清楚设备为什么没有报告安装问题,请使用sysdiagnoses提交一个radar。谢谢。 - Jeremy Huddleston Sequoia
2
我在维护的一个React Native应用程序中也遇到了这个问题。我能够成功地将应用程序安装在模拟器上,但每次尝试在设备上运行时都会弹出此错误。 - Steve Gattuso
2
我仍然没有收到任何包含设备和主机sysdiagnose的雷达信息。请提交一个雷达(或在您提交的雷达中包含这些数据)。 - Jeremy Huddleston Sequoia
1
安装到模拟器设备上可能有助于揭示故障,因为这个问题只影响物理设备。如果在模拟器中一切正常,您需要在故障后检查设备的系统日志。 - Jeremy Huddleston Sequoia
显示剩余7条评论
41个回答

61

我在通过XCode 11 Beta 4测试Cordova应用程序时,在iOS 13上遇到了同样的问题。通过遗留系统进行构建解决了这个问题 (文件 > 工作区设置...> 构建系统 > 遗留构建系统)。

希望对你有所帮助。


7
我在“文件”>“项目设置”>“共享项目设置”中找到了这个:>“构建系统”。 - markdon
1
这对我有用。尽管我已经知道这是一件事,但我完全忘记了,因为Xcode 11现在处理错误的方式不同。我的意思是,对于相同的问题,错误与以前不同。 - Victor Ramos
3
这对我没有起作用。在两种情况下我都收到了相同的错误提示。 - Saad Qureshi
这对我也没用。我正在使用Xcode 11,在macOS 10.14.6下构建iOS 10.0目标,并尝试在一个10.3.4 iOS设备上安装。 - eldes

29

我通过典型的项目清理步骤解决了这个问题:

  • Product -> Clean.(产品→清理)
  • Window -> Projects -> 选择你的项目并删除派生数据。
  • 关闭XCode。
  • 重新打开项目。

18

这是一个代码签名问题。Xcode 11要求您将“Apple Development”证书添加到开发配置文件中,而他们自动添加到您的证书和配置文件中。将该证书添加到您的配置文件中,重新下载您的开发配置文件,就解决了问题。


这适用于Xcode 11,我不得不在(https://developer.apple.com)上编辑我的开发配置文件并添加证书以供在Xcode 11或更高版本中使用。 - wael
1
所有以上的解决方案对我都没有起作用。这是唯一一个对我有用的解决方案。感谢@Justin Haar。 - gstream
对我而言,重新选择“自动管理签名”有所帮助,Xcode除了分发证书还额外添加了开发者证书。 - randomcontrol

15
在 Xcode 11 beta 5 中,我也遇到了同样的错误。我无法安装该应用程序。我甚至将应用程序上传到 App Store Connect,然后尝试使用 TestFlight 安装,但在下载后,应用程序安装失败,非常奇怪。从 App Store Connect 没有收到任何错误信息。通过在模拟器上运行应用程序,我找到了问题所在。在 Simulator 上运行应用程序后,Xcode 给出了详细的错误信息。在我的情况下,我有多个具有相同 Bundle ID 的框架。

3
我也在处理 SiriKit Intents 的工作。但出现了一个问题,当修改 .intentdefinition 文件后,所有的 BundleIDs 会被添加到所有 extension 的 Info.plist 文件中。我通过确保每个 BundleID 只出现一次来解决了这个问题... - thisIsTheFoxe
2
@thisIsTheFoxe 你如何检查扩展信息的 plist 中多个捆绑标识的存在?我在Sirikit意图中也遇到了同样的问题。 - Aravind Mariappan
我的问题也与SiriKit Intents有关(Xcode 11 beta 7)。在模拟器上运行时,出现了以下精确错误提示:"WatchKit应用中的Siri Intents不是伴侣应用程序com中Siri Intents的子集"。 - Mithil Jadhav

12

我遇到了完全相同的错误,但上述解决方案都对我不起作用。

在我的情况下,我使用的是免费的Apple开发者账户,在尝试安装第四个应用程序后出现了此错误。免费账户的安装限制为3个。我删除了其中一个已有的3个应用程序之一,然后安装成功。


哇,这就是我的问题的原因。太傻了...我从手机上删除了一个应用程序,然后它就安装成功了。 - Danny Brown

9

我也遇到了同样的错误:

无法找到已安装的应用程序,虽然安装声称成功,但在设备上找不到应用程序。BundleId = (我的BundleId),而我的BundleId却是 "null"

我在更新Xcode11后遇到了这个错误。

解决方案:

我的Project和ProjectTests开发团队不同。 Project有Owner Team,而ProjectTests则有Personal Team。

我没有机会通过Xcode界面更改团队为所有者的团队。因此我在构建设置中这样做-只需输入我的团队(启用自动管理证书)即可。

是的,它在Xcode UI中看起来像一个错误(红色标签),但能够安装在真实设备上。


终于了!我花了整整一天的时间来尝试解决这个问题,而这个答案帮助了我! - Niebieski

8

在我的情况下,我使用的是iOS 13 beta的Xcode 11 GM版,而且我将代码签名设置为手动(分发),因为“自动”方式失败了。 我让团队代理允许我的用户扮演“管理员”角色,进入苹果开发者门户并编辑了“无效”的配置文件,勾选明确提到“Xcode 11”的复选框。 下载配置文件后,我的团队代理将我的角色改回“成员”,一切顺利进行。


1
你给了我正确方向上的很好的推动。我所需做的就是启用“自动管理签名”。 - SEG.Veenstra

8

Xcode 11 (11a420a)

我遇到了类似的问题,尝试了所有上面提到的解决方案(如切换到旧版、清理并构建等)......但最终的解决方法是来自我使用的外部框架,我通过将选项更改为嵌入并签署而不是仅嵌入来解决了这个问题......不确定这是否是Xcode的问题。


6

CARTHAGE解决方案

  1. 进入项目的 General -> Frameworks, Libraries, and Embedded Content,将框架改为 Do Not Embed (在我的情况下,Alamofire.framework 是问题所在)。

enter image description here

  1. 进入 Build Phases,选择 + New Run Scrip Phase,在脚本 shell 中插入 /usr/local/bin/carthage copy-frameworks,并在 Input files 中添加 $(SRCROOT)/Carthage/Build/iOS/Alamofire.framework

enter image description here

现在应该可以正常工作了。


5

我通过在“ 签名和能力”屏幕中勾选“自动管理签名”解决了这个问题。

这里列出的其他解决方案都对我没有用。


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