Xcode 在注册设备上测试Mac应用程序

Xcode 在注册设备上测试Mac应用程序,xcode,macos,cocoa,provisioning-profile,osx-gatekeeper,Xcode,Macos,Cocoa,Provisioning Profile,Osx Gatekeeper,我有一个Cocoa Mac应用程序,我不知道它是否会出现在Mac AppStore上。 该应用程序仍在开发中,我希望很少有人能够在应用程序具有新功能的同时在他们的设备上启动它 情况如下: 我有Mac开发者证书 设备在Mac成员中心注册 每次他们启动应用程序时,GateKeeper都会抱怨该应用程序不是来自Mac AppStore,也不是由指定的开发人员提供的,无论我是否在应用程序上签名 因此,我尝试对其进行签名,并在应用程序中嵌入了一个配置文件。如果我不签字,就什么都没有 我应该提到的是,该

我有一个Cocoa Mac应用程序,我不知道它是否会出现在Mac AppStore上。 该应用程序仍在开发中,我希望很少有人能够在应用程序具有新功能的同时在他们的设备上启动它

情况如下:

  • 我有Mac开发者证书
  • 设备在Mac成员中心注册
每次他们启动应用程序时,GateKeeper都会抱怨该应用程序不是来自Mac AppStore,也不是由指定的开发人员提供的,无论我是否在应用程序上签名

因此,我尝试对其进行签名,并在应用程序中嵌入了一个配置文件。如果我不签字,就什么都没有

我应该提到的是,该应用程序捆绑了聚光灯导入器和QuickLook生成器

我在苹果的文档中没有找到任何关于如何解决这个问题的明确解释,互联网上的大多数(如果不是全部的话)博客帖子或文章都是关于iPhone应用程序的,而不是Mac应用程序(两个平台上的流程/要求似乎不同)。 文档不清楚是否所有测试人员都应该是团队成员(这似乎很疯狂,因为他们中的一些人不是开发人员,并且没有安装Xcode)

有人能提供一个关于如何做到这一点的清晰的逐步解释吗?
或者是一篇文章/博客帖子链接或提示

编辑:

以下是应用程序包结构和插件结构的屏幕截图:

一切似乎都是对的。 我获得的方法是:我没有设置“代码签名身份”构建设置,而是归档了应用程序,并在当时指定了代码签名身份将其导出

编辑:

越来越奇怪的是,当我在终端中运行
codesign
命令,
codesign-vvv MyApp.app
,输出结果往往表明一切都正确完成了:

MyApp.app:在磁盘上有效
MyApp.app:满足其指定要求


将这个问题解释为:

“如何测试Mac应用商店应用程序”

苹果公司尚未在网站上发布正式的工作流程,但以下流程有效:

  • 测试人员向开发人员发送“系统信息实用程序>硬件选项卡>硬件UUID”

  • 开发人员更新开发人员配置文件以包括硬件UUID

  • 开发人员使用Xcode Organizer Archives选项卡,分发>“另存为Mac应用程序”,然后选择更新的开发签名标识

  • 开发人员将新构建的应用程序发送给测试人员

注意:开发标识有黄色警告!重新签名过程中的图标,但仍可以使用


这不仅避免了GateKeeper提示,而且您在测试期间可能使用的任何存储技术(如iCloud、GameCenter等)也需要开发配置文件。将此问题解释为:

“如何测试Mac应用商店应用程序”

苹果公司尚未在网站上发布正式的工作流程,但以下流程有效:

  • 测试人员向开发人员发送“系统信息实用程序>硬件选项卡>硬件UUID”

  • 开发人员更新开发人员配置文件以包括硬件UUID

  • 开发人员使用Xcode Organizer Archives选项卡,分发>“另存为Mac应用程序”,然后选择更新的开发签名标识

  • 开发人员将新构建的应用程序发送给测试人员

注意:开发标识有黄色警告!重新签名过程中的图标,但仍可以使用


这不仅避免了GateKeeper提示,而且您在测试期间可能使用的任何存储技术(如iCloud、GameCenter等)也需要开发资源调配配置文件。

您是否签署了团队资源调配配置文件?@gaige Yes,我已生成一个配置文件,其中包括我的证书和测试设备UUID,并使用我的代码签名标识(附加到该配置文件)对应用程序进行签名。如果在以下链接执行此过程,您是否看到用于对应用程序进行签名的配置文件中列出的硬件UUID?“设置配置文件中的UDID”@Bobjt是的,所有设备都显示在配置文件中。它们也会出现在嵌入内置应用程序的配置文件中。您是否使用团队资源调配配置文件进行签名?@gaige是的,我已经生成了一个配置文件,其中包括我的证书和测试设备UUID,并使用我的代码签名身份(附加到该配置文件)对应用程序进行签名。如果您在以下链接执行此过程,您是否看到用于签署应用程序的配置文件中列出的硬件UUID?“设置配置文件中的UDID”@Bobjt是的,所有设备都显示在配置文件中。它们也出现在嵌入内置应用程序的配置文件中。正如我在问题中提到的,该应用程序包含两个插件(Sptolight、QuickLook)。你认为这与此有关吗?我的意思是,插件也应该被签名(对吗?)。我将上传应用程序包结构的屏幕截图。。。所以你可以看到,插件不需要在AFAIK上签名。是否有一条错误消息暗示,或者说,Gatekeeper给出的具体措辞是什么?Gatekeeper只是拒绝启动该应用程序(安全级别仅设置为已识别的开发者和Mac app Store),抱怨发布该应用程序的开发者未识别。正如我在问题中提到的,该应用程序包含两个插件(Sptolight,QuickLook)。你认为这与此有关吗?我的意思是,插件也应该被签名(我说得对吗?)。我将上传一个应用程序包结构的屏幕截图…这样你就可以看到。插件不需要在AIK上签名。是否有一条错误消息暗示,或者说,Gatekeeper提供了什么特定的措辞?Gatekeeper只是拒绝启动应用程序(安全级别仅设置为已识别的开发者和Mac app Store),抱怨开发者