什么是沙箱?
苹果在Mac OS X Leopard(10.5)中引入了App Sandbox,以允许开发人员“沙盒化”他们的应用程序。沙盒是指对应用程序可以访问哪些系统资源的限制:文件,文件夹,操作系统功能以及硬件组件(例如相机或麦克风)。
沙箱的主要目的是保护您的Mac,以防应用程序被恶意攻击破坏或破坏:如果未授予沙箱应用程序的访问权限,则沙箱应用程序无法窃取或破坏个人数据。
有关macOS中沙箱的深入技术说明,请访问 Apple Developer网站上的About App Sandbox。
沙盒与非沙盒应用程序
苹果要求从2012年6月1日起,在Mac App Store中出售的应用程序必须使用App Sandbox。某些第三方开发人员通过Mac App Store和直接销售来出售其应用程序。通过直销和通过Mac App Store出售的版本可能都使用App Sandbox,但在许多情况下,直销版本具有Mac App Store限制所不允许的功能。
我如何知道沙盒中的哪些应用程序?
通过在进程表中添加一列,可以查看哪些应用程序在活动监视器中使用“应用程序沙箱”。
- 打开活动监视器(/应用程序/实用程序/活动监视器)
- 右击列标题;出现一个下拉菜单
- 选择沙箱;沙箱列将添加到表格中
沙箱如何影响字体激活?
使用“应用程序沙箱”的应用程序无法使用不在操作系统字体文件夹之一中的字体:
- /系统/库/字体/
- /图书馆/字体/
- / Users /用户名/ Library / Fonts /
Suitcase Fusion将字体存储在其字体库中,而不是存储在操作系统字体文件夹中。尝试在Suitcase Fusion中使用字体的沙盒应用程序将被App Sandbox阻止;效果可能因应用程序而异。某些应用程序可能会提示您输入macOS用户名和密码以授予对该字体的访问权限。其他应用程序将使用占位符字体替换请求的字体,例如.LastResort,Calibri或Myriad。如果您对特定应用程序如何使用沙箱有疑问,则应与开发人员联系。
Microsoft Word 365中的文本样本
具有占位符字体的相同文本解决沙盒应用程序中的字体冲突
苹果尚未提供一种使字体或其他资源可用于沙盒应用程序的方法。在这样做之前,防止问题发生的最简单方法是避免在Keynote,Microsoft Word,Pages或Safari等应用程序中工作时使用操作系统字体文件夹中未包含的字体。如果您拥有在那些应用程序中必须使用的字体,则应将这些字体的副本保存在/ Library / Fonts /或/ Users /用户名/ Library / Fonts /文件夹中。
注意:手提箱融合可以激活驻留在操作系统字体文件夹中的字体副本,从而覆盖系统字体。您可以使用智能搜索下的“激活的字体”,“自动激活的字体”和“重复的字体”选项来识别重复和冲突的字体。在Suitcase Fusion中停用副本,以允许macOS使用系统提供的版本。