You should really not use this solution to load fonts in your app. For example if Apple ever changes the font names your app will break. Or if they change permissions on these folders/files so they are no longer readable. Instead use approved Apple APIs to load installed fonts. For example:
UIFont.init?(name fontName: String, size fontSize: CGFloat)
You can also check for how to install a custom font in your app:
Adding a Custom Font to Your App
Post
Replies
Boosts
Views
Activity
If you're using a font in your app that is already installed on the system, you don't need any specific authorization to use them. As long as you use approved Apple APIs, like UIFont and NSFont to select them. However, you can't download Apple's installed fonts and embed them in your app bundle for distribution.
You can use special tags to render web page text with San Francisco font. See here:
https://developer.apple.com/forums/thread/127350?answerId=614912022#614912022
However, these use system-font tags which only render San Francisco font when it is the system font. So only Apple devices. Non-Apple devices cannot use San Francisco font.
San Francisco font (and any other installed fonts) can be used in all Apple ecosystem apps (e.g. iPhone, iPad, Mac, Watch, TV, etc.) In fact Apple encourages developers to do so.
Just don't download the font files themselves and embed them in your application bundle. Use system font APIs to get San Francisco font, such as
UIFont.systemFont(size:)
There are also UIFont APIs to load other installed fonts by name.
However you are prohibited from using San Francisco font on non-Apple devices.
Doug Hill
https://github.com/djfitz/SFFontFeatures
Font files often have license terms embedded in them so you can always look at each one if you want.
That said, installed fonts are available to app developers via the UIFont or NSFont APIs. My understanding is that app developers are free to use these fonts in their apps using those APIs.
One thing that is not allowed is to download the font files themselves and embed them in your application bundle for distribution. Only use the APIs. You can give the font files to a UI designer to create mockups. Any other use you should check the font license agreement to see usage terms.
You can use the rounded variant of San Francisco font in your iOS app. For example:
// Create a rounded variant using font descirptor
let sysFont = UIFont.systemFont(ofSize: 12)
if let descRound = sysFont.fontDescriptor.withDesign(.rounded) {
let roundedSysFont = UIFont(descriptor: descRound, size: 12)
}
iOS uses San Francisco font as the sans-serif system font. To get the license terms, download the font here and look inside for license text:
https://developer.apple.com/fonts
You can also try using monospaced system font. For example:
UIFont.monospacedDigitSystemFont(ofSize fontSize: CGFloat, weight: UIFont.Weight)
or
UIFont.monospacedSystemFont(ofSize fontSize: CGFloat, weight: UIFont.Weight)
It might be interesting if either of these also have an appropriately sized space character.
I looked at the list of installed font families on iOS and iPadOS, and I don’t see Apple Chancery as being available.
UIFont has a number of convenience constructors for creating variations of the system font.
// Bold system font
let boldSysFont = UIFont.boldSystemFont(ofSize: 12)
// Medium system font
let mediumSysFont = UIFont.systemFont(ofSize: 12, weight: .medium)
// Create a rounded variant using font descirptor
let sysFont = UIFont.systemFont(ofSize: 12)
if let descRound = sysFont.fontDescriptor.withDesign(.rounded) {
let roundedSysFont = UIFont(descriptor: descRound, size: 12)
}
The system font is San Francisco however it’s handled differently than other installed fonts. For example you can’t search for it by name, and it won’t show up in the list of installed fonts. This is because the system font can and has changed in the past. Ideally you would like to write your code without assuming the system font is San Francisco. You should also not make my assumptions about the font name specifics, like pro vs regular. These details can change at any time.
San Francisco is also unique because it has optical variants, Text and Display. The system picks which variant to use based on the point size. 19 pt and lower uses text, 20 and higher uses display.
In general you don’t pick the variant manually; just use the syatem font and set the point size and the system does the rest.
Doug Hill
https://github.com/djfitz/SFFontFeatures
"You can access system fonts in a standards-compliant way by utilizing the system-ui family. And in Safari 13.1 we introduced new standards-based keywords to access serif, monospace, and rounded forms."
https://developer.apple.com/forums/thread/127350?answerId=614912022#614912022
The restriction on San Francisco font is that if you download the font, any use would only be allowed for UI mockups. So don’t download the font and add to your app bundle. Use the tags above for web pages or use the System font in UIkit, SwiftUi. Etc.
I downloaded the SF Pro font installer at https://developer.apple.com/fonts
In the installer, I see some interesting license agreement terms:
"IMPORTANT NOTE: THE APPLE SF PRO FONT IS TO BE USED SOLELY FOR CREATING MOCK-UPS OF USER INTERFACES TO BE USED IN SOFTWARE PRODUCTS RUNNING ON APPLE’S iOS, iPadOS, macOS OR tvOS OPERATING SYSTEMS, AS APPLICABLE."
and
"B. Other Use Restrictions. The grants set forth in this License do not permit you to, and you agree not to, install, use or run the Apple Font for the purpose of creating mock-ups of user interfaces to be used in software products running on any non-Apple operating system or to enable others to do so. You may not embed the Apple Font in any software programs or other products. Except as expressly provided for herein, you may not use the Apple Font to, create, develop, display or otherwise distribute any documentation, artwork, website content or any other work product."
According to my read of this, you cannot use SF font for a book. If you are unsure of any of the license terms I would consult an IP attorney before using the font.
You can use San Francisco font in both your Apple ecosystem devices (iphone, ipad, apple watch, etc.), and your websites.
The OS hides SF font from the list of installed fonts enumerated by the app. So you can’t pick it from a list.
For your app, use the UIFont.systemFont APIs. You will get San Francisco font on devices for which San Francisco is the system font.
For your website, there are tags for Safari that allow you to specify system font.
"You can access system fonts in a standards-compliant way by utilizing the system-ui family. And in Safari 13.1 we introduced new standards-based keywords to access serif, monospace, and rounded forms."
https://developer.apple.com/forums/thread/127350?answerId=614912022#614912022
The restriction on San Francisco font is that if you download the font, any use would be allowed for UI mockups only. So don’t do this in your app. Give the fonts to your UI designer for mocks and use System font APIs in your app.
My understanding is that Symbols is similar to SF font in terms of license restrictions.
I am not aware of any separate requirement for including font licenses as part of app review or approval. FWIW I worked on an iOS app in the past that included Roboto with no issues from Apple app review.
Second, my understanding is that Apple doesn’t license SF font for use in apps on non-Apple devices. You will have to use a different font.