Swiftpack.co -  Rspoon3/SFSymbols as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
Rspoon3/SFSymbols
All the SFSymbols at your fingertips.
.package(url: "https://github.com/Rspoon3/SFSymbols.git", from: "1.0.3")

SFSymbols

Build Status Swift 5.3 Swift Package Manager compatible License

All the SFSymbols at your fingertips.

Usage

SFSymbol are static variables that contain the identifier strings of all of apple's SFSymbols as well as which category they belong to and their availability.

You can iterate through all version compatible symbols by using the 'allSymbols' computed variables.

for symbol in SFSymbol.allSymbols {
	print(symbol.title)
}

If you want symbols only in a certain Category you can do so like this.

for symbol in  SFSymbol.Category.weather.symbols {
	print(symbol.title)
}

There are even common, human understandable, names for symbols. Feel free extend SFSymbols in your own project for more common names.

public extension SFSymbol{
    static let share   = squareAndArrowUp
    static let refresh = arrowClockwise
    static let copy    = docOnDoc
    static let writing = squareAndPencil
}

@available(iOS 14, macOS 14.0, tvOS 14.0, watchOS 7.0,  *)
public extension SFSymbol{
    static let edit    = rectangleAndPencilAndEllipsis
    static let filter  = lineHorizontal2DecreaseCircle
    static let sort    = arrowUpArrowDownCircle
}

There are extensions for UIImage, Image, Button, and Label that enable easy use of any SFSymbol.

UIKit

UIImage(symbol: .playCircle)

SwiftUI

Image(symbol: .playCircle)
VStack{
	Label("Sunset", symbol: .sunset)
	Label("Sunset", symbol: .sunset)
		    .foregroundColor(.red)
	Label("Sunset", symbol: .sunset, textColor: .orange)
        .foregroundColor(.yellow)
}
VStack{
	Button(symbol: .sunset){}
    .foregroundColor(.red)
	Button("Sunset", symbol: .sunset){}
     .foregroundColor(.yellow)
	Button("Sunset", symbol: .sunset, textColor : .orange){}
     .foregroundColor(.yellow)
}

About

SFSymbols are a real treat from apple. Apple's official list of Symbols that are available to use free of charge when writing software on any of Apple's recent platforms. There is one downfall however, it is a pain in the neck to look up exact symbol names, take for example:

"square.and.line.vertical.and.square.fill"

That is a long string to remember and digging through the catalog of SF Symbols to find in would be quite a waste of time.

Wouldn't it be easier if you could just use code completion?

Thats what this super micro library aims to do.

Installation

Swift Package Manager (Preferred)

Since Xcode integrated swift package manager natively into the IDE you can add SFSymbol simply by:

File-> Swift Packages -> Add Package Dependency...

when prompted to enter a package URL paste:

https://github.com/Rspoon3/SFSymbols

and click next & finish to automagically install SFSymbol through Xcode & SPM!

Manual

Don't want that additional third party dependency? Then just simply copy over the files into your project's appropriate folder!

Acknowledgments

Thanks to Nirma for the idea. This project was highly influence and based off of his SFSymbol package. I found that few things I would do differently and before I knew it, I had an offshoot of what he had already done that went in a different direction.

Contributing to this project

Contributions are highly welcome

If there is something you wish to fix about the project, or wish to add any other kind of enhancements, propose to add to the project. Please feel free to send over a pull request or open an issue for this project. Check out SFSymbolsCreator for easily updating this project files.

License

SFSymbols is released under the MIT license. See LICENSE for details.

GitHub

link
Stars: 0
Last commit: 1 week ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Release Notes

Version 1.0.3
1 week ago

• Category now has human readable raw values • Category conforms to Hashable • Filter should be 3 lines instead of 2. See apple mail for an example. • Added a symbol for each Category.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API