使用 Xcode 将自定义字体捆绑到 macOS 独立应用程序中
Posted
技术标签:
【中文标题】使用 Xcode 将自定义字体捆绑到 macOS 独立应用程序中【英文标题】:Bundle custom fonts into macOS standalone application using Xcode 【发布时间】:2020-11-24 16:09:51 【问题描述】:我是 macOS 独立应用程序开发的新手,我正在努力解决其中的问题。我遇到了一个问题,即自定义字体未应用于应用程序中存在的控件。我在 macOS Mojave 10.14 中使用 Xcode 11.3
项目中已经添加了一个字体文件夹,其中包含所有字体文件 (.ttf) 扩展名。我使用 Info.plist 文件中的“应用程序字体资源路径”键引用了“字体”文件夹。即使在应用了所有这些更改之后,控件也会被引用到系统字体而不是嵌入字体。
另外,添加到项目中的自定义字体没有显示在属性检查器的字体下拉列表中。
您能否建议将自定义字体嵌入到项目中并在字体下拉列表中显示这些自定义字体需要做什么?
【问题讨论】:
【参考方案1】:安装字体
在您的 macOS 上,双击您要使用的所有字体。每个将出现以下窗口:
点击安装字体按钮。
属性检查器
您现在可以选择您的字体。请记住,仅列出已安装的字体。与您的应用程序捆绑的字体不是。选择您的自定义字体。
捆绑字体
添加一个新的复制文件阶段
将子路径设置为Fonts
将所有字体文件放在那里
Info.plist
添加新行应用程序字体资源路径 (ATSApplicationFontsPath
)
将值设置为Fonts
(必须匹配复制文件阶段子路径)
测试
如何测试字体是否正确捆绑:
关闭情节提要 (Xcode) 启动字体书 右键单击您的自定义字体并禁用它 启动您的应用程序并测试所有自定义字体是否正确捆绑并按预期工作 启动字体书 右键单击您的自定义字体并再次启用它警告
如果禁用/删除自定义字体,请勿打开情节提要文件。
如果您这样做,您将收到以下警告...
...所有自定义字体设置都消失了。您可以再次打开故事板文件,但您必须启用/安装您的自定义字体。
【讨论】:
是的,我已经这样做了。在我的 macOS 上安装字体已经解决了这个问题。如果我建立一个设置并提供给客户端,那么字体如何自动安装在客户端机器上。你能建议如何做到这一点吗? 您无需在客户端计算机上安装它们。如果它们与您的应用程序捆绑在一起,它将起作用。将它们安装在您的机器上的唯一原因是能够在属性检查器中使用这些字体。 您在评论中提到的过程是与我们的应用程序捆绑字体的过程。对吗? 1) 始终将字体与您的应用程序捆绑在一起(Info.plist 和复制文件构建阶段)。然后,您可以在您的计算机或任何其他计算机上运行此应用程序而不会出现问题。 2) 在您正在编辑情节提要文件的计算机上安装字体,以便能够从字体下拉列表中选择自定义字体。 是的,当然...感谢您的更新。如果以 .dmg 格式的形式提供设置,这是否适用?以上是关于使用 Xcode 将自定义字体捆绑到 macOS 独立应用程序中的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Mac 应用程序中添加自定义字体(OSX 10.9+ Xcode5+)