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

标签 xcode macos cocoa provisioning-profile osx-gatekeeper

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

情况如下:

  • 我拥有 Mac 开发者证书
  • 设备已在 Mac 成员(member)中心注册。

每次他们启动该应用程序时,GateKeeper 都会提示该应用程序不是来自 Mac AppStore,也不是由指定的开发人员提供,无论我是否签署该应用程序。

所以我尝试对其进行签名,并将配置文件嵌入到应用程序中。如果我不签名,则不会嵌入任何内容。

我应该提到该应用程序捆绑了一个 Spotlight 导入器和 QuickLook 生成器。

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

有人可以提供清晰的分步说明吗?
或者也许是文章/博客文章链接或提示?

编辑:

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

enter image description here enter image description here

一切似乎都是对的。 我获得这一点的方式是:我没有设置“代码签名身份”build设置,而是存档了应用程序,并在当时导出它并指定代码签名身份。

编辑:

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

MyApp.app: valid on disk
MyApp.app: satisfies its Designated Requirement

最佳答案

从本质上解释这个问题:

"how do I beta test Mac App Store apps" ?

Apple 尚未在App Distribution Guide 中发布官方工作流程。 ,但以下过程有效:

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

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

  • 开发人员使用 Xcode Organizer Archives 选项卡、Distribute >“Save as Mac Application”,然后选择更新的开发签名身份。

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

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

这不仅可以避免 GateKeeper 提示,而且您在测试期间可能使用的任何商店技术也需要开发配置文件,例如iCloud、GameCenter 等

关于xcode - 在注册设备上测试 Mac 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16582852/

相关文章:

ios - 为什么 AdMob 测试广告出现在我的应用上,但实际广告不再显示?

c++ - Xcode 使用 C++ 作为我的应用程序的核心?

objective-c - 在 Objective C 中连接字符串

objective-c - 如何将文本添加到不可编辑的 TextView

objective-c - UITableView 数据源问题。当 UITableView :cellForRowAtIndexPath: is called 时,我的数据数组突然为空

ios - Flutter - iOS 调试崩溃

objective-c - 如何在Mac上以编程方式更改光标大小

macos - 无法为 Mac OS X 10.8 安装 CMake

macos - Mac 上的 F# Interactive 在哪里

objective-c - GUI 的 NSThread 计时问题