Apple Developer - 注册应用程序ID时的“字体”功能是什么?

16
我需要在我的苹果开发者账户中注册一个App ID,并在“Capabilities”部分下看到“字体”选项。根据我找到的on,它的意思是“字体: 字体安装允许您的应用程序在用户许可下安装和使用自定义字体。”
我勾选了该框,认为它与在我的应用程序中使用自定义字体有关,但在Xcode中收到了警告消息:
“警告: iOS Team Provisioning Profile: My Bundle ID for MyAppName包含未在entitlements文件中的entitlements: com.apple.developer.user-fonts。要使用这些entitlements,请将它们添加到您的entitlements文件中。否则,请从您的provisioning profile中删除未使用的entitlements。(in target MyAppName)。”
更糟糕的是,如果我取消选中“Fonts”功能框以消除警告,模态会显示:“修改应用程序功能:添加或删除任何功能都将使包括此App ID的任何provisioning profiles失效,它们必须重新生成以供将来使用。”
在观看了video之后,我认为“Certificates, Identifiers & Profiles”下的“Capabilities”中的“Fonts”是用于“能够在整个系统中注册字体”的。无论那意味着什么...

“将自定义字体添加到应用程序”页面中没有提及在注册应用程序ID时在“能力”下的“字体”选项。 链接

我认为字体功能是新功能,这就是为什么他们的文档不一致的原因。有人知道在什么情况下需要勾选字体功能框并如何使用它吗?

谢谢


你能够与其他应用程序共享字体吗?你能提供一个代码示例吗?我像你一样遇到了麻烦。链接 - Lorenzo97Ben
嗨@Lorenzo97Ben,我的用例与你的不同。我根本不需要打开字体功能,因此没有代码可分享。你看过https://developer.apple.com/documentation/coretext/3227897-ctfontmanagerregisterfonturls?changes=_7吗?它有一些代码示例。 - Cocodenut
2个回答

17
有人知道在什么情况下需要勾选字体功能框,并如何使用它吗?
是的,在iOS 13中,您的应用程序可以包括字体,并通过调用CTFontManagerRegisterFontURLs使它们对所有用户的应用程序可用。 这被称为安装字体。 您需要该功能才能执行此操作。 该功能在您问题引用的视频的5:46进行了解释。 观看视频,它会全面阐述这个问题。
您不需要专属权来仅包含和使用自己应用程序中的字体。

谢谢您的解释。您知道如何重新生成配置文件吗?这是否意味着我需要删除并重新添加该标识符?我尝试过了,但它不允许我这样做,因为它与App Store中的应用程序相关联。现在我被困在那个警告消息中,并担心如果我乱删东西可能会失去应用程序名称。 - Cocodenut
1
它不会影响已经在商店中的应用程序。它会影响以后的构建。请参阅https://developer.apple.com/library/archive/qa/qa1878/_index.html。 - matt
这份文档很有帮助,现在我知道临时配置文件在 https://developer.apple.com/account/resources/profiles/list 中了,但我还没有生成任何临时配置文件。我可以通过在 Xcode 中点击 Product > Clean Build Folder 来消除警告信息,只有当我插入手机构建和运行应用程序时,警告才会重新出现。如果我在模拟器设备中构建,则不会出现警告。这让我想知道是否可以忽略它... - Cocodenut
如果您正在为此项目使用手动配置文件,我建议您继续创建新的配置文件。但是我想提醒大家我们现在已经偏离了主题。问题是这个权限/功能是用来做什么的,我们已经解决了这个问题。如果您意外打开了一个不需要的应用程序功能,而该应用程序已经在商店中,那么该怎么办是完全不同的问题。 :) - matt
刚刚发现了这个页面 https://help.apple.com/developer-account/#/dev037e8f543?sub=devfdb3dfeed,关于编辑、下载或删除配置文件。 - Cocodenut

3
自从iOS 13以来,应用程序可以利用Fonts授权,并使用子选项“使用已安装的字体”来使用特殊字体提供程序应用程序安装的自定义字体。字体提供程序应用程序使用相同的授权,但使用子选项'安装字体'。此类应用程序的示例是Adobe的CreativeCloud和MonoType的MyFonts
只有当您想要使用由上述字体提供程序应用程序安装的字体或者您正在开发字体提供程序应用程序时,才需要将Fonts授权添加到您的应用程序中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接