Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 502
Julian Pomper Avatar asked Jun 04 '19 18:06

Julian Pomper


8 Answers

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.

Screenshot how to export SVG from SFSymbols app on Mac.

like image 165
funkenstrahlen Avatar answered Oct 16 '22 12:10

funkenstrahlen


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:

  1. Drag your PDF vector file in.
  2. Check "Preserve Vector Data"
  3. Choose "Single Scale"
like image 39
user25917 Avatar answered Oct 16 '22 11:10

user25917


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

enter image description here

From there, under content > Resources we can find an interesting file named SFSymbolsFallback.ttf

enter image description here

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

enter image description here


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

enter image description here


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 !

like image 43
Olympiloutre Avatar answered Oct 16 '22 12:10

Olympiloutre


This icon set is based on SF Symbols https://framework7.io/icons/

like image 41
Holtwick Avatar answered Oct 16 '22 11:10

Holtwick


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,

like image 30
Dave van Wijk Avatar answered Oct 16 '22 10:10

Dave van Wijk


SF Symbols is a system only supported on iOS 13 or later - it's not possible to use them on iOS 12 or below. You'll need to use fallbacks for those older operating systems.

See Human Interface Guidelines

like image 29
Noah Gilmore Avatar answered Oct 16 '22 11:10

Noah Gilmore


In SF Symbols 3.1, Edit > Copy Image as... You can choose PNG/point size/pixel scale and paste into Preview etc.

like image 2
Hook Avatar answered Oct 16 '22 10:10

Hook


1. Import the font:

Open the Fonts app, search for the SF Pro Rounded font, right-click on the variant you want (e.g. Light) and click Show in Finder. Drag that file (e.g. SF-Pro-Rounded-Light.otf) into your XCode project and tick "Copy if necessary".

2. Select the font:

Select your UILabel or UIButton, set the Title to Attributed (this is important) and select the font you just copied (e.g. SF Pro Rounded Light).

3. Set the symbol:

Find the icon you want in SF Symbols, select it, press CMD+C to copy, switch back to XCode and click in the text part of the UILabel or UIButton Title and press CMD+V to paste.

A huge thank you to Dave van Wijk for the solution!

like image 1
Scotch Design Avatar answered Oct 16 '22 11:10

Scotch Design