【问题标题】:Distributing Apps Outside the Mac App Store crash with Code Signature Invalid error在 Mac App Store 之外分发应用程序崩溃并出现代码签名无效错误
【发布时间】:2016-08-08 02:07:44
【问题描述】:

我有一个适用于 OS X 10.10 的 Mac 应用程序,我正在尝试创建一个工作版本版本。

  • 不适用于 Mac 应用商店“在 Mac 应用程序之外分发应用程序” 商店”
  • 使用“开发人员 ID 应用程序”进行发布代码签名。在我的应用开发帐户中看起来不错
  • 创建了一个 OSX APP ID com.blah.app
  • 可以成功创建和验证存档
  • sudo spctl --assess --verbose=4 Name.App,看起来不错 "Name.App : 接受 source=开发者 ID"
  • 通读 Apple“在 Mac App Store 之外分发应用程序”
  • 由于客户要求,需要为 OS X 10.10
  • 通读我能找到的关于堆栈溢出的所有内容 事
  • 可以不假思索地构建和发布 iOS,但这是我的 第一个 Mac 应用

我运行应用程序并在控制台中看到“EXC_CRASH(代码签名无效)”

难倒...

【问题讨论】:

    标签: macos release code-signing


    【解决方案1】:

    所选功能(红色)中存在错误,未停止构建,在本例中为“密钥链共享”。因为我不需要它而关闭,一切都按预期工作

    【讨论】:

      【解决方案2】:

      看门人

      Mac 具有“网守”功能,可以在系统偏好设置 > 安全和隐私 > 常规 > “允许从以下位置下载应用程序”中设置 3 种模式。

      您的测试系统设置为哪个?

      由于您使用开发者 ID 进行签名,因此需要将其设置为第 2 或第 3 个选项(不仅仅是允许应用商店)。 [第二个选项是新安装的机器上的默认选项]

      为应用商店之外的分发而构建

      您为提交到应用商店而创建的构建不能由所有人运行。需要专门为此构建它。

      引用https://developer.apple.com/library/mac/qa/qa1884/_index.html

      [...] 使用 Xcode Organizer > Export > Export a Developer ID-signed Application。任何人都可以运行开发者 ID 签名的应用程序。但是,如果您的应用程序经过 Developer ID 签名,则使用仅适用于 Mac App Store 应用程序的技术(例如收据验证、iCloud 和推送通知)的代码将不起作用。如果您选择 Developer ID 测试方法,您可能需要暂时禁用应用的这些部分

      【讨论】:

      • Mac App Store 和确定的开发者。我希望警告对话框是什么情况?我将它设置到任何地方,但仍然遇到问题。
      • 我做到了。该应用程序不适用于 Mac App Store,唉,它是一个简单的 Midi 实用程序应用程序。它已经完成了,所以我正在处理事情的分发方面,也就是“发布”构建。
      • 嗯,间接感谢。通读那篇文章,我有一个得到它的时刻。未停止构建的所选功能中存在错误,在这种情况下为“密钥链共享”。因为我不需要它而关闭,一切都按预期工作。
      猜你喜欢
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多