使用App Store的预配配置文件进行macOS App手动签名时收到错误代码签名无效

时间:2019-01-10 02:25:56

标签: xcode macos xamarin.mac code-signing-certificate code-signing-entitlements

我尝试使用配置文件在macOS中使用手动签名。但是每次我尝试运行时,它都会因错误而崩溃

  

EXC_CRASH(代码签名无效)

如果我尝试使用自动管理签名或手动管理签名,但不设置配置文件,则可以正常工作。我的配置文件有什么问题?我需要使用手动管理签名,因为我的应用程序实际上是Xamarin.mac,在VS for Mac中无法自动签名或在不配置配置文件的情况下手动签名。我没有使用奇怪的权利。我只需要应用沙箱来发布应用商店,所以在我的配置文件中,我不会添加任何功能

1 个答案:

答案 0 :(得分:2)

如果签名无效,则可能是您没有创建正确的证书类型。可以实例化几种证书类型,如果创建的证书类型错误,则您的应用将无法正确构建。

常见证书类型包括:

  • iOS开发
  • iOS发行版
  • Mac应用程序开发
  • Mac应用分发版
  • Mac安装程序分发版
  • 开发人员ID应用程序
  • 开发人员ID安装程序

有关手动创建证书的更多信息,请参见我对以下问题的回答:macOS installer certificate evaluation error in Keychain: Invalid Extended Key Usage

还请注意,在开发过程中,您将使用iOS开发证书,但要通过iTunes connect上传到App Store,您将需要一个iOS发行证书,并且需要在已为iOS发行付费的Apple ID上启用该证书。有关注册Apple开发人员计划的更多信息,它将使您有特权获得有效的发行证书,请参见:https://developer.apple.com/support/enrollment/

如果您确定证书本身不是问题,请注意,手动创建配置文件时还涉及其他参数-这不仅仅是证书+私钥。这是一个需要在Apple开发人员门户中创建的配置文件,但是只要您具有用于创建配置文件的有效Apple ID,就不难了。这里有详细的说明:https://docs.microsoft.com/en-us/xamarin/ios/get-started/installation/device-provisioning/manual-provisioning,但请允许我解释一下:

1)转到Apple Developers会员中心(https://developer.apple.com/membercenter/index.action),然后在“证书,标识符和配置文件”部分下,选择“设置配置文件”。

2)单击右上角的+按钮以创建新的配置文件。

3)在“开发”部分中,选择“ iOS App Development”旁边的单选按钮,然后按“继续”:

Selecting provisioning profile type

4)从下拉菜单中,选择要使用的应用ID。

5)选择要包含在配置文件中的证书,然后按继续

6)选择要在其上安装该应用程序的所有设备,这将是属于您的Apple ID的所有设备和计算机,并将在其上安装分发证书。

7)为“供应配置文件”提供一个可识别的名称,然后按“继续”创建配置文件

8)按“下载”将配置文件下载到Mac

9)双击文件以在Xcode中安装配置文件。请注意,除打开外,Xcode可能不会显示任何视觉提示,表明它已安装了配置文件。可以通过浏览到Xcode>首选项>帐户来验证。选择您的Apple ID,然后单击“查看详细信息...”。新的配置文件应列出,如下所示:

List of your provisioning profiles

成功创建配置文件后,可能需要重新启动Xcode,以便正确加载所有开发证书并可以使用。


清单:

  • 我的代码签名证书是正确的类型
  • 我的配置文件是否已在Apple Developer门户(https://developer.apple.com)中正确注册了用于构建应用程序的计算机上使用的Apple ID的
  • 我的Apple ID是否已正确注册到Apple Developer计划中,无需支付任何未付费用,也无需接受EULA之类的许可。
  • 我是否已从Apple Developer门户网站下载了配置文件,并将其正确安装在试图构建/发布该应用程序的计算机上。

注意: 为了将应用程序分发到应用程序商店,别无选择,只能在开发人员门户中创建和支付配置文件,然后通过从Apple下载将其安装在计算机上。

祝你好运!