终端ssh登录mac用shell打包ipa报错:replacing existing signature
终端ssh登录mac用shell打包ipa报错:replacing existing signature
报错原因:login.keychain被锁定,ssh登录的没有访问权限
解决方法:终端敲入 security unlock-keychain ${HOME}/Library/Keychains/login.keychain
然后输入你mac的登录密码
security find-identity -v -p codesigning
此命令可以查看您的计算机中安装的开发者证书,找到与您创建的AppID相符的
mobileprovision 配置描述文件,重命名为embedded.mobileprovision
生成entitlements.plist文件
先通过“security”命令,从mobileprovision文件中生成一个完整的plist文件
security cms -D -i "mobileprovision文件" > "entitlements文件"
比如:
我们只是为了得到里面的 “Entitlements”字段,使用如下的命令
/usr/libexec/PlistBuddy -x -c 'Print:Entitlements' entitlements_full.plist > entitlements.plist
为了重新设置签名,你必须带上-f 参数,有了这个参数,codesign 会用你选择的签名替换掉已经存在的那一个:
同时签名的时候,需要带上entitlements.plist文件
/usr/bin/codesign --continue -f -s "证书" --entitlements "entitlements文件" "需要签名的app文件"