我使用电子编写了一个应用并签名。
我已经确认我已使用codesign -dvvv
命令正确签名:
Executable=/Volumes/MyApp/MyApp.app/Contents/MacOS/MyApp
Identifier=com.example.my-app
Format=app bundle with Mach-O thin (x86_64)
CodeDirectory v=20200 size=285 flags=0x0(none) hashes=3+3 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha1=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
CandidateCDHash sha256=exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hash choices=sha1,sha256
CDHash=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Signature size=8925
Authority=Developer ID Application: Example, LLC (XXXXXXXXX)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=May 24, 2017, 4:30:26 PM
Info.plist entries=21
TeamIdentifier=XXXXXXXXXX
Sealed Resources version=2 rules=13 files=10
Internal requirements count=1 size=192
然而,当我的同事从互联网上下载测试时,他收到了这个警告:
"MyApp" is an application downloaded from the Internet. Are you sure you want to open it?
尽管选择" Mac App Store并确定了开发人员"来自"安全&隐私"屏幕设置。
基于Gatekeeper的描述:
https://support.apple.com/en-us/HT202491
我不希望得到那个警告。
如何构建或分发应用程序,以便用户不会收到该警告,我可以更改哪些内容?我们的用户根本不懂科技,所以任何警告信息都会让我们的手机响起。
答案 0 :(得分:2)
从article you linked about Gatekeeper开始,如果应用未正确签名,则警告会有所不同 - “[MyApp]来自身份不明的开发者”或“[MyApp]已损坏且无法打开”
因此,您“获取”[MyApp]是从互联网下载的应用程序“这一事实是正常的,并显示您的应用已正确签名。
您所看到的是用户将从互联网上下载任何应用程序的相同警告。例如,如果您下载Google Chrome,则会看到相同的消息:
因此,您的用户应该习惯在他们下载Mac App Store之外的任何内容时看到该消息。
要删除警告,他们需要在其系统上完全禁用Gatekeeper。在this blog post中有执行此操作的说明。