OSX 10.12.3,我有一个使用EV代码签名代码的软件包。
$ codesign --force --sign "3rd Party Mac Developer Application: myname (code...)" mypackage.pkg
但是当有人下载并尝试在OSX中安装它时,它们都会得到以下结果:
在英文中它的同一个对话框:“App无法打开,因为它来自一位身份不明的开发者”
当我检查代码符号时,我可以看到它正常工作:
$ pkgutil --check-signature mypackage.pkg
Package "mypackage.pkg":
Status: no signature
$ codesign -dv --verbose=4 mypackage.pkg
Executable=/Users/xxx/xxxxxx
Identifier=xxxx
Format=generic
CodeDirectory v=20200 size=177 flags=0x0(none) hashes=1+2 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha1=xx
CandidateCDHash sha256=xx
Hash choices=sha1,sha256
CDHash=xxxxx
Signature size=4715
Authority=3rd Party Mac Developer Application: xxxxx
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=1xxx
Info.plist=not bound
TeamIdentifier=xxxxx
Sealed Resources=none
Internal requirements count=1 size=196
如何确保正确完成?所以它不会吓到OSX用户,我在这里缺少什么?
答案 0 :(得分:1)
代码签名标识“第三方Mac开发人员应用程序:<团队名称>”用于在将应用程序提交到应用商店之前对其进行签名。它对于在应用商店之外发布无用。
要在应用商店外签署应用包以进行分发,请使用“开发者ID应用:<团队名称>”身份。
但是,您说您正在签署“软件包”并显示一个文件扩展名为.pkg的文件。要签署安装程序包,请使用“开发者ID安装程序:< Team Name>”身份。此外,您应使用productsign
或pkgbuild
或productbuild
的相应选项,而不是codesign
来签署安装程序包。