From f2c41f366fcf01184c00b04007756bf1dba5af1d Mon Sep 17 00:00:00 2001 From: Dustin Shahidehpour Date: Fri, 3 Feb 2017 13:27:59 -0800 Subject: [PATCH] Made YogaKitSample build again, use cocoapods, add icon images. Summary: The Sample app needed some love. It wouldn't build because of some import errors, adding files is very manual, and it looked bad. I have fixed all of these things. Reviewed By: amonshiz Differential Revision: D4508624 fbshipit-source-id: bda40defb167ef871d8d0d5bb853d8905b9682d8 --- YogaKit/YogaKitSample/Podfile | 5 + YogaKit/YogaKitSample/Podfile.lock | 19 +++ .../YogaKitSample.xcodeproj/project.pbxproj | 136 +++++++++--------- .../AppIcon.appiconset/Contents.json | 50 +++++-- .../AppIcon.appiconset/Yoga-20x20@2x.png | Bin 0 -> 1198 bytes .../AppIcon.appiconset/Yoga-20x20@3x.png | Bin 0 -> 1927 bytes .../AppIcon.appiconset/Yoga-29x29@1x.png | Bin 0 -> 868 bytes .../AppIcon.appiconset/Yoga-29x29@2x.png | Bin 0 -> 1917 bytes .../AppIcon.appiconset/Yoga-29x29@3x.png | Bin 0 -> 3086 bytes .../AppIcon.appiconset/Yoga-40x40@2x.png | Bin 0 -> 2777 bytes .../AppIcon.appiconset/Yoga-40x40@3x.png | Bin 0 -> 4616 bytes .../AppIcon.appiconset/Yoga-57x57@2x.png | Bin 0 -> 4279 bytes .../AppIcon.appiconset/Yoga-57x57@3x.png | Bin 0 -> 7126 bytes .../AppIcon.appiconset/Yoga-60x60@2x.png | Bin 0 -> 4616 bytes .../AppIcon.appiconset/Yoga-60x60@3x.png | Bin 0 -> 7550 bytes .../Assets.xcassets/Contents.json | 6 + .../YogaKitSample/SwiftViewController.swift | 1 + .../YogaKitSample-Bridging-Header.h | 10 -- 18 files changed, 136 insertions(+), 91 deletions(-) create mode 100644 YogaKit/YogaKitSample/Podfile create mode 100644 YogaKit/YogaKitSample/Podfile.lock create mode 100644 YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-20x20@2x.png create mode 100644 YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-20x20@3x.png create mode 100644 YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-29x29@1x.png create mode 100644 YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-29x29@2x.png create mode 100644 YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-29x29@3x.png create mode 100644 YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-40x40@2x.png create mode 100644 YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-40x40@3x.png create mode 100644 YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-57x57@2x.png create mode 100644 YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-57x57@3x.png create mode 100644 YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-60x60@2x.png create mode 100644 YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-60x60@3x.png create mode 100644 YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/Contents.json delete mode 100644 YogaKit/YogaKitSample/YogaKitSample/YogaKitSample-Bridging-Header.h diff --git a/YogaKit/YogaKitSample/Podfile b/YogaKit/YogaKitSample/Podfile new file mode 100644 index 00000000..87279a14 --- /dev/null +++ b/YogaKit/YogaKitSample/Podfile @@ -0,0 +1,5 @@ +use_frameworks! + +target 'YogaKitSample' do + pod 'YogaKit', :path => '../../YogaKit.podspec' +end diff --git a/YogaKit/YogaKitSample/Podfile.lock b/YogaKit/YogaKitSample/Podfile.lock new file mode 100644 index 00000000..f2dad1e0 --- /dev/null +++ b/YogaKit/YogaKitSample/Podfile.lock @@ -0,0 +1,19 @@ +PODS: + - Yoga (1.0.2) + - YogaKit (1.0.3): + - Yoga (~> 1.0) + +DEPENDENCIES: + - YogaKit (from `../../YogaKit.podspec`) + +EXTERNAL SOURCES: + YogaKit: + :path: "../../YogaKit.podspec" + +SPEC CHECKSUMS: + Yoga: ef42f88b9bcbd7daf7267c0f19d8636ce3a50618 + YogaKit: 6d9826a015c029b13731a33bf96fe6c1e33748a6 + +PODFILE CHECKSUM: 9db3bdea7f1b4b715ad859a449b2dc87fb6226cc + +COCOAPODS: 1.2.0 diff --git a/YogaKit/YogaKitSample/YogaKitSample.xcodeproj/project.pbxproj b/YogaKit/YogaKitSample/YogaKitSample.xcodeproj/project.pbxproj index 11afe6ff..4999ad9d 100644 --- a/YogaKit/YogaKitSample/YogaKitSample.xcodeproj/project.pbxproj +++ b/YogaKit/YogaKitSample/YogaKitSample.xcodeproj/project.pbxproj @@ -11,18 +11,10 @@ 13687D4B1DF8748400E7C260 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13687D4A1DF8748400E7C260 /* AppDelegate.m */; }; 13687D4E1DF8748400E7C260 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 13687D4D1DF8748400E7C260 /* ViewController.m */; }; 13687D531DF8748400E7C260 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13687D521DF8748400E7C260 /* Assets.xcassets */; }; - 13687D781DF878C600E7C260 /* YGEnums.h in yoga */ = {isa = PBXBuildFile; fileRef = 13687D5E1DF8778F00E7C260 /* YGEnums.h */; }; - 13687D791DF878C600E7C260 /* YGMacros.h in yoga */ = {isa = PBXBuildFile; fileRef = 13687D5F1DF8778F00E7C260 /* YGMacros.h */; }; - 13687D7A1DF878C600E7C260 /* Yoga.h in yoga */ = {isa = PBXBuildFile; fileRef = 13687D631DF8778F00E7C260 /* Yoga.h */; }; - 13687D7C1DF878DD00E7C260 /* UIView+Yoga.h in YogaKit */ = {isa = PBXBuildFile; fileRef = 13687D691DF8778F00E7C260 /* UIView+Yoga.h */; }; - 13687D801DF87CEC00E7C260 /* UIView+Yoga.m in Sources */ = {isa = PBXBuildFile; fileRef = 13687D6A1DF8778F00E7C260 /* UIView+Yoga.m */; }; - 13687D811DF87CF200E7C260 /* YGNodeList.c in Sources */ = {isa = PBXBuildFile; fileRef = 13687D601DF8778F00E7C260 /* YGNodeList.c */; }; - 13687D821DF87CF200E7C260 /* Yoga.c in Sources */ = {isa = PBXBuildFile; fileRef = 13687D621DF8778F00E7C260 /* Yoga.c */; }; 13687D851DF87D1E00E7C260 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 13687D841DF87D1E00E7C260 /* UIKit.framework */; }; 13687D871DF87D2400E7C260 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 13687D861DF87D2400E7C260 /* Foundation.framework */; }; - 638A94431E1EF5D000A726AD /* YGLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 638A94411E1EF5D000A726AD /* YGLayout.m */; }; + 15A7CB5995C9DAB1C8803834 /* Pods_YogaKitSample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C80A931E90C7F3088CB86822 /* Pods_YogaKitSample.framework */; }; 638A94481E1F06D100A726AD /* SwiftViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 638A94471E1F06D100A726AD /* SwiftViewController.swift */; }; - 638A945A1E215CD400A726AD /* YogaKitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 638A94591E215CD400A726AD /* YogaKitTests.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,9 +34,6 @@ dstPath = include/yoga; dstSubfolderSpec = 16; files = ( - 13687D781DF878C600E7C260 /* YGEnums.h in yoga */, - 13687D791DF878C600E7C260 /* YGMacros.h in yoga */, - 13687D7A1DF878C600E7C260 /* Yoga.h in yoga */, ); name = yoga; runOnlyForDeploymentPostprocessing = 0; @@ -55,7 +44,6 @@ dstPath = include/YogaKit; dstSubfolderSpec = 16; files = ( - 13687D7C1DF878DD00E7C260 /* UIView+Yoga.h in YogaKit */, ); name = YogaKit; runOnlyForDeploymentPostprocessing = 0; @@ -71,24 +59,13 @@ 13687D4D1DF8748400E7C260 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; 13687D521DF8748400E7C260 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 13687D571DF8748400E7C260 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 13687D5E1DF8778F00E7C260 /* YGEnums.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YGEnums.h; sourceTree = ""; }; - 13687D5F1DF8778F00E7C260 /* YGMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YGMacros.h; sourceTree = ""; }; - 13687D601DF8778F00E7C260 /* YGNodeList.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = YGNodeList.c; sourceTree = ""; }; - 13687D611DF8778F00E7C260 /* YGNodeList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YGNodeList.h; sourceTree = ""; }; - 13687D621DF8778F00E7C260 /* Yoga.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = Yoga.c; sourceTree = ""; }; - 13687D631DF8778F00E7C260 /* Yoga.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Yoga.h; sourceTree = ""; }; - 13687D691DF8778F00E7C260 /* UIView+Yoga.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIView+Yoga.h"; sourceTree = ""; }; - 13687D6A1DF8778F00E7C260 /* UIView+Yoga.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIView+Yoga.m"; sourceTree = ""; }; 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; }; - 638A94401E1EF5D000A726AD /* YGLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YGLayout.h; sourceTree = ""; }; - 638A94411E1EF5D000A726AD /* YGLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YGLayout.m; sourceTree = ""; }; - 638A94421E1EF5D000A726AD /* YGLayout+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "YGLayout+Private.h"; sourceTree = ""; }; - 638A94461E1F06D100A726AD /* YogaKitSample-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "YogaKitSample-Bridging-Header.h"; sourceTree = ""; }; + 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 = ""; }; 638A94471E1F06D100A726AD /* SwiftViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftViewController.swift; sourceTree = ""; }; 638A944F1E215CC800A726AD /* YogaKitSampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = YogaKitSampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 638A94531E215CC800A726AD /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 638A94591E215CD400A726AD /* YogaKitTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = YogaKitTests.m; path = ../../Tests/YogaKitTests.m; sourceTree = ""; }; + 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 = ""; }; + 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 */ @@ -98,6 +75,7 @@ files = ( 13687D871DF87D2400E7C260 /* Foundation.framework in Frameworks */, 13687D851DF87D1E00E7C260 /* UIKit.framework in Frameworks */, + 15A7CB5995C9DAB1C8803834 /* Pods_YogaKitSample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -114,12 +92,10 @@ 13687D3A1DF8748300E7C260 = { isa = PBXGroup; children = ( - 13687D5D1DF8778F00E7C260 /* yoga */, - 13687D641DF8778F00E7C260 /* YogaKit */, 13687D451DF8748400E7C260 /* YogaKitSample */, - 638A94501E215CC800A726AD /* YogaKitSampleTests */, 13687D441DF8748400E7C260 /* Products */, 13687D831DF87D1E00E7C260 /* Frameworks */, + E1C759E3C8E84821213ECE8D /* Pods */, ); sourceTree = ""; }; @@ -140,7 +116,6 @@ 13687D4C1DF8748400E7C260 /* ViewController.h */, 13687D4D1DF8748400E7C260 /* ViewController.m */, 638A94471E1F06D100A726AD /* SwiftViewController.swift */, - 638A94461E1F06D100A726AD /* YogaKitSample-Bridging-Header.h */, 13687D521DF8748400E7C260 /* Assets.xcassets */, 13687D571DF8748400E7C260 /* Info.plist */, 13687D461DF8748400E7C260 /* Supporting Files */, @@ -156,49 +131,23 @@ name = "Supporting Files"; sourceTree = ""; }; - 13687D5D1DF8778F00E7C260 /* yoga */ = { - isa = PBXGroup; - children = ( - 13687D5E1DF8778F00E7C260 /* YGEnums.h */, - 13687D5F1DF8778F00E7C260 /* YGMacros.h */, - 13687D601DF8778F00E7C260 /* YGNodeList.c */, - 13687D611DF8778F00E7C260 /* YGNodeList.h */, - 13687D621DF8778F00E7C260 /* Yoga.c */, - 13687D631DF8778F00E7C260 /* Yoga.h */, - ); - name = yoga; - path = ../../yoga; - sourceTree = ""; - }; - 13687D641DF8778F00E7C260 /* YogaKit */ = { - isa = PBXGroup; - children = ( - 13687D691DF8778F00E7C260 /* UIView+Yoga.h */, - 13687D6A1DF8778F00E7C260 /* UIView+Yoga.m */, - 638A94401E1EF5D000A726AD /* YGLayout.h */, - 638A94421E1EF5D000A726AD /* YGLayout+Private.h */, - 638A94411E1EF5D000A726AD /* YGLayout.m */, - ); - name = YogaKit; - path = ..; - sourceTree = ""; - }; 13687D831DF87D1E00E7C260 /* Frameworks */ = { isa = PBXGroup; children = ( 13687D861DF87D2400E7C260 /* Foundation.framework */, 13687D841DF87D1E00E7C260 /* UIKit.framework */, + C80A931E90C7F3088CB86822 /* Pods_YogaKitSample.framework */, ); name = Frameworks; sourceTree = ""; }; - 638A94501E215CC800A726AD /* YogaKitSampleTests */ = { + E1C759E3C8E84821213ECE8D /* Pods */ = { isa = PBXGroup; children = ( - 638A94591E215CD400A726AD /* YogaKitTests.m */, - 638A94531E215CC800A726AD /* Info.plist */, + 1D2FF4D5FCA6A8C54A4074A3 /* Pods-YogaKitSample.debug.xcconfig */, + 82F0896A88112E957EF37C7F /* Pods-YogaKitSample.release.xcconfig */, ); - path = YogaKitSampleTests; + name = Pods; sourceTree = ""; }; /* End PBXGroup section */ @@ -208,11 +157,14 @@ 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 = ( ); @@ -299,19 +251,63 @@ }; /* 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 = ( 638A94481E1F06D100A726AD /* SwiftViewController.swift in Sources */, - 13687D801DF87CEC00E7C260 /* UIView+Yoga.m in Sources */, 13687D4E1DF8748400E7C260 /* ViewController.m in Sources */, 13687D4B1DF8748400E7C260 /* AppDelegate.m in Sources */, - 13687D821DF87CF200E7C260 /* Yoga.c in Sources */, - 13687D811DF87CF200E7C260 /* YGNodeList.c in Sources */, 13687D481DF8748400E7C260 /* main.m in Sources */, - 638A94431E1EF5D000A726AD /* YGLayout.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -319,7 +315,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 638A945A1E215CD400A726AD /* YogaKitTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -426,6 +421,7 @@ }; 13687D5B1DF8748400E7C260 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 1D2FF4D5FCA6A8C54A4074A3 /* Pods-YogaKitSample.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -433,7 +429,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.facebook.YogaKitSample; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "YogaKitSample/YogaKitSample-Bridging-Header.h"; + SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 3.0; }; @@ -441,6 +437,7 @@ }; 13687D5C1DF8748400E7C260 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 82F0896A88112E957EF37C7F /* Pods-YogaKitSample.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -448,7 +445,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.facebook.YogaKitSample; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "YogaKitSample/YogaKitSample-Bridging-Header.h"; + SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_VERSION = 3.0; }; name = Release; @@ -509,6 +506,7 @@ 638A94581E215CC800A726AD /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Contents.json b/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Contents.json index b8236c65..5a1b38ad 100644 --- a/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,43 +1,69 @@ { "images" : [ { - "idiom" : "iphone", "size" : "20x20", + "idiom" : "iphone", + "filename" : "Yoga-20x20@2x.png", "scale" : "2x" }, { - "idiom" : "iphone", "size" : "20x20", + "idiom" : "iphone", + "filename" : "Yoga-20x20@3x.png", "scale" : "3x" }, { - "idiom" : "iphone", "size" : "29x29", - "scale" : "2x" + "idiom" : "iphone", + "filename" : "Yoga-29x29@1x.png", + "scale" : "1x" }, { - "idiom" : "iphone", "size" : "29x29", - "scale" : "3x" - }, - { "idiom" : "iphone", - "size" : "40x40", + "filename" : "Yoga-29x29@2x.png", "scale" : "2x" }, { + "size" : "29x29", "idiom" : "iphone", - "size" : "40x40", + "filename" : "Yoga-29x29@3x.png", "scale" : "3x" }, { + "size" : "40x40", "idiom" : "iphone", - "size" : "60x60", + "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@2x.png", + "scale" : "1x" + }, + { + "size" : "57x57", + "idiom" : "iphone", + "filename" : "Yoga-57x57@3x.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" } ], @@ -45,4 +71,4 @@ "version" : 1, "author" : "xcode" } -} \ No newline at end of file +} diff --git a/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-20x20@2x.png b/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..bb33d6ef3c653c79052963ba125106568a50a8fa GIT binary patch literal 1198 zcmV;f1X25mP)Px(Xh}ptR9Fe^SZi#QMHD^TT_{Vt^g$oAOL-NvwxVolQvyUu%R>_j@c~ka^23O< zY4C>;MIuHG5;bU4Vx!SS<><|ubH{`p6|@eow;inHh?HbOcZky)b0|DbcUi{L0cqG*xup6$%ZEU{znU1 zTQ8xfw@YF3Cy6*Aj3lgrb({@LUR;BoHV>|xy8wGa zJmx=Mg1wvG1^dc&Zidg>3;#bpWaP|(BP|&}eSQ!_1A|hRO!$l`J8`56^7zu75KAl9 z!D_Q%px=+e)hqDu3#)N_PYwDyyWzd&L4DP?D6Uv5`ux7@uv)F4jS7s#m@-He{cfV|V%6LXjAo6+In)qj=-f=r>dg3P*NvZ+JMvC}AcYMB_~ zZa$Cfq6dsr<3L}RSCE*P=n!q}Bj%MZ0c~_p#gr1{O<0H1-_>KfD_3lamY+{yMt&~r zjyTw2$HO)u7O@lUqK$p|MtstrwtAm5QA-KZN%^KNIMJY=7M>uB zpIe0~_s)dJeFanJ&H;nDo6jL-hEtp}N54D_e~3%&g2H@MeX>Kw9nww0k*py?5%hKU zqVCgun3O&l)8^%XNtwFSq&slK^MM5E@7u~bkhNP`WPn@!(nRDo3OtW&<&^}ebb z(oGT^%>sv)%CQ1{GlmXYf~>w+;EWaMJ5+_IB}ihdzF6SgY0zglm7R7CjwBV;WoM9R zR2S|+lKhO?zdlBi-K1F;TDJzi)5+A&48IkN^Mx M07*qoM6N<$f)%ws2mk;8 literal 0 HcmV?d00001 diff --git a/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-20x20@3x.png b/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..75f037eb3a72c792b86389b95922859b3f119457 GIT binary patch literal 1927 zcmV;22YC32P)Px+K}keGRA>e5T6<7cMHv6_27!30D4-xC`2Yl!)XaR0uLR8`DYZ05P0gCI%$MPS?cQa;bgHSe#<70Bv%2ZNR@GS_63UTEjg7UQe9lCUM?!9Nvy*$**k2##Z zXTSaS`|Y0H{dT|O@JIl51V=mKs!(kw{Ji&gdk?qw@N?Dz&aKI(s_FsC%I|@9qC*D{ z`1-t{+*`|z79-5%J?s1>oXE(;smyc8y`GO^Ly1XV9RvN*BfL8X#KmAxd>o?t_JV_h zgGpIiA38L*<55ythLp73*uD24Zr>@g%D%2$I%DF5F-T6D2!B6ct8|zv)NF+BS5{)< zmLIY6=RJ5>U2U#DUC-U!+%R=YBHo`f174n+HBcp+R}U1h{g%2-Xf;(jF- zFI|q)XR=KyZmEa;W23NU)e3lfS@()tMVMsgEn14pS8`g4mqooVMn+)M+ErGO*6mvI zHD=GY6!uB~MK5#{=9q2m*Vq&(+CW?MLKoqKza4G02}*_tCrhpndLTW9xz0{b zp3`DWj~=7dvRtxurEHO2r=@$CPDM+tvuXl*)3k}U$wG=S-9>s(%>idu7Yvz^s9a1p z2WT5@lz|js`o_)SE_wy}Vak^uA$t5P%EdIF*$Uc58)cwLn7bZs1Z;(;zYiuaUkDE$ zZ|wPMqjE9*`WFkpJX=8|yR_W#Q=Lh}elEQC3)t{LG7Rad*SODWmb$$|dO3BLv5{?`rbsBYP z*+E<9&7N*iOtblTQXvZxsC`(CTiI8eigXMMfs30f4sT3BdEs4*`(zfvb@`}@37l)X+})F}(vN}G9B zW)2p6mgrLYUF`k{^D6Y;TZ3JZ~s|IyZrygk8 z{J3>`G@Fp6(OvvX)Ktk(2#cv z{-Hr|788&W55#Nf^`B$GB_>pi)7*?KWjr%&Ty`i!StF=}x~NkRv~0FWn1|$gke_); zS$@I?_H8O=$QNU?dsjHQIK#I~C*@vr?FM+MpHZe*MUFE$monpWgj?yQsH!X}2QPxpn8#(wxIXg`J~nZkHW|_h(`HFk0w_X`rHFrzgawR6s(j6z_gfwz~G9m`|L-F-nIG27D zF%yO%FgzF!E2Mq|vD{F>F+t zGzn97{pM}hu;m9;G5KV~pcuqY9VfPifv9=#P$}r@;jY}(zd43EW^={cU=8Nac?S#T zzN=YOiZG8)65g0;^{EG2ox7eeF&ndo*^>l&-XN|#F;=})4&u4SH==j}cGy!50w9(LEm{{of1KS)$srXc_T N002ovPDHLkV1jY`no9rx literal 0 HcmV?d00001 diff --git a/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-29x29@1x.png b/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..eace0a4e550c7ae850451ec8cf73a227c4526cf3 GIT binary patch literal 868 zcmV-q1DpJbP)Px&9!W$&R7efQR!dJ4Q562B1=0uD@-8(M(ux#`l9bM! z)7yv0G~hT6JMFnBIa&60ru02eKhUN^nN?fVbmoA5{VCM`7uH?LpCsglFX?o|{G zhr_78^8j^Eo-a!vw|M?+8LBF;L9JHHEkiMp)+$IUbWpNaf~+WobS)l6ijY0=$U!1X zNkiW-8f^Otqiqp*h>wLtl(KZ$q~Wu*=yEv7U~;n9|_+(1n113eH=V=zh}%@a;lxnAxgSw6`Px+H%UZ6RA>e5T4`)mMHK$pzU~EDT5Jo2mZfaAWeHF%i)F7Gt05>5h?pp=VU1{v zzz_Ig3`zhasAwWlgG~sg_(PC=rvZdQ5kV*|EwyxgbZ=?F`3C3ls?B|K-)qa#e#v`x z?#!8U&-Z5T%$akZ+kFAF0l2pTj*?AD^t>jHAcXntF!Qb)!edwh*%Wl&?efZ11+L->s*GL8{((GgydE8<%ea6 zI#;1H$e`Nb*<&gal&$7ve{BAwEajXrrTpfJ34@ zh3GoyUgGFAaq&#l*WN{0K{4|G%0|xlKQZ*Rap?2hAROAd16K||_|eJ=N{~2bD#~sb zOY+?Z_eWTCBszu$!y*=%y_dVqaT^J(Z*RbrWlFAAyFQ+bP<;{3gP{Gq2St0 zM2{STxEDv`ZcQC5-k!L)`>2g1^^tIJ_fT+TV<(S-r;it^%PL^aD@15?55y*o#Mzzu zv>r_xT_VauGtZN{=$|+onQ0erV9QUkOK^{HOkO@40p5Y=IXo8EPNt*adX8-C(klW{ z!(wE)rlJz5Yqy{{J5Sz^TQD615=UqgrH!=J=KdFEZIt0?DqK%Xm%6A^2egs48o`ig zR(7sY-$rf0kzM8e?dvyf^%1ds#lq@_OTQgQ>YB|c5+gQg*_%jO{uWAd@sN5?!Kf>pwg!U&Lp4S)BwA{<8ue||=G!p<_Zk{dQ&wrK4~Yy%Wyu{>SxU|E4O_N4f(Q&*L>Oo_OBH6+TAq%I1xZb?yl_l{H6Uo12VJqGnd z=IM*LaXJGmD^P~A3ZY^@C5o~htir0^=<3K;L!v=}4~;Z>2-~c;3UDXC2+;|HZK8!Y za^c&-ADzNN}GL$8_C{YJ>nE?agMldAG2s(qy zx}b68g{4TG`?^?JEz*U%cH%r@CMQVmh0<&eA#z`myK>}=+6knrc$AG1g_v?VK6|_< zZ+U`wcEa=0%b~ZUoC*@Bk@SKt?K_DJzaEvIk`_BVp)sT4v2ooRyPBqpT0|MHm_27{ z(;75tNsd#NCzhV^v9iaFw2LUr%$3vB-dWI4*GOdB)(u+8C@rGYyjVo$n=5YA$Wj+> zn1tFSBKJCQxELuV?=M>*LyYSFQC}JEWTs6Q+C(F|h0Cm#uHu%KV}{L4I#HV_4QJ|( zS*=G6+F&+~sQr#Aa&0Eb#QY>vcg$+FHdNZsnH;I9sjG-FKgrZxYffW6i_df>H%hxr zPhCY;U7z~Yz9PzNoA|SaJ>jSR?>F{jS$^vOQ1xHJyjOpbV~m*LQx&ai?Z3#mycjh_ z?s2ShYI}Jci8!*Uov5Q<=t*mDAJHdm#2ne%W=8ZMV~rUc0RI_p00000NkvXXu0mjf Dr@5po literal 0 HcmV?d00001 diff --git a/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-29x29@3x.png b/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-29x29@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..b137f9736abee0409dcf359a0e884a008fba9f3e GIT binary patch literal 3086 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 literal 0 HcmV?d00001 diff --git a/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-40x40@2x.png b/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..756f173195b4f2a8e91ee2a44d2a4c0136d4900e GIT binary patch literal 2777 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 literal 0 HcmV?d00001 diff --git a/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-40x40@3x.png b/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6a0f2cc1a60410431c2e59ac9ab25394e155bbe1 GIT binary patch literal 4616 zcmV+j68G(iP)Px`!bwCyRCodHT?celMHar4BtRfN^b(RlC`wrn3TtOOcbwq$m}Gzr)MTl|M$18f6qaS2$wcyBxh)$$b-T%~j8GblSJ zk8<!krgbZ7)~u-|MPUhm(@&qJ{Ra=z;iD%g zF)4*oPNq>#ZeFbb3keRQ=*}IfOKddt?B137^y*0++PAG04>Lw?P#-t^OH0dW=Z|}6 z)7G7|W7i(axNuR4Y+JRAq(L|Lr{P26DSlvoYTUSylJBTwTCV^;dMuH?Ub}(TuHQu2 z*|{p^;=(&LG?>PW8cuhN8A;u{b#Zxb)&SE342`1iw``{mm#v^<$CFGU$8K@4G;79G z8Zm4zHE7Vl6nXNL3DW{xR#ryq)^DbdKK_JKQqw%;->2cxQ61^Q=~HO*s03=%$ehi$ zDFNPp;4rhZep4A$_%Gz1IXF z^F!muj-t7b&7!c-5SeTZ@iGm-n^-^l!mDplUfyLx1@d*`pr97?!ZVN4aMnMYfqV{d zNlA%TYnOkz$_(<5mWOHg+^N-OKR-WdJnO>9rvRTlmqAZGyFgo@s7vO}o(2mhufH;% z+O}!sv#k0I;1g`cY0lhdDf3d6&kFC24@ZQD(L0M?p{{I&%opU7-K4$yexaFDuH+Z^qP#x&Cd!I3qwL-$uQt*66{DbhSI66h_4W6# zi}miJ*Qj6L8@-kluK|oc7fsdmRCC>-*gUWqEqU)vul31Z0T`p@=?~4lF8W+|pgM

D1RxX0Ml~q~7|V}V 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 Z{ttrrZ7MCk))D{!002ovPDHLkV1jht7u^5= literal 0 HcmV?d00001 diff --git a/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-57x57@3x.png b/YogaKit/YogaKitSample/YogaKitSample/Assets.xcassets/AppIcon.appiconset/Yoga-57x57@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..fc45f5f3694445dd1c3367d2c860e32d750a258b GIT binary patch literal 7126 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

D1RxX0Ml~q~7|V}V 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 yaS2$wcymxVs*{zs~i! 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 v*0;bfkv4s|^X>WP