"A valid provisioning profile for this executable was not found" Xamarin.Forms iOS 发布 iPhone 设备

"A valid provisioning profile for this executable was not found" for Xamarin.Forms iOS RELEASE build to an iPhone Device

所以我的证书最近过期了,我不得不创建新的。我从 Visual Studio 创建了一个 Apple Development 和一个 Apple Distribution 证书,它们都在 Apple Developer、Visual Studio 的钥匙串中显示为有效 and/or,和 Xcode.

我当然更新了应用程序的开发和分发配置文件以使用这些新证书,并确保将它们重新下载到我的工作站。

(Xamarin.Forms) 应用程序的 iOS 组件可以将 Debug 构建部署到模拟器和真实设备。它还可以在模拟器上部署 Release 构建。存档用于发布的构建也可以正常工作。它上传到 TestFlight 并由测试人员成功安装。

问题仅在于将 Release 构建部署到我的测试设备。 Release 构建之前已成功部署到同一台设备,所以我不清楚发生了什么。

捆绑签名身份和配置文件已按照建议设置为自动。为确保捆绑使用正确的配置文件,我将它们设置为 expected/correct 分发标识和配置文件,但部署仍然失败。

该应用程序曾经有一个 iOS Distribution 证书,但据我所知 似乎已被 Apple Distribution 上创建,但是当从 Xcode 或 Visual Studio 为 Mac 创建证书时,它们没有列为选项。我确实尝试将配置文件指向 在线 创建的 iOS Distribution 证书,但它仍然无效。

我还重新启动了 Visual Studio、Xcode、iPhone 设备和我的 Mac 工作站,但无济于事。

还有什么我可能遗漏的吗?我是应用程序开发的新手,非常不清楚“无效的配置文件”还有什么意思。

任何额外的help/tips/ideas将不胜感激!

部署时的错误信息:

ApplicationVerificationFailed: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.FSRtzC/extracted/{XAMARIN_IOS_PROJECT_NAME}.app : 0xe8008015 (A valid provisioning profile for this executable was not found.) error MT1006: Could not install the application '{PATH TO XAMARIN_IOS_PROJECT}/bin/iPhone/Release/{XAMARIN_IOS_PROJECT_NAME}.app' on the device '{IPHONE DEVICE NAME} iPhone': AMDeviceSecureInstallApplicationBundle returned: 0xe8008015.

Application could not be uploaded to the device.

配置文件信息:

状态:有效

类型:应用商店

启用的功能: 关联域、游戏中心、应用内购买、推送通知

软件版本:

Visual Studio Mac 社区 2019 版本 8.6.5(内部版本 23)

苹果开发者工具 Xcode11.5 (16139) 构建 11E608c

Xamarin.Mac 版本:6.18.2.1(Visual Studio 社区)

Xamarin.iOS 版本:13.18.2.1(Visual Studio 社区)

iPhone 7 加 运行 iOS 13.5.1

我只需要使用 Ad Hoc 类型的分发配置文件。该应用程序使用的分发配置文件是 App Store 类型,因为它是为测试飞行创建构建存档所需要的。

我真希望错误消息能提供更多信息,而不是那么笼统。多种类型的问题似乎会导致相同的错误消息。

有用的参考资料:

  • 提供了有关使用设备日志和调试授权的有用信息,帮助我开始取得进展。我的自定义权利和 Bundle Identifier 的启用功能相匹配,所以我一开始不知道还能尝试什么。设备日志没有给我任何信息,但取出 Entitlements 文件有效,它从那里开始。
  • This 让我放心,我的一个在调试和发布模式之间不同的自定义权利 APS Environment 正在使用正确的“生产”值,即使它导致安装失败并显示(当时的 App Store)分发资料。
  • This 提供了每种配置文件类型的详细说明。