在使用Visual Studio和Xamarin时,没有已安装的配置文件与已安装的iOS代码签名密钥匹配。

16
我创建了一个 PCL 项目,在 Mac 上使用 Visual Studio 进行托管,但在运行 iOS 项目时出现以下错误:enter image description here
我尝试更改 iOS 签名构建设置如下图,但对我都没有用。 enter image description here 请帮我解决这个问题。

我反复研究了DOCUMENTATION,并且检查得十分仔细,但是我有三个配置文件:其中两个正常工作,一个不行。这让我苦恼了好几天!!!我比较了所有工作和不工作解决方案/配置文件之间的差异。如果有其他人有解决方案,请分享。谢谢!!! 我正在尝试使Hanselman.Forms在iOS上工作,但是使用我创建的配置文件没有成功。 - Jeremy Thompson
3个回答

19

对于iOS,您需要在苹果注册您的应用程序/设备。

您需要前往Apple开发者帐户并为您的应用程序创建列表,并注册您正在进行测试的设备。

此外,您还需要将您的开发者帐户导入到Xcode中,因为您的开发应用程序在放置在物理设备上之前也需要签名。

有关更多信息,请参阅Xamarin文档

摘录如下;

  • 前往Xcode并添加您的Apple ID(选择Xcode菜单 > 首选项...,单击帐户选项卡,单击添加 (+)按钮,然后从弹出菜单中选择添加Apple ID...

Add Apple ID to Xcode

  • 如果您有一个属于苹果开发者计划的Apple ID,请输入您的Apple ID和密码,然后单击添加按钮。

Enter Apple ID

否则,您可以点击“加入计划”按钮,打开一个网页浏览器,然后进行注册。
现在,您需要将设备添加到Xcode中。
步骤如下:
- 用USB电缆将设备连接到Mac。 - 在“窗口”菜单中选择“设备”。 - 在“设备窗口”的左侧的“设备列表”中选择所需的iOS设备。 - 高亮显示“标识符”字符串并将其复制到剪贴板中。

Select iOS device

请登录您的苹果开发者账户,点击右侧的 Certificates, Identifiers & Profiles 链接,然后点击 Devices 链接。接着,点击右上角的 + 按钮,为新设备提供一个名称,并将上面复制的设备标识符粘贴到UUID字段中。保留HTML标签。

Add iOS device

现在,您需要将新创建的证书导入到您的Mac/Xcode中。
  • 停止Visual Studio/Xamarin Studio
  • 启动Xcode
  • 选择 Xcode菜单 > 偏好设置...
  • 点击 账户 选项卡
  • 点击 查看详细信息... 按钮
  • 点击屏幕左下角的 刷新图标 按钮(圆形箭头)
  • 更新可用的 配置文件列表 后,点击 完成 按钮
  • 退出Xcode(或者留着它也行,如果你喜欢的话...)
  • 启动Visual Studio/Xamarin Studio

现在,我认为您可以开始在设备上进行测试了。 但是,如果您需要特殊的iOS服务(例如访问Game Center、iCloud等),您还需要注册您的应用程序。这大致上是与之前类似的过程,但我需要请您阅读相关文档或搜索“应用程序服务的配置”,以免本文过长 ;)

注意:这可能会在未来发生变化,因为苹果昨天宣布侧载(你想在这里做的事情)应用程序将免费。因此,如果您还没有苹果开发者帐户,您可能需要再等一段时间。

3
但是,我并没有在任何物理设备上运行我的应用程序,我只想在iOS模拟器上运行它,那么为什么我需要向苹果注册应用程序呢? - Ajay Sharma
哈,我在这里有点过头了.. ;) 你使用的Xamarin.iOS版本是什么? 这个问题已经存在了,看看这篇博客文章; http://forums.xamarin.com/discussion/comment/96832/#Comment_96832 - Gerald Versluis
我认为你不应该删除完整的Entitlements.plist文件,你能否编辑你的问题并附上Entitlements.plist文件的内容? - Gerald Versluis
不,PCL和Android项目设置为“Any CPU”平台。只有iOS项目设置为“iPhoneSimulator”。 - Ajay Sharma
让我们在聊天中继续这个讨论 - Ajay Sharma
显示剩余6条评论

13

我找到了解决方法。我只需手动编辑 my.csproj 文件并删除 'CodesignEntitlements' 关键字即可。我从这里找到了这个解决方案,感谢 Gerald Versluis 帮助我解决了这个问题。


很高兴听到你解决了它!虽然这个“答案”应该真正是对你原来的问题进行编辑或至少是一条评论。 :) 另外,你的链接似乎无法使用!为了将来的参考,请在此答案中包含最重要的部分并修复链接,以便其他人可以利用你的发现! - Gerald Versluis
整个过程已经多次尝试,删除了csproj中的所有CodesignEntitlements标签,但错误仍然存在:没有安装的预配文件与已安装的iOS签名身份匹配。 - masoud Cheragee

4
杰拉尔德·弗斯卢伊斯的细节对我很有帮助,让我完成了90%的任务。我在使用 Mac Mini 构建主机的 Visual Studio 2015 中遇到了相同的构建错误。对我来说,解决方法是回到证书、标识符和配置文件,确保我配置了一个配置文件。
以下是一张图片: enter image description here 只有在这样做之后,我才在 XCode 首选项的“帐户”模式窗口中看到一个可供下载的记录,如下所示: enter image description here 在我点击“全部下载”之后,才能在 VS 2015 中成功构建。希望这能帮助那些已经按照杰拉尔德上面详细的步骤进行了操作,但仅完成了90%的人。谢谢。
此外,请记住:直到我在 Xamarin Studio Community 中成功构建之前,我才无法在 VS 中构建。

谢谢...使用Xcode下载所有内容是我所需要的最后一步! - Xander

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接