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

Install claimed to have succeeded, but application could not be found on device

Xcode 给我这条信息:

Could not locate installed application Install claimed to have succeeded, but application could not be found on device. bundleId = (null)

我刚开始使用 pods。

我该如何解决这个问题?

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

  • 产品 -> 清洁。
  • Window -> 项目 -> Select 你的项目和 删除派生数据。
  • 关闭XCode。
  • 重新打开项目。

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

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

在构建设置中为我的扩展更新部署目标版本修复了这个问题。

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

我在处理共享扩展时遇到了同样的问题。 None 这里建议的解决方案对我有用。

我关心调试和日志记录。我无法调试 and/or 日志。起初我以为扩展没有工作,但 运行 测试并验证它确实在执行,但由于某种原因我无法调试或记录。

我能想到的最好办法是手动附加调试器,在我想记录的地方添加断点,编辑断点并添加操作以记录并在评估后继续。以下是这样做的步骤:

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

Here 你可以找到我未回答的问题。

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

希望对您有所帮助

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

我遇到了完全相同的错误,但上述解决方案中的 none 对我有用。

就我而言,我使用的是免费的 Apple 开发者帐户,但在尝试安装第 4 个应用程序后出现此错误。免费帐户的安装限制是 3。我删除了我已经拥有的 3 个应用程序之一,安装按预期进行。

在我的例子中,我使用 Xcode 11 GM seed 和 iOS 13 beta,并且由于 "Automatic" 失败,我将代码签名手动(分发)。 我让我的团队代理允许我的用户 "Admin" 角色,进入 Apple Developer 的门户并编辑 "invalid" 配置文件以选中明确提及 "Xcode 11" 的复选框。 下载配置文件后,我的团队代理将我的角色放回 "member",一切顺利。

对我来说,问题与使用 Carthage 下载的 Alamofire 库有关。确保 select "Do not embed" 并让 Carthage 复制图书馆。

我通过构建设置 > 代码签名标识 > 调试修复了我的问题。确保你有合适的 "development certificate".

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

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

的 phone

在 Xcode window 的顶部,点击 run/stop 旁边的应用程序图标,然后 select 管理方案。确保 运行 并且测试使用构建配置 "Debug"。 Xcode 将这些更改为 "release"。别问我为什么!使用 Xcode v 11 (11a420a)

我遇到了同样的错误:

Could not locate installed application Install claimed to have succeeded, but application could not be found on device. bundleId = (MY_BUNDLE_ID)" but with MY_BUNDLE_ID instead "null

我在 Xcode11 更新后收到此错误

解法:

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

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

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

对我来说,它正在将 Xcode 项目更新到所需的升级,更新后它工作正常。

只需转到 Issue Navigator(按 command + 5)> 查找缺少的项目更改并进行更新。

我是 运行 我在 Xcode 11 beta 版本中的代码,所以有些东西坏了,在更新到所需的设置后它恢复正常。

Xcode 11 (11a420a)

我遇到了类似的问题,尝试了上述所有解决方案(eg.changing 遗留、清理和构建等)...但最终解决方案是使用我使用的外部框架,我解决了这个问题通过将选项从 嵌入而不签名 更改为 嵌入并签名 .....不确定这可能是 Xcode 问题

修复了我的问题。是由于 Alamofire 框架(通过 Carthage)在构建阶段没有被复制(以前在 Xcode 的嵌入式库部分,但现在已经消失,选择嵌入类型不起作用)。

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

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

在我的例子中,问题是使用控制台日志发现的 通过日志,我云看到来自 installd 进程的错误,说我的 plist.info 文件有问题。 它没有说具体是什么 但是修复我的 plist 文件解决了它。 在我的例子中,我有 3 个 plist 文件(iPhone、watch 和 watch 扩展),问题是我的 watch plist.info 文件(我不小心添加了 NSLocationAlwaysUsageDescription,删除它解决了问题)。

对我来说,我有一个构建阶段脚本,旨在从应用程序中剥离模拟器架构(当它发布到 App Store 时)。

我读到一个建议,即为模拟器构建会提供更好的错误详细信息,并发现脚本在每个构建中都是 运行,所以我将其切换为 'run script only when installing',这似乎有为我解决了这个问题。

我在选择了 "iPhone Distribution" 配置文件/签名证书时看到了这个错误 - 当我切换到 "iPhone Developer"

时它被清除了

我也遇到了这个问题。如果有人无法用另一个答案解决它并在他的应用程序中使用框架,我的解决方案:

我使用了一个框架(tesseract),但没有签名,所以我无法使用该应用程序,但Xcode没有识别出问题。要解决这个问题,请转到您的项目文件,将框架的 "embed" 选项更改为 embed&sign。

迦太基工作溶液

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

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

现在应该可以了

我已经通过在 "Signing & Capabilities" 屏幕中勾选 "Automatically manage signing" 解决了这个问题。

None 此处列出的其他解决方案对我有用。

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

我不得不在我的设备上恢复到 运行。

Config: Xcode 11.0, iOS 13.1.2

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

在我的 iOS 13 设备上 运行 使用 Xcode 11.1, Mac [=33] 时遇到了这个问题=] 最近更新到 Catalina 并希望它与此有关.....但是没有。

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

我从设备中删除了一个 非常 的应用程序实例,(长按,当然按 x )。从 XC 重新构建构建,一切正常!

看起来这个问题有多种正确答案,我的就是这个,可能对其他人有帮助。

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

要在我的 Xcode 版本 11.0 中修复它,问题是框架目标和项目目标。

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

我正面临这个问题(不知从何而来),可能是 Dev/Production 证书的问题。我在 "signing & Capabilities" 上有一个手动配置,所以当我切换到自动时就可以解决问题。 (抱歉我的英语不好)

我的情况是代码签名问题(我使用手动代码签名)。对于 Any iOS SDK 键,我不得不从 iOS Distribution 切换到 iOS Developer

以及 select 符合条件的开发配置文件。

Xcode11

我最近更新到 Xcode 11 时遇到了这种情况;如果您在设备上进行测试,请转到 "Build Settings",然后将 "Code Signing Identity" 下的所有内容更改为 "iOS Developer"。这应该解决这个问题。然后,一旦您准备好启动,请确保您已 iOS 分发设置。

在我注意到 benchuk 使用控制台找出他遇到问题的原因之前,我几乎尝试了这个问题的每一个答案。

我在控制台中查看了搜索 installd,发现我添加到项目中的 "fat" 框架实际上已签名。

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

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

codesign --remove-signature Some.framework

由于 Siri Extension,它导致了我的项目。在 "Build Phases" "Embed App Extension" 中删除 xxxSiriExtension.appex 构建并再次添加。它解决了我的项目

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

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

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

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

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

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

首先,为您的项目制作一个IPA(有很多方法可以做到这一点,我通过压缩名为Payload的文件夹来制作它有应用程序文件。您可以选择其他方式,您只需要一个IPA文件)。

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

现在单击已安装应用程序部分中的小加号按钮 (+),系统会要求您 select IPA。 Select 您的 IPA,它将安装在设备上。

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

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

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

试试这个,这个解决方案适合我。在 BUILD Phases 目标设置中的 Embed App Extensions 下启用 Copy only when installing 选项。

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

XCode 11.1,Swift 5. 问题: 版本号在 XCode 中为空!!!

此错误背后可能有多种原因。

对我来说,这是因为 内部版本号在 XCode 中是空的。检查您是否遇到了同样的情况。

这个问题也有很多赞成的答案,但 none 对我的情况有效。对我来说,我无法在模拟器或设备中 运行。

我只是 deintegrate pod 和 install 一次,它的工作。清理项目并

pod deintegrate
pod install

希望这对某些人有所帮助

请检查您的所有项目目标,例如使用 same.account

登录的 projectnameTests

当您尝试 运行 使用 App Store 的配置文件在设备上安装应用程序时会发生这种情况。确保您运行正在使用开发或临时配置文件。

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

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

解决方案是简单地构建并运行再次项目。

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


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

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

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

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

当您从 Xcode 安装应用程序(使用您的开发或企业配置文件)或者如果您从您的企业分发服务(例如 AppCenter)或其他一些服务下载它以交付给企业用户时会发生什么?

您收到 prompt 开发团队不受信任,您需要手动信任它:

因此,使用应用商店分发证书签名的应用不会向用户提示该消息,因此 Apple 不想允许 ipa 在每台设备上自由安装并窃取用户信息!

又见另一个类似的回答here and here