实测可用的mac app签名+公证教程

前言

最近在做一个跨端的桌面app,在mac这边遇到一点问题,不做签名和公证的应用需要去设置开启未知来源,且会弹出两个提示框,提示用户危险行为,体验非常不好。找了些签名和公证的文章,都是缺这少那的,不是很完整,遂做出整理,给后来者一点帮助。

如果文章对你有帮助的话,记得一键三连哟。有问题和疑惑的话也可以在评论区留言。我会第一时间回复大家,如果觉得我的文章哪里有知识点错误的话,也恳请能够告知,把错的东西理解成对的,无论在什么行业,都是致命的。

推广下自己

最近做的一个小工具,可以给找工作的朋友提供一些帮助,价格不贵,感谢支持!# boss直聘智能助手

流程

签名

bash 复制代码
codesign -f -o runtime -s "证书名称,去钥匙串copy" -v ./build/bin/BOSS直聘智能助手.app --deep
# 例子
codesign -f -o runtime -s "Developer ID Application: siqi taoi (Z6VUTYSX)" -v ./build/bin/BOSS直聘智能助手.app --deep

提示这个就算签名成功

bash 复制代码
./build/bin/BOSS直聘智能助手.app: signed app bundle with Mach-O universal (x86_64 arm64) [com.wails.bosszpauto]

生成钥匙串密码凭证,后面步骤都通过这个做认证(只用操作一次就好了),我这里的boss就是钥匙串名字

bash 复制代码
xcrun notarytool store-credentials '随便起个名字,记住就好' --apple-id '账号邮箱' --team-id 团队id --password 'app密码,去苹果个人中心可以生成一个'
# 例子
xcrun notarytool store-credentials 'boss' --apple-id '234361@qq.com' --team-id Z6VUTYSX --password 'dadadasdasdasdasda'

压缩app.app实际是个目录,需要压缩再去公证

bash 复制代码
ditto -c -k --keepParent ./build/bin/BOSS直聘智能助手.app ./build/bin/BOSS直聘智能助手.app.zip

公证

提交公证,这个boss就是上面让你随便定义的名字

bash 复制代码
xcrun notarytool submit ./build/bin/BOSS直聘智能助手.app.zip --keychain-profile "boss"  --wait --no-s3-acceleration

回车后,会出现进度,记住这个id,可以用来查询状态

bash 复制代码
Submission ID received
  id: f3eba1f-ad33-42dd-88bc-4cfb475d3d
Upload progress: 100.00% (7.80 MB of 7.80 MB)   
Successfully uploaded file

查询认证结果(如果没问题,一般会很快,卡住可能是有问题)

bash 复制代码
xcrun notarytool info f3eba1f-ad33-42dd-88bc-4cfb475d3d --keychain-profile "boss"

注入认证信息

注入认证信息(这里给.app的文件注入认证信息)

bash 复制代码
xcrun stapler staple ./build/bin/BOSS直聘智能助手.app 

查询包是否认证

bash 复制代码
xcrun stapler staple -v ./build/bin/BOSS直聘智能助手.app

输出最底下包含如下文字,应该就算成功了

bash 复制代码
The staple and validate action worked!

压缩分发

压缩分发,这里我再打成zip文件给人去下载安装

bash 复制代码
ditto -c -k --keepParent ./build/bin/BOSS直聘智能助手.app ./build/bin/BOSS直聘智能助手.app.zip 

这样就不会报异常了,点击打开就能允许

如果需要打成dmg,可以用下面这个命令(create-dmg需要自己安装),但是,看文章说,如果打成dmgdmg还要再签名+公证一次,没有实验,大家可以自己去研究下

bash 复制代码
create-dmg  --window-pos 200 120 --window-size 800 400 --app-drop-link  600 185 ./build/bin/BOSS直聘智能助手.dmg   ./build/bin/BOSS直聘智能助手.app

致谢

Mac app文件签名与公证
基于notarytool对MacOS应用进行公证

引用

首发于语雀文档@is_tao

相关推荐
曼巴UE538 分钟前
UE FString, FName ,FText 三者转换,再次学习,官方文档理解
服务器·前端·javascript
行走的陀螺仪1 小时前
高级前端 Input 公共组件设计方案(Vue3 + TypeScript)
前端·javascript·typescript·vue·组件设计方案
一颗不甘坠落的流星2 小时前
【Antd】基于 Upload 组件,导入Json文件并转换为Json数据
前端·javascript·json
LYFlied2 小时前
Vue2 与 Vue3 虚拟DOM更新原理深度解析
前端·javascript·vue.js·虚拟dom
Lucky_Turtle2 小时前
【Node】npm install报错npm error Cannot read properties of null (reading ‘matches‘)
前端·npm·node.js
小飞侠在吗2 小时前
vue shallowRef 与 shallowReacitive
前端·javascript·vue.js
惜分飞3 小时前
sql server 事务日志备份异常恢复案例---惜分飞
前端·数据库·php
GISer_Jing3 小时前
WebGL实例化渲染:性能提升策略
前端·javascript·webgl
烟锁池塘柳03 小时前
【技术栈-前端】告别“转圈圈”:详解前端性能优化之“乐观 UI” (Optimistic UI)
前端·ui