ios - 如何在 iOS 中安装字体系统

标签 ios iphone custom-font custom-keyboard

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

有没有一种方法可以在系统范围内安装自定义字体,使其可供所有用户的应用程序使用。例如,我希望用户能够使用阿姆哈拉语在 Notes 应用程序中输入内容。

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

enter image description here

最佳答案

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

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

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

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

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

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

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

Installing a configuration profile on iPhone - programmatically

关于ios - 如何在 iOS 中安装字体系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31514477/

相关文章:

android - Simplecursoradaptor 中的自定义文本字体

ios - 在完成 block 中访问 super 的正确方法

ios - Objective-C - 如何从 NSAttributedString 创建 rtf

ios - Today Extension 中的 UITableView 未收到行点击

iphone - 出列的 UITableViewCell 在滚动之前布局不正确(使用自动布局)

iphone - 核心数据存储(sqlite)备份的最佳实践?

iphone - 架构 i386 : "_OBJC_IVAR_$_UIViewController._view", 的 undefined symbol 引用自:

iphone - 签名仅对临时无效

ios - Google Fonts 中的自定义字体在 iOS 应用程序中不起作用

android - 在 Android Studio 中预览自定义字体