{"id":15037572,"url":"https://github.com/mnkgitbox/appsymbol","last_synced_at":"2026-02-13T21:14:31.512Z","repository":{"id":56933760,"uuid":"448787799","full_name":"MnkGitBox/AppSymbol","owner":"MnkGitBox","description":"SFSymbol is only available above the iOS 13, So we have to check the iOS version every time when we using the SFSymbol below iOS 13 deployment target projects. We can get rid of this boilerplate code using the AppSymbol framework.","archived":false,"fork":false,"pushed_at":"2022-01-23T10:07:09.000Z","size":511,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-22T18:02:09.786Z","etag":null,"topics":["programatically","sfsymbol","sfsymbol2","sfsymbols","swift","swift-3","swift-library","swift4","swift5"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MnkGitBox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-17T07:06:10.000Z","updated_at":"2022-01-17T07:09:17.000Z","dependencies_parsed_at":"2022-08-21T00:40:24.202Z","dependency_job_id":null,"html_url":"https://github.com/MnkGitBox/AppSymbol","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MnkGitBox%2FAppSymbol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MnkGitBox%2FAppSymbol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MnkGitBox%2FAppSymbol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MnkGitBox%2FAppSymbol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MnkGitBox","download_url":"https://codeload.github.com/MnkGitBox/AppSymbol/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243402727,"owners_count":20285290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["programatically","sfsymbol","sfsymbol2","sfsymbols","swift","swift-3","swift-library","swift4","swift5"],"created_at":"2024-09-24T20:35:00.852Z","updated_at":"2025-10-05T20:25:42.027Z","avatar_url":"https://github.com/MnkGitBox.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"![banner](AppSymbol_Banner.png)\n[![Version](https://img.shields.io/cocoapods/v/AppSymbol.svg?style=flat)](https://cocoapods.org/pods/AppSymbol)\n[![License](https://img.shields.io/cocoapods/l/AppSymbol.svg?style=flat)](https://cocoapods.org/pods/AppSymbol)\n[![Platform](https://img.shields.io/cocoapods/p/AppSymbol.svg?style=flat)](https://cocoapods.org/pods/AppSymbol)\n![SPM](https://img.shields.io/badge/Swift%20Package%20Manager-compatible-orange)\n\nUse the *SFSymbol* in your ios 13 below deployment target projects without any version check.\n\u003cbr\u003e\n\n## Why App Symbol?\nSFSymbol is only available above the iOS 13, So we have to check the iOS version every time when we using the SFSymbol below iOS 13 deployment target projects. We can get rid of this boilerplate code using the AppSymbol framework.\n\n\u003cbr\u003e\n\n## Installation\n\n### CocoaPods\n[CocoaPods](https://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command:\n\n```ruby\n$ gem install cocoapods\n```\nTo integrate AppSymbol into your Xcode project using CocoaPods, specify it in your Podfile:\n\n```ruby\nsource 'https://github.com/CocoaPods/Specs.git'\nplatform :ios, '12.0'\nuse_frameworks!\n\ntarget '\u003cYour Target Name\u003e' do\n    pod 'AppSymbol', '~\u003e 1.0.0'\nend\n```\nThen, run the following command:\n```ruby\n$ pod install\n```\n\n### Swift Package Manager\n\n[Swift Package Manager](https://swift.org/package-manager/) is a tool for managing the distribution of Swift code. It’s integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies.\n\n\u003e Xcode 11+ is required to build AppSymbol using Swift Package Manager.\n\n```Swift\ndependencies: [\n    .package(url: \"https://github.com/MnkGitBox/AppSymbol.git\", .upToNextMajor(from: \"1.0.0\"))\n]\n```\n\n### Manually\n\nIf you prefer not to use either of the aforementioned dependency managers, you can integrate AppSymbol into your project manually.\n\n---\n\n## Usage\n\n- **SFSymbol**\n    \n    1. Add symbol image files to assert folder with original SFSymbol name for older iOS versions.\n\n    \u003cbr\u003e\n\n    ![symbol asset screenshot](asset_system_symbol.png)\n\n    2. Extend the `AppSymbolNames` to add type `AppSymbolNameType` variable with any name. And add variable value as original SFSymbol name. \n\n    \u003cbr\u003e\n\n    ```Swift\n    extension AppSymbolNames {\n\n        var squareAndArrowUp: AppSymbolNameType { .init(rawValue: \"square.and.arrow.up\") }\n\n    }\n    ```\n\n    3. Finally, you can use this symbol file using the function provided by the framework.\n\n    ```Swift\n    let shareButton = UIButton.init(with: .squareAndArrowUp, to: .systemFont(ofSize: 17, weight: .medium), for: .normal, scale: .medium)\n\n    let shareImageView = UIImageView.init(.squareAndArrowUp, .systemFont(ofSize: 15, weight: .medium), scale: .medium)\n    ```\n\n    4. Result\n        - iOS 15.2 device\n\n        ![sfsymbol ios 15.2 screenshot](SFSymbol_iOS_15.2_Screenshot.png) \n\n        - iOS 12.0 device\n\n        ![sfsymbol ios 12.0 screenshot](SFSymbol_iOS_12.0_Screenshot.png)\n\n- **Custom Symbol**\n\n    1. Even though Apple has provided thousands of different symbols in the SF Symbol library, it’s impossible to cover every conceivable image you may need in your app. What Apple has done instead is make it really easy for you to build your own custom symbols, when needed. (*You can find how to create custom symbol using the symbol template [here](https://developer.apple.com/documentation/uikit/uiimage/creating_custom_symbol_images_for_your_app).*)\n\n    \u003cbr\u003e\n\n    ![custom symbol asset screenshot](asset_custom_symbol.png)\n\n    2. Extend the `AppSymbolNames` to add type `AppSymbolNameType` variable with any name. And add variable value as original SFSymbol name. \n\n    \u003cbr\u003e\n\n    ```Swift\n    extension AppSymbolNames {  \n        ...\n\n        static var lockOpenLine: AppSymbolNameType { .init(rawValue: \"lock.open.line\") }\n\n    }\n    ```\n\n    3. Finally, you can use this symbol file using the function provided by the framework.\n\n    ```Swift\n    let shareButton = UIButton.init(with: .lockOpenLine, to: .systemFont(ofSize: 17, weight: .medium), for: .normal, scale: .medium)\n\n    let shareImageView = UIImageView.init(.lockOpenLine, .systemFont(ofSize: 15, weight: .medium), scale: .medium)\n    ```\n    4. Result\n        - iOS 15.2 device\n\n        ![sfsymbol ios 15.2 screenshot](customSymbol_iOS_15.2_screenshot.png) \n\n        - iOS 12.0 device\n\n        ![sfsymbol ios 12.0 screenshot](customSymbol_iOS_12.0_screenshot.png)\n\n## Resources\n\nYou can find the original sample code [here](SampleCode.swift).\n\n## Credits\n- Malith Nadeeshan ([malithnadeeshan](https://twitter.com/malithnadeeshan))\n\n## License\n\nAppSymbol is released under the MIT license. See LICENSE for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnkgitbox%2Fappsymbol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmnkgitbox%2Fappsymbol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnkgitbox%2Fappsymbol/lists"}