我正在使用 Python 2.7 在 OS X 10.9 上制作一个应用程序。但是第一次启动时出现警告:
您是第一次打开 MYAPP 应用程序。您确定要打开此应用程序吗?
该应用程序位于名为“应用程序”的文件夹中。若要在 Finder 中查看应用程序而不打开它,请单击“显示应用程序”。
那么,如何避免此警告。我需要对info.plist
应用程序进行一些更改吗?我已经经历过这种情况了问答,但没有提及应用程序端的变化。
我不想让用户使用任何类型的命令来手动运行或进行更改。用户可以为所有应用程序禁用警告:
com.apple.LaunchServices LSQuarantine -bool NO
或者针对特定的应用程序:
xattr -rd com.apple.quarantine Application.app
我也曾签带有开发者ID的应用程序。
那么,如何禁止弹出此对话框呢?
答案1
简短的回答是不能。此警告是 OS X 的一项安全功能(用于限制以下情况造成的损害):驱动下载),如果你有办法避免它,那么坏人也有办法避免它,那就是非常坏的。
长话短说,您可能能够避免这种情况,因为警告仅针对某些软件分发方法出现。通常,警告适用于任何因来自不受信任的来源而处于“隔离”状态的软件。因此,如果您可以通过受信任的路径分发应用程序,则不会收到警告。
- 通过 Apple 的 App Store 分发。Apple 会在发布之前检查 App Store 中所有提交的内容是否存在恶意内容,因此这被视为可信来源,不会实施隔离。
- 通过文件共享分发。从网络下载的文件(或通过电子邮件发送的文件)会被隔离,但从使用 AFP 或 SMB 等协议的文件服务器传输的文件则不会被隔离。这种方法在互联网上效果不是特别好,但如果您在办公室或类似场所内分发,这种方法就很好用。
- 以签名的安装程序包(.pkg 文件)的形式分发。门禁策略适用于被隔离的软件包,但如果软件包使用正确的开发者 ID 签名,则默认策略将允许软件包打开而不发出警告。不过,用户仍然必须逐步完成安装过程。
请注意,使用上述任何一种方法,对应用程序本身进行签名都不是绝对必要的。但这仍然是一个好主意,你仍然应该这样做。