Popularity
9.7
Declining
Activity
7.7
Growing
7,748
235
961

Code Quality Rank: L5
Monthly Downloads: 0
Programming language: Swift
License: MIT License
Tags: Utility    
Latest version: v5.1.0

SwifterSwift alternatives and similar libraries

Based on the "Utility" category

Do you think we are missing an alternative of SwifterSwift or a related project?

Add another 'Utility' Library

README

Build Status Platforms Cocoapods Carthage compatible SPM compatible Accio supported codecov docs Swift Xcode MIT Slack Channel

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.

Whats New in v5.1?

Requirements

  • iOS 8.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 SpriteKit extensions only: pod 'SwifterSwift/SpriteKit'

- Integrate SceneKit extensions only: pod 'SwifterSwift/SceneKit'

- Integrate Dispatch extensions only: pod 'SwifterSwift/Dispatch'

Carthage To integrate SwifterSwift into your Xcode project using Carthage, specify it in your Cartfile:

github "SwifterSwift/SwifterSwift" ~> 5.0

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.1.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.

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 RandomAccessCollection 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 CGVector extensions

CoreLocation Extensions CLLocation extensions

CoreAnimation Extensions CAGradientLayer 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

Dispatch Extensions DispatchQueue 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: Slack

It is always nice to talk with other people using SwifterSwift and exchange experiences, so come join our Slack channel.

Thanks

Special thanks to:

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.