/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, UIKit and Cocoa classes –over 500 in 1– for iOS, macOS, tvOS and watchOS.

Requirements:

  • iOS 8.0+ / tvOS 9.0+ / watchOS 2.0+ / macOS 10.10+
  • Xcode 8.0+
  • Swift 3.0+

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate SwifterSwift into your Xcode project using CocoaPods, specify it in your Podfile:

1. Integrate All extensions:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'SwifterSwift'
end

2. Integrate Foundation extensions only:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'SwifterSwift/Foundation'
end

3. Integrate UIKit extensions only:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'SwifterSwift/UIKit'
end

4. Integrate Cocoa extensions only:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'SwifterSwift/Cocoa'
end

Then, run the following command:

$ pod install
Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

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

github "SwifterSwift/SwifterSwift" ~> 3.0

Run carthage update to build the framework and drag the built SwifterSwift.framework into your Xcode project.

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

Foundation Extensions
UIKit Extensions
Cocoa 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: