- Notifications
You must be signed in to change notification settings - Fork1.7k
A handy collection of more than 500 native Swift extensions to boost your productivity.
License
SwifterSwift/SwifterSwift
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
SwifterSwift is a collection ofover 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, Linux, and Android.
- iOS 12.0+ /tvOS 12.0+ /watchOS 4.0+ /macOS 10.13+ /Ubuntu 14.04+
- Swift 5.6+
SwifterSwift is Swift v5.0+ compatible starting from v5
- To use withSwift 3 / Xcode 8.x please ensure you are using
v3.1.1. - To use withSwift 3.2 / Xcode 9.x please ensure you are using
v3.2.0.
CocoaPods
To integrate SwifterSwift into your Xcode project usingCocoaPods, specify it in yourPodfile:
pod 'SwifterSwift'pod 'SwifterSwift/SwiftStdlib'pod 'SwifterSwift/Foundation'pod 'SwifterSwift/UIKit'pod 'SwifterSwift/AppKit'pod 'SwifterSwift/MapKit'pod 'SwifterSwift/CoreGraphics'pod 'SwifterSwift/CoreLocation'pod 'SwifterSwift/CryptoKit'pod 'SwifterSwift/SpriteKit'pod 'SwifterSwift/SceneKit'pod 'SwifterSwift/StoreKit'pod 'SwifterSwift/Dispatch'pod 'SwifterSwift/WebKit'pod 'SwifterSwift/HealthKit'Carthage
To integrate SwifterSwift into your Xcode project usingCarthage, specify it in yourCartfile:
github "SwifterSwift/SwifterSwift" ~> 6.0Swift Package Manager
You can useThe Swift Package Manager to installSwifterSwift by adding the proper description to yourPackage.swift file:
import PackageDescriptionlet package = Package( name: "YOUR_PROJECT_NAME", targets: [], dependencies: [ .package(url: "https://github.com/SwifterSwift/SwifterSwift.git", from: "6.0.0") ])Next, addSwifterSwift to your targets dependencies like so:
.target( name: "YOUR_TARGET_NAME", dependencies: [ "SwifterSwift", ]),Then runswift package update.
Note that theSwift 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 yourPackage.swift file is configured, you need to runaccio update instead ofswift package update though.
Manually
Add theSwifterSwift folder to your Xcode project to use all extensions, or a specific extension.
For your test targets you can also add theXCTest folder.
SwiftStdlib Extensions
Array extensionsBidirectionalCollection extensionsBinaryFloatingPoint extensionsBool extensionsCharacter extensionsCollection extensionsComparable extensionsDecodableExtensions extensionsDefaultStringInterpolationExtensions extensionsDictionary extensionsDouble extensionsFloat extensionsFloatingPoint extensionsInt extensionsOptional extensionsRangeReplaceableCollection extensionsSequence extensionsSignedInteger extensionsSignedNumeric extensionsString extensionsStringProtocol extensions
Foundation Extensions
UIKit Extensions
UIActivity extensionsUIAlertController extensionsUIApplication extensionsUIBarButtonItem extensionsUIButton extensionsUICollectionView extensionsUIColor extensionsUIDatePicker extensionsUIEdgeInsets extensionsUIFont extensionsUIGestureRecognizer extensionsUIImage extensionsUIImageView extensionsUILabel extensionsUILayoutPriority extensionsUINavigationBar extensionsUINavigationController extensionsUINavigationItem extensionsUIRefreshControl extensionsUIScrollView extensionsUISearchBar extensionsUISegmentedControl extensionsUISlider extensionsUIStackView extensionsUIStoryboard extensionsUISwitch extensionsUITabBar extensionsUITableView extensionsUITextField extensionsUITextView extensionsUIViewController extensionsUIView extensionsUIWindow extensions
CoreGraphics Extensions
SceneKit Extensions
SwifterSwift is a library ofover 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 for all extensions, with examples, is available atswifterswift.com/docs
We want your feedback.Please refer tocontributing guidelines before participating.
It is always nice to talk with other people using SwifterSwift and exchange experiences, so comejoin our Slack channel.
Special thanks to:
- Steven Deutsch,Luciano Almeida andGuy 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 andBashar Ghadanfar for designingproject website and logo.
- Abdul Rahman Dabbour for helping document the project.
- Many thanks to all othercontributors of this project.
SwifterSwift is released under the MIT license. SeeLICENSE for more information.
About
A handy collection of more than 500 native Swift extensions to boost your productivity.
Topics
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.