Go to file
Robert Payne f1ac618f52 Release 5.6
* Update urls in readme
* Update podspec version
2022-04-13 16:02:20 +12:00
CodeSnippets Update code snippets 2016-12-26 00:25:57 +13:00
Documentation Added quirks section to migration guide 2016-12-26 01:05:48 +13:00
Example-iOS Added Example-iOS.xcdodeproj and fixed examples (#707) 2021-05-14 15:42:27 +12:00
SnapKit.xcodeproj Merge branch 'develop' of github.com:SnapKit/SnapKit into feature/release-5.6 2022-04-13 15:55:29 +12:00
SnapKit.xcworkspace Add Playground Sample (#608) 2019-08-05 17:16:46 +12:00
SnapKitPlayground.playground Remove duplicate file 2020-09-25 16:00:30 +12:00
Sources Make ConstraintMaker.item public (#693) 2021-09-15 12:54:35 +12:00
Supporting Files Xcode 12 and SwiftPM enhancements 2020-09-25 15:27:40 +12:00
Tests/SnapKitTests Add test assert to unit test testCanSetLabel. (#625) 2019-11-27 23:28:29 +13:00
.gitignore added updates to Package.swift so it can be imported with Xcode 11 (#615) 2019-08-05 17:17:03 +12:00
.travis.yml Use << for ConstraintAttributes options (#659) 2020-07-08 10:53:40 +12:00
CONTRIBUTING.md Update CONTRIBUTING.md 2016-09-20 16:23:17 +12:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md 2016-09-22 22:21:36 +12:00
LICENSE Snap is now SnapKit 2015-04-15 23:07:50 +12:00
Package.swift Dynamic Product (#710) 2021-04-22 10:18:39 +12:00
README.md Release 5.6 2022-04-13 16:02:20 +12:00
SnapKit.podspec Release 5.6 2022-04-13 16:02:20 +12:00

README.md

SnapKit is a DSL to make Auto Layout easy on both iOS and OS X.

Build Status Platform Cocoapods Compatible Carthage compatible

⚠️ To use with Swift 4.x please ensure you are using >= 4.0.0 ⚠️

⚠️ To use with Swift 5.x please ensure you are using >= 5.0.0 ⚠️

Contents

Requirements

  • iOS 10.0+ / Mac OS X 10.12+ / tvOS 10.0+
  • Xcode 10.0+
  • Swift 4.0+

Migration Guides

Communication

  • If you need help, use Stack Overflow. (Tag 'snapkit')
  • If you'd like to ask a general question, use Stack Overflow.
  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.

Installation

CocoaPods

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

$ gem install cocoapods

CocoaPods 1.1.0+ is required to build SnapKit 4.0.0+.

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

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

target '<Your Target Name>' do
    pod 'SnapKit', '~> 5.6.0'
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 SnapKit into your Xcode project using Carthage, specify it in your Cartfile:

github "SnapKit/SnapKit" ~> 5.0.0

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

Swift Package Manager

Swift Package Manager is a tool for managing the distribution of Swift code. Its integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies.

Xcode 11+ is required to build SnapKit using Swift Package Manager.

To integrate SnapKit into your Xcode project using Swift Package Manager, add it to the dependencies value of your Package.swift:

dependencies: [
    .package(url: "https://github.com/SnapKit/SnapKit.git", .upToNextMajor(from: "5.0.1"))
]

Manually

If you prefer not to use either of the aforementioned dependency managers, you can integrate SnapKit into your project manually.


Usage

Quick Start

import SnapKit

class MyViewController: UIViewController {

    lazy var box = UIView()

    override func viewDidLoad() {
        super.viewDidLoad()

        self.view.addSubview(box)
        box.backgroundColor = .green
        box.snp.makeConstraints { (make) -> Void in
           make.width.height.equalTo(50)
           make.center.equalTo(self.view)
        }
    }

}

Playground

You can try SnapKit in Playground.

Note:

To try SnapKit in playground, open SnapKit.xcworkspace and build SnapKit.framework for any simulator first.

Resources

Credits

License

SnapKit is released under the MIT license. See LICENSE for details.