Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 我们需要公证框架(.framework)、dylibs和二进制文件吗?_Macos_Code Signing_Macos Mojave_Notarize_Stapler - Fatal编程技术网

Macos 我们需要公证框架(.framework)、dylibs和二进制文件吗?

Macos 我们需要公证框架(.framework)、dylibs和二进制文件吗?,macos,code-signing,macos-mojave,notarize,stapler,Macos,Code Signing,Macos Mojave,Notarize,Stapler,阅读有关公证的苹果文档,不清楚我们是否需要公证二进制文件(例如启动守护程序)、框架或dylib 我们还需要公证这些吗 苹果文档可以在这里找到在这里回答我自己的问题,也许它对某人有帮助 这可以通过Xcode自动完成;但是,如果您需要手动配置(可能您有持续集成或w/e),这可能会有所帮助 苹果表示: 公证让用户更加确信,您发布的开发者ID签名软件已被苹果检查是否存在恶意组件 如果没有问题,公证服务将为您生成一张票证,以便与您的软件绑定 在未来的macOS版本中,二进制文件、框架、动态库和应用程序都需

阅读有关公证的苹果文档,不清楚我们是否需要公证二进制文件(例如启动守护程序)、框架或dylib

我们还需要公证这些吗


苹果文档可以在这里找到

在这里回答我自己的问题,也许它对某人有帮助

这可以通过Xcode自动完成;但是,如果您需要手动配置(可能您有持续集成或w/e),这可能会有所帮助

苹果表示: 公证让用户更加确信,您发布的开发者ID签名软件已被苹果检查是否存在恶意组件

如果没有问题,公证服务将为您生成一张票证,以便与您的软件绑定

在未来的macOS版本中,二进制文件、框架、动态库和应用程序都需要公证

为此,需要执行以下步骤:
  • 为生成二进制、框架、动态库或应用程序的每个目标,在生成设置中的
    --timestamp
    中添加其他代码签名标志
  • --options=runtime
    添加到生成设置中的其他代码签名标志(对于Xcode<10.2)或启用强化运行时(对于Xcode>=10.2)
  • 代码签名一切(dylibs、框架、二进制文件和.apps)
接下来,公证可以按如下方式进行:
  • 将需要公证的每个文件包含到.zip文件中(其他支持的格式:.dmg.pkg
  • 将支持的格式上载到苹果公证服务:例如:
    xcrun altool--公证应用程序-f--primary bundle id-u-p@keychain:“应用程序加载器:
    -->这将返回一个UUID,公证完成后,该UUID也将发送到所提供
    的邮件地址
  • 使用
    xcrun altool--公证信息-u-p@keychain:“应用程序加载器:”
  • 可以使用
    curl LogFileURL
    下载错误日志,其中LogFileURL在上一个命令的json响应中返回
  • 如果一切正常,只需使用命令
    xcrun stapper stuble-v
    装订公证书即可;只有appdmgpkg可以装订
其他有用的命令:
  • 使用
    codesign-dvvv
    检查是否完成了代码签名,同时检查时间戳值
  • 使用
    spctl-a-v
    检查装订是否有效

您是否在dylibs等未作为框架捆绑包组织的情况下尝试过这一点?我能够完成所有的步骤,但是Gatekeeper仍然拒绝在新机器(在VM中)上使用我的ZIP。我有一个包含一些二进制文件、动态库、脚本和生成文件的ZIP。我已将其转换为pkg。现在我该怎么做来公证这个包裹?另外,postinstall运行launchd命令,以便在不需要重新登录的情况下设置路径变量。