MacOS打包公证的问题

MacOS打包公证的问题,第1张

之前一直使用Distribute App ->Copy App的方式打dmg包,导出的.app文件是没有签名的。打包完之后如果要安装打出来的dmg包,需要终端执行sudo codesign -f -s - --deep /Applications/xxxx.app.用于生成签名认证,使之可以正常打开

后续打包才发现使用Distribute App ->Developer ID 的方式可以上传到appstore公正之后,再等一会,等到状态为认证成功之后打包,安装的时候就可以不需要终端去签名。

codesign -d -vvv demo.app

查询结果如下

重点看其中几点

codesign -d —-entitlements - demo.app

--force 本身已经签名,这里强制重签名;

--options runtime 因为要公证,所以也需要把app设置成强制运行时,这里注意,设置强制运行时会使之前的获取权限设置清空,所以需要用entitlements来设置;

--entitlements 因为app可能会用到某些权限,这里需要根据第二步获取到的entitlement创建文件;

--sign 签名,后面写签名证书的名字;

如果app内部包含framework,需要对framework的dylib文件也进行签名;

关于证书,可参考: https://blog.csdn.net/lovechris00/article/details/84848734

The hardened runtime :强化版运行时

设置需要以下条件:macOS 10.13.6 及以上, Xcode 10 及以上;

测试则必须在 10.14 及以上版本。

工程 – target – Capabilities – Hardened Runtime

勾选需要的Access 后,access 将会声称在 entitlements 中。

entitlement.plist 中添加 com.apple.security.get-task-allow 这个键,设置为 YES

注意:这里选择了强化版运行时,获取权限会发生变化,需要在下面把权限勾上,不然获取权限的时候会崩溃;

Distribute App —>Developper ID —>Upload —>Review —>Loading;

上面的页面不要关闭,公证成功后会给xcode发通知。一般几分钟就可以;

点击export可以导出公证成功的app文件;

终端输入

security find-identity -v

可以得到如下类型的数据:

找到带 installer 的那条数据,并将双引号及内容一起复制

密码获取: 管理您的 Apple ID

参考 macOS 开发 - Notarization 公证你的 Developer ID 应用_伊织的笔记本-CSDN博客

Tower Mac版 是MAC OS平台上的开发软件,使用一款GIT的客户端,能够让开发者更好的管理GIT工具,使得工作能更快更好的进行。

新:

应用程序公证:现在使用“Apple公证服务”对塔构建进行签名,从而提供额外的安全保护。

改进:

更好的许可证信息:从主菜单打开“许可证...”对话框,现在提供有关许可证的更多信息。

固定:

用户个人资料的默认头像:在我们新的“用户个人资料”中,如果没有与输入的电子邮件地址相关联,我们现在还会显示“默认”头像图像。

服务视图中的组存储库:对于具有多个GitLab帐户的用户,可能会在错误的帐户/组下列出存储库。

提交消息编辑:编辑提交消息并以“#”字符启动时,Tower无法始终正确保存消息。

Reflog Crash:在较旧的macOS版本中,从“Reflog”打开一个项目可能会导致崩溃。

要求

英特尔,64位处理器

OS X 10.8或更高版本


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11840959.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存