Go to file
KimJitae 4478b2234e
Update README.md (#794)
Update minimum deployment targets (iOS 12.0, macOS 10.13)
2024-01-01 11:40:00 +13: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 Compile for visionOS (#777) 2023-10-05 02:30:31 +13:00
SnapKit.xcodeproj Update min deployments 2023-12-31 21:46:52 +13: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 Add privacy manifest 2023-12-31 21:46:43 +13:00
Supporting Files Xcode 12 and SwiftPM enhancements 2020-09-25 15:27:40 +12:00
Tests/SnapKitTests Compile for visionOS (#777) 2023-10-05 02:30:31 +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 Ensure privacy info added to Swift package 2023-12-31 21:49:24 +13:00
README.md Update README.md (#794) 2024-01-01 11:40:00 +13:00
SnapKit.podspec Update podspec 2023-12-31 21:50:38 +13: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 12.0+ / Mac OS X 10.13+ / 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.7.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.