Can we use SF Pro fonts in apps?

I'm confused about the SF Pro fonts. Can these be used in our apps?

I tried pasting characters from SF Pro into a label, but was unable to get them to display properly. "SF Pro" doesn't appear in the list of available fonts in Xcode.

If these are not intended to be used by app developers, then what is their purpose?

Are "SF Symbols" different that SF Pro? What about the list of icons that appears in the "Symbols Library" in Xcode? There are so many different sources of symbols and icons, it is very confusing.

If any of these sources is OK to use in an iOS app, is it also OK to export them for use in the event that business needs require me to create an alternate version of my app for some hypothentical non-iOS platform?

Thanks, Frank

Post not yet marked as solved Up vote post of flarosa Down vote post of flarosa
4.5k views

Replies

is it OK to export [Apple's symbols and/or fonts] for use in ... an alternate version of my app for some hypothentical non-iOS platform?

NO.

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.

and how I could add a weight to the font such as medium and bold using the UIFont.systemFont.

as in Label.font = UIFont(name: "SanFranciscoText-Medium", size: 14)

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)
}