Carthage support #856
@@ -1,7 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Workspace
|
|
||||||
version = "1.0">
|
|
||||||
<FileRef
|
|
||||||
location = "container:YogaKit.xcodeproj">
|
|
||||||
</FileRef>
|
|
||||||
</Workspace>
|
|
@@ -1,6 +0,0 @@
|
|||||||
use_frameworks!
|
|
||||||
|
|
||||||
target 'YogaKitSample' do
|
|
||||||
pod 'YogaKit', :path => '../../YogaKit.podspec'
|
|
||||||
pod 'IGListKit', '~> 2.1.0'
|
|
||||||
end
|
|
@@ -1,26 +0,0 @@
|
|||||||
PODS:
|
|
||||||
- IGListKit (2.1.0):
|
|
||||||
- IGListKit/Default (= 2.1.0)
|
|
||||||
- IGListKit/Default (2.1.0):
|
|
||||||
- IGListKit/Diffing
|
|
||||||
- IGListKit/Diffing (2.1.0)
|
|
||||||
- Yoga (1.7.0)
|
|
||||||
- YogaKit (1.7.0):
|
|
||||||
- Yoga (~> 1.7)
|
|
||||||
|
|
||||||
DEPENDENCIES:
|
|
||||||
- IGListKit (~> 2.1.0)
|
|
||||||
- YogaKit (from `../../YogaKit.podspec`)
|
|
||||||
|
|
||||||
EXTERNAL SOURCES:
|
|
||||||
YogaKit:
|
|
||||||
:path: ../../YogaKit.podspec
|
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
|
||||||
IGListKit: b826c68ef7a4ae1626c09d4d3e1ea7a169e6c36e
|
|
||||||
Yoga: 2ed1d7accfef3610a67f58c0cf101a0662137f2c
|
|
||||||
YogaKit: 31576530e8fcae3175469719ec3212397403330b
|
|
||||||
|
|
||||||
PODFILE CHECKSUM: 216f8e7127767709e0e43f3711208d238fa5c404
|
|
||||||
|
|
||||||
COCOAPODS: 1.1.1
|
|
@@ -1,529 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// !$*UTF8*$!
|
|
||||||
{
|
|
||||||
archiveVersion = 1;
|
|
||||||
classes = {
|
|
||||||
};
|
|
||||||
objectVersion = 46;
|
|
||||||
objects = {
|
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
|
||||||
13687D531DF8748400E7C260 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13687D521DF8748400E7C260 /* Assets.xcassets */; };
|
|
||||||
13687D851DF87D1E00E7C260 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 13687D841DF87D1E00E7C260 /* UIKit.framework */; };
|
|
||||||
13687D871DF87D2400E7C260 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 13687D861DF87D2400E7C260 /* Foundation.framework */; };
|
|
||||||
15A7CB5995C9DAB1C8803834 /* Pods_YogaKitSample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C80A931E90C7F3088CB86822 /* Pods_YogaKitSample.framework */; };
|
|
||||||
40BD9F461E477A09002790A9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40BD9F451E477A09002790A9 /* AppDelegate.swift */; };
|
|
||||||
40BD9F4B1E47850C002790A9 /* BasicViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40BD9F4A1E47850C002790A9 /* BasicViewController.swift */; };
|
|
||||||
40BD9F501E479079002790A9 /* SingleLabelCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40BD9F4F1E479079002790A9 /* SingleLabelCollectionCell.swift */; };
|
|
||||||
40BD9F521E479173002790A9 /* LayoutInclusionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40BD9F511E479173002790A9 /* LayoutInclusionViewController.swift */; };
|
|
||||||
638A94481E1F06D100A726AD /* ExamplesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 638A94471E1F06D100A726AD /* ExamplesViewController.swift */; };
|
|
||||||
/* End PBXBuildFile section */
|
|
||||||
|
|
||||||
/* Begin PBXContainerItemProxy section */
|
|
||||||
638A94541E215CC800A726AD /* PBXContainerItemProxy */ = {
|
|
||||||
isa = PBXContainerItemProxy;
|
|
||||||
containerPortal = 13687D3B1DF8748300E7C260 /* Project object */;
|
|
||||||
proxyType = 1;
|
|
||||||
remoteGlobalIDString = 13687D421DF8748300E7C260;
|
|
||||||
remoteInfo = YogaKitSample;
|
|
||||||
};
|
|
||||||
/* End PBXContainerItemProxy section */
|
|
||||||
|
|
||||||
/* Begin PBXCopyFilesBuildPhase section */
|
|
||||||
13687D771DF878A000E7C260 /* yoga */ = {
|
|
||||||
isa = PBXCopyFilesBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
dstPath = include/yoga;
|
|
||||||
dstSubfolderSpec = 16;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
name = yoga;
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
13687D7B1DF878CE00E7C260 /* YogaKit */ = {
|
|
||||||
isa = PBXCopyFilesBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
dstPath = include/YogaKit;
|
|
||||||
dstSubfolderSpec = 16;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
name = YogaKit;
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXCopyFilesBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
|
||||||
13687D431DF8748400E7C260 /* YogaKitSample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = YogaKitSample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
||||||
13687D521DF8748400E7C260 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
|
||||||
13687D571DF8748400E7C260 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
|
||||||
13687D841DF87D1E00E7C260 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
|
||||||
13687D861DF87D2400E7C260 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
|
||||||
1D2FF4D5FCA6A8C54A4074A3 /* Pods-YogaKitSample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YogaKitSample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-YogaKitSample/Pods-YogaKitSample.debug.xcconfig"; sourceTree = "<group>"; };
|
|
||||||
40BD9F451E477A09002790A9 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
|
||||||
40BD9F4A1E47850C002790A9 /* BasicViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = BasicViewController.swift; path = ViewControllers/BasicViewController.swift; sourceTree = "<group>"; };
|
|
||||||
40BD9F4F1E479079002790A9 /* SingleLabelCollectionCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SingleLabelCollectionCell.swift; path = Views/SingleLabelCollectionCell.swift; sourceTree = "<group>"; };
|
|
||||||
40BD9F511E479173002790A9 /* LayoutInclusionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LayoutInclusionViewController.swift; path = ViewControllers/LayoutInclusionViewController.swift; sourceTree = "<group>"; };
|
|
||||||
638A94471E1F06D100A726AD /* ExamplesViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ExamplesViewController.swift; sourceTree = "<group>"; };
|
|
||||||
638A944F1E215CC800A726AD /* YogaKitSampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = YogaKitSampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
||||||
82F0896A88112E957EF37C7F /* Pods-YogaKitSample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YogaKitSample.release.xcconfig"; path = "Pods/Target Support Files/Pods-YogaKitSample/Pods-YogaKitSample.release.xcconfig"; sourceTree = "<group>"; };
|
|
||||||
C80A931E90C7F3088CB86822 /* Pods_YogaKitSample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_YogaKitSample.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
||||||
/* End PBXFileReference section */
|
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
|
||||||
13687D401DF8748300E7C260 /* Frameworks */ = {
|
|
||||||
isa = PBXFrameworksBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
13687D871DF87D2400E7C260 /* Foundation.framework in Frameworks */,
|
|
||||||
13687D851DF87D1E00E7C260 /* UIKit.framework in Frameworks */,
|
|
||||||
15A7CB5995C9DAB1C8803834 /* Pods_YogaKitSample.framework in Frameworks */,
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
638A944C1E215CC800A726AD /* Frameworks */ = {
|
|
||||||
isa = PBXFrameworksBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXFrameworksBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
|
||||||
13687D3A1DF8748300E7C260 = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
13687D451DF8748400E7C260 /* YogaKitSample */,
|
|
||||||
13687D441DF8748400E7C260 /* Products */,
|
|
||||||
13687D831DF87D1E00E7C260 /* Frameworks */,
|
|
||||||
E1C759E3C8E84821213ECE8D /* Pods */,
|
|
||||||
);
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
13687D441DF8748400E7C260 /* Products */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
13687D431DF8748400E7C260 /* YogaKitSample.app */,
|
|
||||||
638A944F1E215CC800A726AD /* YogaKitSampleTests.xctest */,
|
|
||||||
);
|
|
||||||
name = Products;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
13687D451DF8748400E7C260 /* YogaKitSample */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
40BD9F4E1E47902F002790A9 /* Views */,
|
|
||||||
40BD9F481E4784B3002790A9 /* ViewControllers */,
|
|
||||||
638A94471E1F06D100A726AD /* ExamplesViewController.swift */,
|
|
||||||
13687D521DF8748400E7C260 /* Assets.xcassets */,
|
|
||||||
13687D571DF8748400E7C260 /* Info.plist */,
|
|
||||||
40BD9F451E477A09002790A9 /* AppDelegate.swift */,
|
|
||||||
);
|
|
||||||
path = YogaKitSample;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
13687D831DF87D1E00E7C260 /* Frameworks */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
13687D861DF87D2400E7C260 /* Foundation.framework */,
|
|
||||||
13687D841DF87D1E00E7C260 /* UIKit.framework */,
|
|
||||||
C80A931E90C7F3088CB86822 /* Pods_YogaKitSample.framework */,
|
|
||||||
);
|
|
||||||
name = Frameworks;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
40BD9F481E4784B3002790A9 /* ViewControllers */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
40BD9F4A1E47850C002790A9 /* BasicViewController.swift */,
|
|
||||||
40BD9F511E479173002790A9 /* LayoutInclusionViewController.swift */,
|
|
||||||
);
|
|
||||||
name = ViewControllers;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
40BD9F4E1E47902F002790A9 /* Views */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
40BD9F4F1E479079002790A9 /* SingleLabelCollectionCell.swift */,
|
|
||||||
);
|
|
||||||
name = Views;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
E1C759E3C8E84821213ECE8D /* Pods */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
1D2FF4D5FCA6A8C54A4074A3 /* Pods-YogaKitSample.debug.xcconfig */,
|
|
||||||
82F0896A88112E957EF37C7F /* Pods-YogaKitSample.release.xcconfig */,
|
|
||||||
);
|
|
||||||
name = Pods;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
/* End PBXGroup section */
|
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
|
||||||
13687D421DF8748300E7C260 /* YogaKitSample */ = {
|
|
||||||
isa = PBXNativeTarget;
|
|
||||||
buildConfigurationList = 13687D5A1DF8748400E7C260 /* Build configuration list for PBXNativeTarget "YogaKitSample" */;
|
|
||||||
buildPhases = (
|
|
||||||
513B543F92B2E4F4D1EE1CE7 /* [CP] Check Pods Manifest.lock */,
|
|
||||||
13687D771DF878A000E7C260 /* yoga */,
|
|
||||||
13687D7B1DF878CE00E7C260 /* YogaKit */,
|
|
||||||
13687D3F1DF8748300E7C260 /* Sources */,
|
|
||||||
13687D401DF8748300E7C260 /* Frameworks */,
|
|
||||||
13687D411DF8748300E7C260 /* Resources */,
|
|
||||||
FA2FB9DD6471BDD3FBCE503B /* [CP] Embed Pods Frameworks */,
|
|
||||||
6E01EB987F1564F3D71EBE5A /* [CP] Copy Pods Resources */,
|
|
||||||
);
|
|
||||||
buildRules = (
|
|
||||||
);
|
|
||||||
dependencies = (
|
|
||||||
);
|
|
||||||
name = YogaKitSample;
|
|
||||||
productName = YogaKitSample;
|
|
||||||
productReference = 13687D431DF8748400E7C260 /* YogaKitSample.app */;
|
|
||||||
productType = "com.apple.product-type.application";
|
|
||||||
};
|
|
||||||
638A944E1E215CC800A726AD /* YogaKitSampleTests */ = {
|
|
||||||
isa = PBXNativeTarget;
|
|
||||||
buildConfigurationList = 638A94561E215CC800A726AD /* Build configuration list for PBXNativeTarget "YogaKitSampleTests" */;
|
|
||||||
buildPhases = (
|
|
||||||
638A944B1E215CC800A726AD /* Sources */,
|
|
||||||
638A944C1E215CC800A726AD /* Frameworks */,
|
|
||||||
638A944D1E215CC800A726AD /* Resources */,
|
|
||||||
);
|
|
||||||
buildRules = (
|
|
||||||
);
|
|
||||||
dependencies = (
|
|
||||||
638A94551E215CC800A726AD /* PBXTargetDependency */,
|
|
||||||
);
|
|
||||||
name = YogaKitSampleTests;
|
|
||||||
productName = YogaKitSampleTests;
|
|
||||||
productReference = 638A944F1E215CC800A726AD /* YogaKitSampleTests.xctest */;
|
|
||||||
productType = "com.apple.product-type.bundle.unit-test";
|
|
||||||
};
|
|
||||||
/* End PBXNativeTarget section */
|
|
||||||
|
|
||||||
/* Begin PBXProject section */
|
|
||||||
13687D3B1DF8748300E7C260 /* Project object */ = {
|
|
||||||
isa = PBXProject;
|
|
||||||
attributes = {
|
|
||||||
LastUpgradeCheck = 0820;
|
|
||||||
ORGANIZATIONNAME = facebook;
|
|
||||||
TargetAttributes = {
|
|
||||||
13687D421DF8748300E7C260 = {
|
|
||||||
CreatedOnToolsVersion = 8.1;
|
|
||||||
LastSwiftMigration = 0820;
|
|
||||||
ProvisioningStyle = Automatic;
|
|
||||||
};
|
|
||||||
638A944E1E215CC800A726AD = {
|
|
||||||
CreatedOnToolsVersion = 8.2.1;
|
|
||||||
ProvisioningStyle = Automatic;
|
|
||||||
TestTargetID = 13687D421DF8748300E7C260;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
buildConfigurationList = 13687D3E1DF8748300E7C260 /* Build configuration list for PBXProject "YogaKitSample" */;
|
|
||||||
compatibilityVersion = "Xcode 3.2";
|
|
||||||
developmentRegion = English;
|
|
||||||
hasScannedForEncodings = 0;
|
|
||||||
knownRegions = (
|
|
||||||
en,
|
|
||||||
Base,
|
|
||||||
);
|
|
||||||
mainGroup = 13687D3A1DF8748300E7C260;
|
|
||||||
productRefGroup = 13687D441DF8748400E7C260 /* Products */;
|
|
||||||
projectDirPath = "";
|
|
||||||
projectRoot = "";
|
|
||||||
targets = (
|
|
||||||
13687D421DF8748300E7C260 /* YogaKitSample */,
|
|
||||||
638A944E1E215CC800A726AD /* YogaKitSampleTests */,
|
|
||||||
);
|
|
||||||
};
|
|
||||||
/* End PBXProject section */
|
|
||||||
|
|
||||||
/* Begin PBXResourcesBuildPhase section */
|
|
||||||
13687D411DF8748300E7C260 /* Resources */ = {
|
|
||||||
isa = PBXResourcesBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
13687D531DF8748400E7C260 /* Assets.xcassets in Resources */,
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
638A944D1E215CC800A726AD /* Resources */ = {
|
|
||||||
isa = PBXResourcesBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXResourcesBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXShellScriptBuildPhase section */
|
|
||||||
513B543F92B2E4F4D1EE1CE7 /* [CP] Check Pods Manifest.lock */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
);
|
|
||||||
name = "[CP] Check Pods Manifest.lock";
|
|
||||||
outputPaths = (
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "diff \"${PODS_ROOT}/../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";
|
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
6E01EB987F1564F3D71EBE5A /* [CP] Copy Pods Resources */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
);
|
|
||||||
name = "[CP] Copy Pods Resources";
|
|
||||||
outputPaths = (
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-YogaKitSample/Pods-YogaKitSample-resources.sh\"\n";
|
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
FA2FB9DD6471BDD3FBCE503B /* [CP] Embed Pods Frameworks */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
);
|
|
||||||
name = "[CP] Embed Pods Frameworks";
|
|
||||||
outputPaths = (
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-YogaKitSample/Pods-YogaKitSample-frameworks.sh\"\n";
|
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
/* End PBXShellScriptBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
|
||||||
13687D3F1DF8748300E7C260 /* Sources */ = {
|
|
||||||
isa = PBXSourcesBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
40BD9F501E479079002790A9 /* SingleLabelCollectionCell.swift in Sources */,
|
|
||||||
40BD9F521E479173002790A9 /* LayoutInclusionViewController.swift in Sources */,
|
|
||||||
638A94481E1F06D100A726AD /* ExamplesViewController.swift in Sources */,
|
|
||||||
40BD9F4B1E47850C002790A9 /* BasicViewController.swift in Sources */,
|
|
||||||
40BD9F461E477A09002790A9 /* AppDelegate.swift in Sources */,
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
638A944B1E215CC800A726AD /* Sources */ = {
|
|
||||||
isa = PBXSourcesBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXSourcesBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXTargetDependency section */
|
|
||||||
638A94551E215CC800A726AD /* PBXTargetDependency */ = {
|
|
||||||
isa = PBXTargetDependency;
|
|
||||||
target = 13687D421DF8748300E7C260 /* YogaKitSample */;
|
|
||||||
targetProxy = 638A94541E215CC800A726AD /* PBXContainerItemProxy */;
|
|
||||||
};
|
|
||||||
/* End PBXTargetDependency section */
|
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */
|
|
||||||
13687D581DF8748400E7C260 /* Debug */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
||||||
CLANG_ANALYZER_NONNULL = YES;
|
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
|
||||||
CLANG_ENABLE_MODULES = YES;
|
|
||||||
CLANG_ENABLE_OBJC_ARC = YES;
|
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR;
|
|
||||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
||||||
CLANG_WARN_SUSPICIOUS_MOVES = YES;
|
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
|
||||||
COPY_PHASE_STRIP = NO;
|
|
||||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
||||||
ENABLE_TESTABILITY = YES;
|
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
||||||
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 = 10.1;
|
|
||||||
MTL_ENABLE_DEBUG_INFO = YES;
|
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
|
||||||
SDKROOT = iphoneos;
|
|
||||||
};
|
|
||||||
name = Debug;
|
|
||||||
};
|
|
||||||
13687D591DF8748400E7C260 /* Release */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
||||||
CLANG_ANALYZER_NONNULL = YES;
|
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
|
||||||
CLANG_ENABLE_MODULES = YES;
|
|
||||||
CLANG_ENABLE_OBJC_ARC = YES;
|
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR;
|
|
||||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
||||||
CLANG_WARN_SUSPICIOUS_MOVES = YES;
|
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
|
||||||
COPY_PHASE_STRIP = NO;
|
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
||||||
ENABLE_NS_ASSERTIONS = NO;
|
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
||||||
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 = 10.1;
|
|
||||||
MTL_ENABLE_DEBUG_INFO = NO;
|
|
||||||
SDKROOT = iphoneos;
|
|
||||||
VALIDATE_PRODUCT = YES;
|
|
||||||
};
|
|
||||||
name = Release;
|
|
||||||
};
|
|
||||||
13687D5B1DF8748400E7C260 /* Debug */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
baseConfigurationReference = 1D2FF4D5FCA6A8C54A4074A3 /* Pods-YogaKitSample.debug.xcconfig */;
|
|
||||||
buildSettings = {
|
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
||||||
CLANG_ENABLE_MODULES = YES;
|
|
||||||
INFOPLIST_FILE = YogaKitSample/Info.plist;
|
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.facebook.YogaKitSample;
|
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
||||||
SWIFT_INSTALL_OBJC_HEADER = NO;
|
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
||||||
SWIFT_VERSION = 3.0;
|
|
||||||
};
|
|
||||||
name = Debug;
|
|
||||||
};
|
|
||||||
13687D5C1DF8748400E7C260 /* Release */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
baseConfigurationReference = 82F0896A88112E957EF37C7F /* Pods-YogaKitSample.release.xcconfig */;
|
|
||||||
buildSettings = {
|
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
||||||
CLANG_ENABLE_MODULES = YES;
|
|
||||||
INFOPLIST_FILE = YogaKitSample/Info.plist;
|
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.facebook.YogaKitSample;
|
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
||||||
SWIFT_INSTALL_OBJC_HEADER = NO;
|
|
||||||
SWIFT_VERSION = 3.0;
|
|
||||||
};
|
|
||||||
name = Release;
|
|
||||||
};
|
|
||||||
638A94571E215CC800A726AD /* Debug */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
|
||||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
||||||
INFOPLIST_FILE = YogaKitSampleTests/Info.plist;
|
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 10.2;
|
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.facebook.YogaKitSampleTests;
|
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
||||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/YogaKitSample.app/YogaKitSample";
|
|
||||||
};
|
|
||||||
name = Debug;
|
|
||||||
};
|
|
||||||
638A94581E215CC800A726AD /* Release */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
|
||||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
|
||||||
INFOPLIST_FILE = YogaKitSampleTests/Info.plist;
|
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 10.2;
|
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.facebook.YogaKitSampleTests;
|
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
||||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/YogaKitSample.app/YogaKitSample";
|
|
||||||
};
|
|
||||||
name = Release;
|
|
||||||
};
|
|
||||||
/* End XCBuildConfiguration section */
|
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */
|
|
||||||
13687D3E1DF8748300E7C260 /* Build configuration list for PBXProject "YogaKitSample" */ = {
|
|
||||||
isa = XCConfigurationList;
|
|
||||||
buildConfigurations = (
|
|
||||||
13687D581DF8748400E7C260 /* Debug */,
|
|
||||||
13687D591DF8748400E7C260 /* Release */,
|
|
||||||
);
|
|
||||||
defaultConfigurationIsVisible = 0;
|
|
||||||
defaultConfigurationName = Release;
|
|
||||||
};
|
|
||||||
13687D5A1DF8748400E7C260 /* Build configuration list for PBXNativeTarget "YogaKitSample" */ = {
|
|
||||||
isa = XCConfigurationList;
|
|
||||||
buildConfigurations = (
|
|
||||||
13687D5B1DF8748400E7C260 /* Debug */,
|
|
||||||
13687D5C1DF8748400E7C260 /* Release */,
|
|
||||||
);
|
|
||||||
defaultConfigurationIsVisible = 0;
|
|
||||||
defaultConfigurationName = Release;
|
|
||||||
};
|
|
||||||
638A94561E215CC800A726AD /* Build configuration list for PBXNativeTarget "YogaKitSampleTests" */ = {
|
|
||||||
isa = XCConfigurationList;
|
|
||||||
buildConfigurations = (
|
|
||||||
638A94571E215CC800A726AD /* Debug */,
|
|
||||||
638A94581E215CC800A726AD /* Release */,
|
|
||||||
);
|
|
||||||
defaultConfigurationIsVisible = 0;
|
|
||||||
defaultConfigurationName = Release;
|
|
||||||
};
|
|
||||||
/* End XCConfigurationList section */
|
|
||||||
};
|
|
||||||
rootObject = 13687D3B1DF8748300E7C260 /* Project object */;
|
|
||||||
}
|
|
@@ -1,14 +0,0 @@
|
|||||||
<!--
|
|
||||||
Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
|
|
||||||
This source code is licensed under the MIT license found in the
|
|
||||||
LICENSE file in the root directory of this source tree.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Workspace
|
|
||||||
version = "1.0">
|
|
||||||
<FileRef
|
|
||||||
location = "self:YogaKitSample.xcodeproj">
|
|
||||||
</FileRef>
|
|
||||||
</Workspace>
|
|
@@ -1,101 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Scheme
|
|
||||||
LastUpgradeVersion = "0820"
|
|
||||||
version = "1.3">
|
|
||||||
<BuildAction
|
|
||||||
parallelizeBuildables = "YES"
|
|
||||||
buildImplicitDependencies = "YES">
|
|
||||||
<BuildActionEntries>
|
|
||||||
<BuildActionEntry
|
|
||||||
buildForTesting = "YES"
|
|
||||||
buildForRunning = "YES"
|
|
||||||
buildForProfiling = "YES"
|
|
||||||
buildForArchiving = "YES"
|
|
||||||
buildForAnalyzing = "YES">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "13687D421DF8748300E7C260"
|
|
||||||
BuildableName = "YogaKitSample.app"
|
|
||||||
BlueprintName = "YogaKitSample"
|
|
||||||
ReferencedContainer = "container:YogaKitSample.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildActionEntry>
|
|
||||||
</BuildActionEntries>
|
|
||||||
</BuildAction>
|
|
||||||
<TestAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
|
||||||
<Testables>
|
|
||||||
<TestableReference
|
|
||||||
skipped = "NO">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "638A944E1E215CC800A726AD"
|
|
||||||
BuildableName = "YogaKitSampleTests.xctest"
|
|
||||||
BlueprintName = "YogaKitSampleTests"
|
|
||||||
ReferencedContainer = "container:YogaKitSample.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</TestableReference>
|
|
||||||
</Testables>
|
|
||||||
<MacroExpansion>
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "13687D421DF8748300E7C260"
|
|
||||||
BuildableName = "YogaKitSample.app"
|
|
||||||
BlueprintName = "YogaKitSample"
|
|
||||||
ReferencedContainer = "container:YogaKitSample.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</MacroExpansion>
|
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</TestAction>
|
|
||||||
<LaunchAction
|
|
||||||
buildConfiguration = "Debug"
|
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
|
||||||
launchStyle = "0"
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
|
||||||
debugDocumentVersioning = "YES"
|
|
||||||
debugServiceExtension = "internal"
|
|
||||||
allowLocationSimulation = "YES">
|
|
||||||
<BuildableProductRunnable
|
|
||||||
runnableDebuggingMode = "0">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "13687D421DF8748300E7C260"
|
|
||||||
BuildableName = "YogaKitSample.app"
|
|
||||||
BlueprintName = "YogaKitSample"
|
|
||||||
ReferencedContainer = "container:YogaKitSample.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildableProductRunnable>
|
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</LaunchAction>
|
|
||||||
<ProfileAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
||||||
savedToolIdentifier = ""
|
|
||||||
useCustomWorkingDirectory = "NO"
|
|
||||||
debugDocumentVersioning = "YES">
|
|
||||||
<BuildableProductRunnable
|
|
||||||
runnableDebuggingMode = "0">
|
|
||||||
<BuildableReference
|
|
||||||
BuildableIdentifier = "primary"
|
|
||||||
BlueprintIdentifier = "13687D421DF8748300E7C260"
|
|
||||||
BuildableName = "YogaKitSample.app"
|
|
||||||
BlueprintName = "YogaKitSample"
|
|
||||||
ReferencedContainer = "container:YogaKitSample.xcodeproj">
|
|
||||||
</BuildableReference>
|
|
||||||
</BuildableProductRunnable>
|
|
||||||
</ProfileAction>
|
|
||||||
<AnalyzeAction
|
|
||||||
buildConfiguration = "Debug">
|
|
||||||
</AnalyzeAction>
|
|
||||||
<ArchiveAction
|
|
||||||
buildConfiguration = "Release"
|
|
||||||
revealArchiveInOrganizer = "YES">
|
|
||||||
</ArchiveAction>
|
|
||||||
</Scheme>
|
|
@@ -1,17 +0,0 @@
|
|||||||
<!--
|
|
||||||
Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
|
|
||||||
This source code is licensed under the MIT license found in the
|
|
||||||
LICENSE file in the root directory of this source tree.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Workspace
|
|
||||||
version = "1.0">
|
|
||||||
<FileRef
|
|
||||||
location = "group:YogaKitSample.xcodeproj">
|
|
||||||
</FileRef>
|
|
||||||
<FileRef
|
|
||||||
location = "group:Pods/Pods.xcodeproj">
|
|
||||||
</FileRef>
|
|
||||||
</Workspace>
|
|
@@ -1,27 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright 2014-present, Facebook, Inc.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the license found in the
|
|
||||||
* LICENSE-examples file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import Foundation
|
|
||||||
import UIKit
|
|
||||||
|
|
||||||
@UIApplicationMain
|
|
||||||
class AppDelegate: UIResponder, UIApplicationDelegate {
|
|
||||||
var window: UIWindow?
|
|
||||||
|
|
||||||
func applicationDidFinishLaunching(_ application: UIApplication) {
|
|
||||||
self.window = UIWindow(frame: UIScreen.main.bounds)
|
|
||||||
if let window = self.window {
|
|
||||||
let navigationController = UINavigationController(rootViewController: ExamplesViewController())
|
|
||||||
navigationController.navigationBar.isTranslucent = false
|
|
||||||
|
|
||||||
window.rootViewController = navigationController
|
|
||||||
window.backgroundColor = .white
|
|
||||||
window.makeKeyAndVisible()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,74 +0,0 @@
|
|||||||
{
|
|
||||||
"images" : [
|
|
||||||
{
|
|
||||||
"size" : "20x20",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename" : "Yoga-20x20@2x.png",
|
|
||||||
"scale" : "2x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"size" : "20x20",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename" : "Yoga-20x20@3x.png",
|
|
||||||
"scale" : "3x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"size" : "29x29",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename" : "Yoga-29x29@1x.png",
|
|
||||||
"scale" : "1x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"size" : "29x29",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename" : "Yoga-29x29@2x.png",
|
|
||||||
"scale" : "2x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"size" : "29x29",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename" : "Yoga-29x29@3x.png",
|
|
||||||
"scale" : "3x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"size" : "40x40",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename" : "Yoga-40x40@2x.png",
|
|
||||||
"scale" : "2x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"size" : "40x40",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename" : "Yoga-40x40@3x.png",
|
|
||||||
"scale" : "3x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"size" : "57x57",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename" : "Yoga-57x57@1x.png",
|
|
||||||
"scale" : "1x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"size" : "57x57",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename" : "Yoga-57x57@2x.png",
|
|
||||||
"scale" : "2x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"size" : "60x60",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename" : "Yoga-60x60@2x.png",
|
|
||||||
"scale" : "2x"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"size" : "60x60",
|
|
||||||
"idiom" : "iphone",
|
|
||||||
"filename" : "Yoga-60x60@3x.png",
|
|
||||||
"scale" : "3x"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"info" : {
|
|
||||||
"version" : 1,
|
|
||||||
"author" : "xcode"
|
|
||||||
}
|
|
||||||
}
|
|
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 868 B |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 7.4 KiB |
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"info" : {
|
|
||||||
"version" : 1,
|
|
||||||
"author" : "xcode"
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,100 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright 2014-present, Facebook, Inc.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the license found in the
|
|
||||||
* LICENSE-examples file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import UIKit
|
|
||||||
import IGListKit
|
|
||||||
|
|
||||||
private final class ExampleModel {
|
|
||||||
let title: String
|
|
||||||
let controllerClass: UIViewController.Type
|
|
||||||
|
|
||||||
init(title: String, controllerClass: UIViewController.Type) {
|
|
||||||
self.title = title
|
|
||||||
self.controllerClass = controllerClass
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
extension ExampleModel: IGListDiffable {
|
|
||||||
fileprivate func diffIdentifier() -> NSObjectProtocol {
|
|
||||||
return title as NSString
|
|
||||||
}
|
|
||||||
|
|
||||||
fileprivate func isEqual(toDiffableObject object: IGListDiffable?) -> Bool {
|
|
||||||
guard let otherObj = object as? ExampleModel else { return false }
|
|
||||||
|
|
||||||
return (title == otherObj.title) &&
|
|
||||||
(controllerClass == otherObj.controllerClass)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
final class ExamplesViewController: UIViewController, IGListAdapterDataSource, IGListSingleSectionControllerDelegate {
|
|
||||||
private lazy var adapter: IGListAdapter = {
|
|
||||||
return IGListAdapter(updater: IGListAdapterUpdater(), viewController: self, workingRangeSize: 0)
|
|
||||||
}()
|
|
||||||
private let collectionView = IGListCollectionView(frame: .zero, collectionViewLayout: UICollectionViewFlowLayout())
|
|
||||||
|
|
||||||
|
|
||||||
// Update this to array to create more examples.
|
|
||||||
private let models: [ExampleModel] = [ExampleModel(title: "Basic Layout", controllerClass: BasicViewController.self),
|
|
||||||
ExampleModel(title: "Exclude Views in Layout", controllerClass: LayoutInclusionViewController.self)]
|
|
||||||
|
|
||||||
//MARK: UIViewController
|
|
||||||
|
|
||||||
override func viewDidLoad() {
|
|
||||||
super.viewDidLoad()
|
|
||||||
title = "Examples"
|
|
||||||
view.addSubview(collectionView)
|
|
||||||
adapter.collectionView = collectionView
|
|
||||||
adapter.dataSource = self
|
|
||||||
}
|
|
||||||
|
|
||||||
override func viewDidLayoutSubviews() {
|
|
||||||
super.viewDidLayoutSubviews()
|
|
||||||
collectionView.frame = view.bounds
|
|
||||||
}
|
|
||||||
|
|
||||||
//MARK: IGListAdapterDataSource
|
|
||||||
|
|
||||||
func objects(for listAdapter: IGListAdapter) -> [IGListDiffable] {
|
|
||||||
return models as [IGListDiffable]
|
|
||||||
}
|
|
||||||
|
|
||||||
func listAdapter(_ listAdapter: IGListAdapter, sectionControllerFor object: Any) -> IGListSectionController {
|
|
||||||
let sizeBlock: IGListSingleSectionCellSizeBlock = { (model, context) in
|
|
||||||
return CGSize(width: (context?.containerSize.width)!, height: 75.0)
|
|
||||||
}
|
|
||||||
|
|
||||||
let configureBlock: IGListSingleSectionCellConfigureBlock = { (model, cell) in
|
|
||||||
guard let m = model as? ExampleModel, let c = cell as? SingleLabelCollectionCell else {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
c.label.text = m.title
|
|
||||||
}
|
|
||||||
|
|
||||||
let sectionController = IGListSingleSectionController(cellClass: SingleLabelCollectionCell.self,
|
|
||||||
configureBlock: configureBlock,
|
|
||||||
sizeBlock: sizeBlock)
|
|
||||||
sectionController.selectionDelegate = self
|
|
||||||
return sectionController
|
|
||||||
}
|
|
||||||
|
|
||||||
func emptyView(for listAdapter: IGListAdapter) -> UIView? { return nil }
|
|
||||||
|
|
||||||
//MARK: IGListSingleSectionControllerDelegate
|
|
||||||
|
|
||||||
func didSelect(_ sectionController: IGListSingleSectionController) {
|
|
||||||
let section = adapter.section(for: sectionController)
|
|
||||||
let model = models[section]
|
|
||||||
|
|
||||||
let controller = model.controllerClass.init()
|
|
||||||
controller.title = model.title
|
|
||||||
|
|
||||||
self.navigationController?.pushViewController(controller, animated: true)
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,36 +0,0 @@
|
|||||||
<?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>APPL</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>1</string>
|
|
||||||
<key>LSRequiresIPhoneOS</key>
|
|
||||||
<true/>
|
|
||||||
<key>UILaunchStoryboardName</key>
|
|
||||||
<string></string>
|
|
||||||
<key>UIRequiredDeviceCapabilities</key>
|
|
||||||
<array>
|
|
||||||
<string>armv7</string>
|
|
||||||
</array>
|
|
||||||
<key>UISupportedInterfaceOrientations</key>
|
|
||||||
<array>
|
|
||||||
<string>UIInterfaceOrientationPortrait</string>
|
|
||||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
||||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
||||||
</array>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
@@ -1,71 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright 2014-present, Facebook, Inc.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the license found in the
|
|
||||||
* LICENSE-examples file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import UIKit
|
|
||||||
import IGListKit
|
|
||||||
import YogaKit
|
|
||||||
|
|
||||||
struct DemoItem {
|
|
||||||
let name: String
|
|
||||||
root.backgroundColor = .red
|
|
||||||
root.yoga.isEnabled = true
|
|
||||||
root.yoga.width = YGValue(self.view.bounds.size.width)
|
|
||||||
root.yoga.height = YGValue(self.view.bounds.size.height)
|
|
||||||
root.yoga.alignItems = .center
|
|
||||||
}
|
|
||||||
|
|
||||||
final class SwiftViewController: UIViewController, IGListAdapterDataSource {
|
|
||||||
|
|
||||||
lazy var adapter: IGListAdapter = {
|
|
||||||
return IGListAdapter(updater: IGListAdapterUpdater(), viewController: self, workingRangeSize: 0)
|
|
||||||
}()
|
|
||||||
let collectionView = IGListCollectionView(frame: .zero, collectionViewLayout: UICollectionViewFlowLayout())
|
|
||||||
|
|
||||||
//MARK: UIViewController
|
|
||||||
|
|
||||||
override func viewDidLoad() {
|
|
||||||
super.viewDidLoad()
|
|
||||||
title = "YogaKit Examples"
|
|
||||||
view.addSubview(collectionView)
|
|
||||||
adapter.collectionView = collectionView
|
|
||||||
adapter.dataSource = self
|
|
||||||
}
|
|
||||||
|
|
||||||
override func viewDidLayoutSubviews() {
|
|
||||||
super.viewDidLayoutSubviews()
|
|
||||||
collectionView.frame = view.bounds
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//MARK: IGListAdapterDataSource
|
|
||||||
|
|
||||||
func objects(for listAdapter: IGListAdapter) -> [IGListDiffable] {
|
|
||||||
return ["Dustin" as IGListDiffable, "Ryan" as IGListDiffable]
|
|
||||||
}
|
|
||||||
|
|
||||||
func listAdapter(_ listAdapter: IGListAdapter, sectionControllerFor object: Any) -> IGListSectionController {
|
|
||||||
let sizeBlock: IGListSingleSectionCellSizeBlock = { (model, context) in
|
|
||||||
return CGSize(width: (context?.containerSize.width)!, height: 100.0)
|
|
||||||
}
|
|
||||||
let configureBlock: IGListSingleSectionCellConfigureBlock = { (model, cell) in
|
|
||||||
guard let m = model as? String else {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
cell.backgroundColor = (m == "Dustin") ? .blue : .red
|
|
||||||
}
|
|
||||||
|
|
||||||
return IGListSingleSectionController(cellClass: UICollectionViewCell.self,
|
|
||||||
configureBlock: configureBlock,
|
|
||||||
sizeBlock: sizeBlock)
|
|
||||||
}
|
|
||||||
|
|
||||||
func emptyView(for listAdapter: IGListAdapter) -> UIView? {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,56 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright 2014-present, Facebook, Inc.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the license found in the
|
|
||||||
* LICENSE-examples file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#import "ViewController.h"
|
|
||||||
|
|
||||||
#import <YogaKit/UIView+Yoga.h>
|
|
||||||
|
|
||||||
@implementation ViewController
|
|
||||||
|
|
||||||
- (void)viewDidLoad
|
|
||||||
{
|
|
||||||
UIView *root = self.view;
|
|
||||||
root.backgroundColor = [UIColor redColor];
|
|
||||||
root.yoga.isEnabled = YES;
|
|
||||||
root.yoga.width = YGPointValue(self.view.bounds.size.width);
|
|
||||||
root.yoga.height = YGPointValue(self.view.bounds.size.height);
|
|
||||||
root.yoga.alignItems = YGAlignCenter;
|
|
||||||
root.yoga.justifyContent = YGJustifyCenter;
|
|
||||||
|
|
||||||
UIView *child1 = [UIView new];
|
|
||||||
child1.backgroundColor = [UIColor blueColor];
|
|
||||||
child1.yoga.isEnabled = YES;
|
|
||||||
child1.yoga.width = YGPointValue(100);
|
|
||||||
child1.yoga.height = YGPointValue(100);
|
|
||||||
|
|
||||||
UIView *child2 = [UIView new];
|
|
||||||
child2.backgroundColor = [UIColor greenColor];
|
|
||||||
child2.frame = (CGRect) {
|
|
||||||
.size = {
|
|
||||||
.width = 200,
|
|
||||||
.height = 100,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
UIView *child3 = [UIView new];
|
|
||||||
child3.backgroundColor = [UIColor yellowColor];
|
|
||||||
child3.frame = (CGRect) {
|
|
||||||
.size = {
|
|
||||||
.width = 100,
|
|
||||||
.height = 100,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
[child2 addSubview:child3];
|
|
||||||
[root addSubview:child1];
|
|
||||||
[root addSubview:child2];
|
|
||||||
[root.yoga applyLayoutPreservingOrigin:NO];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@end
|
|
@@ -1,54 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright 2014-present, Facebook, Inc.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the license found in the
|
|
||||||
* LICENSE-examples file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import UIKit
|
|
||||||
import YogaKit
|
|
||||||
|
|
||||||
final class BasicViewController: UIViewController {
|
|
||||||
override func viewDidLoad() {
|
|
||||||
let containerSize = self.view.bounds.size
|
|
||||||
|
|
||||||
let root = self.view!
|
|
||||||
root.backgroundColor = .white
|
|
||||||
root.configureLayout { (layout) in
|
|
||||||
layout.isEnabled = true
|
|
||||||
layout.width = YGValue(containerSize.width)
|
|
||||||
layout.height = YGValue(containerSize.height)
|
|
||||||
layout.alignItems = .center
|
|
||||||
layout.justifyContent = .center
|
|
||||||
}
|
|
||||||
|
|
||||||
let child1 = UIView()
|
|
||||||
child1.backgroundColor = .blue
|
|
||||||
child1.configureLayout { (layout) in
|
|
||||||
layout.isEnabled = true
|
|
||||||
layout.width = 100
|
|
||||||
layout.height = 10
|
|
||||||
layout.marginBottom = 25
|
|
||||||
}
|
|
||||||
root.addSubview(child1)
|
|
||||||
|
|
||||||
let child2 = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
|
|
||||||
child2.backgroundColor = .green
|
|
||||||
child2.configureLayout { (layout) in
|
|
||||||
layout.isEnabled = true
|
|
||||||
layout.alignSelf = .flexEnd
|
|
||||||
}
|
|
||||||
root.addSubview(child2)
|
|
||||||
|
|
||||||
let child3 = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
|
|
||||||
child3.backgroundColor = .yellow
|
|
||||||
child3.configureLayout { (layout) in
|
|
||||||
layout.isEnabled = true
|
|
||||||
layout.alignSelf = .flexStart
|
|
||||||
}
|
|
||||||
root.addSubview(child3)
|
|
||||||
|
|
||||||
root.yoga.applyLayout(preservingOrigin: true)
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,80 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright 2014-present, Facebook, Inc.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the license found in the
|
|
||||||
* LICENSE-examples file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import UIKit
|
|
||||||
import YogaKit
|
|
||||||
|
|
||||||
final class LayoutInclusionViewController: UIViewController {
|
|
||||||
private let button: UIButton = UIButton(type: .system)
|
|
||||||
private let disappearingView: UIView = UIView(frame: .zero)
|
|
||||||
private let contentView: UIView = UIView(frame: .zero)
|
|
||||||
|
|
||||||
override func viewDidLoad() {
|
|
||||||
let root = self.view!
|
|
||||||
root.backgroundColor = .white
|
|
||||||
root.configureLayout { (layout) in
|
|
||||||
layout.isEnabled = true
|
|
||||||
layout.flexDirection = .column
|
|
||||||
layout.justifyContent = .spaceAround
|
|
||||||
}
|
|
||||||
|
|
||||||
contentView.backgroundColor = .clear
|
|
||||||
contentView.layer.borderColor = UIColor.lightGray.cgColor
|
|
||||||
contentView.layer.borderWidth = 1.0
|
|
||||||
contentView.configureLayout { (layout) in
|
|
||||||
layout.isEnabled = true
|
|
||||||
layout.height = 300
|
|
||||||
layout.width = YGValue(self.view.bounds.size.width)
|
|
||||||
layout.flexDirection = .row
|
|
||||||
layout.justifyContent = .center
|
|
||||||
layout.paddingHorizontal = 25
|
|
||||||
}
|
|
||||||
self.view.addSubview(contentView)
|
|
||||||
|
|
||||||
let redView = UIView(frame: .zero)
|
|
||||||
redView.backgroundColor = .red
|
|
||||||
redView.configureLayout { (layout) in
|
|
||||||
layout.isEnabled = true
|
|
||||||
layout.flexGrow = 1
|
|
||||||
layout.flexShrink = 1
|
|
||||||
}
|
|
||||||
contentView.addSubview(redView)
|
|
||||||
|
|
||||||
disappearingView.backgroundColor = .blue
|
|
||||||
disappearingView.configureLayout { (layout) in
|
|
||||||
layout.isEnabled = true
|
|
||||||
layout.flexGrow = 1
|
|
||||||
}
|
|
||||||
contentView.addSubview(disappearingView)
|
|
||||||
|
|
||||||
button.setTitle("Add Blue View", for: UIControlState.selected)
|
|
||||||
button.setTitle("Remove Blue View", for: UIControlState.normal)
|
|
||||||
button.addTarget(self, action: #selector(buttonWasTapped), for: UIControlEvents.touchUpInside)
|
|
||||||
button.configureLayout { (layout) in
|
|
||||||
layout.isEnabled = true
|
|
||||||
layout.height = 300
|
|
||||||
layout.width = 300
|
|
||||||
layout.alignSelf = .center
|
|
||||||
}
|
|
||||||
root.addSubview(button)
|
|
||||||
|
|
||||||
root.yoga.applyLayout(preservingOrigin: false)
|
|
||||||
}
|
|
||||||
|
|
||||||
// MARK - UIButton Action
|
|
||||||
func buttonWasTapped() {
|
|
||||||
button.isSelected = !button.isSelected
|
|
||||||
|
|
||||||
button.isUserInteractionEnabled = false
|
|
||||||
disappearingView.yoga.isIncludedInLayout = !disappearingView.yoga.isIncludedInLayout
|
|
||||||
disappearingView.isHidden = !disappearingView.isHidden
|
|
||||||
|
|
||||||
contentView.yoga.applyLayout(preservingOrigin: true)
|
|
||||||
button.isUserInteractionEnabled = true
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,49 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright 2014-present, Facebook, Inc.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the license found in the
|
|
||||||
* LICENSE-examples file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import UIKit
|
|
||||||
import YogaKit
|
|
||||||
|
|
||||||
final class SingleLabelCollectionCell: UICollectionViewCell {
|
|
||||||
let label: UILabel = UILabel(frame: .zero)
|
|
||||||
|
|
||||||
override init(frame: CGRect) {
|
|
||||||
super.init(frame: frame)
|
|
||||||
|
|
||||||
contentView.configureLayout { (layout) in
|
|
||||||
layout.isEnabled = true
|
|
||||||
layout.flexDirection = .column
|
|
||||||
layout.justifyContent = .flexEnd
|
|
||||||
}
|
|
||||||
|
|
||||||
label.textAlignment = .center
|
|
||||||
label.numberOfLines = 1
|
|
||||||
label.yoga.isIncludedInLayout = false
|
|
||||||
contentView.addSubview(label)
|
|
||||||
|
|
||||||
let border = UIView(frame: .zero)
|
|
||||||
border.backgroundColor = .lightGray
|
|
||||||
border.configureLayout { (layout) in
|
|
||||||
layout.isEnabled = true
|
|
||||||
layout.height = 0.5
|
|
||||||
layout.marginHorizontal = 25
|
|
||||||
}
|
|
||||||
contentView.addSubview(border)
|
|
||||||
}
|
|
||||||
|
|
||||||
required init?(coder aDecoder: NSCoder) {
|
|
||||||
fatalError("init(coder:) has not been implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
override func layoutSubviews() {
|
|
||||||
super.layoutSubviews()
|
|
||||||
|
|
||||||
contentView.yoga.applyLayout(preservingOrigin: false)
|
|
||||||
label.frame = contentView.bounds
|
|
||||||
}
|
|
||||||
}
|
|