Xamarin Studio 无法识别配置文件

18

我对这些苹果证书已经束手无策了。我有一个需要签署配置文件的Xamarin.Forms应用程序,以便我可以启用推送通知。然而,Xamarin Studio没有识别到我正在创建的任何配置文件。请问是否有人可以帮忙?

Xamarin Studio尝试链接配置文件,但找不到23devpp配置文件: 图片描述

Xcode找到了23devpp配置文件: 图片描述

开发者窗口将配置文件标记为活动状态: 图片描述


3
有时候为了刷新配置文件,需要重新启动Xamarin Studio。请注意:实际答案在所选答案的评论部分中。 - Oblivionkey3
6个回答

18
编辑:这是解决方案。

在您的Xamarin iOS项目Info.plist文件中,Bundle Identifier必须与您用于配置文件的App ID相匹配。我刚试过了,复制了您的问题-当我纠正Bundle Identifier后,我的测试配置文件出现了。


(我想将其作为评论发布,但我还不能)抱歉,不得不问一个愚蠢的问题-您是否尝试重新启动Xamarin?

注意:有时需要在Xcode更新任何新的或修改后的证书或配置文件之前停止并重新启动Xamarin Studio才能看到它们。


是的,我已经重新启动了多次,甚至尝试关闭了整个计算机。 - Oblivionkey3
3
我认为我找到了解决方案——在您的 Xamarin iOS 项目 Info.plist 中的“捆绑标识符”必须与您在配置文件中使用的应用程序 ID 相匹配。我刚刚尝试了一下,复制了您的问题,当我更正了“捆绑标识符”后,我的测试配置文件出现了。 - BoombaleOsby
1
哇,非常感谢!我已经花了几个小时在这上面,但从未想过检查 Info.plist。我简直不敢相信我在其他任何地方都没有找到它。感谢您的帮助。 - Oblivionkey3
@BoombaleOsby,为什么不编辑你的答案并包含那个答案呢?现在你可以评论了 :) - Cullub
谢谢 - 你也帮我省了很多时间。 - Tim Coulter
在我的情况下,当应用程序ID错误时,我会明确地收到不同的错误消息,如下所示:Info.plist : error : Project bundle identifier 'com.example.appname' does not match specified provisioning profile 'ProvisioningProfileName' [/Users/workspace/project/builds/MyApp.csproj]。但请注意,我正在使用显式的配置文件设置,而不是自动设置。此外,我仍然不确定是否需要重新启动Xamarin,在整个解决过程中我已经尝试了几次,但这从未是最后一步帮助的方法。 - RAM237

5
如果在Xamarin Studio中找不到您的配置文件,有可能是第二个原因,即接受响应中的捆绑标识符匹配:您的签名身份必须与您正在使用的配置文件匹配。如果您已经生成了新的证书用于签署应用程序,例如因为旧证书即将过期,那么Xamarin Studio不一定能够访问新证书的私钥。这是为了在Xamarin Studio中显示正确的签名身份和相关的配置文件所必需的。
要检查这是否是您的问题,请登录Apple的开发者门户 -> 证书、标识符和配置文件 -> 配置文件。选择要使用的配置文件,并注意配置文件的“到期”日期。
然后,打开Keychain Access并在证书下找到具有匹配“Expires”日期的签名证书。它应该可以展开,当您展开它时,会出现一个私钥。如果您没有证书的私钥,或者证书本身丢失,则必须安装带有其关联私钥的证书。
要执行此操作,请在开发人员门户中生成全新的证书,或者请您团队中的其他人导出带有其私钥的证书。通过在Mac上双击它并输入其密码来安装它。

1
非常感谢您指出这一点!我很高兴读到这个未被投票的答案!我已经搜索了大约两个小时了... - neeohw

4

1. 打开Xcode,创建一个新项目。选择你的公司名称(不要选择用户),然后输入你想要作为捆绑标识符的任何内容。

2. 回到Xamarin Studio,将捆绑标识符更改为与刚刚在Xcode中创建的一致。

3. 在选项中更新预配资料以包括在Xcode中创建的捆绑标识符。构建,然后调试解决方案,应该可以正常工作。

对我来说,问题是团队标识符包含了唯一的条款,在Xamarin Studio中的唯一选择是用户。我只是在Xcode中创建了一个指向团队条款的新项目,然后在Xamarin Studio中使用了那个已上传到Apple dev网站的新的捆绑标识符。


2
如果有人在查找此帖子时(当我现在谷歌这个错误时,它是第二个命中的),我的问题并不完全是以上任何一种。
我在Xcode中创建的配置文件是基于com.company.myapp的,但在Visual Studio中的标识符是com.company.MyApp。大小写敏感。但是,在Xcode中更改以匹配VS时,它仍然失败并出现错误。我不得不在末尾添加一个数字,因此两者都读作com.company.MyApp1-然后它就可以工作了(重新启动VS后)。
以防对任何其他人有所帮助。

0
在我的情况下,Visual Studio 列出了我的配置文件,但问题是它没有更新。
问题:
  • XX.mobileprovision文件生成时包含10个设备和一些权限。
  • 客户要求添加更多设备,并修改了权限以支持新功能。
  • 安装了XX_new.mobileprovision文件。

我遇到的问题是,Visual Studio仍然使用旧的PP文件,而不是我通过XX_new.mobileprovision文件安装的新信息。

解决方案:


  • Visual Studio 从 ~/Library/MobileDevice/Provisioning Profiles 获取此配置文件。

  • 转到此目录并删除相应的配置文件。

  • 安装 XX_new.mobileprovision,然后您就可以使用它了,Visual Studio 将识别配置文件的所有更改,并且配置文件列表也将被更新。


0

对于那些在 Windows 上使用 Visual Studio 2019 的 Xamarin.Forms 用户:

  1. 解决方案资源管理器窗口中,右键单击iOS 项目 > 属性
  2. 点击iOS Bundle Signing(左侧),输入您的Apple ID(区分大小写,必须与您的 Mac 上的 XCode 中的 Apple ID 相同)。
  3. 保存更改。进度指示器将永远运行(正在运行自动配置文件),这可能是一个错误。只需关闭选项卡并构建您的项目即可。

注意:如果您在 Mac 上的 XCode 中没有您的 Apple ID,请执行以下操作:

  1. 打开XCode
  2. 从 XCode 菜单中选择XCode > 首选项,然后单击帐户选项卡并配置您的 Apple ID。

不要忘记重新启动Visual Studio 2019


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