在钥匙串中找不到 Xamarin iOS 代码签名密钥

Xamarin iOS code signing key not found in keychain

我正在尝试从我的 windows 机器上在物理 iPhone 上调试我的 Xamarin.Forms 应用程序。

当我尝试在 Debug|iPhone 中部署我的应用程序时,出现以下错误:

iOS code signing key 'Apple Development: John Doe (5L4565FZ2L)' not found in keychain.

Visual Studio 中构建输出的更多详细信息:

2>Using "DetectSigningIdentity" task from assembly "C:\Program Files\Microsoft Visual Studio22\Community\MSBuild\Xamarin\iOS\..\iOS\Xamarin.iOS.Tasks.dll".
2>Task "DetectSigningIdentity"
2>  DetectSigningIdentity: 2022-02-06T17:49:30.9039262+01:00 - Started
2>  DetectSigningIdentity: 2022-02-06T17:49:30.9039262+01:00 - Initializing
2>  [xma]: Trying to get a Build Connection for Session '6b535ab5f3c9b550fa521b36f236660807d516f929527c4e1cb2a3ecca9ec40d': Xamarin.Messaging.Build.Client.BuildConnection.6b535ab5f3c9b550fa521b36f236660807d516f929527c4e1cb2a3ecca9ec40d, Lifetime: AppDomain
2>  DetectSigningIdentity: 2022-02-06T17:49:30.9039262+01:00 - Initialized
2>  DetectSigningIdentity: 2022-02-06T17:49:30.9039262+01:00 - There's no available inputs to copy to the Mac
2>  DetectSigningIdentity: 2022-02-06T17:49:30.9039262+01:00 - Serializing intputs
2>  DetectSigningIdentity: 2022-02-06T17:49:30.9079268+01:00 - Executing
2>  [xma]: Starting remote task execution for 'Writeful.Mobile.iOS': Xamarin.iOS.Tasks.DetectSigningIdentity
2>  [xma]: Sending Request Xamarin.Messaging.Build.Contracts.ExecuteTaskMessage to topic xvs/build/execute-task/Writeful.Mobile.iOS/6b535ab002fDetectSigningIdentity
2>  [xma]: Received Response of Xamarin.Messaging.Build.Contracts.ExecuteTaskMessage to topic build6b535ab5f3c9b550fa521b36f236660807d516f929527c4e1cb2a3ecca9ec40d47080johndoe/+/xvs/build/execute-task/Writeful.Mobile.iOS/6b535ab002fDetectSigningIdentity
2>  DetectSigningIdentity: 2022-02-06T17:49:30.9499278+01:00 - Logging messages
2>C:\Program Files\Microsoft Visual Studio22\Community\MSBuild\Xamarin\iOS\Xamarin.Shared.targets(1566,3): error : iOS code signing key 'Apple Development: John Doe (5L4565FZ2L)' not found in keychain.
2>C:\Program Files\Microsoft Visual Studio22\Community\MSBuild\Xamarin\iOS\Xamarin.Shared.targets(1566,3): error :         
2>  DetectSigningIdentity: 2022-02-06T17:49:30.9499278+01:00 - Finished
2>Done executing task "DetectSigningIdentity" -- FAILED.
2>Done building target "_DetectSigningIdentity" in project "Writeful.Mobile.iOS.csproj" -- FAILED.
2>
2>Build FAILED.
2>
2>"C:\Users\johndoe\source\repos\johndoe\writeful-app\Writeful.Mobile.iOS\Writeful.Mobile.iOS.csproj" (Build;BuiltProjectOutputGroup;BuiltProjectOutputGroupDependencies;DebugSymbolsProjectOutputGroup;DebugSymbolsProjectOutputGroupDependencies;DocumentationProjectOutputGroup;DocumentationProjectOutputGroupDependencies;SatelliteDllsProjectOutputGroup;SatelliteDllsProjectOutputGroupDependencies;SGenFilesOutputGroup;SGenFilesOutputGroupDependencies target) (1) ->
2>(_DetectSigningIdentity target) -> 
2>  C:\Program Files\Microsoft Visual Studio22\Community\MSBuild\Xamarin\iOS\Xamarin.Shared.targets(1566,3): error : iOS code signing key 'Apple Development: John Doe (5L4565FZ2L)' not found in keychain.
2>C:\Program Files\Microsoft Visual Studio22\Community\MSBuild\Xamarin\iOS\Xamarin.Shared.targets(1566,3): error :         
2>
2>    0 Warning(s)
2>    1 Error(s)
2>
2>Time Elapsed 00:00:01.23
========== Build: 1 succeeded, 1 failed, 21 up-to-date, 0 skipped ==========
========== Deploy: 0 succeeded, 0 failed, 0 skipped ==========

我不确定哪个设备缺少签名密钥,但我认为它是 iPhone,因为我在 Mac.

上安装了证书

如果这是问题所在,我该如何将证书转移到 iPhone?我已经尝试从 Mac 上的 Xcode 部署一个空应用程序到 iPhone,但这没有用。

您可以通过从 .csproj 文件的调试版本中删除标志来解决此问题。尝试遵循此 link : Check

可能是VS的问题。请参考此官方 Link 问题已解决。 请确保您使用的是最新版本。 Check Here

您必须在 Mac 上同时安装开发证书和开发配置文件。

执行此操作的最简单方法是执行以下步骤:

  1. 下载并安装 Xcode,您可能已经完成了。
  2. 使用您的苹果开发者帐户登录 Xcode:Xcode -> Preferences -> Account,使用 + 登录添加新帐户。
  3. 登录后 Xcode 将在同一视图中为您提供 Download Manual Profiles 的选项,单击此选项,Xcode 将按承诺执行。这可以为每个帐户和开发团队完成。
  4. 调试愉快!

注: 在 Xcode 项目(*.xcworkspace、原生 iOS、Flutter 等)中,最简单的选择是单击您的顶级应用程序项目(在 xcode 中)并在 Signing & Capabilities勾选[ ] Automatically Manage Signing选项。

您还可以从 AppStoreConnect 手动下载证书和配置文件。下载后,双击文件以安装证书和配置文件。这应该可行,但是,根据我的经验,这可能会导致重复的配置文件和其他奇怪的问题。当对 Mac 使用 Visual Studio 时,有时可以通过为 Mac 或您的计算机重新启动 VS 来解决这些问题。如果问题仍然存在,请查看以下文件夹: ~/Library/MobileDevice/Provisioning Profiles 这里列出了您安装的配置文件。如果您 select 配置文件,Finder 将向您显示包含详细信息的预览。删除重复的配置文件通常会有帮助,它们具有不同的文件名但相同的配置文件详细信息。