在签署OSX应用程序以便在苹果商店外发布时,我遇到了一种奇怪的行为。
构建应用程序后,应用程序包已使用开发者ID应用程序证书进行签名。
正在运行spctl -a -vvvv $app;
已成功接受。
使用WhiteBox包http://s.sudre.free.fr/Software/Packages/about.html
产品使用开发者ID安装程序证书签署.pkg
使用spctl -a -vvvv --type install $installer
检查.pkg,再次接受它。
从pkg安装了该应用程序,然后检查了带有spctl -a -vvvv $app;
的.app,然后将其拒绝。
可能是因为在安装过程中使用WhiteBox包会以某种方式修改.app包吗?
FWI以下是我签署申请表的方式:
# First parameter is app location
function sign_app(){
codesign --force --verify --verbose --sign "$identity" "${1}/Contents/Frameworks/crash_inspector";
codesign --force --verify --verbose --sign "$identity" "${1}/Contents/Frameworks/nwjs Framework.framework";
codesign --force --verify --verbose --sign "$identity" "${1}/Contents/Frameworks/nwjs Helper EH.app";
codesign --force --verify --verbose --sign "$identity" "${1}/Contents/Frameworks/nwjs Helper NP.app";
codesign --force --verify --verbose --sign "$identity" "${1}/Contents/Frameworks/nwjs Helper.app";
codesign --force --verify --verbose --sign "$identity" "${1}/Contents/Icon";
codesign --force --verify --verbose --sign "$identity" "$1";
codesign -vvv -d $1;
spctl -a -vvvv $1;
}
# First parameter package location, second parameter - signed package output location
function sign_installer(){
productsign --sign "$installerID" $1 $2;
spctl -a -vvvv --type install $2;
}
答案 0 :(得分:0)
出于某种奇怪的原因,似乎当您向内容根添加图标(文件夹格式),签名,构建包并安装它时,签名将被删除。不包括内容根目录中的图标文件夹,解决了我的问题。