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


81

Xcode给了我这个信息:

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

我刚刚开始使用豆荚。

我该如何解决?


2
在过去的一个月中,我们已经收到了许多有关雷达的报告。这些报告均未包含来自主机或设备的sysdiagnose。我已将它们全部寄回以从发起者那里获取数据,但是到目前为止,还没有人提供可操作的数据来调查错误。您能否提交雷达报告(使用“反馈助手”或转到goto bugreport.apple.com)并包括来自设备和主机Mac的系统诊断?谢谢。
Jeremy Huddleston Sequoia

1
从下面的答案中,似乎这些是正在安装的应用程序中的问题,问题是Xcode认为该应用程序实际上安装失败时已安装。确实,在针对模拟器时有更好的错误报告,因此我建议这样做以发现实际问题。我仍然想弄清楚为什么设备未报告安装问题,因此请向sysdiagnoses提交雷达报告。谢谢。
Jeremy Huddleston Sequoia

1
请让我知道FBA号码。谢谢。请确保它包括来自设备和histing mac的系统诊断。
Jeremy Huddleston Sequoia

2
我也在我维护的React Native应用程序上遇到了这个问题。我能够在模拟器上成功安装该应用程序,但是每次尝试在设备上运行时都会弹出此错误。
史蒂夫·加图索

2
我仍然没有得到有关包含设备和主机sysdiagnose的任何信息。请归档雷达(或将这些数据包括在归档的雷达中)。
Jeremy Huddleston Sequoia

Answers:


61

我在通过XCode 11 Beta 4在iOS 13上测试Cordova应用程序时遇到了相同的问题。通过旧版系统构建解决了该问题(“文件”>“工作区设置...”>“构建系统”>“旧版构建系统”)。

希望能帮助到你


7
我在文件>项目设置...>共享项目设置:>构建系统
markdon

1
这对我有用。即使我已经知道这是我完全忘记的事情,因为Xcode 11现在对错误的处理方式有所不同。我的意思是,同一问题的错误与以前不同。
维克多·拉莫斯

3
这对我不起作用。在这两种情况下,我都会收到相同的错误。
萨德·库雷希

这对我也不起作用。我正在macOS 10.14.6下使用Xcode 11,构建到iOS 10.0目标,并尝试安装在10.3.4 iOS设备中。
Eldes

27

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

  • 产品->清洁。
  • 窗口->项目->选择项目并删除派生数据。
  • 关闭XCode。
  • 重新打开项目。

17

这是一个代码签名问题。Xcode 11要求您将“ Apple Development”证书添加到开发配置文件中,然后将其自动添加到您的证书和配置文件中。将该证书添加到您的配置文件,重新下载您的开发配置文件和vwala。


Xcode 11确实如此,我必须在(developer.apple.com)上编辑我的开发配置文件并添加证书以用于Xcode 11或更高版本
wael

1
以上所有解决方案都不适合我。这是唯一为我工作的解决方案。感谢@Justin Haar
gstream79 '19

对我来说,它有助于再次选择“自动管理签名”,并且xcode在发行证书中又添加了一个开发人员证书
randomcontrol

15

在Xcode 11 beta 5中,我有同样的错误。我无法安装该应用程序。我什至将应用程序上传到App Store Connect,然后尝试通过TestFlight安装,但是下载后该应用程序安装失败,这很奇怪。App Store Connect没有错误。我通过使用模拟器运行应用程序发现了问题。在模拟器上运行应用程序后,Xcode给了我详细的错误消息。就我而言,我有多个具有相同Bundle ID的框架。


3
对我来说也一样,在SiriKit Intents上工作。由于某些原因,当您更改.intentdefinition文件时,这种情况一直发生,它将所有BundleID添加到所有扩展名的Info.plist文件中。只是检查每个人是否只出现一个就为我解决了...
thisIsTheFoxe

2
@thisIsTheFoxe如何检查扩展程序的信息plist中是否存在多个包ID?我在Sirikit意图中也面临着同样的问题。
Aravind Mariappan

我的问题还与SiriKit Intents(Xcode 11 beta 7)有关。在Simulator上运行它会产生确切的错误:“ WatchKit应用程序中的Siri Intent不是配套应用程序com中Siri Intent的子集”。
秘银贾达夫

12

我有同样的确切错误,但是以上解决方案均不适合我。

就我而言,我正在使用免费的Apple开发人员帐户,并在尝试安装第4个应用程序后收到此错误。免费帐户的安装限制为3。我删除了已有的3个应用程序之一,安装按预期进行。


哇,这是我问题的原因。太傻了...从我的手机中删除了1个应用并安装了它。
丹尼·布朗

9

我遇到了同样的错误:

无法找到已安装的应用程序安装成功,但无法在设备上找到该应用程序。bundleId =(MY_BUNDLE_ID)”,但使用MY_BUNDLE_ID则为“ null

Xcode11更新后出现此错误

解:

我的Project和ProjectTests的开发团队不同。项目有所有者团队,项目测试有个人团队

而且我没有机会通过Xcode界面将团队更改为所有者。因此,我进入了构建设置-刚加入我的团队(也启用了自动管理证书)。

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


最后。我花了一整天的时间来解决这个问题,这对我有帮助!
Niebieski

8

在我的情况下,我将Xcode 11 GM种子与iOS 13 beta一起使用,并且由于“自动”失败了,所以我将代码签名为手动(发行版)。我让我的团队代理允许我的用户“管理员”角色,进入Apple Developer的门户并编辑“无效”的配置文件,以选中显式提及“ Xcode 11”的复选框。下载个人资料后,我的团队代理将我的角色恢复为“成员”,一切进展顺利。


1
您给了我正确方向的大力推动。我要做的就是启用“自动管理签名”功能
-SEG.Veenstra,

8

Xcode 11(11a420a)

我遇到了类似的问题,尝试了上述所有解决方案(例如,更改为旧版,清理和构建等)...但是最终解决方案是使用我使用的外部框架,我通过将选项更改为Embed&注册嵌入不签字.....不知道这可能是问题的Xcode


6

搬运工作解决方案

  1. 转到项目General->Frameworks, Libraries, and Embedded Content并更改框架为Do Not Embed(在我的情况下是Alamofire.framework是问题)

在此处输入图片说明

  1. 转到Build Phases,选择+ New Run Scrip Phase/usr/local/bin/carthage copy-frameworks为脚本外壳插入,然后为Input files添加$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework

在此处输入图片说明

现在应该可以了🥳


5

我已经通过在“签名和功能”屏幕中勾选“自动管理签名”解决了该问题。

此处列出的其他解决方案均不适合我。


4

我最近更新到Xcode 11时就发生了这种情况。如果您正在设备上进行测试,请转到“构建设置”,然后将所有内容更改为“代码签名身份”下的“ iOS开发人员”。这应该解决该问题。然后,一旦准备好启动,请确保已设置iOS发行版。



3

我遇到了同样的问题,我的代码没有其他答案中提到的任何问题(框架使用相同的包标识符,旧系统等)。

我的解决方案是先将应用程序安装为侧负载,然后以正常方式(Cmd + R)运行该应用程序。

首先,为您的项目创建一个IPA(有很多方法可以完成,我通过压缩包含应用程序文件的名为Payload的文件夹来完成它。您可以选择其他方式,只需要一个IPA文件)。

接下来,在Xcode中打开设备和模拟器(Cmd + Shift + 2)。

在此处输入图片说明

现在,单击“已安装的应用程序”部分中的小加号(+),然后将要求您选择IPA。选择您的IPA,它将安装在设备上。

现在,设备上已存在具有给定捆绑包标识符的应用程序,您的run命令将按预期运行。

只需按Cmd + R,您的项目即可在设备上运行。


3

以我为例,该问题是通过控制台日志遍历日志发现的,我在云中看到该installd过程出现错误,表明我的plist.info文件有问题。它没有确切说明,但是修复我的plist文件解决了它。在我的情况下,我有3个plist文件(iPhone,手表和手表扩展名),问题出在我的watch plist.info文件中(我NSLocationAlwaysUsageDescription不小心添加了此文件,删除了此文件即可解决问题)。


这帮助我找到了有问题的框架。在控制台中找到已installd打印的条目Failed to verify code signature of .../raygun4apple.framework : 0xe8008015 (A valid provisioning profile for this executable was not found.)。一旦我为raygun4apple选择了“嵌入和签名”,一切就很好了。
uson1x

1
我遇到了类似的问题,但是WatchKit Extension中的Info.plist缺少CFBundleVersion字符串。由于某种原因,它是空的。我在iPhone本身的控制台日志中发现了实际错误。但是Xcode 11一直在喷涌而出,多次尝试后找不到该应用程序。
点击表格

1
这是我的问题,我不小心在watch info.plist中添加了一个键。谢谢Benchuk。
danfordham


2

固定地雷。是由于在构建阶段未复制Alamofire框架(通过Carthage)引起的(以前曾在Xcode的“嵌入式库”部分中使用,但现在已消失,选择嵌入类型无效)。

脚本主体为:/usr/local/bin/carthage copy-frameworks 路径$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework用于输入文件和$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Alamofire.framework输出文件。

希望这有助于或让您找到解决方案。


2

我在选择“ iPhone分发”配置文件/签名证书时看到此错误-当我切换到“ iPhone开发者”时,此错误已清除


2

我终于找到了解决方法(至少对我来说)

我当时正面临着这个问题(从无处出现),也许是开发/生产证书的某些问题。我在“签名和功能”上有一个手动配置,因此当我切换到“自动”时,就可以解决问题。(对不起,我的英语不好)


2

试试这个,这个解决方案对我有用。在BUILD Phases targer设置的Embed App Extensions中启用“仅在安装时复制”选项。

首先尝试在模拟器上执行应用程序,这样也会在模拟器上引发一些错误。

在此处输入图片说明


1

我遇到了这个问题,并在日志中注意到了这一点:

-[MIBundle pluginKitBundlesSkippingPlatformValidation:withError:]: Ignoring plugin at (path to my app extension) because it doesn't work on this OS version

在我的扩展程序的“构建设置”中更新“部署目标”版本可以解决此问题。


1

对我而言,问题与随迦太基下载的Alamofire库有关。确保选择“不嵌入”,然后让迦太基复制媒体库。


在哪里选择不嵌入?
Nirav Patel

1

在我注意到Benchuk使用控制台找出他为什么有问题之前,我尝试了几乎每个问题的答案。

我在控制台中进行了搜索installd,发现我添加到项目中的“胖”框架实际上已经签名。

签名与应用程序的其余部分不匹配,从而导致安装失败。

知道出了什么问题后,我可以简单地删除签名:

codesign --remove-signature Some.framework


1

它是由于Siri Extension导致的。在“构建阶段”“嵌入式应用程序扩展”中,删除xxxSiriExtension.appex构建并再次添加。它解决了我的项目


1

Xcode 11.2已解决了这一问题。使用Xcode 11.2,您现在应该得到一个错误,指示该应用程序安装失败,而不是一个错误,指示该应用程序安装但无法启动。该错误还应包含有关安装失败原因的一些详细信息。如果细节不够,我建议定位模拟器设备而不是真实设备,因为这会产生更高的保真度错误。


1

当您尝试使用App Store的Provisioning Profiles在设备上运行App时,会发生这种情况。确保正在使用“开发”或“临时”配置文件运行。

这样做的另一个原因是,您可以运行一些体系结构剥离脚本来生成IPA。检查这是否引发任何错误。


0

非常奇怪的是,将项目的根文件夹重命名为其他名称对我来说很成功。原因可能是使用文件夹的现有名称在某处对xcode进行了缓存。


2
听起来可能是派生数据问题,最好删除派生数据而不是重命名您的项目
Quinn

0

在进行股票扩展时,我遇到了同样的问题。这里没有建议的解决方案对我有用。

我关心调试和日志记录。我无法调试和/或登录。我最初以为该扩展无法正常工作,但是进行了测试并验证了该扩展是否确实在执行,但是由于某种原因,我无法调试或登录。

我能想到的最好的方法是手动连接调试器,在要记录的位置添加断点,编辑断点,并添加操作以记录日志并在评估后继续。以下是执行此操作的步骤:

  1. 将活动方案设置为所需的扩展名(从顶部栏或 Product/Scheme/Choose-Your-Scheme
  2. Debug/Attach to Process by ID or Name...。然后输入扩展名或其捆绑ID。
  3. 在要添加日志的位置添加断点。编辑断点。添加操作(日志消息),然后输入所需的日志。检查Automatically continue after evaluating the actions

在这里您可以找到我的未解答问题。



0

在Xcode窗口顶部的运行/停止旁边,单击您的应用程序图标,然后选择管理方案。确保运行和测试使用构建配置“ Debug”。Xcode将这些更改为“发布”。别问我为什么!使用Xcode v 11(11a420a)


0

对我来说,我有一个构建阶段脚本,该脚本旨在从应用程序中剥离模拟器体系结构(关于何时将其发布到App Store)。

我读过一个建议,即为模拟器构建将提供更好的错误详细信息,并发现该脚本正在每个构建上运行,因此我将其切换为“仅在安装时运行脚本”,这似乎为我解决了该问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.