mirror of https://github.com/SnapKit/SnapKit
Xcode 4 mac compatibility (#446)
* Typealias the types that are different on mac and ios Update tests because when failing they where being blocked and stoped running * try xcode 9 version to see tests pass * Renaming the Typealiases to remove Generic suffix and NS prefix
This commit is contained in:
parent
d31148f449
commit
e44888b0e4
|
@ -1,5 +1,5 @@
|
|||
language: objective-c
|
||||
osx_image: xcode8
|
||||
osx_image: xcode9
|
||||
|
||||
env:
|
||||
- ACTION=test PLATFORM=Mac DESTINATION='platform=OS X'
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
2DBA080E1F1FAD66001CFED4 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DBA080D1F1FAD66001CFED4 /* Typealiases.swift */; };
|
||||
EE235F5F1C5785BC00C08960 /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE235F5E1C5785BC00C08960 /* Debugging.swift */; };
|
||||
EE235F6D1C5785C600C08960 /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE235F621C5785C600C08960 /* Constraint.swift */; };
|
||||
EE235F701C5785C600C08960 /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE235F631C5785C600C08960 /* ConstraintDescription.swift */; };
|
||||
|
@ -46,6 +47,7 @@
|
|||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
2DBA080D1F1FAD66001CFED4 /* Typealiases.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Typealiases.swift; sourceTree = "<group>"; };
|
||||
537DCE9A1C35CD4100B5B899 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS9.1.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
|
||||
EE235F5E1C5785BC00C08960 /* Debugging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Debugging.swift; sourceTree = "<group>"; };
|
||||
EE235F621C5785C600C08960 /* Constraint.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Constraint.swift; sourceTree = "<group>"; };
|
||||
|
@ -178,6 +180,7 @@
|
|||
isa = PBXGroup;
|
||||
children = (
|
||||
EE235F621C5785C600C08960 /* Constraint.swift */,
|
||||
2DBA080D1F1FAD66001CFED4 /* Typealiases.swift */,
|
||||
EE235F631C5785C600C08960 /* ConstraintDescription.swift */,
|
||||
EE235F641C5785C600C08960 /* ConstraintInsets.swift */,
|
||||
EE235F651C5785C600C08960 /* ConstraintConfig.swift */,
|
||||
|
@ -373,6 +376,7 @@
|
|||
EEF68FA61D784A5300980C26 /* ConstraintDSL.swift in Sources */,
|
||||
EE235FBB1C5785D400C08960 /* ConstraintMakerExtendable.swift in Sources */,
|
||||
EE235F881C5785C600C08960 /* ConstraintItem.swift in Sources */,
|
||||
2DBA080E1F1FAD66001CFED4 /* Typealiases.swift in Sources */,
|
||||
EE235F9A1C5785CE00C08960 /* ConstraintPriorityTarget.swift in Sources */,
|
||||
EEF68FC01D7865AA00980C26 /* ConstraintLayoutSupport.swift in Sources */,
|
||||
EEF68FB01D784FB100980C26 /* ConstraintLayoutGuide+Extensions.swift in Sources */,
|
||||
|
|
|
@ -89,7 +89,7 @@ public final class Constraint {
|
|||
|
||||
for layoutFromAttribute in layoutFromAttributes {
|
||||
// get layout to attribute
|
||||
let layoutToAttribute: NSLayoutAttribute
|
||||
let layoutToAttribute: LayoutAttribute
|
||||
#if os(iOS) || os(tvOS)
|
||||
if layoutToAttributes.count > 0 {
|
||||
if self.from.attributes == .edges && self.to.attributes == .margins {
|
||||
|
@ -166,7 +166,7 @@ public final class Constraint {
|
|||
layoutConstraint.label = self.label
|
||||
|
||||
// set priority
|
||||
layoutConstraint.priority = UILayoutPriority(rawValue: self.priority.constraintPriorityTargetValue)
|
||||
layoutConstraint.priority = LayoutPriority(rawValue: self.priority.constraintPriorityTargetValue)
|
||||
|
||||
// set constraint
|
||||
layoutConstraint.constraint = self
|
||||
|
@ -244,7 +244,7 @@ public final class Constraint {
|
|||
|
||||
let requiredPriority = ConstraintPriority.required.value
|
||||
if (layoutConstraint.priority.rawValue < requiredPriority), (self.priority.constraintPriorityTargetValue != requiredPriority) {
|
||||
layoutConstraint.priority = UILayoutPriority(rawValue: self.priority.constraintPriorityTargetValue)
|
||||
layoutConstraint.priority = LayoutPriority(rawValue: self.priority.constraintPriorityTargetValue)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -103,8 +103,8 @@ internal struct ConstraintAttributes : OptionSet {
|
|||
@available(iOS 8.0, *)
|
||||
internal static var centerWithinMargins: ConstraintAttributes { return self.init(786432) }
|
||||
|
||||
internal var layoutAttributes:[NSLayoutAttribute] {
|
||||
var attrs = [NSLayoutAttribute]()
|
||||
internal var layoutAttributes:[LayoutAttribute] {
|
||||
var attrs = [LayoutAttribute]()
|
||||
if (self.contains(ConstraintAttributes.left)) {
|
||||
attrs.append(.left)
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ extension ConstraintInsets: ConstraintConstantTarget {
|
|||
|
||||
extension ConstraintConstantTarget {
|
||||
|
||||
internal func constraintConstantTargetValueFor(layoutAttribute: NSLayoutAttribute) -> CGFloat {
|
||||
internal func constraintConstantTargetValueFor(layoutAttribute: LayoutAttribute) -> CGFloat {
|
||||
if let value = self as? CGFloat {
|
||||
return value
|
||||
}
|
||||
|
|
|
@ -31,5 +31,5 @@
|
|||
#if os(iOS) || os(tvOS)
|
||||
public typealias ConstraintInsets = UIEdgeInsets
|
||||
#else
|
||||
public typealias ConstraintInsets = EdgeInsets
|
||||
public typealias ConstraintInsets = NSEdgeInsets
|
||||
#endif
|
||||
|
|
|
@ -33,7 +33,7 @@ internal enum ConstraintRelation : Int {
|
|||
case lessThanOrEqual
|
||||
case greaterThanOrEqual
|
||||
|
||||
internal var layoutRelation: NSLayoutRelation {
|
||||
internal var layoutRelation: LayoutRelation {
|
||||
get {
|
||||
switch(self) {
|
||||
case .equal:
|
||||
|
|
|
@ -56,7 +56,7 @@ public struct ConstraintViewDSL: ConstraintAttributesDSL {
|
|||
return self.view.contentHuggingPriority(for: .horizontal).rawValue
|
||||
}
|
||||
set {
|
||||
self.view.setContentHuggingPriority(UILayoutPriority(rawValue: newValue), for: .horizontal)
|
||||
self.view.setContentHuggingPriority(LayoutPriority(rawValue: newValue), for: .horizontal)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,7 @@ public struct ConstraintViewDSL: ConstraintAttributesDSL {
|
|||
return self.view.contentHuggingPriority(for: .vertical).rawValue
|
||||
}
|
||||
set {
|
||||
self.view.setContentHuggingPriority(UILayoutPriority(rawValue: newValue), for: .vertical)
|
||||
self.view.setContentHuggingPriority(LayoutPriority(rawValue: newValue), for: .vertical)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,7 +74,7 @@ public struct ConstraintViewDSL: ConstraintAttributesDSL {
|
|||
return self.view.contentCompressionResistancePriority(for: .horizontal).rawValue
|
||||
}
|
||||
set {
|
||||
self.view.setContentCompressionResistancePriority(UILayoutPriority(rawValue: newValue), for: .horizontal)
|
||||
self.view.setContentCompressionResistancePriority(LayoutPriority(rawValue: newValue), for: .horizontal)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -83,7 +83,7 @@ public struct ConstraintViewDSL: ConstraintAttributesDSL {
|
|||
return self.view.contentCompressionResistancePriority(for: .vertical).rawValue
|
||||
}
|
||||
set {
|
||||
self.view.setContentCompressionResistancePriority(UILayoutPriority(rawValue: newValue), for: .vertical)
|
||||
self.view.setContentCompressionResistancePriority(LayoutPriority(rawValue: newValue), for: .vertical)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ public extension LayoutConstraint {
|
|||
|
||||
}
|
||||
|
||||
private func descriptionForRelation(_ relation: NSLayoutRelation) -> String {
|
||||
private func descriptionForRelation(_ relation: LayoutRelation) -> String {
|
||||
switch relation {
|
||||
case .equal: return "=="
|
||||
case .greaterThanOrEqual: return ">="
|
||||
|
@ -85,7 +85,7 @@ private func descriptionForRelation(_ relation: NSLayoutRelation) -> String {
|
|||
}
|
||||
}
|
||||
|
||||
private func descriptionForAttribute(_ attribute: NSLayoutAttribute) -> String {
|
||||
private func descriptionForAttribute(_ attribute: LayoutAttribute) -> String {
|
||||
#if os(iOS) || os(tvOS)
|
||||
switch attribute {
|
||||
case .notAnAttribute: return "notAnAttribute"
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
//
|
||||
// Typealiases.swift
|
||||
// SnapKit
|
||||
//
|
||||
// Created by Raimon Lapuente on 19/07/2017.
|
||||
// Copyright © 2017 SnapKit Team. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
#if os(iOS) || os(tvOS)
|
||||
import UIKit
|
||||
typealias LayoutRelation = NSLayoutRelation
|
||||
typealias LayoutAttribute = NSLayoutAttribute
|
||||
typealias LayoutPriority = UILayoutPriority
|
||||
#else
|
||||
import AppKit
|
||||
typealias LayoutRelation = NSLayoutConstraint.Relation
|
||||
typealias LayoutAttribute = NSLayoutConstraint.Attribute
|
||||
typealias LayoutPriority = NSLayoutConstraint.Priority
|
||||
#endif
|
||||
|
|
@ -395,7 +395,7 @@ class SnapKitTests: XCTestCase {
|
|||
let constraints = view.snp_constraints as! [NSLayoutConstraint]
|
||||
|
||||
// no guarantee which order the constraints are in, but we should test their couple
|
||||
let widthHeight = (NSLayoutAttribute.width.rawValue, NSLayoutAttribute.height.rawValue)
|
||||
let widthHeight = (LayoutAttribute.width.rawValue, LayoutAttribute.height.rawValue)
|
||||
let heightWidth = (widthHeight.1, widthHeight.0)
|
||||
let firstSecond = (constraints[0].firstAttribute.rawValue, constraints[1].firstAttribute.rawValue)
|
||||
|
||||
|
@ -416,10 +416,11 @@ class SnapKitTests: XCTestCase {
|
|||
XCTAssertEqual(self.container.snp_constraints.count, 2, "Should have 2 constraints")
|
||||
|
||||
|
||||
let constraints = self.container.snp_constraints as! [NSLayoutConstraint]
|
||||
if let constraints = self.container.snp_constraints as? [NSLayoutConstraint], constraints.count > 0 {
|
||||
|
||||
XCTAssertEqual(constraints[0].constant, 50, "Should be 50")
|
||||
XCTAssertEqual(constraints[1].constant, 50, "Should be 50")
|
||||
XCTAssertEqual(constraints[0].constant, 50, "Should be 50")
|
||||
XCTAssertEqual(constraints[1].constant, 50, "Should be 50")
|
||||
}
|
||||
}
|
||||
|
||||
func testConstraintIdentifier() {
|
||||
|
@ -436,8 +437,8 @@ class SnapKitTests: XCTestCase {
|
|||
}
|
||||
|
||||
func testEdgesToEdges() {
|
||||
var fromAttributes = Set<NSLayoutAttribute>()
|
||||
var toAttributes = Set<NSLayoutAttribute>()
|
||||
var fromAttributes = Set<LayoutAttribute>()
|
||||
var toAttributes = Set<LayoutAttribute>()
|
||||
|
||||
let view = View()
|
||||
self.container.addSubview(view)
|
||||
|
|
Loading…
Reference in New Issue