/SwifterSwift

A handy collection of more than 500 native Swift 3 extensions to boost your productivity.

Primary LanguageSwiftMIT LicenseMIT

Build Status Cocoapods Carthage compatible codecov docs CocoaPods CocoaPods Platform Swift Xcode MIT Slack Channel

SwifterSwift is a collection of over 500 native Swift 3 extensions, with handy methods, syntactic sugar, and performance improvements for wide range of primitive data types like SwiftStdlib, Foundation, UIKit, AppKit and many other classes. –over 500 in 1– for iOS, macOS, tvOS and watchOS.


Looking for Xcode9/Swift4 Support?

We're working on v4 in the swift-4 branch, to bring support for Swift 4 and Xcode 9.

Please note that that v4 in still in development and will be released as soon as Xcode 9 is available.


Requirements:

  • iOS 8.0+ / tvOS 9.0+ / watchOS 2.0+ / macOS 10.10+
  • Xcode 8.0+
  • Swift 3.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 AppKit extensions only:

pod 'SwifterSwift/AppKit'

- Integrate CoreGraphics extensions only:

pod 'SwifterSwift/CoreGraphics'

- Integrate CoreLocation extensions only:

pod 'SwifterSwift/CoreLocation'
Carthage

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

github "SwifterSwift/SwifterSwift" ~> 3.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", majorVersion: 3),
    ]
)

Note that the Swift Package Manager is still in early design and development, for more information checkout its GitHub Page

Manually

Add the extensions folder to your Xcode project to use all extensions, or a specific extension.

List of All Extensions

SwiftStdlib Extensions
Foundation Extensions
UIKit Extensions
AppKit Extensions
CoreGraphics Extensions
CoreLocation Extensions
Misc. 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 API design guidelines of Swift 3.

Check Examples.md for some cool examples!

Documentation

A complete documentation for all extensions with examples is available at swifterswift.com/docs

Get involved:

Your feedback is always appreciated and welcomed. Please refer to contributing guidelines before participating.

Slack Channel: Slack

It is always nice to talk with other people using SwifterSwift and exchange experiences, Join Channel

Thanks:

Special thanks to: