Skip to main content

sf_symbols 0.6.1 copy "sf_symbols: ^0.6.1" to clipboard
sf_symbols: ^0.6.1 copied to clipboard

PlatformiOSmacOS

Use SF Symbols on iOS and macOS, same as Image(systemName:) or UIImage(systemName:) in Swift.

0.6.1 #

Documentation only.

  • Add a sponsor section to the README.

0.6.0 #

Adds macOS support.

  • Support macOS 12 and newer, with the same widget and the same API: rendering modes, variable values, scale, accessibility and caching all work there.
  • Symbol effects on macOS need macOS 14, and wiggle, rotate and breathe need macOS 15 — the same split as iOS 17 and 18. SfSymbol.effectSupport() answers for whichever platform is running.
  • Fix a symbol drawing black on macOS where a multicolor symbol has no color for a layer, or no multicolor variant at all. It now uses color, as on iOS.

0.5.0 #

Adds animated symbol effects, and shares rendered symbols between widgets.

  • Add effect, playing an SF Symbols animation on the symbol: bounce, pulse, variable color, scale (iOS 17+), plus wiggle, rotate and breathe (iOS 18+). An effect the running OS does not have leaves the symbol still, so no version check is needed; SfSymbol.effectSupport() reports what it can play.
  • Add effectRepeats, for effects that can either repeat or play once.
  • Share one native texture between identical symbols. A list of a hundred rows showing the same icon used to cost a hundred textures and a hundred pixel buffers; it now costs one. Symbols scrolled off screen are kept for reuse.
  • Draw an already-rendered symbol on its first frame, instead of leaving a blank gap for a frame while the platform channel answers.
  • Add SfSymbol.precache, to render a symbol before it is needed.
  • Add SfSymbolCache, exposing maximumUnusedEntries and evictUnused for apps that want to tune or drop the off-screen pool.

0.4.0 #

Adds the SF Symbols rendering modes, variable values, scale and accessibility.

  • Add the hierarchical, palette and multicolor rendering modes via the SfSymbol.hierarchical, SfSymbol.palette and SfSymbol.multicolor constructors. The default constructor is unchanged and still monochrome.
  • Add variableValue, for variable symbols such as wifi or speaker.wave.3 (iOS 16+).
  • Add scale, mapping to UIImage.SymbolScale. The default matches what earlier versions rendered, so symbols do not resize on upgrade.
  • Add semanticLabel, so symbols are no longer invisible to VoiceOver.
  • Add SfSymbol.isAvailable, to check a symbol name before using it.
  • Fix the widget ignoring property changes: it only ever loaded its symbol in initState, so changing name, color, weight or size did nothing. It now reloads on change, swapping textures without a blink, and skips the work when the new configuration is equivalent.
  • Fix a symbol with no variant for the requested rendering mode drawing in black instead of the requested color.

Breaking: SfSymbolsPlatform.init now takes a single SfSymbolConfig instead of loose arguments. This only affects code implementing the platform interface directly; the SfSymbol widget API is unchanged.

0.3.0 #

  • Support the current Flutter and iOS toolchain (Flutter 3.27+, Dart 3, Xcode 16+).
  • Add Swift Package Manager support, in addition to CocoaPods.
  • Add a privacy manifest (PrivacyInfo.xcprivacy).
  • Raise the minimum iOS deployment target to 15.0.
  • Fix symbol tinting: colors are now baked into the rendered texture with .alwaysOriginal, instead of relying on the drawing context's fill color.
  • Render into a kCVPixelFormatType_32BGRA buffer, matching what the Flutter engine expects, and mark the buffer Metal-compatible for Impeller.
  • Notify the engine of new frames via textureFrameAvailable, so a symbol shows up without waiting for an unrelated repaint.
  • Report an UNKNOWN_SYMBOL error instead of registering an empty texture when the symbol name does not exist.
  • Replace the deprecated Color.value and FontWeight.index usages.
  • Move the plugin's texture registry off of static state, so multiple Flutter engines no longer share it.
  • Add unit tests and iOS integration tests.

0.2.0 #

  • Add documentations

0.1.0 #

  • Release functions of SF symbols
14
likes
160
points
2.88k
downloads
screenshot

Documentation

API reference

Publisher

verified publisherhanshi.tech

Weekly Downloads

Use SF Symbols on iOS and macOS, same as Image(systemName:) or UIImage(systemName:) in Swift.

Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on sf_symbols

Packages that implement sf_symbols