init
This commit is contained in:
parent
b1f389a33a
commit
fe54dc80ee
11
Podfile
Normal file
11
Podfile
Normal file
@ -0,0 +1,11 @@
|
||||
# Uncomment the next line to define a global platform for your project
|
||||
# platform :ios, '9.0'
|
||||
|
||||
target 'wyy' do
|
||||
# Comment the next line if you don't want to use dynamic frameworks
|
||||
use_frameworks!
|
||||
|
||||
# Pods for wyy
|
||||
pod 'SnapKit'
|
||||
|
||||
end
|
16
Podfile.lock
Normal file
16
Podfile.lock
Normal file
@ -0,0 +1,16 @@
|
||||
PODS:
|
||||
- SnapKit (5.0.1)
|
||||
|
||||
DEPENDENCIES:
|
||||
- SnapKit
|
||||
|
||||
SPEC REPOS:
|
||||
trunk:
|
||||
- SnapKit
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
SnapKit: 97b92857e3df3a0c71833cce143274bf6ef8e5eb
|
||||
|
||||
PODFILE CHECKSUM: af218112a6b3daa0109d978d4b15b6dd4aaf745d
|
||||
|
||||
COCOAPODS: 1.10.0
|
16
Pods/Manifest.lock
generated
Normal file
16
Pods/Manifest.lock
generated
Normal file
@ -0,0 +1,16 @@
|
||||
PODS:
|
||||
- SnapKit (5.0.1)
|
||||
|
||||
DEPENDENCIES:
|
||||
- SnapKit
|
||||
|
||||
SPEC REPOS:
|
||||
trunk:
|
||||
- SnapKit
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
SnapKit: 97b92857e3df3a0c71833cce143274bf6ef8e5eb
|
||||
|
||||
PODFILE CHECKSUM: af218112a6b3daa0109d978d4b15b6dd4aaf745d
|
||||
|
||||
COCOAPODS: 1.10.0
|
1105
Pods/Pods.xcodeproj/project.pbxproj
generated
Normal file
1105
Pods/Pods.xcodeproj/project.pbxproj
generated
Normal file
File diff suppressed because it is too large
Load Diff
19
Pods/SnapKit/LICENSE
generated
Normal file
19
Pods/SnapKit/LICENSE
generated
Normal file
@ -0,0 +1,19 @@
|
||||
Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
136
Pods/SnapKit/README.md
generated
Normal file
136
Pods/SnapKit/README.md
generated
Normal file
@ -0,0 +1,136 @@
|
||||
<img src="http://snapkit.io/images/banner.jpg" alt="" />
|
||||
|
||||
SnapKit is a DSL to make Auto Layout easy on both iOS and OS X.
|
||||
|
||||
[![Build Status](https://travis-ci.org/SnapKit/SnapKit.svg)](https://travis-ci.org/SnapKit/SnapKit)
|
||||
[![Platform](https://img.shields.io/cocoapods/p/SnapKit.svg?style=flat)](https://github.com/SnapKit/SnapKit)
|
||||
[![Cocoapods Compatible](https://img.shields.io/cocoapods/v/SnapKit.svg)](https://cocoapods.org/pods/SnapKit)
|
||||
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
|
||||
|
||||
#### ⚠️ **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](#requirements)
|
||||
- [Migration Guides](#migration-guides)
|
||||
- [Communication](#communication)
|
||||
- [Installation](#installation)
|
||||
- [Usage](#usage)
|
||||
- [Credits](#credits)
|
||||
- [License](#license)
|
||||
|
||||
## Requirements
|
||||
|
||||
- iOS 10.0+ / Mac OS X 10.12+ / tvOS 10.0+
|
||||
- Xcode 10.0+
|
||||
- Swift 4.0+
|
||||
|
||||
## Communication
|
||||
|
||||
- If you **need help**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/snapkit). (Tag 'snapkit')
|
||||
- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/snapkit).
|
||||
- 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](http://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command:
|
||||
|
||||
```bash
|
||||
$ 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`:
|
||||
|
||||
```ruby
|
||||
source 'https://github.com/CocoaPods/Specs.git'
|
||||
platform :ios, '10.0'
|
||||
use_frameworks!
|
||||
|
||||
target '<Your Target Name>' do
|
||||
pod 'SnapKit', '~> 5.0.0'
|
||||
end
|
||||
```
|
||||
|
||||
Then, run the following command:
|
||||
|
||||
```bash
|
||||
$ pod install
|
||||
```
|
||||
|
||||
### Carthage
|
||||
|
||||
[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
|
||||
|
||||
You can install Carthage with [Homebrew](http://brew.sh/) using the following command:
|
||||
|
||||
```bash
|
||||
$ brew update
|
||||
$ brew install carthage
|
||||
```
|
||||
|
||||
To integrate SnapKit into your Xcode project using Carthage, specify it in your `Cartfile`:
|
||||
|
||||
```ogdl
|
||||
github "SnapKit/SnapKit" ~> 5.0.0
|
||||
```
|
||||
|
||||
Run `carthage update` to build the framework and drag the built `SnapKit.framework` into your Xcode project.
|
||||
|
||||
### Manually
|
||||
|
||||
If you prefer not to use either of the aforementioned dependency managers, you can integrate SnapKit into your project manually.
|
||||
|
||||
---
|
||||
|
||||
## Usage
|
||||
|
||||
### Quick Start
|
||||
|
||||
```swift
|
||||
import SnapKit
|
||||
|
||||
class MyViewController: UIViewController {
|
||||
|
||||
lazy var box = UIView()
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
self.view.addSubview(box)
|
||||
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
|
||||
|
||||
- [Documentation](http://snapkit.io/docs/)
|
||||
- [F.A.Q.](http://snapkit.io/faq/)
|
||||
|
||||
## Credits
|
||||
|
||||
- Robert Payne ([@robertjpayne](https://twitter.com/robertjpayne))
|
||||
- Many other contributors
|
||||
|
||||
## License
|
||||
|
||||
SnapKit is released under the MIT license. See LICENSE for details.
|
341
Pods/SnapKit/Source/Constraint.swift
generated
Normal file
341
Pods/SnapKit/Source/Constraint.swift
generated
Normal file
@ -0,0 +1,341 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
public final class Constraint {
|
||||
|
||||
internal let sourceLocation: (String, UInt)
|
||||
internal let label: String?
|
||||
|
||||
private let from: ConstraintItem
|
||||
private let to: ConstraintItem
|
||||
private let relation: ConstraintRelation
|
||||
private let multiplier: ConstraintMultiplierTarget
|
||||
private var constant: ConstraintConstantTarget {
|
||||
didSet {
|
||||
self.updateConstantAndPriorityIfNeeded()
|
||||
}
|
||||
}
|
||||
private var priority: ConstraintPriorityTarget {
|
||||
didSet {
|
||||
self.updateConstantAndPriorityIfNeeded()
|
||||
}
|
||||
}
|
||||
public var layoutConstraints: [LayoutConstraint]
|
||||
|
||||
public var isActive: Bool {
|
||||
set {
|
||||
if newValue {
|
||||
activate()
|
||||
}
|
||||
else {
|
||||
deactivate()
|
||||
}
|
||||
}
|
||||
|
||||
get {
|
||||
for layoutConstraint in self.layoutConstraints {
|
||||
if layoutConstraint.isActive {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: Initialization
|
||||
|
||||
internal init(from: ConstraintItem,
|
||||
to: ConstraintItem,
|
||||
relation: ConstraintRelation,
|
||||
sourceLocation: (String, UInt),
|
||||
label: String?,
|
||||
multiplier: ConstraintMultiplierTarget,
|
||||
constant: ConstraintConstantTarget,
|
||||
priority: ConstraintPriorityTarget) {
|
||||
self.from = from
|
||||
self.to = to
|
||||
self.relation = relation
|
||||
self.sourceLocation = sourceLocation
|
||||
self.label = label
|
||||
self.multiplier = multiplier
|
||||
self.constant = constant
|
||||
self.priority = priority
|
||||
self.layoutConstraints = []
|
||||
|
||||
// get attributes
|
||||
let layoutFromAttributes = self.from.attributes.layoutAttributes
|
||||
let layoutToAttributes = self.to.attributes.layoutAttributes
|
||||
|
||||
// get layout from
|
||||
let layoutFrom = self.from.layoutConstraintItem!
|
||||
|
||||
// get relation
|
||||
let layoutRelation = self.relation.layoutRelation
|
||||
|
||||
for layoutFromAttribute in layoutFromAttributes {
|
||||
// get layout to attribute
|
||||
let layoutToAttribute: LayoutAttribute
|
||||
#if os(iOS) || os(tvOS)
|
||||
if layoutToAttributes.count > 0 {
|
||||
if self.from.attributes == .edges && self.to.attributes == .margins {
|
||||
switch layoutFromAttribute {
|
||||
case .left:
|
||||
layoutToAttribute = .leftMargin
|
||||
case .right:
|
||||
layoutToAttribute = .rightMargin
|
||||
case .top:
|
||||
layoutToAttribute = .topMargin
|
||||
case .bottom:
|
||||
layoutToAttribute = .bottomMargin
|
||||
default:
|
||||
fatalError()
|
||||
}
|
||||
} else if self.from.attributes == .margins && self.to.attributes == .edges {
|
||||
switch layoutFromAttribute {
|
||||
case .leftMargin:
|
||||
layoutToAttribute = .left
|
||||
case .rightMargin:
|
||||
layoutToAttribute = .right
|
||||
case .topMargin:
|
||||
layoutToAttribute = .top
|
||||
case .bottomMargin:
|
||||
layoutToAttribute = .bottom
|
||||
default:
|
||||
fatalError()
|
||||
}
|
||||
} else if self.from.attributes == .directionalEdges && self.to.attributes == .directionalMargins {
|
||||
switch layoutFromAttribute {
|
||||
case .leading:
|
||||
layoutToAttribute = .leadingMargin
|
||||
case .trailing:
|
||||
layoutToAttribute = .trailingMargin
|
||||
case .top:
|
||||
layoutToAttribute = .topMargin
|
||||
case .bottom:
|
||||
layoutToAttribute = .bottomMargin
|
||||
default:
|
||||
fatalError()
|
||||
}
|
||||
} else if self.from.attributes == .directionalMargins && self.to.attributes == .directionalEdges {
|
||||
switch layoutFromAttribute {
|
||||
case .leadingMargin:
|
||||
layoutToAttribute = .leading
|
||||
case .trailingMargin:
|
||||
layoutToAttribute = .trailing
|
||||
case .topMargin:
|
||||
layoutToAttribute = .top
|
||||
case .bottomMargin:
|
||||
layoutToAttribute = .bottom
|
||||
default:
|
||||
fatalError()
|
||||
}
|
||||
} else if self.from.attributes == self.to.attributes {
|
||||
layoutToAttribute = layoutFromAttribute
|
||||
} else {
|
||||
layoutToAttribute = layoutToAttributes[0]
|
||||
}
|
||||
} else {
|
||||
if self.to.target == nil && (layoutFromAttribute == .centerX || layoutFromAttribute == .centerY) {
|
||||
layoutToAttribute = layoutFromAttribute == .centerX ? .left : .top
|
||||
} else {
|
||||
layoutToAttribute = layoutFromAttribute
|
||||
}
|
||||
}
|
||||
#else
|
||||
if self.from.attributes == self.to.attributes {
|
||||
layoutToAttribute = layoutFromAttribute
|
||||
} else if layoutToAttributes.count > 0 {
|
||||
layoutToAttribute = layoutToAttributes[0]
|
||||
} else {
|
||||
layoutToAttribute = layoutFromAttribute
|
||||
}
|
||||
#endif
|
||||
|
||||
// get layout constant
|
||||
let layoutConstant: CGFloat = self.constant.constraintConstantTargetValueFor(layoutAttribute: layoutToAttribute)
|
||||
|
||||
// get layout to
|
||||
var layoutTo: AnyObject? = self.to.target
|
||||
|
||||
// use superview if possible
|
||||
if layoutTo == nil && layoutToAttribute != .width && layoutToAttribute != .height {
|
||||
layoutTo = layoutFrom.superview
|
||||
}
|
||||
|
||||
// create layout constraint
|
||||
let layoutConstraint = LayoutConstraint(
|
||||
item: layoutFrom,
|
||||
attribute: layoutFromAttribute,
|
||||
relatedBy: layoutRelation,
|
||||
toItem: layoutTo,
|
||||
attribute: layoutToAttribute,
|
||||
multiplier: self.multiplier.constraintMultiplierTargetValue,
|
||||
constant: layoutConstant
|
||||
)
|
||||
|
||||
// set label
|
||||
layoutConstraint.label = self.label
|
||||
|
||||
// set priority
|
||||
layoutConstraint.priority = LayoutPriority(rawValue: self.priority.constraintPriorityTargetValue)
|
||||
|
||||
// set constraint
|
||||
layoutConstraint.constraint = self
|
||||
|
||||
// append
|
||||
self.layoutConstraints.append(layoutConstraint)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: Public
|
||||
|
||||
@available(*, deprecated, message:"Use activate().")
|
||||
public func install() {
|
||||
self.activate()
|
||||
}
|
||||
|
||||
@available(*, deprecated, message:"Use deactivate().")
|
||||
public func uninstall() {
|
||||
self.deactivate()
|
||||
}
|
||||
|
||||
public func activate() {
|
||||
self.activateIfNeeded()
|
||||
}
|
||||
|
||||
public func deactivate() {
|
||||
self.deactivateIfNeeded()
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
public func update(offset: ConstraintOffsetTarget) -> Constraint {
|
||||
self.constant = offset.constraintOffsetTargetValue
|
||||
return self
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
public func update(inset: ConstraintInsetTarget) -> Constraint {
|
||||
self.constant = inset.constraintInsetTargetValue
|
||||
return self
|
||||
}
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
@discardableResult
|
||||
@available(iOS 11.0, tvOS 11.0, *)
|
||||
public func update(inset: ConstraintDirectionalInsetTarget) -> Constraint {
|
||||
self.constant = inset.constraintDirectionalInsetTargetValue
|
||||
return self
|
||||
}
|
||||
#endif
|
||||
|
||||
@discardableResult
|
||||
public func update(priority: ConstraintPriorityTarget) -> Constraint {
|
||||
self.priority = priority.constraintPriorityTargetValue
|
||||
return self
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
public func update(priority: ConstraintPriority) -> Constraint {
|
||||
self.priority = priority.value
|
||||
return self
|
||||
}
|
||||
|
||||
@available(*, deprecated, message:"Use update(offset: ConstraintOffsetTarget) instead.")
|
||||
public func updateOffset(amount: ConstraintOffsetTarget) -> Void { self.update(offset: amount) }
|
||||
|
||||
@available(*, deprecated, message:"Use update(inset: ConstraintInsetTarget) instead.")
|
||||
public func updateInsets(amount: ConstraintInsetTarget) -> Void { self.update(inset: amount) }
|
||||
|
||||
@available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.")
|
||||
public func updatePriority(amount: ConstraintPriorityTarget) -> Void { self.update(priority: amount) }
|
||||
|
||||
@available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.")
|
||||
public func updatePriorityRequired() -> Void {}
|
||||
|
||||
@available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.")
|
||||
public func updatePriorityHigh() -> Void { fatalError("Must be implemented by Concrete subclass.") }
|
||||
|
||||
@available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.")
|
||||
public func updatePriorityMedium() -> Void { fatalError("Must be implemented by Concrete subclass.") }
|
||||
|
||||
@available(*, deprecated, message:"Use update(priority: ConstraintPriorityTarget) instead.")
|
||||
public func updatePriorityLow() -> Void { fatalError("Must be implemented by Concrete subclass.") }
|
||||
|
||||
// MARK: Internal
|
||||
|
||||
internal func updateConstantAndPriorityIfNeeded() {
|
||||
for layoutConstraint in self.layoutConstraints {
|
||||
let attribute = (layoutConstraint.secondAttribute == .notAnAttribute) ? layoutConstraint.firstAttribute : layoutConstraint.secondAttribute
|
||||
layoutConstraint.constant = self.constant.constraintConstantTargetValueFor(layoutAttribute: attribute)
|
||||
|
||||
let requiredPriority = ConstraintPriority.required.value
|
||||
if (layoutConstraint.priority.rawValue < requiredPriority), (self.priority.constraintPriorityTargetValue != requiredPriority) {
|
||||
layoutConstraint.priority = LayoutPriority(rawValue: self.priority.constraintPriorityTargetValue)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal func activateIfNeeded(updatingExisting: Bool = false) {
|
||||
guard let item = self.from.layoutConstraintItem else {
|
||||
print("WARNING: SnapKit failed to get from item from constraint. Activate will be a no-op.")
|
||||
return
|
||||
}
|
||||
let layoutConstraints = self.layoutConstraints
|
||||
|
||||
if updatingExisting {
|
||||
var existingLayoutConstraints: [LayoutConstraint] = []
|
||||
for constraint in item.constraints {
|
||||
existingLayoutConstraints += constraint.layoutConstraints
|
||||
}
|
||||
|
||||
for layoutConstraint in layoutConstraints {
|
||||
let existingLayoutConstraint = existingLayoutConstraints.first { $0 == layoutConstraint }
|
||||
guard let updateLayoutConstraint = existingLayoutConstraint else {
|
||||
fatalError("Updated constraint could not find existing matching constraint to update: \(layoutConstraint)")
|
||||
}
|
||||
|
||||
let updateLayoutAttribute = (updateLayoutConstraint.secondAttribute == .notAnAttribute) ? updateLayoutConstraint.firstAttribute : updateLayoutConstraint.secondAttribute
|
||||
updateLayoutConstraint.constant = self.constant.constraintConstantTargetValueFor(layoutAttribute: updateLayoutAttribute)
|
||||
}
|
||||
} else {
|
||||
NSLayoutConstraint.activate(layoutConstraints)
|
||||
item.add(constraints: [self])
|
||||
}
|
||||
}
|
||||
|
||||
internal func deactivateIfNeeded() {
|
||||
guard let item = self.from.layoutConstraintItem else {
|
||||
print("WARNING: SnapKit failed to get from item from constraint. Deactivate will be a no-op.")
|
||||
return
|
||||
}
|
||||
let layoutConstraints = self.layoutConstraints
|
||||
NSLayoutConstraint.deactivate(layoutConstraints)
|
||||
item.remove(constraints: [self])
|
||||
}
|
||||
}
|
199
Pods/SnapKit/Source/ConstraintAttributes.swift
generated
Normal file
199
Pods/SnapKit/Source/ConstraintAttributes.swift
generated
Normal file
@ -0,0 +1,199 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
internal struct ConstraintAttributes : OptionSet, ExpressibleByIntegerLiteral {
|
||||
|
||||
typealias IntegerLiteralType = UInt
|
||||
|
||||
internal init(rawValue: UInt) {
|
||||
self.rawValue = rawValue
|
||||
}
|
||||
internal init(_ rawValue: UInt) {
|
||||
self.init(rawValue: rawValue)
|
||||
}
|
||||
internal init(nilLiteral: ()) {
|
||||
self.rawValue = 0
|
||||
}
|
||||
internal init(integerLiteral rawValue: IntegerLiteralType) {
|
||||
self.init(rawValue: rawValue)
|
||||
}
|
||||
|
||||
internal private(set) var rawValue: UInt
|
||||
internal static var allZeros: ConstraintAttributes { return 0 }
|
||||
internal static func convertFromNilLiteral() -> ConstraintAttributes { return 0 }
|
||||
internal var boolValue: Bool { return self.rawValue != 0 }
|
||||
|
||||
internal func toRaw() -> UInt { return self.rawValue }
|
||||
internal static func fromRaw(_ raw: UInt) -> ConstraintAttributes? { return self.init(raw) }
|
||||
internal static func fromMask(_ raw: UInt) -> ConstraintAttributes { return self.init(raw) }
|
||||
|
||||
// normal
|
||||
|
||||
internal static var none: ConstraintAttributes { return 0 }
|
||||
internal static var left: ConstraintAttributes { return 1 }
|
||||
internal static var top: ConstraintAttributes { return 2 }
|
||||
internal static var right: ConstraintAttributes { return 4 }
|
||||
internal static var bottom: ConstraintAttributes { return 8 }
|
||||
internal static var leading: ConstraintAttributes { return 16 }
|
||||
internal static var trailing: ConstraintAttributes { return 32 }
|
||||
internal static var width: ConstraintAttributes { return 64 }
|
||||
internal static var height: ConstraintAttributes { return 128 }
|
||||
internal static var centerX: ConstraintAttributes { return 256 }
|
||||
internal static var centerY: ConstraintAttributes { return 512 }
|
||||
internal static var lastBaseline: ConstraintAttributes { return 1024 }
|
||||
|
||||
@available(iOS 8.0, OSX 10.11, *)
|
||||
internal static var firstBaseline: ConstraintAttributes { return 2048 }
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
internal static var leftMargin: ConstraintAttributes { return 4096 }
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
internal static var rightMargin: ConstraintAttributes { return 8192 }
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
internal static var topMargin: ConstraintAttributes { return 16384 }
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
internal static var bottomMargin: ConstraintAttributes { return 32768 }
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
internal static var leadingMargin: ConstraintAttributes { return 65536 }
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
internal static var trailingMargin: ConstraintAttributes { return 131072 }
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
internal static var centerXWithinMargins: ConstraintAttributes { return 262144 }
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
internal static var centerYWithinMargins: ConstraintAttributes { return 524288 }
|
||||
|
||||
// aggregates
|
||||
|
||||
internal static var edges: ConstraintAttributes { return 15 }
|
||||
internal static var directionalEdges: ConstraintAttributes { return 58 }
|
||||
internal static var size: ConstraintAttributes { return 192 }
|
||||
internal static var center: ConstraintAttributes { return 768 }
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
internal static var margins: ConstraintAttributes { return 61440 }
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
internal static var directionalMargins: ConstraintAttributes { return 245760 }
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
internal static var centerWithinMargins: ConstraintAttributes { return 786432 }
|
||||
|
||||
internal var layoutAttributes:[LayoutAttribute] {
|
||||
var attrs = [LayoutAttribute]()
|
||||
if (self.contains(ConstraintAttributes.left)) {
|
||||
attrs.append(.left)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.top)) {
|
||||
attrs.append(.top)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.right)) {
|
||||
attrs.append(.right)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.bottom)) {
|
||||
attrs.append(.bottom)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.leading)) {
|
||||
attrs.append(.leading)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.trailing)) {
|
||||
attrs.append(.trailing)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.width)) {
|
||||
attrs.append(.width)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.height)) {
|
||||
attrs.append(.height)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.centerX)) {
|
||||
attrs.append(.centerX)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.centerY)) {
|
||||
attrs.append(.centerY)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.lastBaseline)) {
|
||||
attrs.append(.lastBaseline)
|
||||
}
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
if (self.contains(ConstraintAttributes.firstBaseline)) {
|
||||
attrs.append(.firstBaseline)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.leftMargin)) {
|
||||
attrs.append(.leftMargin)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.rightMargin)) {
|
||||
attrs.append(.rightMargin)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.topMargin)) {
|
||||
attrs.append(.topMargin)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.bottomMargin)) {
|
||||
attrs.append(.bottomMargin)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.leadingMargin)) {
|
||||
attrs.append(.leadingMargin)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.trailingMargin)) {
|
||||
attrs.append(.trailingMargin)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.centerXWithinMargins)) {
|
||||
attrs.append(.centerXWithinMargins)
|
||||
}
|
||||
if (self.contains(ConstraintAttributes.centerYWithinMargins)) {
|
||||
attrs.append(.centerYWithinMargins)
|
||||
}
|
||||
#endif
|
||||
|
||||
return attrs
|
||||
}
|
||||
}
|
||||
|
||||
internal func + (left: ConstraintAttributes, right: ConstraintAttributes) -> ConstraintAttributes {
|
||||
return left.union(right)
|
||||
}
|
||||
|
||||
internal func +=(left: inout ConstraintAttributes, right: ConstraintAttributes) {
|
||||
left.formUnion(right)
|
||||
}
|
||||
|
||||
internal func -=(left: inout ConstraintAttributes, right: ConstraintAttributes) {
|
||||
left.subtract(right)
|
||||
}
|
||||
|
||||
internal func ==(left: ConstraintAttributes, right: ConstraintAttributes) -> Bool {
|
||||
return left.rawValue == right.rawValue
|
||||
}
|
37
Pods/SnapKit/Source/ConstraintConfig.swift
generated
Normal file
37
Pods/SnapKit/Source/ConstraintConfig.swift
generated
Normal file
@ -0,0 +1,37 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
public typealias ConstraintInterfaceLayoutDirection = UIUserInterfaceLayoutDirection
|
||||
#else
|
||||
import AppKit
|
||||
public typealias ConstraintInterfaceLayoutDirection = NSUserInterfaceLayoutDirection
|
||||
#endif
|
||||
|
||||
|
||||
public struct ConstraintConfig {
|
||||
|
||||
public static var interfaceLayoutDirection: ConstraintInterfaceLayoutDirection = .leftToRight
|
||||
|
||||
}
|
213
Pods/SnapKit/Source/ConstraintConstantTarget.swift
generated
Normal file
213
Pods/SnapKit/Source/ConstraintConstantTarget.swift
generated
Normal file
@ -0,0 +1,213 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public protocol ConstraintConstantTarget {
|
||||
}
|
||||
|
||||
extension CGPoint: ConstraintConstantTarget {
|
||||
}
|
||||
|
||||
extension CGSize: ConstraintConstantTarget {
|
||||
}
|
||||
|
||||
extension ConstraintInsets: ConstraintConstantTarget {
|
||||
}
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
@available(iOS 11.0, tvOS 11.0, *)
|
||||
extension ConstraintDirectionalInsets: ConstraintConstantTarget {
|
||||
}
|
||||
#endif
|
||||
|
||||
extension ConstraintConstantTarget {
|
||||
|
||||
internal func constraintConstantTargetValueFor(layoutAttribute: LayoutAttribute) -> CGFloat {
|
||||
if let value = self as? CGFloat {
|
||||
return value
|
||||
}
|
||||
|
||||
if let value = self as? Float {
|
||||
return CGFloat(value)
|
||||
}
|
||||
|
||||
if let value = self as? Double {
|
||||
return CGFloat(value)
|
||||
}
|
||||
|
||||
if let value = self as? Int {
|
||||
return CGFloat(value)
|
||||
}
|
||||
|
||||
if let value = self as? UInt {
|
||||
return CGFloat(value)
|
||||
}
|
||||
|
||||
if let value = self as? CGSize {
|
||||
if layoutAttribute == .width {
|
||||
return value.width
|
||||
} else if layoutAttribute == .height {
|
||||
return value.height
|
||||
} else {
|
||||
return 0.0
|
||||
}
|
||||
}
|
||||
|
||||
if let value = self as? CGPoint {
|
||||
#if os(iOS) || os(tvOS)
|
||||
switch layoutAttribute {
|
||||
case .left, .right, .leading, .trailing, .centerX, .leftMargin, .rightMargin, .leadingMargin, .trailingMargin, .centerXWithinMargins:
|
||||
return value.x
|
||||
case .top, .bottom, .centerY, .topMargin, .bottomMargin, .centerYWithinMargins, .lastBaseline, .firstBaseline:
|
||||
return value.y
|
||||
case .width, .height, .notAnAttribute:
|
||||
return 0.0
|
||||
#if swift(>=5.0)
|
||||
@unknown default:
|
||||
return 0.0
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
switch layoutAttribute {
|
||||
case .left, .right, .leading, .trailing, .centerX:
|
||||
return value.x
|
||||
case .top, .bottom, .centerY, .lastBaseline, .firstBaseline:
|
||||
return value.y
|
||||
case .width, .height, .notAnAttribute:
|
||||
return 0.0
|
||||
#if swift(>=5.0)
|
||||
@unknown default:
|
||||
return 0.0
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
if let value = self as? ConstraintInsets {
|
||||
#if os(iOS) || os(tvOS)
|
||||
switch layoutAttribute {
|
||||
case .left, .leftMargin:
|
||||
return value.left
|
||||
case .top, .topMargin, .firstBaseline:
|
||||
return value.top
|
||||
case .right, .rightMargin:
|
||||
return -value.right
|
||||
case .bottom, .bottomMargin, .lastBaseline:
|
||||
return -value.bottom
|
||||
case .leading, .leadingMargin:
|
||||
return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.left : value.right
|
||||
case .trailing, .trailingMargin:
|
||||
return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.right : -value.left
|
||||
case .centerX, .centerXWithinMargins:
|
||||
return (value.left - value.right) / 2
|
||||
case .centerY, .centerYWithinMargins:
|
||||
return (value.top - value.bottom) / 2
|
||||
case .width:
|
||||
return -(value.left + value.right)
|
||||
case .height:
|
||||
return -(value.top + value.bottom)
|
||||
case .notAnAttribute:
|
||||
return 0.0
|
||||
#if swift(>=5.0)
|
||||
@unknown default:
|
||||
return 0.0
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
switch layoutAttribute {
|
||||
case .left:
|
||||
return value.left
|
||||
case .top, .firstBaseline:
|
||||
return value.top
|
||||
case .right:
|
||||
return -value.right
|
||||
case .bottom, .lastBaseline:
|
||||
return -value.bottom
|
||||
case .leading:
|
||||
return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.left : value.right
|
||||
case .trailing:
|
||||
return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.right : -value.left
|
||||
case .centerX:
|
||||
return (value.left - value.right) / 2
|
||||
case .centerY:
|
||||
return (value.top - value.bottom) / 2
|
||||
case .width:
|
||||
return -(value.left + value.right)
|
||||
case .height:
|
||||
return -(value.top + value.bottom)
|
||||
case .notAnAttribute:
|
||||
return 0.0
|
||||
#if swift(>=5.0)
|
||||
@unknown default:
|
||||
return 0.0
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
if #available(iOS 11.0, tvOS 11.0, *), let value = self as? ConstraintDirectionalInsets {
|
||||
switch layoutAttribute {
|
||||
case .left, .leftMargin:
|
||||
return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? value.leading : value.trailing
|
||||
case .top, .topMargin, .firstBaseline:
|
||||
return value.top
|
||||
case .right, .rightMargin:
|
||||
return (ConstraintConfig.interfaceLayoutDirection == .leftToRight) ? -value.trailing : -value.leading
|
||||
case .bottom, .bottomMargin, .lastBaseline:
|
||||
return -value.bottom
|
||||
case .leading, .leadingMargin:
|
||||
return value.leading
|
||||
case .trailing, .trailingMargin:
|
||||
return -value.trailing
|
||||
case .centerX, .centerXWithinMargins:
|
||||
return (value.leading - value.trailing) / 2
|
||||
case .centerY, .centerYWithinMargins:
|
||||
return (value.top - value.bottom) / 2
|
||||
case .width:
|
||||
return -(value.leading + value.trailing)
|
||||
case .height:
|
||||
return -(value.top + value.bottom)
|
||||
case .notAnAttribute:
|
||||
return 0.0
|
||||
#if swift(>=5.0)
|
||||
@unknown default:
|
||||
return 0.0
|
||||
#else
|
||||
default:
|
||||
return 0.0
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return 0.0
|
||||
}
|
||||
|
||||
}
|
194
Pods/SnapKit/Source/ConstraintDSL.swift
generated
Normal file
194
Pods/SnapKit/Source/ConstraintDSL.swift
generated
Normal file
@ -0,0 +1,194 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public protocol ConstraintDSL {
|
||||
|
||||
var target: AnyObject? { get }
|
||||
|
||||
func setLabel(_ value: String?)
|
||||
func label() -> String?
|
||||
|
||||
}
|
||||
extension ConstraintDSL {
|
||||
|
||||
public func setLabel(_ value: String?) {
|
||||
objc_setAssociatedObject(self.target as Any, &labelKey, value, .OBJC_ASSOCIATION_COPY_NONATOMIC)
|
||||
}
|
||||
public func label() -> String? {
|
||||
return objc_getAssociatedObject(self.target as Any, &labelKey) as? String
|
||||
}
|
||||
|
||||
}
|
||||
private var labelKey: UInt8 = 0
|
||||
|
||||
|
||||
public protocol ConstraintBasicAttributesDSL : ConstraintDSL {
|
||||
}
|
||||
extension ConstraintBasicAttributesDSL {
|
||||
|
||||
// MARK: Basics
|
||||
|
||||
public var left: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.left)
|
||||
}
|
||||
|
||||
public var top: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.top)
|
||||
}
|
||||
|
||||
public var right: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.right)
|
||||
}
|
||||
|
||||
public var bottom: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottom)
|
||||
}
|
||||
|
||||
public var leading: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leading)
|
||||
}
|
||||
|
||||
public var trailing: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.trailing)
|
||||
}
|
||||
|
||||
public var width: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.width)
|
||||
}
|
||||
|
||||
public var height: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.height)
|
||||
}
|
||||
|
||||
public var centerX: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerX)
|
||||
}
|
||||
|
||||
public var centerY: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerY)
|
||||
}
|
||||
|
||||
public var edges: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.edges)
|
||||
}
|
||||
|
||||
public var directionalEdges: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalEdges)
|
||||
}
|
||||
|
||||
public var size: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.size)
|
||||
}
|
||||
|
||||
public var center: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.center)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public protocol ConstraintAttributesDSL : ConstraintBasicAttributesDSL {
|
||||
}
|
||||
extension ConstraintAttributesDSL {
|
||||
|
||||
// MARK: Baselines
|
||||
|
||||
@available(*, deprecated, message:"Use .lastBaseline instead")
|
||||
public var baseline: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.lastBaseline)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, OSX 10.11, *)
|
||||
public var lastBaseline: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.lastBaseline)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, OSX 10.11, *)
|
||||
public var firstBaseline: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.firstBaseline)
|
||||
}
|
||||
|
||||
// MARK: Margins
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var leftMargin: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leftMargin)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var topMargin: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.topMargin)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var rightMargin: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.rightMargin)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var bottomMargin: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottomMargin)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var leadingMargin: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.leadingMargin)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var trailingMargin: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.trailingMargin)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var centerXWithinMargins: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerXWithinMargins)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var centerYWithinMargins: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerYWithinMargins)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var margins: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.margins)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var directionalMargins: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.directionalMargins)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var centerWithinMargins: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.centerWithinMargins)
|
||||
}
|
||||
|
||||
}
|
69
Pods/SnapKit/Source/ConstraintDescription.swift
generated
Normal file
69
Pods/SnapKit/Source/ConstraintDescription.swift
generated
Normal file
@ -0,0 +1,69 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public class ConstraintDescription {
|
||||
|
||||
internal let item: LayoutConstraintItem
|
||||
internal var attributes: ConstraintAttributes
|
||||
internal var relation: ConstraintRelation? = nil
|
||||
internal var sourceLocation: (String, UInt)? = nil
|
||||
internal var label: String? = nil
|
||||
internal var related: ConstraintItem? = nil
|
||||
internal var multiplier: ConstraintMultiplierTarget = 1.0
|
||||
internal var constant: ConstraintConstantTarget = 0.0
|
||||
internal var priority: ConstraintPriorityTarget = 1000.0
|
||||
internal lazy var constraint: Constraint? = {
|
||||
guard let relation = self.relation,
|
||||
let related = self.related,
|
||||
let sourceLocation = self.sourceLocation else {
|
||||
return nil
|
||||
}
|
||||
let from = ConstraintItem(target: self.item, attributes: self.attributes)
|
||||
|
||||
return Constraint(
|
||||
from: from,
|
||||
to: related,
|
||||
relation: relation,
|
||||
sourceLocation: sourceLocation,
|
||||
label: self.label,
|
||||
multiplier: self.multiplier,
|
||||
constant: self.constant,
|
||||
priority: self.priority
|
||||
)
|
||||
}()
|
||||
|
||||
// MARK: Initialization
|
||||
|
||||
internal init(item: LayoutConstraintItem, attributes: ConstraintAttributes) {
|
||||
self.item = item
|
||||
self.attributes = attributes
|
||||
}
|
||||
|
||||
}
|
49
Pods/SnapKit/Source/ConstraintDirectionalInsetTarget.swift
generated
Normal file
49
Pods/SnapKit/Source/ConstraintDirectionalInsetTarget.swift
generated
Normal file
@ -0,0 +1,49 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
public protocol ConstraintDirectionalInsetTarget: ConstraintConstantTarget {
|
||||
}
|
||||
|
||||
@available(iOS 11.0, tvOS 11.0, *)
|
||||
extension ConstraintDirectionalInsets: ConstraintDirectionalInsetTarget {
|
||||
}
|
||||
|
||||
extension ConstraintDirectionalInsetTarget {
|
||||
|
||||
@available(iOS 11.0, tvOS 11.0, *)
|
||||
internal var constraintDirectionalInsetTargetValue: ConstraintDirectionalInsets {
|
||||
if let amount = self as? ConstraintDirectionalInsets {
|
||||
return amount
|
||||
} else {
|
||||
return ConstraintDirectionalInsets(top: 0, leading: 0, bottom: 0, trailing: 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
34
Pods/SnapKit/Source/ConstraintDirectionalInsets.swift
generated
Normal file
34
Pods/SnapKit/Source/ConstraintDirectionalInsets.swift
generated
Normal file
@ -0,0 +1,34 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
@available(iOS 11.0, tvOS 11.0, *)
|
||||
public typealias ConstraintDirectionalInsets = NSDirectionalEdgeInsets
|
||||
#endif
|
72
Pods/SnapKit/Source/ConstraintInsetTarget.swift
generated
Normal file
72
Pods/SnapKit/Source/ConstraintInsetTarget.swift
generated
Normal file
@ -0,0 +1,72 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public protocol ConstraintInsetTarget: ConstraintConstantTarget {
|
||||
}
|
||||
|
||||
extension Int: ConstraintInsetTarget {
|
||||
}
|
||||
|
||||
extension UInt: ConstraintInsetTarget {
|
||||
}
|
||||
|
||||
extension Float: ConstraintInsetTarget {
|
||||
}
|
||||
|
||||
extension Double: ConstraintInsetTarget {
|
||||
}
|
||||
|
||||
extension CGFloat: ConstraintInsetTarget {
|
||||
}
|
||||
|
||||
extension ConstraintInsets: ConstraintInsetTarget {
|
||||
}
|
||||
|
||||
extension ConstraintInsetTarget {
|
||||
|
||||
internal var constraintInsetTargetValue: ConstraintInsets {
|
||||
if let amount = self as? ConstraintInsets {
|
||||
return amount
|
||||
} else if let amount = self as? Float {
|
||||
return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount))
|
||||
} else if let amount = self as? Double {
|
||||
return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount))
|
||||
} else if let amount = self as? CGFloat {
|
||||
return ConstraintInsets(top: amount, left: amount, bottom: amount, right: amount)
|
||||
} else if let amount = self as? Int {
|
||||
return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount))
|
||||
} else if let amount = self as? UInt {
|
||||
return ConstraintInsets(top: CGFloat(amount), left: CGFloat(amount), bottom: CGFloat(amount), right: CGFloat(amount))
|
||||
} else {
|
||||
return ConstraintInsets(top: 0, left: 0, bottom: 0, right: 0)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
35
Pods/SnapKit/Source/ConstraintInsets.swift
generated
Normal file
35
Pods/SnapKit/Source/ConstraintInsets.swift
generated
Normal file
@ -0,0 +1,35 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
public typealias ConstraintInsets = UIEdgeInsets
|
||||
#else
|
||||
public typealias ConstraintInsets = NSEdgeInsets
|
||||
#endif
|
61
Pods/SnapKit/Source/ConstraintItem.swift
generated
Normal file
61
Pods/SnapKit/Source/ConstraintItem.swift
generated
Normal file
@ -0,0 +1,61 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public final class ConstraintItem {
|
||||
|
||||
internal weak var target: AnyObject?
|
||||
internal let attributes: ConstraintAttributes
|
||||
|
||||
internal init(target: AnyObject?, attributes: ConstraintAttributes) {
|
||||
self.target = target
|
||||
self.attributes = attributes
|
||||
}
|
||||
|
||||
internal var layoutConstraintItem: LayoutConstraintItem? {
|
||||
return self.target as? LayoutConstraintItem
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public func ==(lhs: ConstraintItem, rhs: ConstraintItem) -> Bool {
|
||||
// pointer equality
|
||||
guard lhs !== rhs else {
|
||||
return true
|
||||
}
|
||||
|
||||
// must both have valid targets and identical attributes
|
||||
guard let target1 = lhs.target,
|
||||
let target2 = rhs.target,
|
||||
target1 === target2 && lhs.attributes == rhs.attributes else {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
36
Pods/SnapKit/Source/ConstraintLayoutGuide+Extensions.swift
generated
Normal file
36
Pods/SnapKit/Source/ConstraintLayoutGuide+Extensions.swift
generated
Normal file
@ -0,0 +1,36 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#endif
|
||||
|
||||
|
||||
@available(iOS 9.0, OSX 10.11, *)
|
||||
public extension ConstraintLayoutGuide {
|
||||
|
||||
var snp: ConstraintLayoutGuideDSL {
|
||||
return ConstraintLayoutGuideDSL(guide: self)
|
||||
}
|
||||
|
||||
}
|
37
Pods/SnapKit/Source/ConstraintLayoutGuide.swift
generated
Normal file
37
Pods/SnapKit/Source/ConstraintLayoutGuide.swift
generated
Normal file
@ -0,0 +1,37 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
@available(iOS 9.0, *)
|
||||
public typealias ConstraintLayoutGuide = UILayoutGuide
|
||||
#else
|
||||
@available(OSX 10.11, *)
|
||||
public typealias ConstraintLayoutGuide = NSLayoutGuide
|
||||
#endif
|
66
Pods/SnapKit/Source/ConstraintLayoutGuideDSL.swift
generated
Normal file
66
Pods/SnapKit/Source/ConstraintLayoutGuideDSL.swift
generated
Normal file
@ -0,0 +1,66 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
@available(iOS 9.0, OSX 10.11, *)
|
||||
public struct ConstraintLayoutGuideDSL: ConstraintAttributesDSL {
|
||||
|
||||
@discardableResult
|
||||
public func prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] {
|
||||
return ConstraintMaker.prepareConstraints(item: self.guide, closure: closure)
|
||||
}
|
||||
|
||||
public func makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
|
||||
ConstraintMaker.makeConstraints(item: self.guide, closure: closure)
|
||||
}
|
||||
|
||||
public func remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
|
||||
ConstraintMaker.remakeConstraints(item: self.guide, closure: closure)
|
||||
}
|
||||
|
||||
public func updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
|
||||
ConstraintMaker.updateConstraints(item: self.guide, closure: closure)
|
||||
}
|
||||
|
||||
public func removeConstraints() {
|
||||
ConstraintMaker.removeConstraints(item: self.guide)
|
||||
}
|
||||
|
||||
public var target: AnyObject? {
|
||||
return self.guide
|
||||
}
|
||||
|
||||
internal let guide: ConstraintLayoutGuide
|
||||
|
||||
internal init(guide: ConstraintLayoutGuide) {
|
||||
self.guide = guide
|
||||
|
||||
}
|
||||
|
||||
}
|
36
Pods/SnapKit/Source/ConstraintLayoutSupport.swift
generated
Normal file
36
Pods/SnapKit/Source/ConstraintLayoutSupport.swift
generated
Normal file
@ -0,0 +1,36 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
@available(iOS 8.0, *)
|
||||
public typealias ConstraintLayoutSupport = UILayoutSupport
|
||||
#else
|
||||
public class ConstraintLayoutSupport {}
|
||||
#endif
|
56
Pods/SnapKit/Source/ConstraintLayoutSupportDSL.swift
generated
Normal file
56
Pods/SnapKit/Source/ConstraintLayoutSupportDSL.swift
generated
Normal file
@ -0,0 +1,56 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public struct ConstraintLayoutSupportDSL: ConstraintDSL {
|
||||
|
||||
public var target: AnyObject? {
|
||||
return self.support
|
||||
}
|
||||
|
||||
internal let support: ConstraintLayoutSupport
|
||||
|
||||
internal init(support: ConstraintLayoutSupport) {
|
||||
self.support = support
|
||||
|
||||
}
|
||||
|
||||
public var top: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.top)
|
||||
}
|
||||
|
||||
public var bottom: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.bottom)
|
||||
}
|
||||
|
||||
public var height: ConstraintItem {
|
||||
return ConstraintItem(target: self.target, attributes: ConstraintAttributes.height)
|
||||
}
|
||||
}
|
212
Pods/SnapKit/Source/ConstraintMaker.swift
generated
Normal file
212
Pods/SnapKit/Source/ConstraintMaker.swift
generated
Normal file
@ -0,0 +1,212 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
public class ConstraintMaker {
|
||||
|
||||
public var left: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.left)
|
||||
}
|
||||
|
||||
public var top: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.top)
|
||||
}
|
||||
|
||||
public var bottom: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.bottom)
|
||||
}
|
||||
|
||||
public var right: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.right)
|
||||
}
|
||||
|
||||
public var leading: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.leading)
|
||||
}
|
||||
|
||||
public var trailing: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.trailing)
|
||||
}
|
||||
|
||||
public var width: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.width)
|
||||
}
|
||||
|
||||
public var height: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.height)
|
||||
}
|
||||
|
||||
public var centerX: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.centerX)
|
||||
}
|
||||
|
||||
public var centerY: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.centerY)
|
||||
}
|
||||
|
||||
@available(*, deprecated, message:"Use lastBaseline instead")
|
||||
public var baseline: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.lastBaseline)
|
||||
}
|
||||
|
||||
public var lastBaseline: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.lastBaseline)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, OSX 10.11, *)
|
||||
public var firstBaseline: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.firstBaseline)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var leftMargin: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.leftMargin)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var rightMargin: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.rightMargin)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var topMargin: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.topMargin)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var bottomMargin: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.bottomMargin)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var leadingMargin: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.leadingMargin)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var trailingMargin: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.trailingMargin)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var centerXWithinMargins: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.centerXWithinMargins)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var centerYWithinMargins: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.centerYWithinMargins)
|
||||
}
|
||||
|
||||
public var edges: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.edges)
|
||||
}
|
||||
public var directionalEdges: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.directionalEdges)
|
||||
}
|
||||
public var size: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.size)
|
||||
}
|
||||
public var center: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.center)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var margins: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.margins)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var directionalMargins: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.directionalMargins)
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var centerWithinMargins: ConstraintMakerExtendable {
|
||||
return self.makeExtendableWithAttributes(.centerWithinMargins)
|
||||
}
|
||||
|
||||
private let item: LayoutConstraintItem
|
||||
private var descriptions = [ConstraintDescription]()
|
||||
|
||||
internal init(item: LayoutConstraintItem) {
|
||||
self.item = item
|
||||
self.item.prepare()
|
||||
}
|
||||
|
||||
internal func makeExtendableWithAttributes(_ attributes: ConstraintAttributes) -> ConstraintMakerExtendable {
|
||||
let description = ConstraintDescription(item: self.item, attributes: attributes)
|
||||
self.descriptions.append(description)
|
||||
return ConstraintMakerExtendable(description)
|
||||
}
|
||||
|
||||
internal static func prepareConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] {
|
||||
let maker = ConstraintMaker(item: item)
|
||||
closure(maker)
|
||||
var constraints: [Constraint] = []
|
||||
for description in maker.descriptions {
|
||||
guard let constraint = description.constraint else {
|
||||
continue
|
||||
}
|
||||
constraints.append(constraint)
|
||||
}
|
||||
return constraints
|
||||
}
|
||||
|
||||
internal static func makeConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) {
|
||||
let constraints = prepareConstraints(item: item, closure: closure)
|
||||
for constraint in constraints {
|
||||
constraint.activateIfNeeded(updatingExisting: false)
|
||||
}
|
||||
}
|
||||
|
||||
internal static func remakeConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) {
|
||||
self.removeConstraints(item: item)
|
||||
self.makeConstraints(item: item, closure: closure)
|
||||
}
|
||||
|
||||
internal static func updateConstraints(item: LayoutConstraintItem, closure: (_ make: ConstraintMaker) -> Void) {
|
||||
guard item.constraints.count > 0 else {
|
||||
self.makeConstraints(item: item, closure: closure)
|
||||
return
|
||||
}
|
||||
|
||||
let constraints = prepareConstraints(item: item, closure: closure)
|
||||
for constraint in constraints {
|
||||
constraint.activateIfNeeded(updatingExisting: true)
|
||||
}
|
||||
}
|
||||
|
||||
internal static func removeConstraints(item: LayoutConstraintItem) {
|
||||
let constraints = item.constraints
|
||||
for constraint in constraints {
|
||||
constraint.deactivateIfNeeded()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
64
Pods/SnapKit/Source/ConstraintMakerEditable.swift
generated
Normal file
64
Pods/SnapKit/Source/ConstraintMakerEditable.swift
generated
Normal file
@ -0,0 +1,64 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public class ConstraintMakerEditable: ConstraintMakerPriortizable {
|
||||
|
||||
@discardableResult
|
||||
public func multipliedBy(_ amount: ConstraintMultiplierTarget) -> ConstraintMakerEditable {
|
||||
self.description.multiplier = amount
|
||||
return self
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
public func dividedBy(_ amount: ConstraintMultiplierTarget) -> ConstraintMakerEditable {
|
||||
return self.multipliedBy(1.0 / amount.constraintMultiplierTargetValue)
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
public func offset(_ amount: ConstraintOffsetTarget) -> ConstraintMakerEditable {
|
||||
self.description.constant = amount.constraintOffsetTargetValue
|
||||
return self
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
public func inset(_ amount: ConstraintInsetTarget) -> ConstraintMakerEditable {
|
||||
self.description.constant = amount.constraintInsetTargetValue
|
||||
return self
|
||||
}
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
@discardableResult
|
||||
@available(iOS 11.0, tvOS 11.0, *)
|
||||
public func inset(_ amount: ConstraintDirectionalInsetTarget) -> ConstraintMakerEditable {
|
||||
self.description.constant = amount.constraintDirectionalInsetTargetValue
|
||||
return self
|
||||
}
|
||||
#endif
|
||||
}
|
179
Pods/SnapKit/Source/ConstraintMakerExtendable.swift
generated
Normal file
179
Pods/SnapKit/Source/ConstraintMakerExtendable.swift
generated
Normal file
@ -0,0 +1,179 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public class ConstraintMakerExtendable: ConstraintMakerRelatable {
|
||||
|
||||
public var left: ConstraintMakerExtendable {
|
||||
self.description.attributes += .left
|
||||
return self
|
||||
}
|
||||
|
||||
public var top: ConstraintMakerExtendable {
|
||||
self.description.attributes += .top
|
||||
return self
|
||||
}
|
||||
|
||||
public var bottom: ConstraintMakerExtendable {
|
||||
self.description.attributes += .bottom
|
||||
return self
|
||||
}
|
||||
|
||||
public var right: ConstraintMakerExtendable {
|
||||
self.description.attributes += .right
|
||||
return self
|
||||
}
|
||||
|
||||
public var leading: ConstraintMakerExtendable {
|
||||
self.description.attributes += .leading
|
||||
return self
|
||||
}
|
||||
|
||||
public var trailing: ConstraintMakerExtendable {
|
||||
self.description.attributes += .trailing
|
||||
return self
|
||||
}
|
||||
|
||||
public var width: ConstraintMakerExtendable {
|
||||
self.description.attributes += .width
|
||||
return self
|
||||
}
|
||||
|
||||
public var height: ConstraintMakerExtendable {
|
||||
self.description.attributes += .height
|
||||
return self
|
||||
}
|
||||
|
||||
public var centerX: ConstraintMakerExtendable {
|
||||
self.description.attributes += .centerX
|
||||
return self
|
||||
}
|
||||
|
||||
public var centerY: ConstraintMakerExtendable {
|
||||
self.description.attributes += .centerY
|
||||
return self
|
||||
}
|
||||
|
||||
@available(*, deprecated, message:"Use lastBaseline instead")
|
||||
public var baseline: ConstraintMakerExtendable {
|
||||
self.description.attributes += .lastBaseline
|
||||
return self
|
||||
}
|
||||
|
||||
public var lastBaseline: ConstraintMakerExtendable {
|
||||
self.description.attributes += .lastBaseline
|
||||
return self
|
||||
}
|
||||
|
||||
@available(iOS 8.0, OSX 10.11, *)
|
||||
public var firstBaseline: ConstraintMakerExtendable {
|
||||
self.description.attributes += .firstBaseline
|
||||
return self
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var leftMargin: ConstraintMakerExtendable {
|
||||
self.description.attributes += .leftMargin
|
||||
return self
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var rightMargin: ConstraintMakerExtendable {
|
||||
self.description.attributes += .rightMargin
|
||||
return self
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var topMargin: ConstraintMakerExtendable {
|
||||
self.description.attributes += .topMargin
|
||||
return self
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var bottomMargin: ConstraintMakerExtendable {
|
||||
self.description.attributes += .bottomMargin
|
||||
return self
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var leadingMargin: ConstraintMakerExtendable {
|
||||
self.description.attributes += .leadingMargin
|
||||
return self
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var trailingMargin: ConstraintMakerExtendable {
|
||||
self.description.attributes += .trailingMargin
|
||||
return self
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var centerXWithinMargins: ConstraintMakerExtendable {
|
||||
self.description.attributes += .centerXWithinMargins
|
||||
return self
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var centerYWithinMargins: ConstraintMakerExtendable {
|
||||
self.description.attributes += .centerYWithinMargins
|
||||
return self
|
||||
}
|
||||
|
||||
public var edges: ConstraintMakerExtendable {
|
||||
self.description.attributes += .edges
|
||||
return self
|
||||
}
|
||||
public var directionalEdges: ConstraintMakerExtendable {
|
||||
self.description.attributes += .directionalEdges
|
||||
return self
|
||||
}
|
||||
public var size: ConstraintMakerExtendable {
|
||||
self.description.attributes += .size
|
||||
return self
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var margins: ConstraintMakerExtendable {
|
||||
self.description.attributes += .margins
|
||||
return self
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var directionalMargins: ConstraintMakerExtendable {
|
||||
self.description.attributes += .directionalMargins
|
||||
return self
|
||||
}
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public var centerWithinMargins: ConstraintMakerExtendable {
|
||||
self.description.attributes += .centerWithinMargins
|
||||
return self
|
||||
}
|
||||
|
||||
}
|
49
Pods/SnapKit/Source/ConstraintMakerFinalizable.swift
generated
Normal file
49
Pods/SnapKit/Source/ConstraintMakerFinalizable.swift
generated
Normal file
@ -0,0 +1,49 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public class ConstraintMakerFinalizable {
|
||||
|
||||
internal let description: ConstraintDescription
|
||||
|
||||
internal init(_ description: ConstraintDescription) {
|
||||
self.description = description
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
public func labeled(_ label: String) -> ConstraintMakerFinalizable {
|
||||
self.description.label = label
|
||||
return self
|
||||
}
|
||||
|
||||
public var constraint: Constraint {
|
||||
return self.description.constraint!
|
||||
}
|
||||
|
||||
}
|
68
Pods/SnapKit/Source/ConstraintMakerPriortizable.swift
generated
Normal file
68
Pods/SnapKit/Source/ConstraintMakerPriortizable.swift
generated
Normal file
@ -0,0 +1,68 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public class ConstraintMakerPriortizable: ConstraintMakerFinalizable {
|
||||
|
||||
@discardableResult
|
||||
public func priority(_ amount: ConstraintPriority) -> ConstraintMakerFinalizable {
|
||||
self.description.priority = amount.value
|
||||
return self
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
public func priority(_ amount: ConstraintPriorityTarget) -> ConstraintMakerFinalizable {
|
||||
self.description.priority = amount
|
||||
return self
|
||||
}
|
||||
|
||||
@available(*, deprecated, message:"Use priority(.required) instead.")
|
||||
@discardableResult
|
||||
public func priorityRequired() -> ConstraintMakerFinalizable {
|
||||
return self.priority(.required)
|
||||
}
|
||||
|
||||
@available(*, deprecated, message:"Use priority(.high) instead.")
|
||||
@discardableResult
|
||||
public func priorityHigh() -> ConstraintMakerFinalizable {
|
||||
return self.priority(.high)
|
||||
}
|
||||
|
||||
@available(*, deprecated, message:"Use priority(.medium) instead.")
|
||||
@discardableResult
|
||||
public func priorityMedium() -> ConstraintMakerFinalizable {
|
||||
return self.priority(.medium)
|
||||
}
|
||||
|
||||
@available(*, deprecated, message:"Use priority(.low) instead.")
|
||||
@discardableResult
|
||||
public func priorityLow() -> ConstraintMakerFinalizable {
|
||||
return self.priority(.low)
|
||||
}
|
||||
}
|
115
Pods/SnapKit/Source/ConstraintMakerRelatable.swift
generated
Normal file
115
Pods/SnapKit/Source/ConstraintMakerRelatable.swift
generated
Normal file
@ -0,0 +1,115 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public class ConstraintMakerRelatable {
|
||||
|
||||
internal let description: ConstraintDescription
|
||||
|
||||
internal init(_ description: ConstraintDescription) {
|
||||
self.description = description
|
||||
}
|
||||
|
||||
internal func relatedTo(_ other: ConstraintRelatableTarget, relation: ConstraintRelation, file: String, line: UInt) -> ConstraintMakerEditable {
|
||||
let related: ConstraintItem
|
||||
let constant: ConstraintConstantTarget
|
||||
|
||||
if let other = other as? ConstraintItem {
|
||||
guard other.attributes == ConstraintAttributes.none ||
|
||||
other.attributes.layoutAttributes.count <= 1 ||
|
||||
other.attributes.layoutAttributes == self.description.attributes.layoutAttributes ||
|
||||
other.attributes == .edges && self.description.attributes == .margins ||
|
||||
other.attributes == .margins && self.description.attributes == .edges ||
|
||||
other.attributes == .directionalEdges && self.description.attributes == .directionalMargins ||
|
||||
other.attributes == .directionalMargins && self.description.attributes == .directionalEdges else {
|
||||
fatalError("Cannot constraint to multiple non identical attributes. (\(file), \(line))");
|
||||
}
|
||||
|
||||
related = other
|
||||
constant = 0.0
|
||||
} else if let other = other as? ConstraintView {
|
||||
related = ConstraintItem(target: other, attributes: ConstraintAttributes.none)
|
||||
constant = 0.0
|
||||
} else if let other = other as? ConstraintConstantTarget {
|
||||
related = ConstraintItem(target: nil, attributes: ConstraintAttributes.none)
|
||||
constant = other
|
||||
} else if #available(iOS 9.0, OSX 10.11, *), let other = other as? ConstraintLayoutGuide {
|
||||
related = ConstraintItem(target: other, attributes: ConstraintAttributes.none)
|
||||
constant = 0.0
|
||||
} else {
|
||||
fatalError("Invalid constraint. (\(file), \(line))")
|
||||
}
|
||||
|
||||
let editable = ConstraintMakerEditable(self.description)
|
||||
editable.description.sourceLocation = (file, line)
|
||||
editable.description.relation = relation
|
||||
editable.description.related = related
|
||||
editable.description.constant = constant
|
||||
return editable
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
public func equalTo(_ other: ConstraintRelatableTarget, _ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable {
|
||||
return self.relatedTo(other, relation: .equal, file: file, line: line)
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
public func equalToSuperview(_ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable {
|
||||
guard let other = self.description.item.superview else {
|
||||
fatalError("Expected superview but found nil when attempting make constraint `equalToSuperview`.")
|
||||
}
|
||||
return self.relatedTo(other, relation: .equal, file: file, line: line)
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
public func lessThanOrEqualTo(_ other: ConstraintRelatableTarget, _ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable {
|
||||
return self.relatedTo(other, relation: .lessThanOrEqual, file: file, line: line)
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
public func lessThanOrEqualToSuperview(_ file: String = #file, _ line: UInt = #line) -> ConstraintMakerEditable {
|
||||
guard let other = self.description.item.superview else {
|
||||
fatalError("Expected superview but found nil when attempting make constraint `lessThanOrEqualToSuperview`.")
|
||||
}
|
||||
return self.relatedTo(other, relation: .lessThanOrEqual, file: file, line: line)
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
public func greaterThanOrEqualTo(_ other: ConstraintRelatableTarget, _ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable {
|
||||
return self.relatedTo(other, relation: .greaterThanOrEqual, file: file, line: line)
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
public func greaterThanOrEqualToSuperview(_ file: String = #file, line: UInt = #line) -> ConstraintMakerEditable {
|
||||
guard let other = self.description.item.superview else {
|
||||
fatalError("Expected superview but found nil when attempting make constraint `greaterThanOrEqualToSuperview`.")
|
||||
}
|
||||
return self.relatedTo(other, relation: .greaterThanOrEqual, file: file, line: line)
|
||||
}
|
||||
}
|
75
Pods/SnapKit/Source/ConstraintMultiplierTarget.swift
generated
Normal file
75
Pods/SnapKit/Source/ConstraintMultiplierTarget.swift
generated
Normal file
@ -0,0 +1,75 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public protocol ConstraintMultiplierTarget {
|
||||
|
||||
var constraintMultiplierTargetValue: CGFloat { get }
|
||||
|
||||
}
|
||||
|
||||
extension Int: ConstraintMultiplierTarget {
|
||||
|
||||
public var constraintMultiplierTargetValue: CGFloat {
|
||||
return CGFloat(self)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension UInt: ConstraintMultiplierTarget {
|
||||
|
||||
public var constraintMultiplierTargetValue: CGFloat {
|
||||
return CGFloat(self)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension Float: ConstraintMultiplierTarget {
|
||||
|
||||
public var constraintMultiplierTargetValue: CGFloat {
|
||||
return CGFloat(self)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension Double: ConstraintMultiplierTarget {
|
||||
|
||||
public var constraintMultiplierTargetValue: CGFloat {
|
||||
return CGFloat(self)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension CGFloat: ConstraintMultiplierTarget {
|
||||
|
||||
public var constraintMultiplierTargetValue: CGFloat {
|
||||
return self
|
||||
}
|
||||
|
||||
}
|
69
Pods/SnapKit/Source/ConstraintOffsetTarget.swift
generated
Normal file
69
Pods/SnapKit/Source/ConstraintOffsetTarget.swift
generated
Normal file
@ -0,0 +1,69 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public protocol ConstraintOffsetTarget: ConstraintConstantTarget {
|
||||
}
|
||||
|
||||
extension Int: ConstraintOffsetTarget {
|
||||
}
|
||||
|
||||
extension UInt: ConstraintOffsetTarget {
|
||||
}
|
||||
|
||||
extension Float: ConstraintOffsetTarget {
|
||||
}
|
||||
|
||||
extension Double: ConstraintOffsetTarget {
|
||||
}
|
||||
|
||||
extension CGFloat: ConstraintOffsetTarget {
|
||||
}
|
||||
|
||||
extension ConstraintOffsetTarget {
|
||||
|
||||
internal var constraintOffsetTargetValue: CGFloat {
|
||||
let offset: CGFloat
|
||||
if let amount = self as? Float {
|
||||
offset = CGFloat(amount)
|
||||
} else if let amount = self as? Double {
|
||||
offset = CGFloat(amount)
|
||||
} else if let amount = self as? CGFloat {
|
||||
offset = CGFloat(amount)
|
||||
} else if let amount = self as? Int {
|
||||
offset = CGFloat(amount)
|
||||
} else if let amount = self as? UInt {
|
||||
offset = CGFloat(amount)
|
||||
} else {
|
||||
offset = 0.0
|
||||
}
|
||||
return offset
|
||||
}
|
||||
|
||||
}
|
77
Pods/SnapKit/Source/ConstraintPriority.swift
generated
Normal file
77
Pods/SnapKit/Source/ConstraintPriority.swift
generated
Normal file
@ -0,0 +1,77 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
public struct ConstraintPriority : ExpressibleByFloatLiteral, Equatable, Strideable {
|
||||
public typealias FloatLiteralType = Float
|
||||
|
||||
public let value: Float
|
||||
|
||||
public init(floatLiteral value: Float) {
|
||||
self.value = value
|
||||
}
|
||||
|
||||
public init(_ value: Float) {
|
||||
self.value = value
|
||||
}
|
||||
|
||||
public static var required: ConstraintPriority {
|
||||
return 1000.0
|
||||
}
|
||||
|
||||
public static var high: ConstraintPriority {
|
||||
return 750.0
|
||||
}
|
||||
|
||||
public static var medium: ConstraintPriority {
|
||||
#if os(OSX)
|
||||
return 501.0
|
||||
#else
|
||||
return 500.0
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
public static var low: ConstraintPriority {
|
||||
return 250.0
|
||||
}
|
||||
|
||||
public static func ==(lhs: ConstraintPriority, rhs: ConstraintPriority) -> Bool {
|
||||
return lhs.value == rhs.value
|
||||
}
|
||||
|
||||
// MARK: Strideable
|
||||
|
||||
public func advanced(by n: FloatLiteralType) -> ConstraintPriority {
|
||||
return ConstraintPriority(floatLiteral: value + n)
|
||||
}
|
||||
|
||||
public func distance(to other: ConstraintPriority) -> FloatLiteralType {
|
||||
return other.value - value
|
||||
}
|
||||
}
|
85
Pods/SnapKit/Source/ConstraintPriorityTarget.swift
generated
Normal file
85
Pods/SnapKit/Source/ConstraintPriorityTarget.swift
generated
Normal file
@ -0,0 +1,85 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public protocol ConstraintPriorityTarget {
|
||||
|
||||
var constraintPriorityTargetValue: Float { get }
|
||||
|
||||
}
|
||||
|
||||
extension Int: ConstraintPriorityTarget {
|
||||
|
||||
public var constraintPriorityTargetValue: Float {
|
||||
return Float(self)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension UInt: ConstraintPriorityTarget {
|
||||
|
||||
public var constraintPriorityTargetValue: Float {
|
||||
return Float(self)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension Float: ConstraintPriorityTarget {
|
||||
|
||||
public var constraintPriorityTargetValue: Float {
|
||||
return self
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension Double: ConstraintPriorityTarget {
|
||||
|
||||
public var constraintPriorityTargetValue: Float {
|
||||
return Float(self)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
extension CGFloat: ConstraintPriorityTarget {
|
||||
|
||||
public var constraintPriorityTargetValue: Float {
|
||||
return Float(self)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
extension UILayoutPriority: ConstraintPriorityTarget {
|
||||
|
||||
public var constraintPriorityTargetValue: Float {
|
||||
return self.rawValue
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
72
Pods/SnapKit/Source/ConstraintRelatableTarget.swift
generated
Normal file
72
Pods/SnapKit/Source/ConstraintRelatableTarget.swift
generated
Normal file
@ -0,0 +1,72 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public protocol ConstraintRelatableTarget {
|
||||
}
|
||||
|
||||
extension Int: ConstraintRelatableTarget {
|
||||
}
|
||||
|
||||
extension UInt: ConstraintRelatableTarget {
|
||||
}
|
||||
|
||||
extension Float: ConstraintRelatableTarget {
|
||||
}
|
||||
|
||||
extension Double: ConstraintRelatableTarget {
|
||||
}
|
||||
|
||||
extension CGFloat: ConstraintRelatableTarget {
|
||||
}
|
||||
|
||||
extension CGSize: ConstraintRelatableTarget {
|
||||
}
|
||||
|
||||
extension CGPoint: ConstraintRelatableTarget {
|
||||
}
|
||||
|
||||
extension ConstraintInsets: ConstraintRelatableTarget {
|
||||
}
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
@available(iOS 11.0, tvOS 11.0, *)
|
||||
extension ConstraintDirectionalInsets: ConstraintRelatableTarget {
|
||||
}
|
||||
#endif
|
||||
|
||||
extension ConstraintItem: ConstraintRelatableTarget {
|
||||
}
|
||||
|
||||
extension ConstraintView: ConstraintRelatableTarget {
|
||||
}
|
||||
|
||||
@available(iOS 9.0, OSX 10.11, *)
|
||||
extension ConstraintLayoutGuide: ConstraintRelatableTarget {
|
||||
}
|
48
Pods/SnapKit/Source/ConstraintRelation.swift
generated
Normal file
48
Pods/SnapKit/Source/ConstraintRelation.swift
generated
Normal file
@ -0,0 +1,48 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
internal enum ConstraintRelation : Int {
|
||||
case equal = 1
|
||||
case lessThanOrEqual
|
||||
case greaterThanOrEqual
|
||||
|
||||
internal var layoutRelation: LayoutRelation {
|
||||
get {
|
||||
switch(self) {
|
||||
case .equal:
|
||||
return .equal
|
||||
case .lessThanOrEqual:
|
||||
return .lessThanOrEqual
|
||||
case .greaterThanOrEqual:
|
||||
return .greaterThanOrEqual
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
152
Pods/SnapKit/Source/ConstraintView+Extensions.swift
generated
Normal file
152
Pods/SnapKit/Source/ConstraintView+Extensions.swift
generated
Normal file
@ -0,0 +1,152 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public extension ConstraintView {
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
var snp_left: ConstraintItem { return self.snp.left }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
var snp_top: ConstraintItem { return self.snp.top }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
var snp_right: ConstraintItem { return self.snp.right }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
var snp_bottom: ConstraintItem { return self.snp.bottom }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
var snp_leading: ConstraintItem { return self.snp.leading }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
var snp_trailing: ConstraintItem { return self.snp.trailing }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
var snp_width: ConstraintItem { return self.snp.width }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
var snp_height: ConstraintItem { return self.snp.height }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
var snp_centerX: ConstraintItem { return self.snp.centerX }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
var snp_centerY: ConstraintItem { return self.snp.centerY }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
var snp_baseline: ConstraintItem { return self.snp.baseline }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
@available(iOS 8.0, OSX 10.11, *)
|
||||
var snp_lastBaseline: ConstraintItem { return self.snp.lastBaseline }
|
||||
|
||||
@available(iOS, deprecated, message:"Use newer snp.* syntax.")
|
||||
@available(iOS 8.0, OSX 10.11, *)
|
||||
var snp_firstBaseline: ConstraintItem { return self.snp.firstBaseline }
|
||||
|
||||
@available(iOS, deprecated, message:"Use newer snp.* syntax.")
|
||||
@available(iOS 8.0, *)
|
||||
var snp_leftMargin: ConstraintItem { return self.snp.leftMargin }
|
||||
|
||||
@available(iOS, deprecated, message:"Use newer snp.* syntax.")
|
||||
@available(iOS 8.0, *)
|
||||
var snp_topMargin: ConstraintItem { return self.snp.topMargin }
|
||||
|
||||
@available(iOS, deprecated, message:"Use newer snp.* syntax.")
|
||||
@available(iOS 8.0, *)
|
||||
var snp_rightMargin: ConstraintItem { return self.snp.rightMargin }
|
||||
|
||||
@available(iOS, deprecated, message:"Use newer snp.* syntax.")
|
||||
@available(iOS 8.0, *)
|
||||
var snp_bottomMargin: ConstraintItem { return self.snp.bottomMargin }
|
||||
|
||||
@available(iOS, deprecated, message:"Use newer snp.* syntax.")
|
||||
@available(iOS 8.0, *)
|
||||
var snp_leadingMargin: ConstraintItem { return self.snp.leadingMargin }
|
||||
|
||||
@available(iOS, deprecated, message:"Use newer snp.* syntax.")
|
||||
@available(iOS 8.0, *)
|
||||
var snp_trailingMargin: ConstraintItem { return self.snp.trailingMargin }
|
||||
|
||||
@available(iOS, deprecated, message:"Use newer snp.* syntax.")
|
||||
@available(iOS 8.0, *)
|
||||
var snp_centerXWithinMargins: ConstraintItem { return self.snp.centerXWithinMargins }
|
||||
|
||||
@available(iOS, deprecated, message:"Use newer snp.* syntax.")
|
||||
@available(iOS 8.0, *)
|
||||
var snp_centerYWithinMargins: ConstraintItem { return self.snp.centerYWithinMargins }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
var snp_edges: ConstraintItem { return self.snp.edges }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
var snp_size: ConstraintItem { return self.snp.size }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
var snp_center: ConstraintItem { return self.snp.center }
|
||||
|
||||
@available(iOS, deprecated, message:"Use newer snp.* syntax.")
|
||||
@available(iOS 8.0, *)
|
||||
var snp_margins: ConstraintItem { return self.snp.margins }
|
||||
|
||||
@available(iOS, deprecated, message:"Use newer snp.* syntax.")
|
||||
@available(iOS 8.0, *)
|
||||
var snp_centerWithinMargins: ConstraintItem { return self.snp.centerWithinMargins }
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
func snp_prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] {
|
||||
return self.snp.prepareConstraints(closure)
|
||||
}
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
func snp_makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
|
||||
self.snp.makeConstraints(closure)
|
||||
}
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
func snp_remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
|
||||
self.snp.remakeConstraints(closure)
|
||||
}
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
func snp_updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
|
||||
self.snp.updateConstraints(closure)
|
||||
}
|
||||
|
||||
@available(*, deprecated, message:"Use newer snp.* syntax.")
|
||||
func snp_removeConstraints() {
|
||||
self.snp.removeConstraints()
|
||||
}
|
||||
|
||||
var snp: ConstraintViewDSL {
|
||||
return ConstraintViewDSL(view: self)
|
||||
}
|
||||
|
||||
}
|
35
Pods/SnapKit/Source/ConstraintView.swift
generated
Normal file
35
Pods/SnapKit/Source/ConstraintView.swift
generated
Normal file
@ -0,0 +1,35 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
public typealias ConstraintView = UIView
|
||||
#else
|
||||
public typealias ConstraintView = NSView
|
||||
#endif
|
101
Pods/SnapKit/Source/ConstraintViewDSL.swift
generated
Normal file
101
Pods/SnapKit/Source/ConstraintViewDSL.swift
generated
Normal file
@ -0,0 +1,101 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public struct ConstraintViewDSL: ConstraintAttributesDSL {
|
||||
|
||||
@discardableResult
|
||||
public func prepareConstraints(_ closure: (_ make: ConstraintMaker) -> Void) -> [Constraint] {
|
||||
return ConstraintMaker.prepareConstraints(item: self.view, closure: closure)
|
||||
}
|
||||
|
||||
public func makeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
|
||||
ConstraintMaker.makeConstraints(item: self.view, closure: closure)
|
||||
}
|
||||
|
||||
public func remakeConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
|
||||
ConstraintMaker.remakeConstraints(item: self.view, closure: closure)
|
||||
}
|
||||
|
||||
public func updateConstraints(_ closure: (_ make: ConstraintMaker) -> Void) {
|
||||
ConstraintMaker.updateConstraints(item: self.view, closure: closure)
|
||||
}
|
||||
|
||||
public func removeConstraints() {
|
||||
ConstraintMaker.removeConstraints(item: self.view)
|
||||
}
|
||||
|
||||
public var contentHuggingHorizontalPriority: Float {
|
||||
get {
|
||||
return self.view.contentHuggingPriority(for: .horizontal).rawValue
|
||||
}
|
||||
nonmutating set {
|
||||
self.view.setContentHuggingPriority(LayoutPriority(rawValue: newValue), for: .horizontal)
|
||||
}
|
||||
}
|
||||
|
||||
public var contentHuggingVerticalPriority: Float {
|
||||
get {
|
||||
return self.view.contentHuggingPriority(for: .vertical).rawValue
|
||||
}
|
||||
nonmutating set {
|
||||
self.view.setContentHuggingPriority(LayoutPriority(rawValue: newValue), for: .vertical)
|
||||
}
|
||||
}
|
||||
|
||||
public var contentCompressionResistanceHorizontalPriority: Float {
|
||||
get {
|
||||
return self.view.contentCompressionResistancePriority(for: .horizontal).rawValue
|
||||
}
|
||||
nonmutating set {
|
||||
self.view.setContentCompressionResistancePriority(LayoutPriority(rawValue: newValue), for: .horizontal)
|
||||
}
|
||||
}
|
||||
|
||||
public var contentCompressionResistanceVerticalPriority: Float {
|
||||
get {
|
||||
return self.view.contentCompressionResistancePriority(for: .vertical).rawValue
|
||||
}
|
||||
nonmutating set {
|
||||
self.view.setContentCompressionResistancePriority(LayoutPriority(rawValue: newValue), for: .vertical)
|
||||
}
|
||||
}
|
||||
|
||||
public var target: AnyObject? {
|
||||
return self.view
|
||||
}
|
||||
|
||||
internal let view: ConstraintView
|
||||
|
||||
internal init(view: ConstraintView) {
|
||||
self.view = view
|
||||
|
||||
}
|
||||
|
||||
}
|
169
Pods/SnapKit/Source/Debugging.swift
generated
Normal file
169
Pods/SnapKit/Source/Debugging.swift
generated
Normal file
@ -0,0 +1,169 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
public extension LayoutConstraint {
|
||||
|
||||
override var description: String {
|
||||
var description = "<"
|
||||
|
||||
description += descriptionForObject(self)
|
||||
|
||||
if let firstItem = conditionalOptional(from: self.firstItem) {
|
||||
description += " \(descriptionForObject(firstItem))"
|
||||
}
|
||||
|
||||
if self.firstAttribute != .notAnAttribute {
|
||||
description += ".\(descriptionForAttribute(self.firstAttribute))"
|
||||
}
|
||||
|
||||
description += " \(descriptionForRelation(self.relation))"
|
||||
|
||||
if let secondItem = self.secondItem {
|
||||
description += " \(descriptionForObject(secondItem))"
|
||||
}
|
||||
|
||||
if self.secondAttribute != .notAnAttribute {
|
||||
description += ".\(descriptionForAttribute(self.secondAttribute))"
|
||||
}
|
||||
|
||||
if self.multiplier != 1.0 {
|
||||
description += " * \(self.multiplier)"
|
||||
}
|
||||
|
||||
if self.secondAttribute == .notAnAttribute {
|
||||
description += " \(self.constant)"
|
||||
} else {
|
||||
if self.constant > 0.0 {
|
||||
description += " + \(self.constant)"
|
||||
} else if self.constant < 0.0 {
|
||||
description += " - \(abs(self.constant))"
|
||||
}
|
||||
}
|
||||
|
||||
if self.priority.rawValue != 1000.0 {
|
||||
description += " ^\(self.priority)"
|
||||
}
|
||||
|
||||
description += ">"
|
||||
|
||||
return description
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private func descriptionForRelation(_ relation: LayoutRelation) -> String {
|
||||
switch relation {
|
||||
case .equal: return "=="
|
||||
case .greaterThanOrEqual: return ">="
|
||||
case .lessThanOrEqual: return "<="
|
||||
#if swift(>=5.0)
|
||||
@unknown default: return "unknown"
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
private func descriptionForAttribute(_ attribute: LayoutAttribute) -> String {
|
||||
#if os(iOS) || os(tvOS)
|
||||
switch attribute {
|
||||
case .notAnAttribute: return "notAnAttribute"
|
||||
case .top: return "top"
|
||||
case .left: return "left"
|
||||
case .bottom: return "bottom"
|
||||
case .right: return "right"
|
||||
case .leading: return "leading"
|
||||
case .trailing: return "trailing"
|
||||
case .width: return "width"
|
||||
case .height: return "height"
|
||||
case .centerX: return "centerX"
|
||||
case .centerY: return "centerY"
|
||||
case .lastBaseline: return "lastBaseline"
|
||||
case .firstBaseline: return "firstBaseline"
|
||||
case .topMargin: return "topMargin"
|
||||
case .leftMargin: return "leftMargin"
|
||||
case .bottomMargin: return "bottomMargin"
|
||||
case .rightMargin: return "rightMargin"
|
||||
case .leadingMargin: return "leadingMargin"
|
||||
case .trailingMargin: return "trailingMargin"
|
||||
case .centerXWithinMargins: return "centerXWithinMargins"
|
||||
case .centerYWithinMargins: return "centerYWithinMargins"
|
||||
#if swift(>=5.0)
|
||||
@unknown default: return "unknown"
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
switch attribute {
|
||||
case .notAnAttribute: return "notAnAttribute"
|
||||
case .top: return "top"
|
||||
case .left: return "left"
|
||||
case .bottom: return "bottom"
|
||||
case .right: return "right"
|
||||
case .leading: return "leading"
|
||||
case .trailing: return "trailing"
|
||||
case .width: return "width"
|
||||
case .height: return "height"
|
||||
case .centerX: return "centerX"
|
||||
case .centerY: return "centerY"
|
||||
case .lastBaseline: return "lastBaseline"
|
||||
case .firstBaseline: return "firstBaseline"
|
||||
#if swift(>=5.0)
|
||||
@unknown default: return "unknown"
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
private func conditionalOptional<T>(from object: Optional<T>) -> Optional<T> {
|
||||
return object
|
||||
}
|
||||
|
||||
private func conditionalOptional<T>(from object: T) -> Optional<T> {
|
||||
return Optional.some(object)
|
||||
}
|
||||
|
||||
private func descriptionForObject(_ object: AnyObject) -> String {
|
||||
let pointerDescription = String(format: "%p", UInt(bitPattern: ObjectIdentifier(object)))
|
||||
var desc = ""
|
||||
|
||||
desc += type(of: object).description()
|
||||
|
||||
if let object = object as? ConstraintView {
|
||||
desc += ":\(object.snp.label() ?? pointerDescription)"
|
||||
} else if let object = object as? LayoutConstraint {
|
||||
desc += ":\(object.label ?? pointerDescription)"
|
||||
} else {
|
||||
desc += ":\(pointerDescription)"
|
||||
}
|
||||
|
||||
if let object = object as? LayoutConstraint, let file = object.constraint?.sourceLocation.0, let line = object.constraint?.sourceLocation.1 {
|
||||
desc += "@\((file as NSString).lastPathComponent)#\(line)"
|
||||
}
|
||||
|
||||
desc += ""
|
||||
return desc
|
||||
}
|
61
Pods/SnapKit/Source/LayoutConstraint.swift
generated
Normal file
61
Pods/SnapKit/Source/LayoutConstraint.swift
generated
Normal file
@ -0,0 +1,61 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public class LayoutConstraint : NSLayoutConstraint {
|
||||
|
||||
public var label: String? {
|
||||
get {
|
||||
return self.identifier
|
||||
}
|
||||
set {
|
||||
self.identifier = newValue
|
||||
}
|
||||
}
|
||||
|
||||
internal weak var constraint: Constraint? = nil
|
||||
|
||||
}
|
||||
|
||||
internal func ==(lhs: LayoutConstraint, rhs: LayoutConstraint) -> Bool {
|
||||
// If firstItem or secondItem on either constraint has a dangling pointer
|
||||
// this comparison can cause a crash. The solution for this is to ensure
|
||||
// your layout code hold strong references to things like Views, LayoutGuides
|
||||
// and LayoutAnchors as SnapKit will not keep strong references to any of these.
|
||||
guard lhs.firstAttribute == rhs.firstAttribute &&
|
||||
lhs.secondAttribute == rhs.secondAttribute &&
|
||||
lhs.relation == rhs.relation &&
|
||||
lhs.priority == rhs.priority &&
|
||||
lhs.multiplier == rhs.multiplier &&
|
||||
lhs.secondItem === rhs.secondItem &&
|
||||
lhs.firstItem === rhs.firstItem else {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
93
Pods/SnapKit/Source/LayoutConstraintItem.swift
generated
Normal file
93
Pods/SnapKit/Source/LayoutConstraintItem.swift
generated
Normal file
@ -0,0 +1,93 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#else
|
||||
import AppKit
|
||||
#endif
|
||||
|
||||
|
||||
public protocol LayoutConstraintItem: class {
|
||||
}
|
||||
|
||||
@available(iOS 9.0, OSX 10.11, *)
|
||||
extension ConstraintLayoutGuide : LayoutConstraintItem {
|
||||
}
|
||||
|
||||
extension ConstraintView : LayoutConstraintItem {
|
||||
}
|
||||
|
||||
|
||||
extension LayoutConstraintItem {
|
||||
|
||||
internal func prepare() {
|
||||
if let view = self as? ConstraintView {
|
||||
view.translatesAutoresizingMaskIntoConstraints = false
|
||||
}
|
||||
}
|
||||
|
||||
internal var superview: ConstraintView? {
|
||||
if let view = self as? ConstraintView {
|
||||
return view.superview
|
||||
}
|
||||
|
||||
if #available(iOS 9.0, OSX 10.11, *), let guide = self as? ConstraintLayoutGuide {
|
||||
return guide.owningView
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
internal var constraints: [Constraint] {
|
||||
return self.constraintsSet.allObjects as! [Constraint]
|
||||
}
|
||||
|
||||
internal func add(constraints: [Constraint]) {
|
||||
let constraintsSet = self.constraintsSet
|
||||
for constraint in constraints {
|
||||
constraintsSet.add(constraint)
|
||||
}
|
||||
}
|
||||
|
||||
internal func remove(constraints: [Constraint]) {
|
||||
let constraintsSet = self.constraintsSet
|
||||
for constraint in constraints {
|
||||
constraintsSet.remove(constraint)
|
||||
}
|
||||
}
|
||||
|
||||
private var constraintsSet: NSMutableSet {
|
||||
let constraintsSet: NSMutableSet
|
||||
|
||||
if let existing = objc_getAssociatedObject(self, &constraintsKey) as? NSMutableSet {
|
||||
constraintsSet = existing
|
||||
} else {
|
||||
constraintsSet = NSMutableSet()
|
||||
objc_setAssociatedObject(self, &constraintsKey, constraintsSet, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
|
||||
}
|
||||
return constraintsSet
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
private var constraintsKey: UInt8 = 0
|
42
Pods/SnapKit/Source/Typealiases.swift
generated
Normal file
42
Pods/SnapKit/Source/Typealiases.swift
generated
Normal file
@ -0,0 +1,42 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
import Foundation
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#if swift(>=4.2)
|
||||
typealias LayoutRelation = NSLayoutConstraint.Relation
|
||||
typealias LayoutAttribute = NSLayoutConstraint.Attribute
|
||||
#else
|
||||
typealias LayoutRelation = NSLayoutRelation
|
||||
typealias LayoutAttribute = NSLayoutAttribute
|
||||
#endif
|
||||
typealias LayoutPriority = UILayoutPriority
|
||||
#else
|
||||
import AppKit
|
||||
typealias LayoutRelation = NSLayoutConstraint.Relation
|
||||
typealias LayoutAttribute = NSLayoutConstraint.Attribute
|
||||
typealias LayoutPriority = NSLayoutConstraint.Priority
|
||||
#endif
|
||||
|
36
Pods/SnapKit/Source/UILayoutSupport+Extensions.swift
generated
Normal file
36
Pods/SnapKit/Source/UILayoutSupport+Extensions.swift
generated
Normal file
@ -0,0 +1,36 @@
|
||||
//
|
||||
// SnapKit
|
||||
//
|
||||
// Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
#endif
|
||||
|
||||
|
||||
@available(iOS 8.0, *)
|
||||
public extension ConstraintLayoutSupport {
|
||||
|
||||
var snp: ConstraintLayoutSupportDSL {
|
||||
return ConstraintLayoutSupportDSL(support: self)
|
||||
}
|
||||
|
||||
}
|
26
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-Info.plist
generated
Normal file
26
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-Info.plist
generated
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${CURRENT_PROJECT_VERSION}</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
26
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-acknowledgements.markdown
generated
Normal file
26
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-acknowledgements.markdown
generated
Normal file
@ -0,0 +1,26 @@
|
||||
# Acknowledgements
|
||||
This application makes use of the following third party libraries:
|
||||
|
||||
## SnapKit
|
||||
|
||||
Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Generated by CocoaPods - https://cocoapods.org
|
58
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-acknowledgements.plist
generated
Normal file
58
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-acknowledgements.plist
generated
Normal file
@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>PreferenceSpecifiers</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>FooterText</key>
|
||||
<string>This application makes use of the following third party libraries:</string>
|
||||
<key>Title</key>
|
||||
<string>Acknowledgements</string>
|
||||
<key>Type</key>
|
||||
<string>PSGroupSpecifier</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>FooterText</key>
|
||||
<string>Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
</string>
|
||||
<key>License</key>
|
||||
<string>MIT</string>
|
||||
<key>Title</key>
|
||||
<string>SnapKit</string>
|
||||
<key>Type</key>
|
||||
<string>PSGroupSpecifier</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>FooterText</key>
|
||||
<string>Generated by CocoaPods - https://cocoapods.org</string>
|
||||
<key>Title</key>
|
||||
<string></string>
|
||||
<key>Type</key>
|
||||
<string>PSGroupSpecifier</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>StringsTable</key>
|
||||
<string>Acknowledgements</string>
|
||||
<key>Title</key>
|
||||
<string>Acknowledgements</string>
|
||||
</dict>
|
||||
</plist>
|
5
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-dummy.m
generated
Normal file
5
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-dummy.m
generated
Normal file
@ -0,0 +1,5 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
@interface PodsDummy_Pods_wyy_wyyUITests : NSObject
|
||||
@end
|
||||
@implementation PodsDummy_Pods_wyy_wyyUITests
|
||||
@end
|
@ -0,0 +1,2 @@
|
||||
${PODS_ROOT}/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-frameworks.sh
|
||||
${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework
|
@ -0,0 +1 @@
|
||||
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework
|
@ -0,0 +1,2 @@
|
||||
${PODS_ROOT}/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-frameworks.sh
|
||||
${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework
|
@ -0,0 +1 @@
|
||||
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework
|
185
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-frameworks.sh
generated
Executable file
185
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-frameworks.sh
generated
Executable file
@ -0,0 +1,185 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
function on_error {
|
||||
echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
|
||||
}
|
||||
trap 'on_error $LINENO' ERR
|
||||
|
||||
if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
|
||||
# If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
|
||||
# frameworks to, so exit 0 (signalling the script phase was successful).
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
|
||||
COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
|
||||
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
|
||||
BCSYMBOLMAP_DIR="BCSymbolMaps"
|
||||
|
||||
|
||||
# This protects against multiple targets copying the same framework dependency at the same time. The solution
|
||||
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
|
||||
RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
|
||||
|
||||
# Copies and strips a vendored framework
|
||||
install_framework()
|
||||
{
|
||||
if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
|
||||
local source="${BUILT_PRODUCTS_DIR}/$1"
|
||||
elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
|
||||
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
|
||||
elif [ -r "$1" ]; then
|
||||
local source="$1"
|
||||
fi
|
||||
|
||||
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
|
||||
if [ -L "${source}" ]; then
|
||||
echo "Symlinked..."
|
||||
source="$(readlink "${source}")"
|
||||
fi
|
||||
|
||||
if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then
|
||||
# Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied
|
||||
find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do
|
||||
echo "Installing $f"
|
||||
install_bcsymbolmap "$f" "$destination"
|
||||
rm "$f"
|
||||
done
|
||||
rmdir "${source}/${BCSYMBOLMAP_DIR}"
|
||||
fi
|
||||
|
||||
# Use filter instead of exclude so missing patterns don't throw errors.
|
||||
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
|
||||
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
|
||||
|
||||
local basename
|
||||
basename="$(basename -s .framework "$1")"
|
||||
binary="${destination}/${basename}.framework/${basename}"
|
||||
|
||||
if ! [ -r "$binary" ]; then
|
||||
binary="${destination}/${basename}"
|
||||
elif [ -L "${binary}" ]; then
|
||||
echo "Destination binary is symlinked..."
|
||||
dirname="$(dirname "${binary}")"
|
||||
binary="${dirname}/$(readlink "${binary}")"
|
||||
fi
|
||||
|
||||
# Strip invalid architectures so "fat" simulator / device frameworks work on device
|
||||
if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
|
||||
strip_invalid_archs "$binary"
|
||||
fi
|
||||
|
||||
# Resign the code if required by the build settings to avoid unstable apps
|
||||
code_sign_if_enabled "${destination}/$(basename "$1")"
|
||||
|
||||
# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
|
||||
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
|
||||
local swift_runtime_libs
|
||||
swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
|
||||
for lib in $swift_runtime_libs; do
|
||||
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
|
||||
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
|
||||
code_sign_if_enabled "${destination}/${lib}"
|
||||
done
|
||||
fi
|
||||
}
|
||||
# Copies and strips a vendored dSYM
|
||||
install_dsym() {
|
||||
local source="$1"
|
||||
warn_missing_arch=${2:-true}
|
||||
if [ -r "$source" ]; then
|
||||
# Copy the dSYM into the targets temp dir.
|
||||
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
|
||||
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
|
||||
|
||||
local basename
|
||||
basename="$(basename -s .dSYM "$source")"
|
||||
binary_name="$(ls "$source/Contents/Resources/DWARF")"
|
||||
binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
|
||||
|
||||
# Strip invalid architectures from the dSYM.
|
||||
if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
|
||||
strip_invalid_archs "$binary" "$warn_missing_arch"
|
||||
fi
|
||||
if [[ $STRIP_BINARY_RETVAL == 0 ]]; then
|
||||
# Move the stripped file into its final destination.
|
||||
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
|
||||
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
|
||||
else
|
||||
# The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
|
||||
touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Used as a return value for each invocation of `strip_invalid_archs` function.
|
||||
STRIP_BINARY_RETVAL=0
|
||||
|
||||
# Strip invalid architectures
|
||||
strip_invalid_archs() {
|
||||
binary="$1"
|
||||
warn_missing_arch=${2:-true}
|
||||
# Get architectures for current target binary
|
||||
binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
|
||||
# Intersect them with the architectures we are building for
|
||||
intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
|
||||
# If there are no archs supported by this binary then warn the user
|
||||
if [[ -z "$intersected_archs" ]]; then
|
||||
if [[ "$warn_missing_arch" == "true" ]]; then
|
||||
echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
|
||||
fi
|
||||
STRIP_BINARY_RETVAL=1
|
||||
return
|
||||
fi
|
||||
stripped=""
|
||||
for arch in $binary_archs; do
|
||||
if ! [[ "${ARCHS}" == *"$arch"* ]]; then
|
||||
# Strip non-valid architectures in-place
|
||||
lipo -remove "$arch" -output "$binary" "$binary"
|
||||
stripped="$stripped $arch"
|
||||
fi
|
||||
done
|
||||
if [[ "$stripped" ]]; then
|
||||
echo "Stripped $binary of architectures:$stripped"
|
||||
fi
|
||||
STRIP_BINARY_RETVAL=0
|
||||
}
|
||||
|
||||
# Copies the bcsymbolmap files of a vendored framework
|
||||
install_bcsymbolmap() {
|
||||
local bcsymbolmap_path="$1"
|
||||
local destination="${BUILT_PRODUCTS_DIR}"
|
||||
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}""
|
||||
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
|
||||
}
|
||||
|
||||
# Signs a framework with the provided identity
|
||||
code_sign_if_enabled() {
|
||||
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
||||
# Use the current code_sign_identity
|
||||
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
||||
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
|
||||
|
||||
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||
code_sign_cmd="$code_sign_cmd &"
|
||||
fi
|
||||
echo "$code_sign_cmd"
|
||||
eval "$code_sign_cmd"
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ "$CONFIGURATION" == "Debug" ]]; then
|
||||
install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework"
|
||||
fi
|
||||
if [[ "$CONFIGURATION" == "Release" ]]; then
|
||||
install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework"
|
||||
fi
|
||||
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||
wait
|
||||
fi
|
16
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-umbrella.h
generated
Normal file
16
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-umbrella.h
generated
Normal file
@ -0,0 +1,16 @@
|
||||
#ifdef __OBJC__
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#ifndef FOUNDATION_EXPORT
|
||||
#if defined(__cplusplus)
|
||||
#define FOUNDATION_EXPORT extern "C"
|
||||
#else
|
||||
#define FOUNDATION_EXPORT extern
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
FOUNDATION_EXPORT double Pods_wyy_wyyUITestsVersionNumber;
|
||||
FOUNDATION_EXPORT const unsigned char Pods_wyy_wyyUITestsVersionString[];
|
||||
|
14
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests.debug.xcconfig
generated
Normal file
14
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests.debug.xcconfig
generated
Normal file
@ -0,0 +1,14 @@
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||
OTHER_LDFLAGS = $(inherited) -framework "SnapKit"
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
|
||||
PODS_ROOT = ${SRCROOT}/Pods
|
||||
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
|
||||
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
|
6
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests.modulemap
generated
Normal file
6
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests.modulemap
generated
Normal file
@ -0,0 +1,6 @@
|
||||
framework module Pods_wyy_wyyUITests {
|
||||
umbrella header "Pods-wyy-wyyUITests-umbrella.h"
|
||||
|
||||
export *
|
||||
module * { export * }
|
||||
}
|
14
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests.release.xcconfig
generated
Normal file
14
Pods/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests.release.xcconfig
generated
Normal file
@ -0,0 +1,14 @@
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||
OTHER_LDFLAGS = $(inherited) -framework "SnapKit"
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
|
||||
PODS_ROOT = ${SRCROOT}/Pods
|
||||
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
|
||||
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
|
26
Pods/Target Support Files/Pods-wyy/Pods-wyy-Info.plist
generated
Normal file
26
Pods/Target Support Files/Pods-wyy/Pods-wyy-Info.plist
generated
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${CURRENT_PROJECT_VERSION}</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
26
Pods/Target Support Files/Pods-wyy/Pods-wyy-acknowledgements.markdown
generated
Normal file
26
Pods/Target Support Files/Pods-wyy/Pods-wyy-acknowledgements.markdown
generated
Normal file
@ -0,0 +1,26 @@
|
||||
# Acknowledgements
|
||||
This application makes use of the following third party libraries:
|
||||
|
||||
## SnapKit
|
||||
|
||||
Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Generated by CocoaPods - https://cocoapods.org
|
58
Pods/Target Support Files/Pods-wyy/Pods-wyy-acknowledgements.plist
generated
Normal file
58
Pods/Target Support Files/Pods-wyy/Pods-wyy-acknowledgements.plist
generated
Normal file
@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>PreferenceSpecifiers</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>FooterText</key>
|
||||
<string>This application makes use of the following third party libraries:</string>
|
||||
<key>Title</key>
|
||||
<string>Acknowledgements</string>
|
||||
<key>Type</key>
|
||||
<string>PSGroupSpecifier</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>FooterText</key>
|
||||
<string>Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
</string>
|
||||
<key>License</key>
|
||||
<string>MIT</string>
|
||||
<key>Title</key>
|
||||
<string>SnapKit</string>
|
||||
<key>Type</key>
|
||||
<string>PSGroupSpecifier</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>FooterText</key>
|
||||
<string>Generated by CocoaPods - https://cocoapods.org</string>
|
||||
<key>Title</key>
|
||||
<string></string>
|
||||
<key>Type</key>
|
||||
<string>PSGroupSpecifier</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>StringsTable</key>
|
||||
<string>Acknowledgements</string>
|
||||
<key>Title</key>
|
||||
<string>Acknowledgements</string>
|
||||
</dict>
|
||||
</plist>
|
5
Pods/Target Support Files/Pods-wyy/Pods-wyy-dummy.m
generated
Normal file
5
Pods/Target Support Files/Pods-wyy/Pods-wyy-dummy.m
generated
Normal file
@ -0,0 +1,5 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
@interface PodsDummy_Pods_wyy : NSObject
|
||||
@end
|
||||
@implementation PodsDummy_Pods_wyy
|
||||
@end
|
2
Pods/Target Support Files/Pods-wyy/Pods-wyy-frameworks-Debug-input-files.xcfilelist
generated
Normal file
2
Pods/Target Support Files/Pods-wyy/Pods-wyy-frameworks-Debug-input-files.xcfilelist
generated
Normal file
@ -0,0 +1,2 @@
|
||||
${PODS_ROOT}/Target Support Files/Pods-wyy/Pods-wyy-frameworks.sh
|
||||
${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework
|
1
Pods/Target Support Files/Pods-wyy/Pods-wyy-frameworks-Debug-output-files.xcfilelist
generated
Normal file
1
Pods/Target Support Files/Pods-wyy/Pods-wyy-frameworks-Debug-output-files.xcfilelist
generated
Normal file
@ -0,0 +1 @@
|
||||
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework
|
2
Pods/Target Support Files/Pods-wyy/Pods-wyy-frameworks-Release-input-files.xcfilelist
generated
Normal file
2
Pods/Target Support Files/Pods-wyy/Pods-wyy-frameworks-Release-input-files.xcfilelist
generated
Normal file
@ -0,0 +1,2 @@
|
||||
${PODS_ROOT}/Target Support Files/Pods-wyy/Pods-wyy-frameworks.sh
|
||||
${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework
|
1
Pods/Target Support Files/Pods-wyy/Pods-wyy-frameworks-Release-output-files.xcfilelist
generated
Normal file
1
Pods/Target Support Files/Pods-wyy/Pods-wyy-frameworks-Release-output-files.xcfilelist
generated
Normal file
@ -0,0 +1 @@
|
||||
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework
|
185
Pods/Target Support Files/Pods-wyy/Pods-wyy-frameworks.sh
generated
Executable file
185
Pods/Target Support Files/Pods-wyy/Pods-wyy-frameworks.sh
generated
Executable file
@ -0,0 +1,185 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
function on_error {
|
||||
echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
|
||||
}
|
||||
trap 'on_error $LINENO' ERR
|
||||
|
||||
if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
|
||||
# If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
|
||||
# frameworks to, so exit 0 (signalling the script phase was successful).
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
|
||||
COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
|
||||
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
|
||||
BCSYMBOLMAP_DIR="BCSymbolMaps"
|
||||
|
||||
|
||||
# This protects against multiple targets copying the same framework dependency at the same time. The solution
|
||||
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
|
||||
RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
|
||||
|
||||
# Copies and strips a vendored framework
|
||||
install_framework()
|
||||
{
|
||||
if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
|
||||
local source="${BUILT_PRODUCTS_DIR}/$1"
|
||||
elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
|
||||
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
|
||||
elif [ -r "$1" ]; then
|
||||
local source="$1"
|
||||
fi
|
||||
|
||||
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
|
||||
if [ -L "${source}" ]; then
|
||||
echo "Symlinked..."
|
||||
source="$(readlink "${source}")"
|
||||
fi
|
||||
|
||||
if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then
|
||||
# Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied
|
||||
find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do
|
||||
echo "Installing $f"
|
||||
install_bcsymbolmap "$f" "$destination"
|
||||
rm "$f"
|
||||
done
|
||||
rmdir "${source}/${BCSYMBOLMAP_DIR}"
|
||||
fi
|
||||
|
||||
# Use filter instead of exclude so missing patterns don't throw errors.
|
||||
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
|
||||
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
|
||||
|
||||
local basename
|
||||
basename="$(basename -s .framework "$1")"
|
||||
binary="${destination}/${basename}.framework/${basename}"
|
||||
|
||||
if ! [ -r "$binary" ]; then
|
||||
binary="${destination}/${basename}"
|
||||
elif [ -L "${binary}" ]; then
|
||||
echo "Destination binary is symlinked..."
|
||||
dirname="$(dirname "${binary}")"
|
||||
binary="${dirname}/$(readlink "${binary}")"
|
||||
fi
|
||||
|
||||
# Strip invalid architectures so "fat" simulator / device frameworks work on device
|
||||
if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
|
||||
strip_invalid_archs "$binary"
|
||||
fi
|
||||
|
||||
# Resign the code if required by the build settings to avoid unstable apps
|
||||
code_sign_if_enabled "${destination}/$(basename "$1")"
|
||||
|
||||
# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
|
||||
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
|
||||
local swift_runtime_libs
|
||||
swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
|
||||
for lib in $swift_runtime_libs; do
|
||||
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
|
||||
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
|
||||
code_sign_if_enabled "${destination}/${lib}"
|
||||
done
|
||||
fi
|
||||
}
|
||||
# Copies and strips a vendored dSYM
|
||||
install_dsym() {
|
||||
local source="$1"
|
||||
warn_missing_arch=${2:-true}
|
||||
if [ -r "$source" ]; then
|
||||
# Copy the dSYM into the targets temp dir.
|
||||
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
|
||||
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
|
||||
|
||||
local basename
|
||||
basename="$(basename -s .dSYM "$source")"
|
||||
binary_name="$(ls "$source/Contents/Resources/DWARF")"
|
||||
binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
|
||||
|
||||
# Strip invalid architectures from the dSYM.
|
||||
if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
|
||||
strip_invalid_archs "$binary" "$warn_missing_arch"
|
||||
fi
|
||||
if [[ $STRIP_BINARY_RETVAL == 0 ]]; then
|
||||
# Move the stripped file into its final destination.
|
||||
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
|
||||
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
|
||||
else
|
||||
# The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
|
||||
touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Used as a return value for each invocation of `strip_invalid_archs` function.
|
||||
STRIP_BINARY_RETVAL=0
|
||||
|
||||
# Strip invalid architectures
|
||||
strip_invalid_archs() {
|
||||
binary="$1"
|
||||
warn_missing_arch=${2:-true}
|
||||
# Get architectures for current target binary
|
||||
binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
|
||||
# Intersect them with the architectures we are building for
|
||||
intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
|
||||
# If there are no archs supported by this binary then warn the user
|
||||
if [[ -z "$intersected_archs" ]]; then
|
||||
if [[ "$warn_missing_arch" == "true" ]]; then
|
||||
echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
|
||||
fi
|
||||
STRIP_BINARY_RETVAL=1
|
||||
return
|
||||
fi
|
||||
stripped=""
|
||||
for arch in $binary_archs; do
|
||||
if ! [[ "${ARCHS}" == *"$arch"* ]]; then
|
||||
# Strip non-valid architectures in-place
|
||||
lipo -remove "$arch" -output "$binary" "$binary"
|
||||
stripped="$stripped $arch"
|
||||
fi
|
||||
done
|
||||
if [[ "$stripped" ]]; then
|
||||
echo "Stripped $binary of architectures:$stripped"
|
||||
fi
|
||||
STRIP_BINARY_RETVAL=0
|
||||
}
|
||||
|
||||
# Copies the bcsymbolmap files of a vendored framework
|
||||
install_bcsymbolmap() {
|
||||
local bcsymbolmap_path="$1"
|
||||
local destination="${BUILT_PRODUCTS_DIR}"
|
||||
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}""
|
||||
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
|
||||
}
|
||||
|
||||
# Signs a framework with the provided identity
|
||||
code_sign_if_enabled() {
|
||||
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
||||
# Use the current code_sign_identity
|
||||
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
||||
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
|
||||
|
||||
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||
code_sign_cmd="$code_sign_cmd &"
|
||||
fi
|
||||
echo "$code_sign_cmd"
|
||||
eval "$code_sign_cmd"
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ "$CONFIGURATION" == "Debug" ]]; then
|
||||
install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework"
|
||||
fi
|
||||
if [[ "$CONFIGURATION" == "Release" ]]; then
|
||||
install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework"
|
||||
fi
|
||||
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||
wait
|
||||
fi
|
16
Pods/Target Support Files/Pods-wyy/Pods-wyy-umbrella.h
generated
Normal file
16
Pods/Target Support Files/Pods-wyy/Pods-wyy-umbrella.h
generated
Normal file
@ -0,0 +1,16 @@
|
||||
#ifdef __OBJC__
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#ifndef FOUNDATION_EXPORT
|
||||
#if defined(__cplusplus)
|
||||
#define FOUNDATION_EXPORT extern "C"
|
||||
#else
|
||||
#define FOUNDATION_EXPORT extern
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
FOUNDATION_EXPORT double Pods_wyyVersionNumber;
|
||||
FOUNDATION_EXPORT const unsigned char Pods_wyyVersionString[];
|
||||
|
14
Pods/Target Support Files/Pods-wyy/Pods-wyy.debug.xcconfig
generated
Normal file
14
Pods/Target Support Files/Pods-wyy/Pods-wyy.debug.xcconfig
generated
Normal file
@ -0,0 +1,14 @@
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||
OTHER_LDFLAGS = $(inherited) -framework "SnapKit"
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
|
||||
PODS_ROOT = ${SRCROOT}/Pods
|
||||
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
|
||||
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
|
6
Pods/Target Support Files/Pods-wyy/Pods-wyy.modulemap
generated
Normal file
6
Pods/Target Support Files/Pods-wyy/Pods-wyy.modulemap
generated
Normal file
@ -0,0 +1,6 @@
|
||||
framework module Pods_wyy {
|
||||
umbrella header "Pods-wyy-umbrella.h"
|
||||
|
||||
export *
|
||||
module * { export * }
|
||||
}
|
14
Pods/Target Support Files/Pods-wyy/Pods-wyy.release.xcconfig
generated
Normal file
14
Pods/Target Support Files/Pods-wyy/Pods-wyy.release.xcconfig
generated
Normal file
@ -0,0 +1,14 @@
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||
OTHER_LDFLAGS = $(inherited) -framework "SnapKit"
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
|
||||
PODS_ROOT = ${SRCROOT}/Pods
|
||||
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
|
||||
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
|
26
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests-Info.plist
generated
Normal file
26
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests-Info.plist
generated
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${CURRENT_PROJECT_VERSION}</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
3
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests-acknowledgements.markdown
generated
Normal file
3
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests-acknowledgements.markdown
generated
Normal file
@ -0,0 +1,3 @@
|
||||
# Acknowledgements
|
||||
This application makes use of the following third party libraries:
|
||||
Generated by CocoaPods - https://cocoapods.org
|
29
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests-acknowledgements.plist
generated
Normal file
29
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests-acknowledgements.plist
generated
Normal file
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>PreferenceSpecifiers</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>FooterText</key>
|
||||
<string>This application makes use of the following third party libraries:</string>
|
||||
<key>Title</key>
|
||||
<string>Acknowledgements</string>
|
||||
<key>Type</key>
|
||||
<string>PSGroupSpecifier</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>FooterText</key>
|
||||
<string>Generated by CocoaPods - https://cocoapods.org</string>
|
||||
<key>Title</key>
|
||||
<string></string>
|
||||
<key>Type</key>
|
||||
<string>PSGroupSpecifier</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>StringsTable</key>
|
||||
<string>Acknowledgements</string>
|
||||
<key>Title</key>
|
||||
<string>Acknowledgements</string>
|
||||
</dict>
|
||||
</plist>
|
5
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests-dummy.m
generated
Normal file
5
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests-dummy.m
generated
Normal file
@ -0,0 +1,5 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
@interface PodsDummy_Pods_wyyTests : NSObject
|
||||
@end
|
||||
@implementation PodsDummy_Pods_wyyTests
|
||||
@end
|
16
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests-umbrella.h
generated
Normal file
16
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests-umbrella.h
generated
Normal file
@ -0,0 +1,16 @@
|
||||
#ifdef __OBJC__
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#ifndef FOUNDATION_EXPORT
|
||||
#if defined(__cplusplus)
|
||||
#define FOUNDATION_EXPORT extern "C"
|
||||
#else
|
||||
#define FOUNDATION_EXPORT extern
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
FOUNDATION_EXPORT double Pods_wyyTestsVersionNumber;
|
||||
FOUNDATION_EXPORT const unsigned char Pods_wyyTestsVersionString[];
|
||||
|
11
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests.debug.xcconfig
generated
Normal file
11
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests.debug.xcconfig
generated
Normal file
@ -0,0 +1,11 @@
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
|
||||
OTHER_LDFLAGS = $(inherited) -framework "SnapKit"
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
|
||||
PODS_ROOT = ${SRCROOT}/Pods
|
||||
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
|
||||
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
|
6
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests.modulemap
generated
Normal file
6
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests.modulemap
generated
Normal file
@ -0,0 +1,6 @@
|
||||
framework module Pods_wyyTests {
|
||||
umbrella header "Pods-wyyTests-umbrella.h"
|
||||
|
||||
export *
|
||||
module * { export * }
|
||||
}
|
11
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests.release.xcconfig
generated
Normal file
11
Pods/Target Support Files/Pods-wyyTests/Pods-wyyTests.release.xcconfig
generated
Normal file
@ -0,0 +1,11 @@
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers"
|
||||
OTHER_LDFLAGS = $(inherited) -framework "SnapKit"
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
|
||||
PODS_ROOT = ${SRCROOT}/Pods
|
||||
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
|
||||
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
|
26
Pods/Target Support Files/SnapKit/SnapKit-Info.plist
generated
Normal file
26
Pods/Target Support Files/SnapKit/SnapKit-Info.plist
generated
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>5.0.1</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${CURRENT_PROJECT_VERSION}</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
5
Pods/Target Support Files/SnapKit/SnapKit-dummy.m
generated
Normal file
5
Pods/Target Support Files/SnapKit/SnapKit-dummy.m
generated
Normal file
@ -0,0 +1,5 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
@interface PodsDummy_SnapKit : NSObject
|
||||
@end
|
||||
@implementation PodsDummy_SnapKit
|
||||
@end
|
12
Pods/Target Support Files/SnapKit/SnapKit-prefix.pch
generated
Normal file
12
Pods/Target Support Files/SnapKit/SnapKit-prefix.pch
generated
Normal file
@ -0,0 +1,12 @@
|
||||
#ifdef __OBJC__
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#ifndef FOUNDATION_EXPORT
|
||||
#if defined(__cplusplus)
|
||||
#define FOUNDATION_EXPORT extern "C"
|
||||
#else
|
||||
#define FOUNDATION_EXPORT extern
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
16
Pods/Target Support Files/SnapKit/SnapKit-umbrella.h
generated
Normal file
16
Pods/Target Support Files/SnapKit/SnapKit-umbrella.h
generated
Normal file
@ -0,0 +1,16 @@
|
||||
#ifdef __OBJC__
|
||||
#import <UIKit/UIKit.h>
|
||||
#else
|
||||
#ifndef FOUNDATION_EXPORT
|
||||
#if defined(__cplusplus)
|
||||
#define FOUNDATION_EXPORT extern "C"
|
||||
#else
|
||||
#define FOUNDATION_EXPORT extern
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
FOUNDATION_EXPORT double SnapKitVersionNumber;
|
||||
FOUNDATION_EXPORT const unsigned char SnapKitVersionString[];
|
||||
|
12
Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig
generated
Normal file
12
Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig
generated
Normal file
@ -0,0 +1,12 @@
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
||||
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_ROOT = ${SRCROOT}
|
||||
PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit
|
||||
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
||||
SKIP_INSTALL = YES
|
||||
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
|
6
Pods/Target Support Files/SnapKit/SnapKit.modulemap
generated
Normal file
6
Pods/Target Support Files/SnapKit/SnapKit.modulemap
generated
Normal file
@ -0,0 +1,6 @@
|
||||
framework module SnapKit {
|
||||
umbrella header "SnapKit-umbrella.h"
|
||||
|
||||
export *
|
||||
module * { export * }
|
||||
}
|
12
Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig
generated
Normal file
12
Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig
generated
Normal file
@ -0,0 +1,12 @@
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
|
||||
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_ROOT = ${SRCROOT}
|
||||
PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit
|
||||
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
||||
SKIP_INSTALL = YES
|
||||
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
|
806
wyy.xcodeproj/project.pbxproj
Normal file
806
wyy.xcodeproj/project.pbxproj
Normal file
@ -0,0 +1,806 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 51;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
68A821371C8FC1757FD341FB /* Pods_wyy.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DEEBFF1FC7905035F6F90DC /* Pods_wyy.framework */; };
|
||||
728791D8FA66377DE011D6BB /* Pods_wyy_wyyUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 20B967B165BEFF46FE9CFD58 /* Pods_wyy_wyyUITests.framework */; };
|
||||
8A66479825F33C520090F664 /* SideBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A66479725F33C520090F664 /* SideBarView.swift */; };
|
||||
8A6647A025F33D340090F664 /* SideBarCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A66479F25F33D340090F664 /* SideBarCell.swift */; };
|
||||
8A7C9AE525F1E35500F916F7 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A7C9AE425F1E35500F916F7 /* AppDelegate.swift */; };
|
||||
8A7C9AE725F1E35500F916F7 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A7C9AE625F1E35500F916F7 /* SceneDelegate.swift */; };
|
||||
8A7C9AEE25F1E35600F916F7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8A7C9AED25F1E35600F916F7 /* Assets.xcassets */; };
|
||||
8A7C9AF125F1E35600F916F7 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8A7C9AEF25F1E35600F916F7 /* LaunchScreen.storyboard */; };
|
||||
8A7C9AFC25F1E35600F916F7 /* wyyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A7C9AFB25F1E35600F916F7 /* wyyTests.swift */; };
|
||||
8A7C9B0725F1E35600F916F7 /* wyyUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A7C9B0625F1E35600F916F7 /* wyyUITests.swift */; };
|
||||
8A7C9B3625F1E4E000F916F7 /* DiscoverViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A7C9B3525F1E4E000F916F7 /* DiscoverViewController.swift */; };
|
||||
8A7C9B3B25F1E50400F916F7 /* PodCastViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A7C9B3A25F1E50400F916F7 /* PodCastViewController.swift */; };
|
||||
8A7C9B4025F1E50D00F916F7 /* MineViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A7C9B3F25F1E50D00F916F7 /* MineViewController.swift */; };
|
||||
8A7C9B4525F1E52C00F916F7 /* KaraokeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A7C9B4425F1E52C00F916F7 /* KaraokeViewController.swift */; };
|
||||
8A7C9B4A25F1E53D00F916F7 /* CommunityViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A7C9B4925F1E53D00F916F7 /* CommunityViewController.swift */; };
|
||||
8A7D68AC25F2058B00344E91 /* DiscoverNewsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A7D68AB25F2058B00344E91 /* DiscoverNewsView.swift */; };
|
||||
8A85AF9525F221FE00C48B9C /* DiscoverButtonsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A85AF9425F221FE00C48B9C /* DiscoverButtonsView.swift */; };
|
||||
8A85AF9A25F224D800C48B9C /* AlbumButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A85AF9925F224D800C48B9C /* AlbumButton.swift */; };
|
||||
8A85AF9F25F235B500C48B9C /* DiscoverRecommendView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A85AF9E25F235B500C48B9C /* DiscoverRecommendView.swift */; };
|
||||
8A85AFA425F238DA00C48B9C /* UIButtonScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A85AFA325F238DA00C48B9C /* UIButtonScrollView.swift */; };
|
||||
8A85AFA925F2499A00C48B9C /* DiscoverPopularSongsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A85AFA825F2499A00C48B9C /* DiscoverPopularSongsView.swift */; };
|
||||
8A85AFAE25F24AF500C48B9C /* PopularSongCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A85AFAD25F24AF500C48B9C /* PopularSongCell.swift */; };
|
||||
8AF68EE325F1E995003AD49B /* MyTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AF68EE225F1E995003AD49B /* MyTabBarController.swift */; };
|
||||
FC82524E744880542CF9CDBE /* Pods_wyyTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 429D063FCBDFE5D0294077C2 /* Pods_wyyTests.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
8A7C9AF825F1E35600F916F7 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 8A7C9AD925F1E35500F916F7 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 8A7C9AE025F1E35500F916F7;
|
||||
remoteInfo = wyy;
|
||||
};
|
||||
8A7C9B0325F1E35600F916F7 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 8A7C9AD925F1E35500F916F7 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 8A7C9AE025F1E35500F916F7;
|
||||
remoteInfo = wyy;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
20B967B165BEFF46FE9CFD58 /* Pods_wyy_wyyUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_wyy_wyyUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
429D063FCBDFE5D0294077C2 /* Pods_wyyTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_wyyTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
6327CE85464E7CB2BBB936DE /* Pods-wyy.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-wyy.release.xcconfig"; path = "Target Support Files/Pods-wyy/Pods-wyy.release.xcconfig"; sourceTree = "<group>"; };
|
||||
7DEEBFF1FC7905035F6F90DC /* Pods_wyy.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_wyy.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
8A66479725F33C520090F664 /* SideBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SideBarView.swift; sourceTree = "<group>"; };
|
||||
8A66479F25F33D340090F664 /* SideBarCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SideBarCell.swift; sourceTree = "<group>"; };
|
||||
8A7C9AE125F1E35500F916F7 /* wyy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = wyy.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
8A7C9AE425F1E35500F916F7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
8A7C9AE625F1E35500F916F7 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
|
||||
8A7C9AED25F1E35600F916F7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
8A7C9AF025F1E35600F916F7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
8A7C9AF225F1E35600F916F7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
8A7C9AF725F1E35600F916F7 /* wyyTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = wyyTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
8A7C9AFB25F1E35600F916F7 /* wyyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = wyyTests.swift; sourceTree = "<group>"; };
|
||||
8A7C9AFD25F1E35600F916F7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
8A7C9B0225F1E35600F916F7 /* wyyUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = wyyUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
8A7C9B0625F1E35600F916F7 /* wyyUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = wyyUITests.swift; sourceTree = "<group>"; };
|
||||
8A7C9B0825F1E35600F916F7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
8A7C9B3525F1E4E000F916F7 /* DiscoverViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiscoverViewController.swift; sourceTree = "<group>"; };
|
||||
8A7C9B3A25F1E50400F916F7 /* PodCastViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PodCastViewController.swift; sourceTree = "<group>"; };
|
||||
8A7C9B3F25F1E50D00F916F7 /* MineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MineViewController.swift; sourceTree = "<group>"; };
|
||||
8A7C9B4425F1E52C00F916F7 /* KaraokeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KaraokeViewController.swift; sourceTree = "<group>"; };
|
||||
8A7C9B4925F1E53D00F916F7 /* CommunityViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommunityViewController.swift; sourceTree = "<group>"; };
|
||||
8A7D68AB25F2058B00344E91 /* DiscoverNewsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiscoverNewsView.swift; sourceTree = "<group>"; };
|
||||
8A85AF9425F221FE00C48B9C /* DiscoverButtonsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiscoverButtonsView.swift; sourceTree = "<group>"; };
|
||||
8A85AF9925F224D800C48B9C /* AlbumButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumButton.swift; sourceTree = "<group>"; };
|
||||
8A85AF9E25F235B500C48B9C /* DiscoverRecommendView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiscoverRecommendView.swift; sourceTree = "<group>"; };
|
||||
8A85AFA325F238DA00C48B9C /* UIButtonScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIButtonScrollView.swift; sourceTree = "<group>"; };
|
||||
8A85AFA825F2499A00C48B9C /* DiscoverPopularSongsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiscoverPopularSongsView.swift; sourceTree = "<group>"; };
|
||||
8A85AFAD25F24AF500C48B9C /* PopularSongCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopularSongCell.swift; sourceTree = "<group>"; };
|
||||
8AF68EE225F1E995003AD49B /* MyTabBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyTabBarController.swift; sourceTree = "<group>"; };
|
||||
8B1428959C46630A42647E63 /* Pods-wyy-wyyUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-wyy-wyyUITests.debug.xcconfig"; path = "Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
9B5F805FE0B8DB118AF07212 /* Pods-wyyTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-wyyTests.debug.xcconfig"; path = "Target Support Files/Pods-wyyTests/Pods-wyyTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
BCB6202909AB5CD13A2CE3C1 /* Pods-wyy-wyyUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-wyy-wyyUITests.release.xcconfig"; path = "Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
E2289766D34B64902CFABFAC /* Pods-wyyTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-wyyTests.release.xcconfig"; path = "Target Support Files/Pods-wyyTests/Pods-wyyTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
EBAC972EEE6E7797CFA70DEF /* Pods-wyy.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-wyy.debug.xcconfig"; path = "Target Support Files/Pods-wyy/Pods-wyy.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
8A7C9ADE25F1E35500F916F7 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
68A821371C8FC1757FD341FB /* Pods_wyy.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
8A7C9AF425F1E35600F916F7 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FC82524E744880542CF9CDBE /* Pods_wyyTests.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
8A7C9AFF25F1E35600F916F7 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
728791D8FA66377DE011D6BB /* Pods_wyy_wyyUITests.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
08ADCDA4D670581C04DC3FA4 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
7DEEBFF1FC7905035F6F90DC /* Pods_wyy.framework */,
|
||||
20B967B165BEFF46FE9CFD58 /* Pods_wyy_wyyUITests.framework */,
|
||||
429D063FCBDFE5D0294077C2 /* Pods_wyyTests.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8A66479625F33C3D0090F664 /* SideBar */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8A66479725F33C520090F664 /* SideBarView.swift */,
|
||||
8A66479F25F33D340090F664 /* SideBarCell.swift */,
|
||||
);
|
||||
path = SideBar;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8A7C9AD825F1E35500F916F7 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8A7C9AE325F1E35500F916F7 /* wyy */,
|
||||
8A7C9AFA25F1E35600F916F7 /* wyyTests */,
|
||||
8A7C9B0525F1E35600F916F7 /* wyyUITests */,
|
||||
8A7C9AE225F1E35500F916F7 /* Products */,
|
||||
E7D7A25152F2BDAD052A582F /* Pods */,
|
||||
08ADCDA4D670581C04DC3FA4 /* Frameworks */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8A7C9AE225F1E35500F916F7 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8A7C9AE125F1E35500F916F7 /* wyy.app */,
|
||||
8A7C9AF725F1E35600F916F7 /* wyyTests.xctest */,
|
||||
8A7C9B0225F1E35600F916F7 /* wyyUITests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8A7C9AE325F1E35500F916F7 /* wyy */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8A66479625F33C3D0090F664 /* SideBar */,
|
||||
8A7C9B3A25F1E50400F916F7 /* PodCastViewController.swift */,
|
||||
8A7C9B3F25F1E50D00F916F7 /* MineViewController.swift */,
|
||||
8A7C9B4425F1E52C00F916F7 /* KaraokeViewController.swift */,
|
||||
8A7C9B4925F1E53D00F916F7 /* CommunityViewController.swift */,
|
||||
8A7D68B025F2073E00344E91 /* DiscoverView */,
|
||||
8A7C9AE425F1E35500F916F7 /* AppDelegate.swift */,
|
||||
8A7C9AE625F1E35500F916F7 /* SceneDelegate.swift */,
|
||||
8A7C9AED25F1E35600F916F7 /* Assets.xcassets */,
|
||||
8A7C9AEF25F1E35600F916F7 /* LaunchScreen.storyboard */,
|
||||
8A7C9AF225F1E35600F916F7 /* Info.plist */,
|
||||
8AF68EE225F1E995003AD49B /* MyTabBarController.swift */,
|
||||
8A85AFA325F238DA00C48B9C /* UIButtonScrollView.swift */,
|
||||
);
|
||||
path = wyy;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8A7C9AFA25F1E35600F916F7 /* wyyTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8A7C9AFB25F1E35600F916F7 /* wyyTests.swift */,
|
||||
8A7C9AFD25F1E35600F916F7 /* Info.plist */,
|
||||
);
|
||||
path = wyyTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8A7C9B0525F1E35600F916F7 /* wyyUITests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8A7C9B0625F1E35600F916F7 /* wyyUITests.swift */,
|
||||
8A7C9B0825F1E35600F916F7 /* Info.plist */,
|
||||
);
|
||||
path = wyyUITests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8A7D68B025F2073E00344E91 /* DiscoverView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8A7C9B3525F1E4E000F916F7 /* DiscoverViewController.swift */,
|
||||
8A7D68AB25F2058B00344E91 /* DiscoverNewsView.swift */,
|
||||
8A85AF9425F221FE00C48B9C /* DiscoverButtonsView.swift */,
|
||||
8A85AF9925F224D800C48B9C /* AlbumButton.swift */,
|
||||
8A85AF9E25F235B500C48B9C /* DiscoverRecommendView.swift */,
|
||||
8A85AFA825F2499A00C48B9C /* DiscoverPopularSongsView.swift */,
|
||||
8A85AFAD25F24AF500C48B9C /* PopularSongCell.swift */,
|
||||
);
|
||||
path = DiscoverView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E7D7A25152F2BDAD052A582F /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EBAC972EEE6E7797CFA70DEF /* Pods-wyy.debug.xcconfig */,
|
||||
6327CE85464E7CB2BBB936DE /* Pods-wyy.release.xcconfig */,
|
||||
8B1428959C46630A42647E63 /* Pods-wyy-wyyUITests.debug.xcconfig */,
|
||||
BCB6202909AB5CD13A2CE3C1 /* Pods-wyy-wyyUITests.release.xcconfig */,
|
||||
9B5F805FE0B8DB118AF07212 /* Pods-wyyTests.debug.xcconfig */,
|
||||
E2289766D34B64902CFABFAC /* Pods-wyyTests.release.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8A7C9AE025F1E35500F916F7 /* wyy */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 8A7C9B0B25F1E35600F916F7 /* Build configuration list for PBXNativeTarget "wyy" */;
|
||||
buildPhases = (
|
||||
577B8451DAE839E274EDE762 /* [CP] Check Pods Manifest.lock */,
|
||||
8A7C9ADD25F1E35500F916F7 /* Sources */,
|
||||
8A7C9ADE25F1E35500F916F7 /* Frameworks */,
|
||||
8A7C9ADF25F1E35500F916F7 /* Resources */,
|
||||
A4A7D2C265A6A01FD93D919F /* [CP] Embed Pods Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = wyy;
|
||||
productName = wyy;
|
||||
productReference = 8A7C9AE125F1E35500F916F7 /* wyy.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
8A7C9AF625F1E35600F916F7 /* wyyTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 8A7C9B0E25F1E35600F916F7 /* Build configuration list for PBXNativeTarget "wyyTests" */;
|
||||
buildPhases = (
|
||||
C28C313C50E8BE1FE61D80CB /* [CP] Check Pods Manifest.lock */,
|
||||
8A7C9AF325F1E35600F916F7 /* Sources */,
|
||||
8A7C9AF425F1E35600F916F7 /* Frameworks */,
|
||||
8A7C9AF525F1E35600F916F7 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
8A7C9AF925F1E35600F916F7 /* PBXTargetDependency */,
|
||||
);
|
||||
name = wyyTests;
|
||||
productName = wyyTests;
|
||||
productReference = 8A7C9AF725F1E35600F916F7 /* wyyTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
8A7C9B0125F1E35600F916F7 /* wyyUITests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 8A7C9B1125F1E35600F916F7 /* Build configuration list for PBXNativeTarget "wyyUITests" */;
|
||||
buildPhases = (
|
||||
4F5620301DCE5067EC74F8F2 /* [CP] Check Pods Manifest.lock */,
|
||||
8A7C9AFE25F1E35600F916F7 /* Sources */,
|
||||
8A7C9AFF25F1E35600F916F7 /* Frameworks */,
|
||||
8A7C9B0025F1E35600F916F7 /* Resources */,
|
||||
888E632E72C949174356B123 /* [CP] Embed Pods Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
8A7C9B0425F1E35600F916F7 /* PBXTargetDependency */,
|
||||
);
|
||||
name = wyyUITests;
|
||||
productName = wyyUITests;
|
||||
productReference = 8A7C9B0225F1E35600F916F7 /* wyyUITests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.ui-testing";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
8A7C9AD925F1E35500F916F7 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 1240;
|
||||
LastUpgradeCheck = 1240;
|
||||
TargetAttributes = {
|
||||
8A7C9AE025F1E35500F916F7 = {
|
||||
CreatedOnToolsVersion = 12.4;
|
||||
};
|
||||
8A7C9AF625F1E35600F916F7 = {
|
||||
CreatedOnToolsVersion = 12.4;
|
||||
TestTargetID = 8A7C9AE025F1E35500F916F7;
|
||||
};
|
||||
8A7C9B0125F1E35600F916F7 = {
|
||||
CreatedOnToolsVersion = 12.4;
|
||||
TestTargetID = 8A7C9AE025F1E35500F916F7;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 8A7C9ADC25F1E35500F916F7 /* Build configuration list for PBXProject "wyy" */;
|
||||
compatibilityVersion = "Xcode 9.3";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 8A7C9AD825F1E35500F916F7;
|
||||
productRefGroup = 8A7C9AE225F1E35500F916F7 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8A7C9AE025F1E35500F916F7 /* wyy */,
|
||||
8A7C9AF625F1E35600F916F7 /* wyyTests */,
|
||||
8A7C9B0125F1E35600F916F7 /* wyyUITests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8A7C9ADF25F1E35500F916F7 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8A7C9AF125F1E35600F916F7 /* LaunchScreen.storyboard in Resources */,
|
||||
8A7C9AEE25F1E35600F916F7 /* Assets.xcassets in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
8A7C9AF525F1E35600F916F7 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
8A7C9B0025F1E35600F916F7 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
4F5620301DCE5067EC74F8F2 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-wyy-wyyUITests-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
577B8451DAE839E274EDE762 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-wyy-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
888E632E72C949174356B123 /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-wyy-wyyUITests/Pods-wyy-wyyUITests-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
A4A7D2C265A6A01FD93D919F /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-wyy/Pods-wyy-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-wyy/Pods-wyy-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-wyy/Pods-wyy-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
C28C313C50E8BE1FE61D80CB /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-wyyTests-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8A7C9ADD25F1E35500F916F7 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8A85AFA425F238DA00C48B9C /* UIButtonScrollView.swift in Sources */,
|
||||
8A66479825F33C520090F664 /* SideBarView.swift in Sources */,
|
||||
8A85AFAE25F24AF500C48B9C /* PopularSongCell.swift in Sources */,
|
||||
8A85AFA925F2499A00C48B9C /* DiscoverPopularSongsView.swift in Sources */,
|
||||
8A85AF9A25F224D800C48B9C /* AlbumButton.swift in Sources */,
|
||||
8A6647A025F33D340090F664 /* SideBarCell.swift in Sources */,
|
||||
8A7D68AC25F2058B00344E91 /* DiscoverNewsView.swift in Sources */,
|
||||
8A85AF9F25F235B500C48B9C /* DiscoverRecommendView.swift in Sources */,
|
||||
8A7C9B3625F1E4E000F916F7 /* DiscoverViewController.swift in Sources */,
|
||||
8AF68EE325F1E995003AD49B /* MyTabBarController.swift in Sources */,
|
||||
8A7C9B4525F1E52C00F916F7 /* KaraokeViewController.swift in Sources */,
|
||||
8A7C9B3B25F1E50400F916F7 /* PodCastViewController.swift in Sources */,
|
||||
8A85AF9525F221FE00C48B9C /* DiscoverButtonsView.swift in Sources */,
|
||||
8A7C9B4A25F1E53D00F916F7 /* CommunityViewController.swift in Sources */,
|
||||
8A7C9AE525F1E35500F916F7 /* AppDelegate.swift in Sources */,
|
||||
8A7C9AE725F1E35500F916F7 /* SceneDelegate.swift in Sources */,
|
||||
8A7C9B4025F1E50D00F916F7 /* MineViewController.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
8A7C9AF325F1E35600F916F7 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8A7C9AFC25F1E35600F916F7 /* wyyTests.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
8A7C9AFE25F1E35600F916F7 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8A7C9B0725F1E35600F916F7 /* wyyUITests.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
8A7C9AF925F1E35600F916F7 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 8A7C9AE025F1E35500F916F7 /* wyy */;
|
||||
targetProxy = 8A7C9AF825F1E35600F916F7 /* PBXContainerItemProxy */;
|
||||
};
|
||||
8A7C9B0425F1E35600F916F7 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 8A7C9AE025F1E35500F916F7 /* wyy */;
|
||||
targetProxy = 8A7C9B0325F1E35600F916F7 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
8A7C9AEF25F1E35600F916F7 /* LaunchScreen.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
8A7C9AF025F1E35600F916F7 /* Base */,
|
||||
);
|
||||
name = LaunchScreen.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
8A7C9B0925F1E35600F916F7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
8A7C9B0A25F1E35600F916F7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
MTL_FAST_MATH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
8A7C9B0C25F1E35600F916F7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = EBAC972EEE6E7797CFA70DEF /* Pods-wyy.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
INFOPLIST_FILE = wyy/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = sss.wyy;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
8A7C9B0D25F1E35600F916F7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 6327CE85464E7CB2BBB936DE /* Pods-wyy.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
INFOPLIST_FILE = wyy/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = sss.wyy;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
8A7C9B0F25F1E35600F916F7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 9B5F805FE0B8DB118AF07212 /* Pods-wyyTests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
INFOPLIST_FILE = wyyTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = sss.wyyTests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/wyy.app/wyy";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
8A7C9B1025F1E35600F916F7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = E2289766D34B64902CFABFAC /* Pods-wyyTests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
INFOPLIST_FILE = wyyTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = sss.wyyTests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/wyy.app/wyy";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
8A7C9B1225F1E35600F916F7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 8B1428959C46630A42647E63 /* Pods-wyy-wyyUITests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
INFOPLIST_FILE = wyyUITests/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = sss.wyyUITests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TEST_TARGET_NAME = wyy;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
8A7C9B1325F1E35600F916F7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = BCB6202909AB5CD13A2CE3C1 /* Pods-wyy-wyyUITests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
INFOPLIST_FILE = wyyUITests/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@loader_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = sss.wyyUITests;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
TEST_TARGET_NAME = wyy;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
8A7C9ADC25F1E35500F916F7 /* Build configuration list for PBXProject "wyy" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
8A7C9B0925F1E35600F916F7 /* Debug */,
|
||||
8A7C9B0A25F1E35600F916F7 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
8A7C9B0B25F1E35600F916F7 /* Build configuration list for PBXNativeTarget "wyy" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
8A7C9B0C25F1E35600F916F7 /* Debug */,
|
||||
8A7C9B0D25F1E35600F916F7 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
8A7C9B0E25F1E35600F916F7 /* Build configuration list for PBXNativeTarget "wyyTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
8A7C9B0F25F1E35600F916F7 /* Debug */,
|
||||
8A7C9B1025F1E35600F916F7 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
8A7C9B1125F1E35600F916F7 /* Build configuration list for PBXNativeTarget "wyyUITests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
8A7C9B1225F1E35600F916F7 /* Debug */,
|
||||
8A7C9B1325F1E35600F916F7 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 8A7C9AD925F1E35500F916F7 /* Project object */;
|
||||
}
|
7
wyy.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
7
wyy.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:">
|
||||
</FileRef>
|
||||
</Workspace>
|
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
10
wyy.xcworkspace/contents.xcworkspacedata
generated
Normal file
10
wyy.xcworkspace/contents.xcworkspacedata
generated
Normal file
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "group:wyy.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:Pods/Pods.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
8
wyy.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
Normal file
8
wyy.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
36
wyy/AppDelegate.swift
Normal file
36
wyy/AppDelegate.swift
Normal file
@ -0,0 +1,36 @@
|
||||
//
|
||||
// AppDelegate.swift
|
||||
// wyy
|
||||
//
|
||||
// Created by 施书顺 on 2021/3/5.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
@main
|
||||
class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
|
||||
|
||||
|
||||
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
|
||||
// Override point for customization after application launch.
|
||||
return true
|
||||
}
|
||||
|
||||
// MARK: UISceneSession Lifecycle
|
||||
|
||||
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
|
||||
// Called when a new scene session is being created.
|
||||
// Use this method to select a configuration to create the new scene with.
|
||||
return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
|
||||
}
|
||||
|
||||
func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
|
||||
// Called when the user discards a scene session.
|
||||
// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
|
||||
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
11
wyy/Assets.xcassets/AccentColor.colorset/Contents.json
Normal file
11
wyy/Assets.xcassets/AccentColor.colorset/Contents.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
98
wyy/Assets.xcassets/AppIcon.appiconset/Contents.json
Normal file
98
wyy/Assets.xcassets/AppIcon.appiconset/Contents.json
Normal file
@ -0,0 +1,98 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "83.5x83.5"
|
||||
},
|
||||
{
|
||||
"idiom" : "ios-marketing",
|
||||
"scale" : "1x",
|
||||
"size" : "1024x1024"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
6
wyy/Assets.xcassets/Contents.json
Normal file
6
wyy/Assets.xcassets/Contents.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
21
wyy/Assets.xcassets/album.imageset/Contents.json
vendored
Normal file
21
wyy/Assets.xcassets/album.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "album.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
wyy/Assets.xcassets/album.imageset/album.png
vendored
Normal file
BIN
wyy/Assets.xcassets/album.imageset/album.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
21
wyy/Assets.xcassets/album1.imageset/Contents.json
vendored
Normal file
21
wyy/Assets.xcassets/album1.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "album1.JPG",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
wyy/Assets.xcassets/album1.imageset/album1.JPG
vendored
Normal file
BIN
wyy/Assets.xcassets/album1.imageset/album1.JPG
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 943 KiB |
21
wyy/Assets.xcassets/album2.imageset/Contents.json
vendored
Normal file
21
wyy/Assets.xcassets/album2.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "album2.JPG",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
wyy/Assets.xcassets/album2.imageset/album2.JPG
vendored
Normal file
BIN
wyy/Assets.xcassets/album2.imageset/album2.JPG
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 MiB |
21
wyy/Assets.xcassets/album3.imageset/Contents.json
vendored
Normal file
21
wyy/Assets.xcassets/album3.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "album3.JPG",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
wyy/Assets.xcassets/album3.imageset/album3.JPG
vendored
Normal file
BIN
wyy/Assets.xcassets/album3.imageset/album3.JPG
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 776 KiB |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user