ipa重签

终端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文件"  

比如:


image

我们只是为了得到里面的 “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文件" 

你可能感兴趣的:(ipa重签)