Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apple Developer - What is the 'Fonts' Capability under Register an App ID for?

I need to register an App ID in my Apple Developer account and saw under the 'Capabilities' section 'Fonts'. Which I found on means 'Fonts: Font Installation allows your app, with user permission, to install and use custom fonts."

I ticked that box thinking that it's related to using custom fonts in my app but got a warning message in Xcode:

'Waring: Provisioning profile "iOS Team Provisioning Profile: My Bundle ID for MyAppName contains entitlements that aren't in the entitlements file: com.apple.developer.user-fonts. To use these entitlements, add them to your entitlements file. Otherwise, remove unused entitlements from your provisioning profile. (in target MyAppName).'

The worse thing is after I untick the Fonts capabilities box in order to get rid of the warning, a modal says 'Modify App Capabilities: Adding or removing any capabilities will invalidate any provisioning profiles that include this App ID and they must be regenerated for future use.'

After watching this video, I think 'Fonts' under 'Certificates, Identifiers & Profiles' > 'Capabilities' is for 'Ability to register fonts system-wide'. Whatever that means...

'Adding a custom font to your app' page but doesn't mention the 'Fonts' under 'Capabilities' when Register an App ID. Link

I think the Fonts capabilities are new and that's why their documentation is inconsistent. Does anyone know in what circumstances do you need to tick that Fonts capabilities box and how to use it?

Thanks

like image 544
Cocodenut Avatar asked Oct 22 '19 18:10

Cocodenut


People also ask

What font does Apple use for apps?

SF Pro. This neutral, flexible, sans-serif typeface is the system font for iOS, iPad OS, macOS and tvOS. SF Pro features nine weights, variable optical sizes for optimal legibility, four widths, and includes a rounded variant. SF Pro supports over 150 languages across Latin, Greek, and Cyrillic scripts.

How do I add custom fonts to an app?

The android:fontFamily attribute of the TextView class is used to specify the font. Step 1: Go to the XML file and go to the Design view. Step 2: Click the TextView you want to change the font of. Step 3: In the search bar, search for fontFamily.

What is an iOS capability?

Overview. A capability grants your app access to an app service that Apple provides, such as CloudKit, Game Center, or In-App Purchase. To use some app services, you must provision your app, adding a capability with Xcode's project editor that configures the app service correctly for you.

What is app attestation?

The App Attest service tracks the keys that you generate in this mode separately from the keys generated in production mode. This allows you to generate and attest any number of keys on a given device without polluting that device's production key count.


1 Answers

Since iOS 13, apps can make use of a Fonts entitlement, with a sub option 'Use Installed Fonts' to use custom fonts installed by special font provider apps. Font provider apps make use of the same entitlement, but with sub option 'Install Fonts'. Examples of such apps are CreativeCloud from Adobe and MyFonts from MonoType.

You only need to add the Fonts entitlement to your app, if you want to use fonts installed by said font provider apps, or if you are developing a font provider app yourself.

like image 70
Ely Avatar answered Sep 25 '22 00:09

Ely