Jetbrains Rider、Xamarin IOS 在钥匙串中找不到有效的 iOS 代码签名密钥

Posted

技术标签:

【中文标题】Jetbrains Rider、Xamarin IOS 在钥匙串中找不到有效的 iOS 代码签名密钥【英文标题】:Jetbrains Rider, Xamarin IOS No valid iOS code signing keys found in keychain 【发布时间】:2020-02-23 16:32:21 【问题描述】:

我尝试将我的 Xamarin ios 应用程序部署到我的 Iphone。与 Jetbrains Rider 合作。

我收到此构建错误:

Xamarin.iOS.Common.targets(693, 3):在钥匙串中找不到有效的 iOS 代码签名密钥。您需要向https://developer.apple.com 申请共同签名证书。

我尝试在 XCode 中从 Rider 打开 IOS 项目,该项目有效,但我无法在那里运行它,因为缺少一些图标,所以收到一些其他警告.. 还有几个错误。

您能否将您的应用从 Rider 部署到您的 Iphone?

编辑:

XCode

Rider_1

Rider_2

【问题讨论】:

当你在 Visual Studio 中尝试同样的方法时?您是否在 Xcode 中添加了您的帐户并下载了配置文件并创建了开发者证书? 【参考方案1】:

您不能只在 xCode 中打开 .NET 应用程序并运行它。它不以这种方式工作。

当您从 Rider(以及 VS4Mac)在 xCode 中打开项目时,IDE 会根据您的 .NET 项目结构生成一个带有 obj-c 存根的 xCode 项目,以允许您使用 xCode 界面/plist 设计器。

因此,在您的情况下,您可能必须创建和使用个人开发者证书。为此:

    在 xCode 中打开您的项目 转到项目属性,“签名和功能”选项卡 启用“自动管理签名” 选择个人团队(用你的名字)。

之后,配置文件和签名证书应该会自动生成和安装。

返回 Rider 并确保 info.plist 文件中的 CFBundleIdentifier 等于 XCode 项目中的 Bundle Identifier:在我的情况下为 com.xtmq.App4

在 JetBrains 问题跟踪器中查看相关问题: https://youtrack.jetbrains.com/issue/RIDER-23621

【讨论】:

谢谢,试过了,在你的屏幕截图中设置相同的所有内容,还在 info.plist 中设置包标识符,但仍然出现相同的错误。谢谢链接。 可能您必须尝试从 XCode 运行应用程序(例如示例 swift 应用程序)您的设备可能有问题。 但是我的Iphone没有什么特别之处吗?有没有“特别”的设置?我可以从 Xcode 运行 Swift 应用程序,也可以使用 Rider 的模拟器。 如果您可以从 Xcode 运行 swift 应用程序,那么在 Rider 中一切都应该没问题。您能否转到项目属性(从解决方案资源管理器),转到您的活动配置(Debug\iPhone 左右)并检查 Rider 是否检测到您的配置文件。 嗯它设置为自动,我可以选择我的,但它也会产生错误..我用我的设置添加了图片,但没有错?!【参考方案2】:

在GitHub 上找到了解决方案。

我必须在我的 IOS 项目中转到 .csproj 文件并设置

CodesignKey:Apple 开发:xxxx (5Pxxxxxxxx)

默认值为“iPhone 开发者” 之后我仍然收到警告,因为签名密钥错误,我必须选择另一个。无论如何我都可以单击“运行”并在我的 iPhone 上运行该应用程序。

(我也用包标识符做了 XCode 项目)

【讨论】:

以上是关于Jetbrains Rider、Xamarin IOS 在钥匙串中找不到有效的 iOS 代码签名密钥的主要内容,如果未能解决你的问题,请参考以下文章

无法在 JetBrains Rider 的物理 iOS 设备上部署 Xamarin 应用程序

Jetbrains Rider、Xamarin IOS 在钥匙串中找不到有效的 iOS 代码签名密钥

如何在 Jetbrains Rider 中构建 Android APK

无法让 Xamarin 项目在 OSX 上与 Rider-EAP 一起使用

骑手上的 Xamarin 共享项目?

JetBrains Rider 破解 (ideaIU等等开发工具都通用)2018-02-27