安装声称已成功,但无法在设备上找到应用程序

时间:2016-05-15 17:40:36

标签: xcode bundle-identifier

xcode给了我这条消息:

"找不到已安装的应用程序 安装声称已成功,但无法在设备上找到应用程序。 bundleId =(null)"

我刚开始使用pods。

我该如何解决这个问题?

41 个答案:

答案 0 :(得分:15)

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

答案 1 :(得分:15)

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

答案 2 :(得分:11)

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

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

答案 3 :(得分:10)

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

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

答案 4 :(得分:8)

我遇到了同样的错误: “找不到已安装的应用程序,声称安装成功,但是在设备上找不到该应用程序。bundleId =(MY_BUNDLE_ID)” 但使用MY_BUNDLE_ID代替“ null”

更新xcode 11后出现此错误 解: 我的Project和ProjectTests具有不同的开发团队。 项目有所有者团队,项目测试有个人团队 而且我没有机会通过xcode界面将团队更改为所有者。因此,我进入了构建设置-刚进入我的团队(也启用了自动管理证书)。 是的,它看起来像是xcode ui(红色标签)中的错误,但是它可以在实际设备上安装。

答案 5 :(得分:7)

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

答案 6 :(得分:7)

Xcode 11(11a420a)

我遇到了类似的问题,尝试了上述所有解决方案(例如,更改为旧版,清理和构建等)...但是最终解决方案是使用我使用的外部框架,我通过更改选项解决了此问题从未经签名嵌入 ... <<嵌入并签名。...。不确定这可能是Xcode问题

答案 7 :(得分:6)

货运工作解决方案

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

enter image description here

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

enter image description here

现在应该可以正常工作

答案 8 :(得分:5)

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

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

答案 9 :(得分:4)

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

答案 10 :(得分:3)

在我的情况下,这是一个代码签名问题(我使用手动代码签名)。我必须将iOS Distribution键从iOS Developer切换到Any iOS SDK

Code signing issue

,然后选择一个合格的开发配置文件。

Xcode 11

答案 11 :(得分:3)

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

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

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

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

enter image description here

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

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

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

答案 12 :(得分:3)

就我而言,使用控制台日志发现了问题 浏览日志时,我看到installd进程出错,表明我的plist.info文件有问题。 它没有说确切 但是修复我的plist文件解决了它。 就我而言,我有3个plist文件(iPhone,手表和手表扩展名),问题出在我的watch plist.info文件上(我偶然添加了NSLocationAlwaysUsageDescription,删除了此问题,从而解决了问题)。

答案 13 :(得分:2)

尝试一下,此解决方案对我有用。在BUILD Phases targer设置的 Embed App Extensions 中启用仅在安装时复制选项。

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

enter image description here

答案 14 :(得分:2)

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

答案 15 :(得分:2)

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

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

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

答案 16 :(得分:2)

对于IOS 13,当使用Xcode-beta安装应用程序时,唯一可行的方法是重新启动连接到计算机的手机

答案 17 :(得分:1)

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

答案 18 :(得分:1)

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

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

答案 19 :(得分:1)

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

答案 20 :(得分:1)

我终于找到了解决方法(至少对我而言)

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

答案 21 :(得分:0)

我也有这个问题。如果有人不能用另一个答案解决它并在他的应用程序中使用框架,那么我的解决方案:

我使用了一个框架(tesseract),但是没有对其进行签名,因此我无法使用该应用程序,但是Xcode不能识别问题。要解决此问题,请转至您的项目文件,进行常规设置,然后更改要嵌入和签名的框架的“嵌入”选项。

答案 22 :(得分:0)

XCode 11.1,Swift5。问题: XCode的内部版本号为空!!!

此错误可能有多种原因。

对我来说,这是因为内部版本号在XCode中为空。检查是否也发生过同样的事情。

答案 23 :(得分:0)

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

答案 24 :(得分:0)

这个问题的答案也很多,但没有一个适合我的情况。对我而言,我无法在模拟器或设备中运行。

我只是deintegrate个pod和install而已,它可以正常工作。清理项目并

pod deintegrate
pod install

希望这对某些人有帮助

答案 25 :(得分:0)

请检查所有项目目标(如projectnameTests)是否使用same.account登录

答案 26 :(得分:0)

尝试在设备上安装我们的应用程序时遇到类似的错误。由于各种原因,我们最近因应用程序而更换了团队,显然,某些标识符没有更改。

  1. 如果是这种情况,请转到Apple Developer门户并找到您的团队标识符。他们看起来像这样。 NXD2KNAXM

  2. 打开您的yourproject.xcodeproj/project.pbxproj文件,只需用新标识符搜索替换旧标识符即可。

这种方法确实是贫民窟,但对我有用。

答案 27 :(得分:0)

当我删除我试图在构建完成之前运行的应用的旧实例时,我遇到了这个问题。

解决方案是简单地重新构建并运行项目

答案 28 :(得分:0)

tl; dr您不能使用 App Store Distribution 证书从Xcode构建到设备。您只能从TestFlight或App Store安装Apple签名的应用。


原因是因为使用发行证书构建的应用程序可以安装在任何设备上,这对Apple来说是一个很大的反对。

当我故意尝试从Xcode测试发布过程时遇到了这个问题。我想查看我的应用扩展的配置文件是否具有正确的权利,但是从架构的角度来看,这是不可能的。

从应用商店下载应用时会发生什么?

您只需安装它。没有提示信任开发人员团队。

从Xcode(带有开发或Enterprise Provisioning配置文件)安装应用程序,或者从Enterprise Distribution Service(例如AppCenter)或其他提供给Enterprise用户的服务下载应用程序时,会发生什么?

您会收到prompt,表示开发人员团队不受信任,您需要手动信任它:

enter image description here

因此,使用App Store发行证书签名的Apps不会提示用户该消息,因此Apple不想允许ipa自由安装在每台设备上并破解用户信息!

还可以看到其他类似的答案herehere

答案 29 :(得分:0)

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

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

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

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

codesign --remove-signature Some.framework

答案 30 :(得分:0)

解决方案#101-需要从设备中删除旧实例

在使用 Xcode 11.1 在我的iOS 13设备上运行时遇到此问题,Mac OS最近更新为 Catalina ,并希望与此有关。 ...但是没有。

解决方案要简单得多。...

我从设备内部删除了该应用的非常个旧实例(长按,当然请按x键)。从XC重新构建,一切正常!

这个问题看起来有各种正确的答案,我的就是这个,可能会帮助别人。

答案 31 :(得分:0)

就我而言,我只是将显示名称Something重命名为something

我被迫还原为在设备上运行。

  

配置: Xcode 11.0 iOS 13.1.2

答案 32 :(得分:0)

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

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

答案 33 :(得分:0)

在Xcode窗口顶部的

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

答案 34 :(得分:0)

我通过转到“构建设置”>“代码签名身份”>“调试”来修复了我的问题。确保您具有适当的“开发证书”。

答案 35 :(得分:0)

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

希望有帮助

答案 36 :(得分:0)

我有同样的问题,当我工作的一个份额扩展。建议的解决方案没有在这里为我工作。

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

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

  1. 设置主动方案至所需延伸(从顶条,或从Product/Scheme/Choose-Your-Scheme
  2. Debug/Attach to Process by ID or Name...。然后输入扩展名或扩展名。
  3. 在要添加日志的位置添加断点。编辑断点。添加操作(日志消息),然后输入所需的日志。选中Automatically continue after evaluating the actions

Here你可以找到我的悬而未决的问题。

答案 37 :(得分:0)

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

答案 38 :(得分:0)

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

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

在我的扩展程序的Build Settings中更新部署目标版本修复此问题。

答案 39 :(得分:-1)

对我来说,它正在将Xcode项目更新为所需的升级,但更新效果很好。

只需转到问题导航器(按Command + 5)>查找缺少的项目更改并进行更新。

我在Xcode 11 beta版中运行我的代码,因此在将其更新为必需的设置后恢复正常后出现了问题。

答案 40 :(得分:-2)

尝试将frameworks target更改为13.0,将Project Target更改为iOS 9.0

要在我的Xcode 11.0版中对其进行修复,问题是框架目标和项目目标。