我已经使用电子编写了一个应用程序并对其进行了签名。
我已确认我已使用以下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
Run Code Online (Sandbox Code Playgroud)
然而,当我的同事从互联网下载它进行测试时,他收到了以下警告:
"MyApp" is an application downloaded from the Internet. Are you sure you want to open it?
Run Code Online (Sandbox Code Playgroud)
尽管从设置的“安全和隐私”屏幕中选择了“Mac App Store 和已确定的开发人员”,但情况仍然如此。
基于 Gatekeeper 的描述:
https://support.apple.com/en-us/HT202491
我没想到会收到这样的警告。
我可以对构建或分发应用程序的方式进行哪些更改,以使用户不会收到该警告?我们的用户根本不懂技术,因此任何警告消息都会让我们的手机响起。
从您链接的有关 Gatekeeper 的文章中,如果应用程序未正确签名,警告将有所不同 - “[MyApp] 来自身份不明的开发人员”或“[MyApp] 已损坏且无法打开”。
因此,您收到“[MyApp] 是从 Internet 下载的应用程序”这一事实是正常的,并且表明您的应用程序已正确签名。
您看到的与用户从互联网下载任何应用程序时收到的警告相同。例如,如果您下载 Google Chrome,您将看到相同的消息:
因此,您的用户应该习惯于在 Mac App Store 之外下载某些内容时看到该消息。
要消除警告,他们需要在系统上完全禁用 Gatekeeper。这篇博文中有相关说明。
| 归档时间: |
|
| 查看次数: |
3333 次 |
| 最近记录: |