1.先给.app应用 archive 用Developer ID证书和pp文件签名,通过Xcode传上去notarize
2.用package软件打包.app生成.pkg文件;用当前开发账号持有者的账号登录developer.apple.com生成Developer ID Installer证书,安装证书,用productsign命令和Developer ID Installer证书给.pkg包签名
productsign --timestamp --sign "Developer ID Installer Cert" "/path/needSign.pkg" "/path/signed.pkg"
3.将签名后的.pkg包用命令行上传到苹果服务进行认证,这里用普通开发者账号生成一个app-specific-password跳过two-factor-authentification ; 认证成功后开发者邮箱会收到一封邮件表明成功
成功后无需再对这个包做什么,用户从网络下载这个.pkg的安装包,其电脑上的gatekeeper会像苹果服务器请求获取这个包的notarize情况,过了就表明这是个受认证的开发者。
可能用到的命令
spctl -a -v xxx.pkg //查看app notarize情况
xcrun stapler staple xxx.pkg //感觉这个命令好像没有作用 说的是把ticket打入到包
xcrun altool --notarize-app --primary-bundle-id "installer pkg bundleID" --username "developerAccount" --password "app-specific-password" --file "/path/xxx.pkg" //这个命令可能过时最好用下面这个
xcrun notarytool submit --apple-id "Developer Account " --password "app specific password" --team-id "XXXXXXX" "/path/xxx.pkg"
这个命令成功会返回一个RequestUUID
No errors uploading '/path/xxx.pkg'.
RequestUUID = 99c29d9e-7086-424e-af81-eb1eb7dh9f06 //根据这个RequestUUID可以后续查询一些信息
网友评论