1.创建mac应用发布证书(账号持有人)
证书添加到钥匙串以后,xcode-preferences-account中查看appid账密中是否包含mac应用证书
2.根据证书生成密钥到本地
3. 设置全局变量
sudo vim ~/.bash_profile
export CSC_LINK=/Users/.../cat.p12 // 那会密钥保存的位置
export CSC_KEY_PASSWORD=xxxx // 那会设置的密钥密码
source ~/.bash_profile
env
// 输入本地所有环境变量,看到有CSC_LINK和CSC_KEY_PASSWORD就设置成功
4.脚本签名
//本签名
codesign -fs "Developer ID Application: xxx xxx (767xxxxxxx)" --options=runtime --timestamp -v --deep 路径绝对相对均可.dmg
//查看签名
spctl --verbose=4 --assess --type execute /Users/xxx.dmg
//公证(30分钟+):
xcrun altool --notarize-app --primary-bundle-id xxx --username xxx@sinochem.com --password xxxx --asc-provider 767xxx -t osx --file 路径绝对相对均可.dmg
/**--primary-bundle-id APPID
--username 开发者账号
--password 应用专用密码(登录appleid.apple.com,创建一个应用专用密码)
asc-provider 证书提供者(1.钥匙串中证书-显示简介-全名中括号内的767xxxxxxx,一般组织单位名 如 Developer ID Application: xxx xxx (767xxxxxxx) 2.取ProviderShortname命令:xcrun altool --list-providers -u "apple id" -p "app password")
-t 系统 osx
--file 待公证的文件路径 **/
//查看公证记录
xcrun altool --notarization-history 0 --username "apple id" --password "app password"
// 查看公证结果根据公证返回的RequestUUID
xcrun altool --notarization-info "RequestUUID" --username "apple id" --password "app password"
设置后,代码打出包就是正常可用的(不会弹出“不信任”、“风险”,“无法打开”,“移到废纸篓”的提示)。验证的话可根据下面脚本
参考:https://blog.csdn.net/luoshabugui/article/details/109295413
https://www.jianshu.com/p/0d89a18308b2