如何在 iOS 中安装字体系统

How to install a font system wide in iOS

我创建了一个自定义键盘插件来支持阿姆哈拉语字符集(一种埃塞俄比亚方言)。我遇到的问题是 iOS 没有内置任何阿姆哈拉语支持,这意味着在使用我的键盘的其他应用程序中,字符显示为问号。

有没有办法在系统范围内安装自定义字体,以供所有用户的应用程序使用。例如,我希望用户能够使用阿姆哈拉语输入“备忘录”应用程序。

我记得我从一个应用程序安装了另一个阿姆哈拉语键盘,它提示我安装一个新的配置文件,该配置文件确实使字体可用。但是我不确定我需要做什么才能在我的键盘组件中实现这一点。

http://norbertlindenberg.com/2015/06/installing-fonts-on-ios/

配置描述文件的文档列出了五种安装方式,其中最实用的是通过电子邮件或网络服务器。

要从电子邮件安装配置文件,例如用于测试,只需将其通过电子邮件发送到您可以从测试设备访问的帐户即可。如果您点击设备收到的电子邮件中的配置文件图标,Mail 会切换到“设置”,它会提供安装配置文件的提示。安装完成(或取消)后,控制 returns 到邮件。

要使配置描述文件可用于从 Web 服务器安装,请将其存储在 Web 服务器上并确保扩展名是 .mobileconfig。配置文件的内容类型是 application/x-apple-aspen-config,但 Safari 似乎并不关心服务器是否正确报告,只要扩展存在即可。如果您将 Safari 指向带有扩展名 .mobileconfig 和合理内容的 URL,它会切换到设置,提供安装配置文件。安装完成(或取消)后,控制 returns 到 Safari。

从应用内安装配置描述文件 如果您希望在不依赖外部 Web 服务器的情况下从应用程序中启用配置文件的安装,或者如果您根本不想让配置文件在 Web 服务器上可用,那么事情就会变得有点困难。没有 API 可以从应用程序中安装配置文件。开发人员提出的基本解决方案涉及多个步骤:

在应用程序中设置网络服务器。 配置服务器以使用配置文件响应来自 Safari 的请求,使用值为 application/x-apple-aspen-config 的 Content-Type header。 启动后台任务以使应用 运行 保持在后台。 向 Safari 发送请求以从应用程序的服务器获取配置文件。收到配置文件后,Safari 会自动开始安装。安装完成(或取消)后,控制 returns 到 Safari。 为了 return 从 Safari 自动转到应用程序,需要额外的步骤:

  • 为应用程序定义自定义 URL 方案,以便 Safari 可以 return 通过请求访问应用程序(而不是它的网络服务器!)。
  • 将服务器配置为首先发送 HTML 定期重新加载的页面。
  • 配置服务器以发送第一次重新加载的配置文件,并重定向到应用的自定义 URL 方案以进行后续重新加载。
  • 通过关闭 Web 服务器响应自定义 URL 方案。

Installing a configuration profile on iPhone - programmatically