SF Viewer is the best way to view, compare and export SF Symbols on your iOS device.

Overview

Symbals App Icon

SF Viewer for iOS

SF Viewer is the best way to view, compare and export SF Symbols on your iOS device.

Features:

  • View all SF Symbols
  • Change weight and scale to see how each icon is displayed in a certain setting.
  • View additional metadata for a symbol, easily copy it's unicode encoding.
  • Export to SVG, PDF, PNG, Squared PNG.
  • You can also export icons explicitly for use with Shortcuts on your Home Screen.

Follow me on Twitter at @aaron_pearce.

Getting involved

Please feel free to participate in this open source project. I'd love to see Pull Requests, Bug Reports, ideas and any other positive contributions from the community!

Building the code

  1. Clone the repository:
    git clone https://github.com/aaronpearce/SF-Viewer.git
  2. Pull in the project dependencies:
    cd Symbals
    sh ./bootstrap.sh
  3. Open Symbals.xcworkspace in Xcode.
  4. Find a source for the following fonts and drop them into the Fonts directory in Xcode:
    SF-Pro-Text-Bold.otf
    SF-Pro-Text-Heavy.otf
    SF-Pro-Text-Light.otf
    SF-Pro-Text-Medium.otf
    SF-Pro-Text-Regular.otf
    SF-Pro-Text-Semibold.otf
    SF-Pro-Text-Thin.otf
    SF-Pro-Text-Ultralight.otf
    
  5. Build the Symbals scheme in Xcode.

Code Signing

If bootstrap.sh fails to correctly offer your Apple Team ID, please follow this guide to manually add it.

  1. After running the bootstrap.sh script in the setup instructions navigate to:
    Symbals/Configuration/Local/DevTeam.xcconfig
  2. Add your Apple Team ID in this file:
    LOCAL_DEVELOPMENT_TEAM = KL8N8XSYF4

Team IDs look identical to provisioning profile UUIDs, so make sure this is the correct one.

The entire Local directory is included in the .gitignore, so these changes are not tracked by source control. This allows code signing without making tracked changes. Updating this file will only sign the Symbals target for local builds.

Finding Team IDs

The easiest known way to find your team ID is to log into your Apple Developer account. After logging in, the team ID is currently shown at the end of the URL:
https://developer.apple.com/account/

Use this string literal in the above, DevTeam.xcconfig file to code sign

Thanks

Thanks to everyone for their support in development and throughout the initial releases and then the review that failed and a particular thanks to @kylehickinson for the suggestion to use Brave's .xcconfig based setup for local development signing. Credit to @jhreis for the initial implementation that I based this upon.

Thanks to @davedelong for his sfsymbols project which helped with the exporter code within SF Viewer.

Open Source & Copying

SF Viewer is licensed under MIT so that you can use any code in your own apps, if you choose.

However, please do not ship this app under your own account. Paid or free. Not that Apple will accept it.

You might also like...
CodeBucket is the best way to browse and maintain your Bitbucket repositories on any iPhone, iPod Touch, and iPad device!
CodeBucket is the best way to browse and maintain your Bitbucket repositories on any iPhone, iPod Touch, and iPad device!

CodeBucket Description CodeBucket is the best way to browse and maintain your Bitbucket repositories on any iPhone, iPod Touch, and iPad device! Keep

Smooch is the best way to have personal, rich conversations with people on your website or customers on any device

Smooch is the best way to have personal, rich conversations with people on your website or customers on any device. Our features, integrations and developer-friendly APIs empower companies to connect with their customers in a whole new way.

Asset Catalog Viewer allows you to browse and export renditions in an asset catalog (.car) file.

Asset Catalog Viewer With the Asset Catalog Viewer Mac app, you can browse and export various type of renditions in an asset catalog. Features Browse

DTPhotoViewerController - A fully customizable photo viewer ViewController to display single photo or collection of photos, inspired by Facebook photo viewer.
DTPhotoViewerController - A fully customizable photo viewer ViewController to display single photo or collection of photos, inspired by Facebook photo viewer.

DTPhotoViewerController Example Demo video: https://youtu.be/aTLx4M4zsKk DTPhotoViewerController is very simple to use, if you want to display only on

Starlight epub viewer - Epub viewer for flutter
Starlight epub viewer - Epub viewer for flutter

Starlight Epub Viewer starlight_epub_viewer is an epub ebook reader that encapsu

Compare your implementation and design, see how much they match!
Compare your implementation and design, see how much they match!

DesignDetective Preview Usage You may trigger anywhere, but I personally prefer using it via Shake Gesture import DesignDetective extension UIWindow

Record your position and export your trip in GPX with GPS Stone on iOS.

GPS Stone Register your trips and export them as GPX files. Notes We currently have included a UIRequiredDeviceCapabilities with a location-services v

Pager is the simplest and best way to implement sliding view controllers in Swift

Pager is the simplest and best way to implement sliding view controllers. Installation Drop in the Spring folder to your Xcode project. Or via CocoaPo

Best way to dismiss Keyboard in a View Controller iOS (Swift)
Best way to dismiss Keyboard in a View Controller iOS (Swift)

Best way to dismiss Keyboard in a View Controller iOS (Swift) First way: Implement UITextFieldDelegate’s textFieldShouldReturn method and dismiss curr

A realistic reflective shimmer to SwiftUI Views that uses device orientation. Position any View relative to device orientation to appear as if through a window or reflected by the screen.
A realistic reflective shimmer to SwiftUI Views that uses device orientation. Position any View relative to device orientation to appear as if through a window or reflected by the screen.

A 3d rotation effect that uses Core Motion to allow SwiftUI views to appear projected in a specific direction and distance relative to the device in r

Shows your photo library grouped by events, to easily export them to your computer
Shows your photo library grouped by events, to easily export them to your computer

Groupir Shows your photo library grouped by events, to easily export them to your computer Features Currently supported features: reading your photo l

The best way to use the Zora API in your Swift projects.

ZoraKit The best way to use the Zora API in your Swift projects. Disclaimer This is still very much a work in progress, and is really a proof-of-conce

SwiftDate 🐔 Toolkit to parse, validate, manipulate, compare and display dates, time & timezones in Swift.
SwiftDate 🐔 Toolkit to parse, validate, manipulate, compare and display dates, time & timezones in Swift.

Toolkit to parse, validate, manipulate, compare and display dates, time & timezones in Swift. What's This? SwiftDate is the definitive toolchain to ma

Represent and compare versions via semantic versioning (SemVer) in Swift

Version Version is a Swift Library, which enables to represent and compare semantic version numbers. It follows Semantic Versioning 2.0.0. The represe

Units is a Swift package to manipulate, compare, and convert between physical quantities.

Units 📏 Units is a Swift package to manipulate, compare, and convert between physical quantities. This package models measurements, which are a numer

To compare the pictures and detect a similar face.

AWS Face Reckognition To compare the pictures and detect a similar face. Project Created & Maintained By MultiQoS Pvt. Ltd. Demo Screen.Recording.2022

An iOS app that allows you to create resumes on your phone and export them to pdf

Resume Builder iOS An iOS app that allows you to create resumes on your phone and export them to pdf To create a new resume, choose + from the main vi

Differific is a diffing tool that helps you compare Hashable objects using the Paul Heckel's diffing algorithm
Differific is a diffing tool that helps you compare Hashable objects using the Paul Heckel's diffing algorithm

Differific is a diffing tool that helps you compare Hashable objects using the Paul Heckel's diffing algorithm. Creating a chan

JSONExport is a desktop application for Mac OS X which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language.
JSONExport is a desktop application for Mac OS X which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language.

JSONExport JSONExport is a desktop application for Mac OS X written in Swift. Using JSONExport you will be able to: Convert any valid JSON object to a

Comments
  • bootstrap.sh is not enough

    bootstrap.sh is not enough

    I ran bootstrap.sh as the README indicates and it seems to have worked as intended. If I look at Symbals/Configuration/Local/DevTeam.xcconfig it shows the correct LOCAL_DEVELOPMENT_TEAM, anyway.

    However building for devices fails because Xcode still tries to use the wrong development team. It's necessary to change the team in Xcode too, because Xcode still wants to use the team found in the project file.

    Screen Shot 2020-01-02 at 3 31 58 PM

    Changing the team in Xcode fixes the issue and the app builds. This is with Xcode 11.2.1 (11B53).

    opened by atomicbird 3
Owner
Aaron Pearce
iOS Developer. HomeKit enthusiast.
Aaron Pearce
AppLove - View iOS app reviews in multiple selected territories with translation option.

App Love Note: Swift Version 2.2 currently, will update to Swift 3/XCode 8 after cocoapods are updated to Swift 3. Features View iOS Customer App Revi

Woodie Dovich 52 Nov 19, 2022
Dash-iOS - Dash gives your iPad and iPhone instant offline access to 200+ API documentation sets

Discontinued Dash for iOS was discontinued. Please check out Dash for macOS instead. Dash for iOS Dash gives your iPad and iPhone instant offline acce

Bogdan Popescu 7.1k Dec 29, 2022
A native Jellyfin client for Apple platforms (iOS, macOS and tvOS)

Jellyfin Swift (working title) is a native Swift app targeting all modern Apple devices (iOS, ipadOS, tvOS and macOS).

Julien Machiels 3 Jun 7, 2021
Bitrise-iOS - Client iOS app for bitrise.io 🚀

?? SwiftUI version is available as beta ?? Bitrise iOS Client app ?? Features ✅ App List GET /me/apps Shows last visited app page on launch ✅ Build Li

Toshihiro Suzuki 142 Dec 19, 2022
Buglife-iOS - Awesome bug reporting for iOS apps

Buglife is an awesome bug reporting SDK & web platform for iOS apps. Here's how it works: User takes a screenshot, or stops screen recording User anno

Buglife 498 Dec 17, 2022
Charter - A Swift mailing list client for iPhone and iPad

Due to costs and lack of interest, I’ve had to take down the Charter service. If you’re interested in running your own copy, get in touch and I can se

Matthew Palmer 526 Dec 24, 2022
DevTool - A simple UI and powerful Mac OS application, Such as JSON-Formatting tool, JSON-to-model tool, AppIcon generator, Network-Request tool...

?? ?? ?? A simple UI and powerful Mac OS application. It is a collection of tools commonly used in my development work. Such as JSON-Formatting tool, JSON-to-model tool, AppIcon generator, Network-Request tool...

渠晓友 3 Dec 21, 2022
Awesome-ML - Discover, download, compile & launch different image processing & style transfer CoreML models on iOS.

⚠️ ⚠️ ⚠️ IMPORTANT: I'm no longer maintaining Awesome-ML. Awesome ML is an iOS app that is made to demonstrate different image processing CoreML model

eugene 171 Nov 8, 2022
DevSwitch - An iOS app for switching between countries on the App Store with ease.

Archived as of 24/04/2021. Apple has again broken the URLs required for storefront switching. I've decided to archive DevSwitch due to this. If Apple

Aaron Pearce 432 Jan 3, 2023
IOS - Unofficial app for Swift Evolution

EVOlution - iOS The goal of this project is for the version 1.0 was: bring to iOS the experience provided by Swift Evolution website. Now we are shift

EVOlution App 235 Dec 19, 2022