How to use SF Symbols in iOS 12 and below?
I am updating the icons in my app. After I heard Apple released an icon font named SF Symbols
with iOS 13, I was wondering if I can only use them in iOS 13 or if it is possible to use them in lower versions of iOS too.
If I want to use them, do I have to implement a fallback for older versions?
Solution 1:
You can not use SFSymbols natively in iOS versions older than iOS 13 (see Apple's Human Interface Guidelines for SF Symbols).
However, if you are interested in using the graphics you can use the SFSymbols app to export SVG versions of the icon. Then use some graphics tool to convert them to PNG icons you can import into your asset catalog.
Solution 2:
You can open .svg use Figma. Then select the Regular-M and export as PDF or PNG.
Update for more details:
You can use the PDF vector assets in Xcode. So that the icon should fit any size you want. Please check this blog: https://useyourloaf.com/blog/xcode-9-vector-images/
The new Xcode has a different UI but basically the same. In the Assets Catalog:
- Drag your PDF vector file in.
- Check "Preserve Vector Data"
- Choose "Single Scale"
Solution 3:
Work around in progress
I did not manage to find the solution, I gave up, but actually I went pretty far in investigating. Maybe someone luckier than me will be able to figure out hpw to continue the work I started:
In Apple documentation, it is said that, in order to easily browse all the new iOS 13 SF Symbols, you can dowmload the SF Symbols app : https://developer.apple.com/design/human-interface-guidelines/sf-symbols/overview/
Once instaled you can go in Application > SF Symbols > showPackage content
From there, under content > Resources
we can find an interesting file named SFSymbolsFallback.ttf
And if you try to open this file on https://fontdrop.info/ you can see that it contains all the font glyphs that are released in iOS 13 as SF Font, with associated unicodes
Bingo? not so fast...
From there I tried to import this .ttf into my project in iOS 12, on XCode 10.2.1, but it seems that it is never properly imported. It is not retrievable in the list of available fonts when calling UIFont.familyNames
More interesting, if I try to import this font in Font Book app, I receive a warning that says that it contains duplication, some kind of conflict with an existing font
From there?
My guess is that there is another font that prevent SF Symbols to be installed, in Font Book and on Xcode.
One of the solution could be to find the one that is in conflict in XCode package and delete it ( this may be Symbols
font or San Francisco
that are causing problems idk)
I also tried to open the font file with a font editor and change its Name and family Name without success.
If anyone want to continue investigating..
Hope this can help someone !
Solution 4:
This icon set is based on SF Symbols https://framework7.io/icons/
Solution 5:
You can upload the new ios 13 sf-pro-rounded font to your project. Then enable that font in your label.
Open sf symbols, click on the smbol you want, cmd+c, go to your project, click on a label cmd+v. Run the project, and there should be the icon
cheers,