SwifterSwift alternatives and similar libraries
Based on the "Utility" category.
Alternatively, view SwifterSwift alternatives based on common mentions on social networks and blogs.
-
SwiftGen-Storyboard
The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs! -
R.swift
Strong typed, autocompleted resources like images, fonts and segues in Swift projects -
SwiftGen
The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs! -
swift-protobuf
Plugin and runtime library for using protobuf with Swift -
Dollar
A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript -
ExSwift
a set of Swift extensions for standard types and classes. -
EZSwiftExtensions
:smirk: How Swift standard types and classes were supposed to work. -
DifferenceKit
💻 A fast and flexible O(n) difference algorithm framework for Swift collection. -
Result
Swift type modelling the success/failure of arbitrary operations. -
DeepDiff
🦀Amazingly incredible extraordinary lightning fast diffing in Swift -
Device
Light weight tool for detecting the current device and screen size written in swift. -
SwiftLinkPreview
It makes a preview from an URL, grabbing all the information such as title, relevant texts and images. -
WhatsNew
Showcase new features after an app update similar to Pages, Numbers and Keynote. -
Codextended
Extensions giving Swift's Codable API type inference super powers 🦸♂️🦹♀️ -
Popsicle
Delightful, extensible Swift value interpolation framework. -
SwiftyJSONAccelerator
macOS app to generate Swift 5 code for models from JSON (with Codeable) -
Playbook
📘A library for isolated developing UI components and automatically taking snapshots of them. -
ReadabilityKit
Preview extractor for news, articles and full-texts in Swift -
Compass
:earth_africa: Compass helps you setup a central navigation system for your application -
ObjectiveKit
Swift-friendly API for a set of powerful Objective C runtime functions. -
Bow
🏹 Bow is a cross-platform library for Typed Functional Programming in Swift -
Solar
A Swift micro library for generating Sunrise and Sunset times. -
Pythonic.swift
Pythonic tool-belt for Swift – a Swift implementation of selected parts of Python standard library. -
SwiftyUtils
All the reusable code that we need in each project -
Prototope
Swift library of lightweight interfaces for prototyping, bridged to JS. -
BetterSafariView
A better way to present a SFSafariViewController or start a ASWebAuthenticationSession in SwiftUI.
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of SwifterSwift or a related project?
README
SwifterSwift is a collection of over 500 native Swift extensions, with handy methods, syntactic sugar, and performance improvements for wide range of primitive data types, UIKit and Cocoa classes –over 500 in 1– for iOS, macOS, tvOS, watchOS and Linux.
[简体中文](README_CN.md)
Whats New in v5.3?
Requirements
- iOS 10.0+ / tvOS 9.0+ / watchOS 2.0+ / macOS 10.10+ / Ubuntu 14.04+
- Swift 5.0+
Looking to use SwifterSwift for older versions of Swift
SwifterSwift is Swift v5.0+ compatible starting from v5
- To use with Swift 3 / Xcode 8.x please ensure you are using
v3.1.1
. - To use with Swift 3.2 / Xcode 9.x please ensure you are using
v3.2.0
.
Installation
CocoaPods To integrate SwifterSwift into your Xcode project using CocoaPods, specify it in your Podfile:
- Integrate All extensions (recommended): pod 'SwifterSwift'
- Integrate SwiftStdlib extensions only: pod 'SwifterSwift/SwiftStdlib'
- Integrate Foundation extensions only: pod 'SwifterSwift/Foundation'
- Integrate UIKit extensions only: pod 'SwifterSwift/UIKit'
- Integrate AppKit extensions only: pod 'SwifterSwift/AppKit'
- Integrate MapKit extensions only: pod 'SwifterSwift/MapKit'
- Integrate CoreGraphics extensions only: pod 'SwifterSwift/CoreGraphics'
- Integrate CoreLocation extensions only: pod 'SwifterSwift/CoreLocation'
- Integrate CryptoKit extensions only: pod 'SwifterSwift/CryptoKit'
- Integrate SpriteKit extensions only: pod 'SwifterSwift/SpriteKit'
- Integrate SceneKit extensions only: pod 'SwifterSwift/SceneKit'
- Integrate StoreKit extensions only: pod 'SwifterSwift/StoreKit'
- Integrate Dispatch extensions only: pod 'SwifterSwift/Dispatch'
- Integrate WebKit extensions only: pod 'SwifterSwift/WebKit'
- Integrate HealthKit extensions only: pod 'SwifterSwift/HealthKit'
Carthage To integrate SwifterSwift into your Xcode project using Carthage, specify it in your Cartfile:
github "SwifterSwift/SwifterSwift" ~> 5.3
Swift Package Manager You can use The Swift Package Manager to install SwifterSwift by adding the proper description to your Package.swift file:
import PackageDescription
let package = Package( name: "YOUR_PROJECT_NAME", targets: [], dependencies: [ .package(url: "https://github.com/SwifterSwift/SwifterSwift.git", from: "5.3.0") ] )
Next, add SwifterSwift to your targets dependencies like so: .target( name: "YOUR_TARGET_NAME", dependencies: [ "SwifterSwift", ] ), Then run swift package update.
Note that the Swift Package Manager doesn't support building for iOS/tvOS/macOS/watchOS apps – see Accio in the next section for that.
Accio Accio is a dependency manager based on SwiftPM which can build frameworks for iOS/macOS/tvOS/watchOS. Therefore the integration steps are exactly the same as described above. Once your Package.swift file is configured, you need to run accio update instead of swift package update though.
Manually Add the SwifterSwift folder to your Xcode project to use all extensions, or a specific extension. For your test targets you can also add the XCTest folder.
List of All Extensions
SwiftStdlib Extensions Array extensions BidirectionalCollection extensions BinaryFloatingPoint extensions Bool extensions Character extensions Collection extensions Comparable extensions Dictionary extensions Double extensions Float extensions FloatingPoint extensions Int extensions Optional extensions RangeReplaceableCollection extensions Sequence extensions SignedInteger extensions SignedNumeric extensions String extensions StringProtocol extensions
Foundation Extensions Calendar extensions Data extensions Date extensions FileManager extensions Locale extensions NSAttributedString extensions NSPredicate extensions URL extensions URLRequest extensions UserDefaults extensions
UIKit Extensions UIActivity extensions UIAlertController extensions UIApplication extensions UIBarButtonItem extensions UIButton extensions UICollectionView extensions UIColor extensions UIDatePicker extensions UIEdgeInsets extensions UIFont extensions UIGestureRecognizer extensions UIImage extensions UIImageView extensions UILabel extensions UILayoutPriority extensions UINavigationBar extensions UINavigationController extensions UINavigationItem extensions UIRefreshControl extensions UIScrollView extensions UISearchBar extensions UISegmentedControl extensions UISlider extensions UIStackView extensions UIStoryboard extensions UISwitch extensions UITabBar extensions UITableView extensions UITextField extensions UITextView extensions UIViewController extensions UIView extensions UIWindow extensions
AppKit Extensions NSColor extensions NSView extensions NSImage extensions
CoreGraphics Extensions CGColor extensions CGFloat extensions CGPoint extensions CGSize extensions CGRect extensions CGVector extensions
CoreLocation Extensions CLLocation extensions CLVisit extensions
CoreAnimation Extensions CAGradientLayer extensions
CryptoKit Extensions Digest extensions
MapKit Extensions MKMapView extensions MKPolyline extensions
SpriteKit Extensions SKNode extensions
SceneKit Extensions SCNBox extensions SCNCone extensions SCNCapsule extensions SCNCylinder extensions SCNGeometry extensions SCNMaterial extensions SCNPlane extensions SCNShape extensions SCNSphere extensions SCNVector3 extensions
StoreKit Extensions SKProduct extensions
Dispatch Extensions DispatchQueue extensions
WebKit Extensions WKWebView extensions
HealthKit Extensions HKActivitySummary extensions
XCTest Extensions XCTest extensions
How cool is this?
SwifterSwift is a library of over 500 properties and methods, designed to extend Swift's functionality and productivity, staying faithful to the original Swift API design guidelines.
Check Examples.playground from the project for some cool examples!
Documentation
Documentation for all extensions, with examples, is available at swifterswift.com/docs
Get involved
We want your feedback. Please refer to contributing guidelines before participating.
Slack Channel: 
It is always nice to talk with other people using SwifterSwift and exchange experiences, so come join our Slack channel.
Thanks
Special thanks to:
- Steven Deutsch, Luciano Almeida and Guy Kogus for their latest contributions to extensions, docs and tests.
- Paweł Urbanek for adding tvOS, watchOS, and macOS initial support and helping with extensions.
- Mert Akengin and Bashar Ghadanfar for designing project website and logo.
- Abdul Rahman Dabbour for helping document the project.
- Many thanks to all other contributors of this project.
License
SwifterSwift is released under the MIT license. See LICENSE for more information.
*Note that all licence references and agreements mentioned in the SwifterSwift README section above
are relevant to that project's source code only.