我刚刚创建了一个 AppleScript 简单应用程序,我希望它有一个漂亮的图标(除了卷纸,它是默认的)。如何更改此应用程序(或我的 Dock 中的任何其他应用程序)的图标?
当 Mac 应用程序的数字签名被破坏时,可能会出现哪些烦恼或实际问题?
Mac 上的应用程序可以进行数字签名。当签名以某种方式被破坏时,我知道一些应用程序可能会注意到这一点。但我不知道这些只是烦恼或真的会破坏事物的细节:
OS X 防火墙可能无法正确设置临时签名,导致反复提示“您希望应用程序‘[..]’接受传入的网络连接吗?”
家长控制允许的应用程序可能不再运行?
钥匙串访问可能已损坏?
有人说 Apple 软件更新可能会失败。如果为真,那么我想知道这是否确实取决于代码签名签名,还是由整个应用程序的某些不匹配的哈希值或BOM 文件中的信息引起的。
更多背景信息如下。
可以使用以下方式显示代码签名详细信息:
codesign --display -vv /Applications/iTunes.app/
Run Code Online (Sandbox Code Playgroud)
...这将产生类似以下内容(但不会警告修改):
[..]
CDHash=86828a2d631dbfd417600c458b740cdcd12b13e7
Signature size=4064
Authority=Software Signing
Authority=Apple Code Signing Certification Authority
Authority=Apple Root CA
[..]
Run Code Online (Sandbox Code Playgroud)
可以使用以下方法验证签名:
codesign --verify -vv /Applications/iTunes.app/
Run Code Online (Sandbox Code Playgroud)
这将产生:
/Applications/iTunes.app/: valid on disk
/Applications/iTunes.app/: satisfies its Designated Requirement
Run Code Online (Sandbox Code Playgroud)
...或(即使只是将一些额外的文件放在应用程序的 ./Contents/Resources 文件夹中):
/Applications/iTunes.app/: a sealed resource is missing or invalid
Run Code Online (Sandbox Code Playgroud)
...或(可能比上述消息更糟糕):
/Applications/iTunes.app/: code or signature modified
Run Code Online (Sandbox Code Playgroud)
代码签名可以追溯到 OS 9 或更早版本,但当前的实现是在 10.5 Leopard …
过去,我一直在 Windows PC 和互联网之间运行 NAT 路由器。我想知道我是否仍然需要这个,或者 OSX 防火墙是否足以让我将 Mac 直接放在互联网上。