mirror of
https://github.com/Instagram/IGListKit
synced 2026-05-22 00:38:42 +00:00
Created tvOS Example Pack
Summary: - Created a new workspace for tvOS examples w/ Cocoapods & dependency on IGListKit - Created a demo chooser across the same lines as the iOS equivalent - Duplicated the 'Nested Adapter' example from iOS pack to the tvOS example - Uses native navigation to get around, created focus/active states for cells - Updated `travis.yml` to optionally build tvOS example pack Note: Not added any imagery/icons/etc due to the much larger & different sizes required - If they're desired then someone with skills will need to provide them! Closes #138 Relates to #137 - [x] All tests pass. Demo project builds and runs. - [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md) Closes https://github.com/Instagram/IGListKit/pull/141 Differential Revision: D4189645 Pulled By: rnystrom fbshipit-source-id: 7a2b8e7a50ed2a9bbbf68d5f446a4e0077214ffa
This commit is contained in:
parent
204f7d5390
commit
19280d27b3
60 changed files with 2721 additions and 3 deletions
11
.travis.yml
11
.travis.yml
|
|
@ -30,8 +30,8 @@ env:
|
|||
|
||||
- DESTINATION="OS=10.0,name=iPhone 6s" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
|
||||
|
||||
- DESTINATION="OS=9.0,name=Apple TV 1080p" SDK="$TVOS_SDK" SCHEME="$TVOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO"
|
||||
- DESTINATION="OS=10.0,name=Apple TV 1080p" SDK="$TVOS_SDK" SCHEME="$TVOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO"
|
||||
- DESTINATION="OS=9.0,name=Apple TV 1080p" SDK="$TVOS_SDK" SCHEME="$TVOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="YES"
|
||||
- DESTINATION="OS=10.0,name=Apple TV 1080p" SDK="$TVOS_SDK" SCHEME="$TVOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO"
|
||||
|
||||
script:
|
||||
- if [ $POD_LINT == "YES" ]; then
|
||||
|
|
@ -39,11 +39,16 @@ script:
|
|||
fi
|
||||
|
||||
|
||||
- if [ $BUILD_EXAMPLE == "YES" ]; then
|
||||
- if [ $BUILD_EXAMPLE == "YES" ] && [ $SDK == $IOS_SDK ]; then
|
||||
xcodebuild build -workspace Example/IGListKitExamples.xcworkspace -scheme IGListKitExamples -sdk "$SDK" -destination "$DESTINATION" ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO | bundle exec xcpretty -c;
|
||||
fi
|
||||
|
||||
|
||||
- if [ $BUILD_EXAMPLE == "YES" ] && [ $SDK == $TVOS_SDK ]; then
|
||||
xcodebuild build -workspace Examples-tvOS/IGListKitExamples.xcworkspace -scheme IGListKitExamples -sdk "$SDK" -destination "$DESTINATION" ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO | bundle exec xcpretty -c;
|
||||
fi
|
||||
|
||||
|
||||
- if [ $RUN_TESTS == "YES" ]; then
|
||||
xcodebuild analyze test -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES ONLY_ACTIVE_ARCH=YES | bundle exec xcpretty -c;
|
||||
else
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ This release closes the [2.0.0 milestone](https://github.com/Instagram/IGListKit
|
|||
- Added support for cells created from storyboard. [Bofei Zhu](https://github.com/zhubofei) [(#92)](https://github.com/Instagram/IGListKit/pull/92)
|
||||
- Added examples for Today & iMessage extensions. [Sherlouk](https://github.com/Sherlouk) [(#112)](https://github.com/Instagram/IGListKit/pull/112)
|
||||
- Added `tvOS` support. [Jesse Squires](https://github.com/jessesquires) [(#137)](https://github.com/Instagram/IGListKit/pull/137)
|
||||
- Added `tvOS` example pack. [Sherlouk](https://github.com/Sherlouk) [(#141)](https://github.com/Instagram/IGListKit/pull/141)
|
||||
- Added new `-[IGListAdapter visibleObjects]` API. [Ryan Nystrom](https://github.com/rnystrom) [(386ae07)](https://github.com/Instagram/IGListKit/commit/386ae0786445c06e1eabf074a4181614332f155f)
|
||||
|
||||
1.0.0
|
||||
|
|
|
|||
425
Examples-tvOS/IGListKitExamples.xcodeproj/project.pbxproj
Normal file
425
Examples-tvOS/IGListKitExamples.xcodeproj/project.pbxproj
Normal file
|
|
@ -0,0 +1,425 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
618C8CB8BC69CB9C3F7048BF /* Pods_IGListKitExamples.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 49637028A90619543A9D9763 /* Pods_IGListKitExamples.framework */; };
|
||||
98ED5C1B1DC52AD400EA56B2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98ED5C1A1DC52AD400EA56B2 /* AppDelegate.swift */; };
|
||||
98ED5C1D1DC52AD400EA56B2 /* DemosViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98ED5C1C1DC52AD400EA56B2 /* DemosViewController.swift */; };
|
||||
98ED5C221DC52AD400EA56B2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 98ED5C211DC52AD400EA56B2 /* Assets.xcassets */; };
|
||||
98ED5C2D1DC52E7F00EA56B2 /* DemoSectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98ED5C2C1DC52E7F00EA56B2 /* DemoSectionController.swift */; };
|
||||
98ED5C2F1DC52F3B00EA56B2 /* DemoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98ED5C2E1DC52F3B00EA56B2 /* DemoCell.swift */; };
|
||||
98ED5C321DC53B4E00EA56B2 /* CarouselCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98ED5C301DC53B4E00EA56B2 /* CarouselCell.swift */; };
|
||||
98ED5C331DC53B4E00EA56B2 /* CarouselCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 98ED5C311DC53B4E00EA56B2 /* CarouselCell.xib */; };
|
||||
98ED5C351DC53C4000EA56B2 /* NestedAdapterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98ED5C341DC53C4000EA56B2 /* NestedAdapterViewController.swift */; };
|
||||
98ED5C371DC53CEE00EA56B2 /* LabelSectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98ED5C361DC53CEE00EA56B2 /* LabelSectionController.swift */; };
|
||||
98ED5C391DC53D0B00EA56B2 /* LabelCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98ED5C381DC53D0B00EA56B2 /* LabelCell.swift */; };
|
||||
98ED5C3B1DC53DD000EA56B2 /* HorizontalSectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98ED5C3A1DC53DD000EA56B2 /* HorizontalSectionController.swift */; };
|
||||
98ED5C3D1DC53E5600EA56B2 /* EmbeddedCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98ED5C3C1DC53E5600EA56B2 /* EmbeddedCollectionViewCell.swift */; };
|
||||
98ED5C3F1DC53EB200EA56B2 /* CarouselSectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98ED5C3E1DC53EB200EA56B2 /* CarouselSectionController.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
4950DE37F34745C8EAB44EFC /* Pods-IGListKitExamples.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IGListKitExamples.debug.xcconfig"; path = "Pods/Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
49637028A90619543A9D9763 /* Pods_IGListKitExamples.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_IGListKitExamples.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
72D71D21D706627594BBA17D /* Pods-IGListKitExamples.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-IGListKitExamples.release.xcconfig"; path = "Pods/Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples.release.xcconfig"; sourceTree = "<group>"; };
|
||||
98ED5C171DC52AD400EA56B2 /* IGListKitExamples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = IGListKitExamples.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
98ED5C1A1DC52AD400EA56B2 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
98ED5C1C1DC52AD400EA56B2 /* DemosViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = DemosViewController.swift; path = ViewControllers/DemosViewController.swift; sourceTree = "<group>"; };
|
||||
98ED5C211DC52AD400EA56B2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
98ED5C231DC52AD400EA56B2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
98ED5C2C1DC52E7F00EA56B2 /* DemoSectionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DemoSectionController.swift; path = SectionControllers/DemoSectionController.swift; sourceTree = "<group>"; };
|
||||
98ED5C2E1DC52F3B00EA56B2 /* DemoCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DemoCell.swift; path = Views/DemoCell.swift; sourceTree = "<group>"; };
|
||||
98ED5C301DC53B4E00EA56B2 /* CarouselCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CarouselCell.swift; path = Views/CarouselCell.swift; sourceTree = "<group>"; };
|
||||
98ED5C311DC53B4E00EA56B2 /* CarouselCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = CarouselCell.xib; path = Views/CarouselCell.xib; sourceTree = "<group>"; };
|
||||
98ED5C341DC53C4000EA56B2 /* NestedAdapterViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = NestedAdapterViewController.swift; path = ViewControllers/NestedAdapterViewController.swift; sourceTree = "<group>"; };
|
||||
98ED5C361DC53CEE00EA56B2 /* LabelSectionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LabelSectionController.swift; path = SectionControllers/LabelSectionController.swift; sourceTree = "<group>"; };
|
||||
98ED5C381DC53D0B00EA56B2 /* LabelCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LabelCell.swift; path = Views/LabelCell.swift; sourceTree = "<group>"; };
|
||||
98ED5C3A1DC53DD000EA56B2 /* HorizontalSectionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = HorizontalSectionController.swift; path = SectionControllers/HorizontalSectionController.swift; sourceTree = "<group>"; };
|
||||
98ED5C3C1DC53E5600EA56B2 /* EmbeddedCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = EmbeddedCollectionViewCell.swift; path = Views/EmbeddedCollectionViewCell.swift; sourceTree = "<group>"; };
|
||||
98ED5C3E1DC53EB200EA56B2 /* CarouselSectionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CarouselSectionController.swift; path = SectionControllers/CarouselSectionController.swift; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
98ED5C141DC52AD400EA56B2 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
618C8CB8BC69CB9C3F7048BF /* Pods_IGListKitExamples.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
4183AACA1B0BA7A44D6D4D73 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
49637028A90619543A9D9763 /* Pods_IGListKitExamples.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
98ED5C0E1DC52AD300EA56B2 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
98ED5C191DC52AD400EA56B2 /* IGListKitExamples */,
|
||||
98ED5C181DC52AD400EA56B2 /* Products */,
|
||||
A9D83C52A5CD4F0EA0808470 /* Pods */,
|
||||
4183AACA1B0BA7A44D6D4D73 /* Frameworks */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
98ED5C181DC52AD400EA56B2 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
98ED5C171DC52AD400EA56B2 /* IGListKitExamples.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
98ED5C191DC52AD400EA56B2 /* IGListKitExamples */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
98ED5C1A1DC52AD400EA56B2 /* AppDelegate.swift */,
|
||||
98ED5C211DC52AD400EA56B2 /* Assets.xcassets */,
|
||||
98ED5C231DC52AD400EA56B2 /* Info.plist */,
|
||||
98ED5C2B1DC52E6200EA56B2 /* SectionControllers */,
|
||||
98ED5C291DC52B2400EA56B2 /* ViewControllers */,
|
||||
98ED5C2A1DC52B2900EA56B2 /* Views */,
|
||||
);
|
||||
path = IGListKitExamples;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
98ED5C291DC52B2400EA56B2 /* ViewControllers */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
98ED5C1C1DC52AD400EA56B2 /* DemosViewController.swift */,
|
||||
98ED5C341DC53C4000EA56B2 /* NestedAdapterViewController.swift */,
|
||||
);
|
||||
name = ViewControllers;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
98ED5C2A1DC52B2900EA56B2 /* Views */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
98ED5C301DC53B4E00EA56B2 /* CarouselCell.swift */,
|
||||
98ED5C311DC53B4E00EA56B2 /* CarouselCell.xib */,
|
||||
98ED5C2E1DC52F3B00EA56B2 /* DemoCell.swift */,
|
||||
98ED5C381DC53D0B00EA56B2 /* LabelCell.swift */,
|
||||
98ED5C3C1DC53E5600EA56B2 /* EmbeddedCollectionViewCell.swift */,
|
||||
);
|
||||
name = Views;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
98ED5C2B1DC52E6200EA56B2 /* SectionControllers */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
98ED5C2C1DC52E7F00EA56B2 /* DemoSectionController.swift */,
|
||||
98ED5C361DC53CEE00EA56B2 /* LabelSectionController.swift */,
|
||||
98ED5C3A1DC53DD000EA56B2 /* HorizontalSectionController.swift */,
|
||||
98ED5C3E1DC53EB200EA56B2 /* CarouselSectionController.swift */,
|
||||
);
|
||||
name = SectionControllers;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A9D83C52A5CD4F0EA0808470 /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4950DE37F34745C8EAB44EFC /* Pods-IGListKitExamples.debug.xcconfig */,
|
||||
72D71D21D706627594BBA17D /* Pods-IGListKitExamples.release.xcconfig */,
|
||||
);
|
||||
name = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
98ED5C161DC52AD400EA56B2 /* IGListKitExamples */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 98ED5C261DC52AD400EA56B2 /* Build configuration list for PBXNativeTarget "IGListKitExamples" */;
|
||||
buildPhases = (
|
||||
FAB2A39CE5E1DA934A22C966 /* [CP] Check Pods Manifest.lock */,
|
||||
98ED5C131DC52AD400EA56B2 /* Sources */,
|
||||
98ED5C141DC52AD400EA56B2 /* Frameworks */,
|
||||
98ED5C151DC52AD400EA56B2 /* Resources */,
|
||||
BADF017CDC470DE253EA4778 /* [CP] Embed Pods Frameworks */,
|
||||
5BE912CD671FF6E4CC50620C /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = IGListKitExamples;
|
||||
productName = IGListKitExamples;
|
||||
productReference = 98ED5C171DC52AD400EA56B2 /* IGListKitExamples.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
98ED5C0F1DC52AD300EA56B2 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 0810;
|
||||
LastUpgradeCheck = 0810;
|
||||
ORGANIZATIONNAME = Instagram;
|
||||
TargetAttributes = {
|
||||
98ED5C161DC52AD400EA56B2 = {
|
||||
CreatedOnToolsVersion = 8.1;
|
||||
ProvisioningStyle = Manual;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 98ED5C121DC52AD300EA56B2 /* Build configuration list for PBXProject "IGListKitExamples" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 98ED5C0E1DC52AD300EA56B2;
|
||||
productRefGroup = 98ED5C181DC52AD400EA56B2 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
98ED5C161DC52AD400EA56B2 /* IGListKitExamples */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
98ED5C151DC52AD400EA56B2 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
98ED5C221DC52AD400EA56B2 /* Assets.xcassets in Resources */,
|
||||
98ED5C331DC53B4E00EA56B2 /* CarouselCell.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
5BE912CD671FF6E4CC50620C /* [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-IGListKitExamples/Pods-IGListKitExamples-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
BADF017CDC470DE253EA4778 /* [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-IGListKitExamples/Pods-IGListKitExamples-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
FAB2A39CE5E1DA934A22C966 /* [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;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
98ED5C131DC52AD400EA56B2 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
98ED5C1D1DC52AD400EA56B2 /* DemosViewController.swift in Sources */,
|
||||
98ED5C1B1DC52AD400EA56B2 /* AppDelegate.swift in Sources */,
|
||||
98ED5C391DC53D0B00EA56B2 /* LabelCell.swift in Sources */,
|
||||
98ED5C2F1DC52F3B00EA56B2 /* DemoCell.swift in Sources */,
|
||||
98ED5C3F1DC53EB200EA56B2 /* CarouselSectionController.swift in Sources */,
|
||||
98ED5C2D1DC52E7F00EA56B2 /* DemoSectionController.swift in Sources */,
|
||||
98ED5C321DC53B4E00EA56B2 /* CarouselCell.swift in Sources */,
|
||||
98ED5C3D1DC53E5600EA56B2 /* EmbeddedCollectionViewCell.swift in Sources */,
|
||||
98ED5C371DC53CEE00EA56B2 /* LabelSectionController.swift in Sources */,
|
||||
98ED5C351DC53C4000EA56B2 /* NestedAdapterViewController.swift in Sources */,
|
||||
98ED5C3B1DC53DD000EA56B2 /* HorizontalSectionController.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
98ED5C241DC52AD400EA56B2 /* 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_MOVES = YES;
|
||||
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 = 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;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = appletvos;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
TVOS_DEPLOYMENT_TARGET = 10.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
98ED5C251DC52AD400EA56B2 /* 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_MOVES = YES;
|
||||
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 = 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;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = appletvos;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
TVOS_DEPLOYMENT_TARGET = 10.0;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
98ED5C271DC52AD400EA56B2 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 4950DE37F34745C8EAB44EFC /* Pods-IGListKitExamples.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
INFOPLIST_FILE = IGListKitExamples/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListKitExamples;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 3.0;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
98ED5C281DC52AD400EA56B2 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 72D71D21D706627594BBA17D /* Pods-IGListKitExamples.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
INFOPLIST_FILE = IGListKitExamples/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListKitExamples;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 3.0;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
98ED5C121DC52AD300EA56B2 /* Build configuration list for PBXProject "IGListKitExamples" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
98ED5C241DC52AD400EA56B2 /* Debug */,
|
||||
98ED5C251DC52AD400EA56B2 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
98ED5C261DC52AD400EA56B2 /* Build configuration list for PBXNativeTarget "IGListKitExamples" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
98ED5C271DC52AD400EA56B2 /* Debug */,
|
||||
98ED5C281DC52AD400EA56B2 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 98ED5C0F1DC52AD300EA56B2 /* Project object */;
|
||||
}
|
||||
7
Examples-tvOS/IGListKitExamples.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
7
Examples-tvOS/IGListKitExamples.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:IGListKitExamples.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0810"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "98ED5C161DC52AD400EA56B2"
|
||||
BuildableName = "IGListKitExamples.app"
|
||||
BlueprintName = "IGListKitExamples"
|
||||
ReferencedContainer = "container:IGListKitExamples.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "98ED5C161DC52AD400EA56B2"
|
||||
BuildableName = "IGListKitExamples.app"
|
||||
BlueprintName = "IGListKitExamples"
|
||||
ReferencedContainer = "container:IGListKitExamples.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 = "98ED5C161DC52AD400EA56B2"
|
||||
BuildableName = "IGListKitExamples.app"
|
||||
BlueprintName = "IGListKitExamples"
|
||||
ReferencedContainer = "container:IGListKitExamples.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "98ED5C161DC52AD400EA56B2"
|
||||
BuildableName = "IGListKitExamples.app"
|
||||
BlueprintName = "IGListKitExamples"
|
||||
ReferencedContainer = "container:IGListKitExamples.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
10
Examples-tvOS/IGListKitExamples.xcworkspace/contents.xcworkspacedata
generated
Normal file
10
Examples-tvOS/IGListKitExamples.xcworkspace/contents.xcworkspacedata
generated
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "group:IGListKitExamples.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:Pods/Pods.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
29
Examples-tvOS/IGListKitExamples/AppDelegate.swift
Normal file
29
Examples-tvOS/IGListKitExamples/AppDelegate.swift
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
/**
|
||||
Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
|
||||
|
||||
The examples provided by Facebook are for non-commercial testing and evaluation
|
||||
purposes only. Facebook reserves all rights not expressly granted.
|
||||
|
||||
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
|
||||
FACEBOOK 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 UIKit
|
||||
|
||||
@UIApplicationMain
|
||||
class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
|
||||
var window: UIWindow?
|
||||
|
||||
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
|
||||
window = UIWindow(frame: UIScreen.main.bounds)
|
||||
window?.rootViewController = UINavigationController(rootViewController: DemosViewController())
|
||||
window?.makeKeyAndVisible()
|
||||
return true
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "tv",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"layers" : [
|
||||
{
|
||||
"filename" : "Front.imagestacklayer"
|
||||
},
|
||||
{
|
||||
"filename" : "Middle.imagestacklayer"
|
||||
},
|
||||
{
|
||||
"filename" : "Back.imagestacklayer"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "tv",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "tv",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "tv",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"layers" : [
|
||||
{
|
||||
"filename" : "Front.imagestacklayer"
|
||||
},
|
||||
{
|
||||
"filename" : "Middle.imagestacklayer"
|
||||
},
|
||||
{
|
||||
"filename" : "Back.imagestacklayer"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "tv",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "tv",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"assets" : [
|
||||
{
|
||||
"size" : "1280x768",
|
||||
"idiom" : "tv",
|
||||
"filename" : "App Icon - Large.imagestack",
|
||||
"role" : "primary-app-icon"
|
||||
},
|
||||
{
|
||||
"size" : "400x240",
|
||||
"idiom" : "tv",
|
||||
"filename" : "App Icon - Small.imagestack",
|
||||
"role" : "primary-app-icon"
|
||||
},
|
||||
{
|
||||
"size" : "2320x720",
|
||||
"idiom" : "tv",
|
||||
"filename" : "Top Shelf Image Wide.imageset",
|
||||
"role" : "top-shelf-image-wide"
|
||||
},
|
||||
{
|
||||
"size" : "1920x720",
|
||||
"idiom" : "tv",
|
||||
"filename" : "Top Shelf Image.imageset",
|
||||
"role" : "top-shelf-image"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "tv",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "tv",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "tv",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "9.0",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
32
Examples-tvOS/IGListKitExamples/Info.plist
Normal file
32
Examples-tvOS/IGListKitExamples/Info.plist
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?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>CFBundleDisplayName</key>
|
||||
<string>IGListKit</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>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
</array>
|
||||
<key>UIUserInterfaceStyle</key>
|
||||
<string>Automatic</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
/**
|
||||
Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
|
||||
|
||||
The examples provided by Facebook are for non-commercial testing and evaluation
|
||||
purposes only. Facebook reserves all rights not expressly granted.
|
||||
|
||||
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
|
||||
FACEBOOK 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 UIKit
|
||||
import IGListKit
|
||||
|
||||
final class CarouselSectionController: IGListSectionController, IGListSectionType {
|
||||
|
||||
var number: Int?
|
||||
|
||||
override init() {
|
||||
super.init()
|
||||
self.inset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 10)
|
||||
}
|
||||
|
||||
func numberOfItems() -> Int {
|
||||
return 1
|
||||
}
|
||||
|
||||
func sizeForItem(at index: Int) -> CGSize {
|
||||
let height = collectionContext?.containerSize.height ?? 0
|
||||
let aspectRatio: CGFloat = 0.75 // 3:4
|
||||
let width = height * aspectRatio
|
||||
|
||||
return CGSize(width: width, height: height)
|
||||
}
|
||||
|
||||
func cellForItem(at index: Int) -> UICollectionViewCell {
|
||||
let cell = collectionContext!.dequeueReusableCell(withNibName: "CarouselCell", bundle: nil, for: self, at: index) as! CarouselCell
|
||||
let value = number ?? 0
|
||||
cell.titleLabel.text = "#\(value + 1)"
|
||||
return cell
|
||||
}
|
||||
|
||||
func didUpdate(to object: Any) {
|
||||
number = object as? Int
|
||||
}
|
||||
|
||||
func didSelectItem(at index: Int) {}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
/**
|
||||
Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
|
||||
|
||||
The examples provided by Facebook are for non-commercial testing and evaluation
|
||||
purposes only. Facebook reserves all rights not expressly granted.
|
||||
|
||||
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
|
||||
FACEBOOK 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 UIKit
|
||||
import IGListKit
|
||||
|
||||
final class DemoItem: NSObject {
|
||||
|
||||
let name: String
|
||||
let controllerClass: UIViewController.Type
|
||||
let controllerIdentifier: String?
|
||||
|
||||
init(name: String,
|
||||
controllerClass: UIViewController.Type,
|
||||
controllerIdentifier: String? = nil) {
|
||||
self.name = name
|
||||
self.controllerClass = controllerClass
|
||||
self.controllerIdentifier = controllerIdentifier
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
final class DemoSectionController: IGListSectionController, IGListSectionType {
|
||||
|
||||
var object: DemoItem?
|
||||
|
||||
override init() {
|
||||
super.init()
|
||||
inset = UIEdgeInsets(top: 0, left: 50, bottom: 10, right: 0)
|
||||
}
|
||||
|
||||
func numberOfItems() -> Int {
|
||||
return 1
|
||||
}
|
||||
|
||||
func sizeForItem(at index: Int) -> CGSize {
|
||||
let itemWidth = (collectionContext!.containerSize.width / 2) - inset.left
|
||||
return CGSize(width: itemWidth, height: 100)
|
||||
}
|
||||
|
||||
func cellForItem(at index: Int) -> UICollectionViewCell {
|
||||
let cell = collectionContext!.dequeueReusableCell(of: DemoCell.self, for: self, at: index) as! DemoCell
|
||||
cell.label.text = object?.name
|
||||
return cell
|
||||
}
|
||||
|
||||
func didUpdate(to object: Any) {
|
||||
self.object = object as? DemoItem
|
||||
}
|
||||
|
||||
func didSelectItem(at index: Int) {
|
||||
if let identifier = object?.controllerIdentifier {
|
||||
let storyboard = UIStoryboard(name: "Demo", bundle: nil)
|
||||
let controller = storyboard.instantiateViewController(withIdentifier: identifier)
|
||||
controller.title = object?.name
|
||||
viewController?.navigationController?.pushViewController(controller, animated: true)
|
||||
} else if let controller = object?.controllerClass.init() {
|
||||
controller.title = object?.name
|
||||
viewController?.navigationController?.pushViewController(controller, animated: true)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
/**
|
||||
Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
|
||||
|
||||
The examples provided by Facebook are for non-commercial testing and evaluation
|
||||
purposes only. Facebook reserves all rights not expressly granted.
|
||||
|
||||
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
|
||||
FACEBOOK 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 UIKit
|
||||
import IGListKit
|
||||
|
||||
final class HorizontalSectionController: IGListSectionController, IGListSectionType, IGListAdapterDataSource {
|
||||
|
||||
var number: Int?
|
||||
|
||||
lazy var adapter: IGListAdapter = {
|
||||
let adapter = IGListAdapter(updater: IGListAdapterUpdater(),
|
||||
viewController: self.viewController,
|
||||
workingRangeSize: 0)
|
||||
adapter.dataSource = self
|
||||
return adapter
|
||||
}()
|
||||
|
||||
override init() {
|
||||
super.init()
|
||||
self.inset = UIEdgeInsets(top: 20, left: 0, bottom: 20, right: 0)
|
||||
}
|
||||
|
||||
func numberOfItems() -> Int {
|
||||
return 1
|
||||
}
|
||||
|
||||
func sizeForItem(at index: Int) -> CGSize {
|
||||
return CGSize(width: collectionContext!.containerSize.width, height: 340)
|
||||
}
|
||||
|
||||
func cellForItem(at index: Int) -> UICollectionViewCell {
|
||||
let cell = collectionContext!.dequeueReusableCell(of: EmbeddedCollectionViewCell.self, for: self, at: index) as! EmbeddedCollectionViewCell
|
||||
adapter.collectionView = cell.collectionView
|
||||
return cell
|
||||
}
|
||||
|
||||
func didUpdate(to object: Any) {
|
||||
number = object as? Int
|
||||
}
|
||||
|
||||
func didSelectItem(at index: Int) {}
|
||||
|
||||
// MARK: IGListAdapterDataSource
|
||||
|
||||
func objects(for listAdapter: IGListAdapter) -> [IGListDiffable] {
|
||||
guard let number = number else { return [] }
|
||||
return (0..<number).map { $0 as IGListDiffable }
|
||||
}
|
||||
|
||||
func listAdapter(_ listAdapter: IGListAdapter, sectionControllerFor object: Any) -> IGListSectionController {
|
||||
return CarouselSectionController()
|
||||
}
|
||||
|
||||
func emptyView(for listAdapter: IGListAdapter) -> UIView? { return nil }
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
/**
|
||||
Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
|
||||
|
||||
The examples provided by Facebook are for non-commercial testing and evaluation
|
||||
purposes only. Facebook reserves all rights not expressly granted.
|
||||
|
||||
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
|
||||
FACEBOOK 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 UIKit
|
||||
import IGListKit
|
||||
|
||||
final class LabelSectionController: IGListSectionController, IGListSectionType {
|
||||
|
||||
var object: String?
|
||||
|
||||
func numberOfItems() -> Int {
|
||||
return 1
|
||||
}
|
||||
|
||||
func sizeForItem(at index: Int) -> CGSize {
|
||||
return CGSize(width: collectionContext!.containerSize.width, height: 55)
|
||||
}
|
||||
|
||||
func cellForItem(at index: Int) -> UICollectionViewCell {
|
||||
let cell = collectionContext!.dequeueReusableCell(of: LabelCell.self, for: self, at: index) as! LabelCell
|
||||
cell.label.text = object
|
||||
return cell
|
||||
}
|
||||
|
||||
func didUpdate(to object: Any) {
|
||||
self.object = String(describing: object)
|
||||
}
|
||||
|
||||
func didSelectItem(at index: Int) {}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
/**
|
||||
Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
|
||||
|
||||
The examples provided by Facebook are for non-commercial testing and evaluation
|
||||
purposes only. Facebook reserves all rights not expressly granted.
|
||||
|
||||
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
|
||||
FACEBOOK 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 UIKit
|
||||
import IGListKit
|
||||
|
||||
final class DemosViewController: UIViewController, IGListAdapterDataSource {
|
||||
|
||||
lazy var adapter: IGListAdapter = {
|
||||
return IGListAdapter(updater: IGListAdapterUpdater(), viewController: self, workingRangeSize: 0)
|
||||
}()
|
||||
let collectionView = IGListCollectionView(frame: .zero, collectionViewLayout: UICollectionViewFlowLayout())
|
||||
|
||||
let demos: [DemoItem] = [
|
||||
DemoItem(name: "Nested Adapter", controllerClass: NestedAdapterViewController.self)
|
||||
]
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
title = "Demo Chooser"
|
||||
collectionView.backgroundColor = .clear
|
||||
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 demos
|
||||
}
|
||||
|
||||
func listAdapter(_ listAdapter: IGListAdapter, sectionControllerFor object: Any) -> IGListSectionController {
|
||||
return DemoSectionController()
|
||||
}
|
||||
|
||||
func emptyView(for listAdapter: IGListAdapter) -> UIView? { return nil }
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
/**
|
||||
Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
|
||||
|
||||
The examples provided by Facebook are for non-commercial testing and evaluation
|
||||
purposes only. Facebook reserves all rights not expressly granted.
|
||||
|
||||
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
|
||||
FACEBOOK 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 UIKit
|
||||
import IGListKit
|
||||
|
||||
final class NestedAdapterViewController: UIViewController, IGListAdapterDataSource {
|
||||
|
||||
lazy var adapter: IGListAdapter = {
|
||||
return IGListAdapter(updater: IGListAdapterUpdater(), viewController: self, workingRangeSize: 0)
|
||||
}()
|
||||
let collectionView = IGListCollectionView(frame: .zero, collectionViewLayout: UICollectionViewFlowLayout())
|
||||
|
||||
let data = [
|
||||
"Most Recent",
|
||||
10,
|
||||
"Recently Watched",
|
||||
16,
|
||||
"New Arrivals",
|
||||
20
|
||||
] as [Any]
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
collectionView.backgroundColor = .clear
|
||||
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 data as! [IGListDiffable]
|
||||
}
|
||||
|
||||
func listAdapter(_ listAdapter: IGListAdapter, sectionControllerFor object: Any) -> IGListSectionController {
|
||||
if object is Int {
|
||||
return HorizontalSectionController()
|
||||
}
|
||||
|
||||
return LabelSectionController()
|
||||
}
|
||||
|
||||
func emptyView(for listAdapter: IGListAdapter) -> UIView? { return nil }
|
||||
|
||||
}
|
||||
|
||||
20
Examples-tvOS/IGListKitExamples/Views/CarouselCell.swift
Normal file
20
Examples-tvOS/IGListKitExamples/Views/CarouselCell.swift
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
//
|
||||
// CarouselCell.swift
|
||||
// IGListKitExamples
|
||||
//
|
||||
// Created by Sherlock, James (Apprentice Software Developer) on 29/10/2016.
|
||||
// Copyright © 2016 Instagram. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
final class CarouselCell: UICollectionViewCell {
|
||||
@IBOutlet weak var titleLabel: UILabel!
|
||||
|
||||
override func didUpdateFocus(in context: UIFocusUpdateContext, with coordinator: UIFocusAnimationCoordinator) {
|
||||
let normalColor = UIColor(red: 174/255.0, green: 198/255.0, blue: 207/255.0, alpha: 1)
|
||||
let focusColor = UIColor(red: 117/255.0, green: 155/255.0, blue: 169/255.0, alpha: 1)
|
||||
|
||||
backgroundColor = isFocused ? focusColor : normalColor
|
||||
}
|
||||
}
|
||||
40
Examples-tvOS/IGListKitExamples/Views/CarouselCell.xib
Normal file
40
Examples-tvOS/IGListKitExamples/Views/CarouselCell.xib
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder.AppleTV.XIB" version="3.0" toolsVersion="11535.1" systemVersion="15G31" targetRuntime="AppleTV" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<device id="appleTV" orientation="landscape">
|
||||
<adaptation id="light"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11523"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<collectionViewCell opaque="NO" multipleTouchEnabled="YES" contentMode="center" id="Rz2-K0-ksD" customClass="CarouselCell" customModule="IGListKitExamples" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="117" height="156"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
|
||||
<rect key="frame" x="0.0" y="0.0" width="117" height="156"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="#1" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Gaz-SF-Koj">
|
||||
<rect key="frame" x="0.0" y="0.0" width="117" height="156"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="50"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</view>
|
||||
<color key="backgroundColor" red="0.68235294117647061" green="0.77647058823529413" blue="0.81176470588235294" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="Gaz-SF-Koj" firstAttribute="top" secondItem="Rz2-K0-ksD" secondAttribute="top" id="asP-B0-EN2"/>
|
||||
<constraint firstItem="Gaz-SF-Koj" firstAttribute="leading" secondItem="Rz2-K0-ksD" secondAttribute="leading" id="che-iF-Aui"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Gaz-SF-Koj" secondAttribute="trailing" id="gnO-2r-8Zr"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Gaz-SF-Koj" secondAttribute="bottom" id="mFh-Xf-q3J"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<outlet property="titleLabel" destination="Gaz-SF-Koj" id="xO4-09-xqC"/>
|
||||
</connections>
|
||||
</collectionViewCell>
|
||||
</objects>
|
||||
</document>
|
||||
41
Examples-tvOS/IGListKitExamples/Views/DemoCell.swift
Normal file
41
Examples-tvOS/IGListKitExamples/Views/DemoCell.swift
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
/**
|
||||
Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
|
||||
|
||||
The examples provided by Facebook are for non-commercial testing and evaluation
|
||||
purposes only. Facebook reserves all rights not expressly granted.
|
||||
|
||||
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
|
||||
FACEBOOK 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 UIKit
|
||||
|
||||
final class DemoCell: UICollectionViewCell {
|
||||
|
||||
lazy var label: UILabel = {
|
||||
let view = UILabel()
|
||||
view.textColor = .black
|
||||
view.font = .boldSystemFont(ofSize: 35)
|
||||
self.contentView.addSubview(view)
|
||||
return view
|
||||
}()
|
||||
|
||||
override func layoutSubviews() {
|
||||
super.layoutSubviews()
|
||||
contentView.backgroundColor = UIColor.white.withAlphaComponent(0.3)
|
||||
label.frame = contentView.bounds.insetBy(dx: 32, dy: 16)
|
||||
}
|
||||
|
||||
override func didUpdateFocus(in context: UIFocusUpdateContext, with coordinator: UIFocusAnimationCoordinator) {
|
||||
let newBackgroundOpacity: CGFloat = isFocused ? 0.6 : 0.3
|
||||
let newFontSize: CGFloat = isFocused ? 50 : 35
|
||||
|
||||
contentView.backgroundColor = UIColor.white.withAlphaComponent(newBackgroundOpacity)
|
||||
label.font = .boldSystemFont(ofSize: newFontSize)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
/**
|
||||
Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
|
||||
|
||||
The examples provided by Facebook are for non-commercial testing and evaluation
|
||||
purposes only. Facebook reserves all rights not expressly granted.
|
||||
|
||||
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
|
||||
FACEBOOK 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 UIKit
|
||||
import IGListKit
|
||||
|
||||
final class EmbeddedCollectionViewCell: UICollectionViewCell {
|
||||
|
||||
lazy var collectionView: IGListCollectionView = {
|
||||
let layout = UICollectionViewFlowLayout()
|
||||
layout.scrollDirection = .horizontal
|
||||
let view = IGListCollectionView(frame: .zero, collectionViewLayout: layout)
|
||||
view.backgroundColor = .clear
|
||||
view.alwaysBounceVertical = false
|
||||
view.alwaysBounceHorizontal = true
|
||||
self.contentView.addSubview(view)
|
||||
return view
|
||||
}()
|
||||
|
||||
override func layoutSubviews() {
|
||||
super.layoutSubviews()
|
||||
collectionView.frame = contentView.frame
|
||||
}
|
||||
|
||||
override var preferredFocusedView: UIView? {
|
||||
get {
|
||||
return collectionView
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
65
Examples-tvOS/IGListKitExamples/Views/LabelCell.swift
Normal file
65
Examples-tvOS/IGListKitExamples/Views/LabelCell.swift
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
/**
|
||||
Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
|
||||
|
||||
The examples provided by Facebook are for non-commercial testing and evaluation
|
||||
purposes only. Facebook reserves all rights not expressly granted.
|
||||
|
||||
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
|
||||
FACEBOOK 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 UIKit
|
||||
|
||||
final class LabelCell: UICollectionViewCell {
|
||||
|
||||
fileprivate static let insets = UIEdgeInsets(top: 8, left: 15, bottom: 8, right: 15)
|
||||
fileprivate static let font = UIFont.systemFont(ofSize: 40)
|
||||
|
||||
static var singleLineHeight: CGFloat {
|
||||
return font.lineHeight + insets.top + insets.bottom
|
||||
}
|
||||
|
||||
static func textHeight(_ text: String, width: CGFloat) -> CGFloat {
|
||||
let constrainedSize = CGSize(width: width - insets.left - insets.right, height: CGFloat.greatestFiniteMagnitude)
|
||||
let attributes = [ NSFontAttributeName: font ]
|
||||
let options: NSStringDrawingOptions = [.usesFontLeading, .usesLineFragmentOrigin]
|
||||
let bounds = (text as NSString).boundingRect(with: constrainedSize, options: options, attributes: attributes, context: nil)
|
||||
return ceil(bounds.height) + insets.top + insets.bottom
|
||||
}
|
||||
|
||||
lazy var label: UILabel = {
|
||||
let label = UILabel()
|
||||
label.backgroundColor = .clear
|
||||
label.numberOfLines = 1
|
||||
label.font = LabelCell.font
|
||||
self.contentView.addSubview(label)
|
||||
return label
|
||||
}()
|
||||
|
||||
lazy var separator: CALayer = {
|
||||
let layer = CALayer()
|
||||
layer.backgroundColor = UIColor(red: 200/255.0, green: 199/255.0, blue: 204/255.0, alpha: 1).cgColor
|
||||
self.contentView.layer.addSublayer(layer)
|
||||
return layer
|
||||
}()
|
||||
|
||||
override func layoutSubviews() {
|
||||
super.layoutSubviews()
|
||||
let bounds = contentView.bounds
|
||||
label.frame = UIEdgeInsetsInsetRect(bounds, LabelCell.insets)
|
||||
let height: CGFloat = 0.5
|
||||
let left = LabelCell.insets.left
|
||||
separator.frame = CGRect(x: left, y: bounds.height - height, width: bounds.width - left, height: height)
|
||||
}
|
||||
|
||||
override var canBecomeFocused: Bool {
|
||||
get {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
11
Examples-tvOS/LICENSE-examples.md
Normal file
11
Examples-tvOS/LICENSE-examples.md
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
|
||||
|
||||
The examples provided by Facebook are for non-commercial testing and evaluation
|
||||
purposes only. Facebook reserves all rights not expressly granted.
|
||||
|
||||
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
|
||||
FACEBOOK 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.
|
||||
5
Examples-tvOS/Podfile
Normal file
5
Examples-tvOS/Podfile
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
use_frameworks!
|
||||
|
||||
target 'IGListKitExamples' do
|
||||
pod 'IGListKit', :path => '../IGListKit.podspec'
|
||||
end
|
||||
16
Examples-tvOS/Podfile.lock
Normal file
16
Examples-tvOS/Podfile.lock
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
PODS:
|
||||
- IGListKit (1.0.0)
|
||||
|
||||
DEPENDENCIES:
|
||||
- IGListKit (from `../IGListKit.podspec`)
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
IGListKit:
|
||||
:path: ../IGListKit.podspec
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
IGListKit: a534a917b574ec56697390ef182f125ccff2145b
|
||||
|
||||
PODFILE CHECKSUM: 4bdfb42d1e7b2b121bf8c83bc300d7d77aa0fc3a
|
||||
|
||||
COCOAPODS: 1.1.1
|
||||
31
Examples-tvOS/Pods/Local Podspecs/IGListKit.podspec.json
generated
Normal file
31
Examples-tvOS/Pods/Local Podspecs/IGListKit.podspec.json
generated
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"name": "IGListKit",
|
||||
"version": "1.0.0",
|
||||
"summary": "A data-driven UICollectionView framework.",
|
||||
"homepage": "https://github.com/Instagram/IGListKit",
|
||||
"documentation_url": "https://instagram.github.io/IGListKit",
|
||||
"description": "A data-driven UICollectionView framework for building fast and flexible lists.",
|
||||
"license": {
|
||||
"type": "BSD"
|
||||
},
|
||||
"authors": "Instagram",
|
||||
"social_media_url": "https://twitter.com/fbOpenSource",
|
||||
"source": {
|
||||
"git": "https://github.com/Instagram/IGListKit.git",
|
||||
"tag": "1.0.0",
|
||||
"branch": "stable"
|
||||
},
|
||||
"source_files": "Source/**/*.{h,m,mm}",
|
||||
"private_header_files": "Source/Internal/*.h",
|
||||
"requires_arc": true,
|
||||
"platforms": {
|
||||
"ios": "8.0",
|
||||
"tvos": "9.0"
|
||||
},
|
||||
"frameworks": "UIKit",
|
||||
"libraries": "c++",
|
||||
"pod_target_xcconfig": {
|
||||
"CLANG_CXX_LANGUAGE_STANDARD": "c++11",
|
||||
"CLANG_CXX_LIBRARY": "libc++"
|
||||
}
|
||||
}
|
||||
16
Examples-tvOS/Pods/Manifest.lock
generated
Normal file
16
Examples-tvOS/Pods/Manifest.lock
generated
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
PODS:
|
||||
- IGListKit (1.0.0)
|
||||
|
||||
DEPENDENCIES:
|
||||
- IGListKit (from `../IGListKit.podspec`)
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
IGListKit:
|
||||
:path: ../IGListKit.podspec
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
IGListKit: a534a917b574ec56697390ef182f125ccff2145b
|
||||
|
||||
PODFILE CHECKSUM: 4bdfb42d1e7b2b121bf8c83bc300d7d77aa0fc3a
|
||||
|
||||
COCOAPODS: 1.1.1
|
||||
802
Examples-tvOS/Pods/Pods.xcodeproj/project.pbxproj
generated
Normal file
802
Examples-tvOS/Pods/Pods.xcodeproj/project.pbxproj
generated
Normal file
|
|
@ -0,0 +1,802 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
048DD995106FB4EB9CACE14AB11E9E4B /* IGListDisplayHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 828260DA828EE578C9E5EAE347FB1D17 /* IGListDisplayHandler.m */; };
|
||||
07CA069B065E33BEE709DB1D08FB08BB /* IGListAdapterProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 08E3820E0996C55B3D57D852C741032F /* IGListAdapterProxy.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
0E8B466CF38565A4E8CB702AAA14DDEE /* IGListAdapterDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 102731D0A3833E5605269F5C17FF3361 /* IGListAdapterDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
0EAEFC87A46B035B98458B77C0DAB313 /* IGListAdapterProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 222A0E59AC9133CCADB14649123BD761 /* IGListAdapterProxy.m */; };
|
||||
0F8D03E428749E8CE408392DEA4823D2 /* IGListCollectionContext.h in Headers */ = {isa = PBXBuildFile; fileRef = ED52993BC0E5A2A8CF3032899C3CEEEF /* IGListCollectionContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
0FE508FE448256A0EB8CF84CC381D1FB /* IGListKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D3A377D114AF33D5FD08919F9009118 /* IGListKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
134B84577367CDE16AA6AD0962A6B85F /* IGListIndexPathResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FB0BAA5C072B6578FEF7F1C645879E8 /* IGListIndexPathResultInternal.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
151601F20702205211839EDBFC72EA0F /* IGListIndexSetResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D178C0543A7E01519D9F2FAB35BA5BE /* IGListIndexSetResultInternal.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
1668524927DB5E75F1D2D008B0B23551 /* IGListAdapterUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = C4754AD0793D09ADC98CE8315FB27946 /* IGListAdapterUpdater.m */; };
|
||||
1A89AF7CCCD65D9D5B946363776D05AE /* Pods-IGListKitExamples-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 52054AE893A0AE7FBFC54333D8ABD345 /* Pods-IGListKitExamples-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
1BD26AEC65A15912B3F272922522826C /* IGListReloadDataUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = 27E13D8C854DFD2EFDD6DA87194F1121 /* IGListReloadDataUpdater.m */; };
|
||||
1DA0BAAE175DBEFD33BAF45ED05DA33F /* IGListUpdatingDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 62D018E732008A294F6E7A41CC4453AB /* IGListUpdatingDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
1E3C28DD198BEBAD9E457AF0B2E813CE /* IGListAdapterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 923FA479C0E7EAA47E53CA75BC3CECBB /* IGListAdapterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
28260093B9FCBA02BB36C414FE156A33 /* NSObject+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = FA380D1C37A20C80A41A5B330D2EE293 /* NSObject+IGListDiffable.m */; };
|
||||
2DC362DF318FFDCD0DC881A06F7EF60F /* IGListMoveIndexInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC56F6F14844AF7A5DA1AA3FC5BD736 /* IGListMoveIndexInternal.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
35DC16C75961FEFBB6C976D527D06102 /* IGListAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 03D1E539E0EF198C23E5EEE216EF66B3 /* IGListAdapter.m */; };
|
||||
36300A4773E5329A5DCFB774951C72A6 /* NSIndexSet+PrettyDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 3393D3C6C3A834DB5ABC2B7E4086D071 /* NSIndexSet+PrettyDescription.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
36A352766482AA88A9F62372E5A25A36 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71D44B887663E8A7D2752C9ED2356648 /* Foundation.framework */; };
|
||||
37C14D32C6F44CFBE4A0ECA63D251890 /* IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = 23A8D5BAC0F0E583579806FD68BD5003 /* IGListBatchUpdateData.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
37C95D54129A28980B0A44B164D7BADE /* IGListSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 13663962D3B6303106FF1A527DF410E7 /* IGListSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
387D977F448C8FEDC374BE8D8F027FE0 /* NSObject+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EF5FA11849D5905A87D204E8E95BAFA /* NSObject+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
3AE30BC98DEE5047B8E2A09F8AC058D9 /* IGListExperiments.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B2CECCD1310C45948C83FE88A415FD1 /* IGListExperiments.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
4777B6A28EB663E8DCE23B28A3EEDC84 /* IGListSingleSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 94C66DF3CD7FDC58ABC235D44BBCFB47 /* IGListSingleSectionController.m */; };
|
||||
4C0D8D4200F19765387BDA5DF0351707 /* UICollectionView+IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = 9017BCE4C7BAE0D22C1D8E6CEDB96DCF /* UICollectionView+IGListBatchUpdateData.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
51D08A6C09E9BB328A0E8537A9304E54 /* IGListAdapterUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = F24111595DA00F970E6AB05DE54C37A3 /* IGListAdapterUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
52FC6541FB2BEA9A3D32596D0F0112F3 /* IGListMoveIndexPath.m in Sources */ = {isa = PBXBuildFile; fileRef = EB79F78BF0DCFFA582A504023F061F0B /* IGListMoveIndexPath.m */; };
|
||||
57FB14F4B485DB6C1079D629643E224D /* IGListStackedSectionControllerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 659F498EE384D82BB587376EEFB7CF43 /* IGListStackedSectionControllerInternal.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
5901E794126AD4043B96E3EA5424A0A9 /* IGListBatchUpdateData.mm in Sources */ = {isa = PBXBuildFile; fileRef = E402B90D4B2469068923EF6DCA6AEBAA /* IGListBatchUpdateData.mm */; };
|
||||
5B24A7DA53D0CDFE36233A725078ADF1 /* IGListMoveIndexPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 849F9103B93CC21B8AB472C5294DAF98 /* IGListMoveIndexPath.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
5B3EC05B46CAE92AC86F5E0140ECBC1C /* UICollectionView+IGListBatchUpdateData.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D6017DC6EBE30D0F10C9B3FAB16BAD4 /* UICollectionView+IGListBatchUpdateData.m */; };
|
||||
5D333C80CE63A8D01A9E816B7D47A0F8 /* IGListMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = F80E790E1D548E9646F10A75ACE0BB71 /* IGListMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
5FDF3C63D06797EC6649DDB527E75593 /* IGListSupplementaryViewSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 1191E666F701202922624F398A0A4D27 /* IGListSupplementaryViewSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
616ED22733EF3C17B718A10595B6C03D /* IGListSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = F31E9B40FF641B9B25E0A62FFABC7855 /* IGListSectionController.m */; };
|
||||
6585F8BC4AE0EA2DC16B62B159CAE397 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71D44B887663E8A7D2752C9ED2356648 /* Foundation.framework */; };
|
||||
698695EBBCAAEE553D0284ECE93B4730 /* IGListAdapterUpdaterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0241CABAD3620FDFC7CFB2229AF89CD4 /* IGListAdapterUpdaterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
6B73F97858678E9A7EE6CAA3C8F4CAEE /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB4C132D7BA00C1384E27FAFD43A44B6 /* UIKit.framework */; };
|
||||
716FDA201B13C5D83AE1109EB6B0047F /* IGListIndexPathResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 5523CDCF6C0CDADC8C7DA5CD9AEC6720 /* IGListIndexPathResult.m */; };
|
||||
72E7E3F5E1DC01C109F5FAC37DFA4F01 /* IGListDiff.mm in Sources */ = {isa = PBXBuildFile; fileRef = C71BDF31A0D4E4C60FE418DF8F5DA20B /* IGListDiff.mm */; };
|
||||
76829A1937AE85E06E03EEA1BB6BA1ED /* IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 123A0FCE117A8EB9330BB9A759C3BCF7 /* IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
7700CBD66152909A6AA3CCE83F86DFB1 /* IGListSingleSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 2404D142D0C9FE9B9DB6F42733B37A8F /* IGListSingleSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
7881A804F20C1FF7D5A2E82E92D23D4B /* IGListReloadDataUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = 855C5B154C4BD5F226954A063EAA0A6D /* IGListReloadDataUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
7B96DAEE6845686FCC632B2FCE54DCFB /* IGListMoveIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = AA813263295944FD7C28EF50901FE213 /* IGListMoveIndex.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
7F1E44C4C0FEEFE713C6E9B1FB644D7F /* IGListKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9032A1FEC635618198A9431CF9517449 /* IGListKit-dummy.m */; };
|
||||
867C735D6F3C81D5CF8394528C5EEC27 /* IGListSectionType.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F6C1ADF43CF0CA7AAEC0CA9D1B9EDD /* IGListSectionType.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
8B71D13ACAC5591B3CE7B51299178137 /* IGListStackedSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 024CC00C03E409241F3462AD74F254EA /* IGListStackedSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
90FBDB2E0EDEDA382DACDC4480CACE11 /* IGListDiff.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E81454F52F06CFB85B0EA69AD3CAA6B /* IGListDiff.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
9136AD424FB2AA5D428C97497B92212A /* IGListDisplayHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AE5A8F234B280173578C6C12D8F0BA8 /* IGListDisplayHandler.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
94C6F2A63832A45817B3972936107D4C /* IGListIndexSetResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 60E25741963EAF6E90632ABD1796CD5B /* IGListIndexSetResult.m */; };
|
||||
9537ED5D64D1020A696E85D0E297F89B /* IGListWorkingRangeHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 3FF9956865CA6A17094FCF49B1328235 /* IGListWorkingRangeHandler.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
9648D0657DC9923BF9CC5D58AA0EABD3 /* IGListMoveIndex.m in Sources */ = {isa = PBXBuildFile; fileRef = 15444C33650BE2CAC5A1FC7F5E383161 /* IGListMoveIndex.m */; };
|
||||
9908944BE13B0DC564C12D31E11F9B16 /* IGListScrollDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = C5788D65F7EA5B985BDD9D570EFD6D61 /* IGListScrollDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
99F220194828DBCD1364349FECB62A85 /* IGListAdapterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 02402B6FB552DB54B0533F060072F959 /* IGListAdapterInternal.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
9D193CFFEBD44D034E827223350E18B6 /* IGListWorkingRangeDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = FAF1B04E040803D62EAD2AEBFAE8C247 /* IGListWorkingRangeDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
A013323C37461B0C5A6D48B0E295D01B /* IGListSectionControllerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = BACD4E5EB03723EC1AE6A32D696BB235 /* IGListSectionControllerInternal.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
A83BC3A0B761C430D361524438BC3AC2 /* IGListWorkingRangeHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = C32854A9E8D0C9144DFC7E636182E5FB /* IGListWorkingRangeHandler.mm */; };
|
||||
B4CD949F134F7E4CD11E11682AB22079 /* IGListAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 180822AE5F902FF9D118166C254BB9D4 /* IGListAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
BE6230BF86420C3ED8A459E0BE0A4904 /* IGListCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5317A3BE429672A1580D2F1FD419FE66 /* IGListCollectionView.m */; };
|
||||
BF2748F42C2244389EF7A2B848C3F57E /* IGListSectionMap.h in Headers */ = {isa = PBXBuildFile; fileRef = BC18A7D71293F9C8826AFF856383E800 /* IGListSectionMap.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
C02FEEA9717B24B51C1C7D5CAD75E2F0 /* IGListStackedSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 605923915E529D7EED7634C33EB8DD8C /* IGListStackedSectionController.m */; };
|
||||
C2A332D7BC9B89592141A8231B35EE2A /* IGListAdapterUpdaterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = FC344825E9CE46016D4C9BFBB7787EF6 /* IGListAdapterUpdaterInternal.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
C4C4C1B02AFD7277F00A40570658152C /* Pods-IGListKitExamples-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F5AE0385534EC7E6CA75003A7280492 /* Pods-IGListKitExamples-dummy.m */; };
|
||||
C5E00BB4C4BB8368AC203C571ECD36D0 /* IGListMoveIndexPathInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = C41E3FA619D7A9F833B7747A5AFF7C28 /* IGListMoveIndexPathInternal.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
D2B2C9D2D14200444BB64696B05B2997 /* IGListCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = E577E8226463DE19A494899FC4B8488B /* IGListCollectionView.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
D5784F407B76134D8E517759894AF6F5 /* IGListKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 01837EBDDF41D06A77B9670D9FF211A0 /* IGListKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
D823F8B7308D421D94EA8FB912778C68 /* IGListAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = E4E6047C833C2F2DA1C712258F1FA857 /* IGListAssert.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
DBBF93CA21917E27D087DB0AE287A315 /* IGListSectionMap.m in Sources */ = {isa = PBXBuildFile; fileRef = FE5E53C9B524CAE450FBBDF8C229961A /* IGListSectionMap.m */; };
|
||||
DE3948B248A3D2BBBD148A7300A72FC6 /* IGListIndexSetResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 30980860468ACB979933F1DB4726BB8A /* IGListIndexSetResult.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
E544414873F1F566F866DA90043FEE03 /* NSIndexSet+PrettyDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 66F862E2AEE5E9C632AFF768FC862482 /* NSIndexSet+PrettyDescription.m */; };
|
||||
E863057BEBB61664170B988A8A195D27 /* IGListIndexPathResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 34FAFFC39C810CA95148450766D73EFC /* IGListIndexPathResult.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
F975889EC66E3E6890EB307BFA38BEA5 /* IGListDisplayDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 875A0C401CD97F0C3F8536E89893042F /* IGListDisplayDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
A0A5426482C447F640D6A192E71D5F5B /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 5A9988CDADFC92DB95D7C72D2E4F5F4A;
|
||||
remoteInfo = IGListKit;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
01837EBDDF41D06A77B9670D9FF211A0 /* IGListKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IGListKit-umbrella.h"; sourceTree = "<group>"; };
|
||||
02402B6FB552DB54B0533F060072F959 /* IGListAdapterInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterInternal.h; sourceTree = "<group>"; };
|
||||
0241CABAD3620FDFC7CFB2229AF89CD4 /* IGListAdapterUpdaterDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdaterDelegate.h; sourceTree = "<group>"; };
|
||||
024CC00C03E409241F3462AD74F254EA /* IGListStackedSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListStackedSectionController.h; sourceTree = "<group>"; };
|
||||
03D1E539E0EF198C23E5EEE216EF66B3 /* IGListAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapter.m; sourceTree = "<group>"; };
|
||||
08E3820E0996C55B3D57D852C741032F /* IGListAdapterProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterProxy.h; sourceTree = "<group>"; };
|
||||
102731D0A3833E5605269F5C17FF3361 /* IGListAdapterDataSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterDataSource.h; sourceTree = "<group>"; };
|
||||
1191E666F701202922624F398A0A4D27 /* IGListSupplementaryViewSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSupplementaryViewSource.h; sourceTree = "<group>"; };
|
||||
123A0FCE117A8EB9330BB9A759C3BCF7 /* IGListDiffable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDiffable.h; sourceTree = "<group>"; };
|
||||
13663962D3B6303106FF1A527DF410E7 /* IGListSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionController.h; sourceTree = "<group>"; };
|
||||
15444C33650BE2CAC5A1FC7F5E383161 /* IGListMoveIndex.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListMoveIndex.m; sourceTree = "<group>"; };
|
||||
180822AE5F902FF9D118166C254BB9D4 /* IGListAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapter.h; sourceTree = "<group>"; };
|
||||
1B2B14BA3AB402D9CC387EEB27A2F746 /* Pods-IGListKitExamples.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-IGListKitExamples.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
1FB0BAA5C072B6578FEF7F1C645879E8 /* IGListIndexPathResultInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexPathResultInternal.h; sourceTree = "<group>"; };
|
||||
222A0E59AC9133CCADB14649123BD761 /* IGListAdapterProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterProxy.m; sourceTree = "<group>"; };
|
||||
23A8D5BAC0F0E583579806FD68BD5003 /* IGListBatchUpdateData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdateData.h; sourceTree = "<group>"; };
|
||||
2404D142D0C9FE9B9DB6F42733B37A8F /* IGListSingleSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSingleSectionController.h; sourceTree = "<group>"; };
|
||||
27E13D8C854DFD2EFDD6DA87194F1121 /* IGListReloadDataUpdater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListReloadDataUpdater.m; sourceTree = "<group>"; };
|
||||
2D6017DC6EBE30D0F10C9B3FAB16BAD4 /* UICollectionView+IGListBatchUpdateData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UICollectionView+IGListBatchUpdateData.m"; sourceTree = "<group>"; };
|
||||
2F5AE0385534EC7E6CA75003A7280492 /* Pods-IGListKitExamples-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-IGListKitExamples-dummy.m"; sourceTree = "<group>"; };
|
||||
30980860468ACB979933F1DB4726BB8A /* IGListIndexSetResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexSetResult.h; sourceTree = "<group>"; };
|
||||
3393D3C6C3A834DB5ABC2B7E4086D071 /* NSIndexSet+PrettyDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSIndexSet+PrettyDescription.h"; sourceTree = "<group>"; };
|
||||
34FAFFC39C810CA95148450766D73EFC /* IGListIndexPathResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexPathResult.h; sourceTree = "<group>"; };
|
||||
3AE5A8F234B280173578C6C12D8F0BA8 /* IGListDisplayHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDisplayHandler.h; sourceTree = "<group>"; };
|
||||
3FF9956865CA6A17094FCF49B1328235 /* IGListWorkingRangeHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListWorkingRangeHandler.h; sourceTree = "<group>"; };
|
||||
428C13C7C57B2D91F00D94ECF1FA71F8 /* Pods-IGListKitExamples-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-IGListKitExamples-resources.sh"; sourceTree = "<group>"; };
|
||||
449492FD9184620EC1A886DC6421D208 /* IGListKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListKit.modulemap; sourceTree = "<group>"; };
|
||||
52054AE893A0AE7FBFC54333D8ABD345 /* Pods-IGListKitExamples-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-IGListKitExamples-umbrella.h"; sourceTree = "<group>"; };
|
||||
5317A3BE429672A1580D2F1FD419FE66 /* IGListCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListCollectionView.m; sourceTree = "<group>"; };
|
||||
5523CDCF6C0CDADC8C7DA5CD9AEC6720 /* IGListIndexPathResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListIndexPathResult.m; sourceTree = "<group>"; };
|
||||
56F841C1D796A137142479CE430A6DDB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
5E81454F52F06CFB85B0EA69AD3CAA6B /* IGListDiff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDiff.h; sourceTree = "<group>"; };
|
||||
605923915E529D7EED7634C33EB8DD8C /* IGListStackedSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListStackedSectionController.m; sourceTree = "<group>"; };
|
||||
60E25741963EAF6E90632ABD1796CD5B /* IGListIndexSetResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListIndexSetResult.m; sourceTree = "<group>"; };
|
||||
62D018E732008A294F6E7A41CC4453AB /* IGListUpdatingDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListUpdatingDelegate.h; sourceTree = "<group>"; };
|
||||
6446021A4B962CB0053472AA1E6D9968 /* IGListKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IGListKit.xcconfig; sourceTree = "<group>"; };
|
||||
659F498EE384D82BB587376EEFB7CF43 /* IGListStackedSectionControllerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListStackedSectionControllerInternal.h; sourceTree = "<group>"; };
|
||||
6646D2297940D6D3611DDE9738469921 /* IGListKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IGListKit-prefix.pch"; sourceTree = "<group>"; };
|
||||
66F862E2AEE5E9C632AFF768FC862482 /* NSIndexSet+PrettyDescription.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSIndexSet+PrettyDescription.m"; sourceTree = "<group>"; };
|
||||
6B2CECCD1310C45948C83FE88A415FD1 /* IGListExperiments.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListExperiments.h; sourceTree = "<group>"; };
|
||||
6D178C0543A7E01519D9F2FAB35BA5BE /* IGListIndexSetResultInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexSetResultInternal.h; sourceTree = "<group>"; };
|
||||
6D3A377D114AF33D5FD08919F9009118 /* IGListKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListKit.h; sourceTree = "<group>"; };
|
||||
71D44B887663E8A7D2752C9ED2356648 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
|
||||
828260DA828EE578C9E5EAE347FB1D17 /* IGListDisplayHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListDisplayHandler.m; sourceTree = "<group>"; };
|
||||
849F9103B93CC21B8AB472C5294DAF98 /* IGListMoveIndexPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexPath.h; sourceTree = "<group>"; };
|
||||
855C5B154C4BD5F226954A063EAA0A6D /* IGListReloadDataUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListReloadDataUpdater.h; sourceTree = "<group>"; };
|
||||
875A0C401CD97F0C3F8536E89893042F /* IGListDisplayDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDisplayDelegate.h; sourceTree = "<group>"; };
|
||||
8EF5FA11849D5905A87D204E8E95BAFA /* NSObject+IGListDiffable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSObject+IGListDiffable.h"; sourceTree = "<group>"; };
|
||||
9017BCE4C7BAE0D22C1D8E6CEDB96DCF /* UICollectionView+IGListBatchUpdateData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UICollectionView+IGListBatchUpdateData.h"; sourceTree = "<group>"; };
|
||||
9032A1FEC635618198A9431CF9517449 /* IGListKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IGListKit-dummy.m"; sourceTree = "<group>"; };
|
||||
923FA479C0E7EAA47E53CA75BC3CECBB /* IGListAdapterDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterDelegate.h; sourceTree = "<group>"; };
|
||||
93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
|
||||
94C66DF3CD7FDC58ABC235D44BBCFB47 /* IGListSingleSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSingleSectionController.m; sourceTree = "<group>"; };
|
||||
9D11DCAE06F644E6CCE659622CD8E616 /* IGListKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IGListKit.framework; path = IGListKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
A198E265B2C6E673C7C9C5050F92D9F0 /* Pods-IGListKitExamples.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-IGListKitExamples.release.xcconfig"; sourceTree = "<group>"; };
|
||||
A1F6C1ADF43CF0CA7AAEC0CA9D1B9EDD /* IGListSectionType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionType.h; sourceTree = "<group>"; };
|
||||
A7BBE69D34859663403DA26F14CC4DDB /* Pods-IGListKitExamples-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-IGListKitExamples-acknowledgements.markdown"; sourceTree = "<group>"; };
|
||||
A851A4ACB8C0DE98BFFBC6FD4D1BACEE /* Pods-IGListKitExamples-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-IGListKitExamples-frameworks.sh"; sourceTree = "<group>"; };
|
||||
AA813263295944FD7C28EF50901FE213 /* IGListMoveIndex.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndex.h; sourceTree = "<group>"; };
|
||||
AAC56F6F14844AF7A5DA1AA3FC5BD736 /* IGListMoveIndexInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexInternal.h; sourceTree = "<group>"; };
|
||||
AB4C132D7BA00C1384E27FAFD43A44B6 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
|
||||
ABF549428FEA18696E5358F599E11A24 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
BACD4E5EB03723EC1AE6A32D696BB235 /* IGListSectionControllerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionControllerInternal.h; sourceTree = "<group>"; };
|
||||
BC18A7D71293F9C8826AFF856383E800 /* IGListSectionMap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionMap.h; sourceTree = "<group>"; };
|
||||
C32854A9E8D0C9144DFC7E636182E5FB /* IGListWorkingRangeHandler.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListWorkingRangeHandler.mm; sourceTree = "<group>"; };
|
||||
C41E3FA619D7A9F833B7747A5AFF7C28 /* IGListMoveIndexPathInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexPathInternal.h; sourceTree = "<group>"; };
|
||||
C4754AD0793D09ADC98CE8315FB27946 /* IGListAdapterUpdater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterUpdater.m; sourceTree = "<group>"; };
|
||||
C5788D65F7EA5B985BDD9D570EFD6D61 /* IGListScrollDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListScrollDelegate.h; sourceTree = "<group>"; };
|
||||
C71BDF31A0D4E4C60FE418DF8F5DA20B /* IGListDiff.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListDiff.mm; sourceTree = "<group>"; };
|
||||
C7F454644FEBF5DB647AE1728D1FD067 /* Pods_IGListKitExamples.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_IGListKitExamples.framework; path = "Pods-IGListKitExamples.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D803D538BF4074498E5ADB84A16E0395 /* Pods-IGListKitExamples-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-IGListKitExamples-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||
DDF922EBFB237C1B42E8B07306D987E8 /* Pods-IGListKitExamples.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-IGListKitExamples.modulemap"; sourceTree = "<group>"; };
|
||||
E402B90D4B2469068923EF6DCA6AEBAA /* IGListBatchUpdateData.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListBatchUpdateData.mm; sourceTree = "<group>"; };
|
||||
E4E6047C833C2F2DA1C712258F1FA857 /* IGListAssert.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAssert.h; sourceTree = "<group>"; };
|
||||
E577E8226463DE19A494899FC4B8488B /* IGListCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCollectionView.h; sourceTree = "<group>"; };
|
||||
EB79F78BF0DCFFA582A504023F061F0B /* IGListMoveIndexPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListMoveIndexPath.m; sourceTree = "<group>"; };
|
||||
ED52993BC0E5A2A8CF3032899C3CEEEF /* IGListCollectionContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCollectionContext.h; sourceTree = "<group>"; };
|
||||
F24111595DA00F970E6AB05DE54C37A3 /* IGListAdapterUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdater.h; sourceTree = "<group>"; };
|
||||
F31E9B40FF641B9B25E0A62FFABC7855 /* IGListSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSectionController.m; sourceTree = "<group>"; };
|
||||
F80E790E1D548E9646F10A75ACE0BB71 /* IGListMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMacros.h; sourceTree = "<group>"; };
|
||||
FA380D1C37A20C80A41A5B330D2EE293 /* NSObject+IGListDiffable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSObject+IGListDiffable.m"; sourceTree = "<group>"; };
|
||||
FAF1B04E040803D62EAD2AEBFAE8C247 /* IGListWorkingRangeDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListWorkingRangeDelegate.h; sourceTree = "<group>"; };
|
||||
FC344825E9CE46016D4C9BFBB7787EF6 /* IGListAdapterUpdaterInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdaterInternal.h; sourceTree = "<group>"; };
|
||||
FE5E53C9B524CAE450FBBDF8C229961A /* IGListSectionMap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSectionMap.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
802596B628B7CEFACCAF17AA0318C50C /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
36A352766482AA88A9F62372E5A25A36 /* Foundation.framework in Frameworks */,
|
||||
6B73F97858678E9A7EE6CAA3C8F4CAEE /* UIKit.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D7057175063065567057895AB005C590 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6585F8BC4AE0EA2DC16B62B159CAE397 /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
17E90634132CA5C8CA2F91A53A420FC4 /* IGListKit */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
63F560C27CC0CB178D136105D5C9A490 /* Source */,
|
||||
403283ECF0BFAF7EA34C67C89A20457E /* Support Files */,
|
||||
);
|
||||
name = IGListKit;
|
||||
path = ../..;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
275D18F543186A905E745D345F66E093 /* Development Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
17E90634132CA5C8CA2F91A53A420FC4 /* IGListKit */,
|
||||
);
|
||||
name = "Development Pods";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
403283ECF0BFAF7EA34C67C89A20457E /* Support Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
449492FD9184620EC1A886DC6421D208 /* IGListKit.modulemap */,
|
||||
6446021A4B962CB0053472AA1E6D9968 /* IGListKit.xcconfig */,
|
||||
9032A1FEC635618198A9431CF9517449 /* IGListKit-dummy.m */,
|
||||
6646D2297940D6D3611DDE9738469921 /* IGListKit-prefix.pch */,
|
||||
01837EBDDF41D06A77B9670D9FF211A0 /* IGListKit-umbrella.h */,
|
||||
56F841C1D796A137142479CE430A6DDB /* Info.plist */,
|
||||
);
|
||||
name = "Support Files";
|
||||
path = "Examples-tvOS/Pods/Target Support Files/IGListKit";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
51A62FAD141FCC64FABDAA958233E728 /* Targets Support Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F22E6673D29C1778B1984CF7D4D871E9 /* Pods-IGListKitExamples */,
|
||||
);
|
||||
name = "Targets Support Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
61F96534B3AFE724944526CC9F6F2EFE /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9D11DCAE06F644E6CCE659622CD8E616 /* IGListKit.framework */,
|
||||
C7F454644FEBF5DB647AE1728D1FD067 /* Pods_IGListKitExamples.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
63F560C27CC0CB178D136105D5C9A490 /* Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
180822AE5F902FF9D118166C254BB9D4 /* IGListAdapter.h */,
|
||||
03D1E539E0EF198C23E5EEE216EF66B3 /* IGListAdapter.m */,
|
||||
102731D0A3833E5605269F5C17FF3361 /* IGListAdapterDataSource.h */,
|
||||
923FA479C0E7EAA47E53CA75BC3CECBB /* IGListAdapterDelegate.h */,
|
||||
F24111595DA00F970E6AB05DE54C37A3 /* IGListAdapterUpdater.h */,
|
||||
C4754AD0793D09ADC98CE8315FB27946 /* IGListAdapterUpdater.m */,
|
||||
0241CABAD3620FDFC7CFB2229AF89CD4 /* IGListAdapterUpdaterDelegate.h */,
|
||||
E4E6047C833C2F2DA1C712258F1FA857 /* IGListAssert.h */,
|
||||
23A8D5BAC0F0E583579806FD68BD5003 /* IGListBatchUpdateData.h */,
|
||||
E402B90D4B2469068923EF6DCA6AEBAA /* IGListBatchUpdateData.mm */,
|
||||
ED52993BC0E5A2A8CF3032899C3CEEEF /* IGListCollectionContext.h */,
|
||||
E577E8226463DE19A494899FC4B8488B /* IGListCollectionView.h */,
|
||||
5317A3BE429672A1580D2F1FD419FE66 /* IGListCollectionView.m */,
|
||||
5E81454F52F06CFB85B0EA69AD3CAA6B /* IGListDiff.h */,
|
||||
C71BDF31A0D4E4C60FE418DF8F5DA20B /* IGListDiff.mm */,
|
||||
123A0FCE117A8EB9330BB9A759C3BCF7 /* IGListDiffable.h */,
|
||||
875A0C401CD97F0C3F8536E89893042F /* IGListDisplayDelegate.h */,
|
||||
6B2CECCD1310C45948C83FE88A415FD1 /* IGListExperiments.h */,
|
||||
34FAFFC39C810CA95148450766D73EFC /* IGListIndexPathResult.h */,
|
||||
5523CDCF6C0CDADC8C7DA5CD9AEC6720 /* IGListIndexPathResult.m */,
|
||||
30980860468ACB979933F1DB4726BB8A /* IGListIndexSetResult.h */,
|
||||
60E25741963EAF6E90632ABD1796CD5B /* IGListIndexSetResult.m */,
|
||||
6D3A377D114AF33D5FD08919F9009118 /* IGListKit.h */,
|
||||
F80E790E1D548E9646F10A75ACE0BB71 /* IGListMacros.h */,
|
||||
AA813263295944FD7C28EF50901FE213 /* IGListMoveIndex.h */,
|
||||
15444C33650BE2CAC5A1FC7F5E383161 /* IGListMoveIndex.m */,
|
||||
849F9103B93CC21B8AB472C5294DAF98 /* IGListMoveIndexPath.h */,
|
||||
EB79F78BF0DCFFA582A504023F061F0B /* IGListMoveIndexPath.m */,
|
||||
855C5B154C4BD5F226954A063EAA0A6D /* IGListReloadDataUpdater.h */,
|
||||
27E13D8C854DFD2EFDD6DA87194F1121 /* IGListReloadDataUpdater.m */,
|
||||
C5788D65F7EA5B985BDD9D570EFD6D61 /* IGListScrollDelegate.h */,
|
||||
13663962D3B6303106FF1A527DF410E7 /* IGListSectionController.h */,
|
||||
F31E9B40FF641B9B25E0A62FFABC7855 /* IGListSectionController.m */,
|
||||
A1F6C1ADF43CF0CA7AAEC0CA9D1B9EDD /* IGListSectionType.h */,
|
||||
2404D142D0C9FE9B9DB6F42733B37A8F /* IGListSingleSectionController.h */,
|
||||
94C66DF3CD7FDC58ABC235D44BBCFB47 /* IGListSingleSectionController.m */,
|
||||
024CC00C03E409241F3462AD74F254EA /* IGListStackedSectionController.h */,
|
||||
605923915E529D7EED7634C33EB8DD8C /* IGListStackedSectionController.m */,
|
||||
1191E666F701202922624F398A0A4D27 /* IGListSupplementaryViewSource.h */,
|
||||
62D018E732008A294F6E7A41CC4453AB /* IGListUpdatingDelegate.h */,
|
||||
FAF1B04E040803D62EAD2AEBFAE8C247 /* IGListWorkingRangeDelegate.h */,
|
||||
8EF5FA11849D5905A87D204E8E95BAFA /* NSObject+IGListDiffable.h */,
|
||||
FA380D1C37A20C80A41A5B330D2EE293 /* NSObject+IGListDiffable.m */,
|
||||
B871D0E0E6A23E1B509229BA8DF78EE5 /* Internal */,
|
||||
);
|
||||
name = Source;
|
||||
path = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6EC461C1435A31577346ED4ADA0BD5A9 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE77A9456A47034F965F75B0B0B6CF30 /* tvOS */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
7DB346D0F39D3F0E887471402A8071AB = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */,
|
||||
275D18F543186A905E745D345F66E093 /* Development Pods */,
|
||||
6EC461C1435A31577346ED4ADA0BD5A9 /* Frameworks */,
|
||||
61F96534B3AFE724944526CC9F6F2EFE /* Products */,
|
||||
51A62FAD141FCC64FABDAA958233E728 /* Targets Support Files */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B871D0E0E6A23E1B509229BA8DF78EE5 /* Internal */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
02402B6FB552DB54B0533F060072F959 /* IGListAdapterInternal.h */,
|
||||
08E3820E0996C55B3D57D852C741032F /* IGListAdapterProxy.h */,
|
||||
222A0E59AC9133CCADB14649123BD761 /* IGListAdapterProxy.m */,
|
||||
FC344825E9CE46016D4C9BFBB7787EF6 /* IGListAdapterUpdaterInternal.h */,
|
||||
3AE5A8F234B280173578C6C12D8F0BA8 /* IGListDisplayHandler.h */,
|
||||
828260DA828EE578C9E5EAE347FB1D17 /* IGListDisplayHandler.m */,
|
||||
1FB0BAA5C072B6578FEF7F1C645879E8 /* IGListIndexPathResultInternal.h */,
|
||||
6D178C0543A7E01519D9F2FAB35BA5BE /* IGListIndexSetResultInternal.h */,
|
||||
AAC56F6F14844AF7A5DA1AA3FC5BD736 /* IGListMoveIndexInternal.h */,
|
||||
C41E3FA619D7A9F833B7747A5AFF7C28 /* IGListMoveIndexPathInternal.h */,
|
||||
BACD4E5EB03723EC1AE6A32D696BB235 /* IGListSectionControllerInternal.h */,
|
||||
BC18A7D71293F9C8826AFF856383E800 /* IGListSectionMap.h */,
|
||||
FE5E53C9B524CAE450FBBDF8C229961A /* IGListSectionMap.m */,
|
||||
659F498EE384D82BB587376EEFB7CF43 /* IGListStackedSectionControllerInternal.h */,
|
||||
3FF9956865CA6A17094FCF49B1328235 /* IGListWorkingRangeHandler.h */,
|
||||
C32854A9E8D0C9144DFC7E636182E5FB /* IGListWorkingRangeHandler.mm */,
|
||||
3393D3C6C3A834DB5ABC2B7E4086D071 /* NSIndexSet+PrettyDescription.h */,
|
||||
66F862E2AEE5E9C632AFF768FC862482 /* NSIndexSet+PrettyDescription.m */,
|
||||
9017BCE4C7BAE0D22C1D8E6CEDB96DCF /* UICollectionView+IGListBatchUpdateData.h */,
|
||||
2D6017DC6EBE30D0F10C9B3FAB16BAD4 /* UICollectionView+IGListBatchUpdateData.m */,
|
||||
);
|
||||
name = Internal;
|
||||
path = Internal;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
F22E6673D29C1778B1984CF7D4D871E9 /* Pods-IGListKitExamples */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
ABF549428FEA18696E5358F599E11A24 /* Info.plist */,
|
||||
DDF922EBFB237C1B42E8B07306D987E8 /* Pods-IGListKitExamples.modulemap */,
|
||||
A7BBE69D34859663403DA26F14CC4DDB /* Pods-IGListKitExamples-acknowledgements.markdown */,
|
||||
D803D538BF4074498E5ADB84A16E0395 /* Pods-IGListKitExamples-acknowledgements.plist */,
|
||||
2F5AE0385534EC7E6CA75003A7280492 /* Pods-IGListKitExamples-dummy.m */,
|
||||
A851A4ACB8C0DE98BFFBC6FD4D1BACEE /* Pods-IGListKitExamples-frameworks.sh */,
|
||||
428C13C7C57B2D91F00D94ECF1FA71F8 /* Pods-IGListKitExamples-resources.sh */,
|
||||
52054AE893A0AE7FBFC54333D8ABD345 /* Pods-IGListKitExamples-umbrella.h */,
|
||||
1B2B14BA3AB402D9CC387EEB27A2F746 /* Pods-IGListKitExamples.debug.xcconfig */,
|
||||
A198E265B2C6E673C7C9C5050F92D9F0 /* Pods-IGListKitExamples.release.xcconfig */,
|
||||
);
|
||||
name = "Pods-IGListKitExamples";
|
||||
path = "Target Support Files/Pods-IGListKitExamples";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE77A9456A47034F965F75B0B0B6CF30 /* tvOS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
71D44B887663E8A7D2752C9ED2356648 /* Foundation.framework */,
|
||||
AB4C132D7BA00C1384E27FAFD43A44B6 /* UIKit.framework */,
|
||||
);
|
||||
name = tvOS;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
367FCA12044C2556046F8C4AFB2F9E22 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
B4CD949F134F7E4CD11E11682AB22079 /* IGListAdapter.h in Headers */,
|
||||
0E8B466CF38565A4E8CB702AAA14DDEE /* IGListAdapterDataSource.h in Headers */,
|
||||
1E3C28DD198BEBAD9E457AF0B2E813CE /* IGListAdapterDelegate.h in Headers */,
|
||||
99F220194828DBCD1364349FECB62A85 /* IGListAdapterInternal.h in Headers */,
|
||||
07CA069B065E33BEE709DB1D08FB08BB /* IGListAdapterProxy.h in Headers */,
|
||||
51D08A6C09E9BB328A0E8537A9304E54 /* IGListAdapterUpdater.h in Headers */,
|
||||
698695EBBCAAEE553D0284ECE93B4730 /* IGListAdapterUpdaterDelegate.h in Headers */,
|
||||
C2A332D7BC9B89592141A8231B35EE2A /* IGListAdapterUpdaterInternal.h in Headers */,
|
||||
D823F8B7308D421D94EA8FB912778C68 /* IGListAssert.h in Headers */,
|
||||
37C14D32C6F44CFBE4A0ECA63D251890 /* IGListBatchUpdateData.h in Headers */,
|
||||
0F8D03E428749E8CE408392DEA4823D2 /* IGListCollectionContext.h in Headers */,
|
||||
D2B2C9D2D14200444BB64696B05B2997 /* IGListCollectionView.h in Headers */,
|
||||
90FBDB2E0EDEDA382DACDC4480CACE11 /* IGListDiff.h in Headers */,
|
||||
76829A1937AE85E06E03EEA1BB6BA1ED /* IGListDiffable.h in Headers */,
|
||||
F975889EC66E3E6890EB307BFA38BEA5 /* IGListDisplayDelegate.h in Headers */,
|
||||
9136AD424FB2AA5D428C97497B92212A /* IGListDisplayHandler.h in Headers */,
|
||||
3AE30BC98DEE5047B8E2A09F8AC058D9 /* IGListExperiments.h in Headers */,
|
||||
E863057BEBB61664170B988A8A195D27 /* IGListIndexPathResult.h in Headers */,
|
||||
134B84577367CDE16AA6AD0962A6B85F /* IGListIndexPathResultInternal.h in Headers */,
|
||||
DE3948B248A3D2BBBD148A7300A72FC6 /* IGListIndexSetResult.h in Headers */,
|
||||
151601F20702205211839EDBFC72EA0F /* IGListIndexSetResultInternal.h in Headers */,
|
||||
D5784F407B76134D8E517759894AF6F5 /* IGListKit-umbrella.h in Headers */,
|
||||
0FE508FE448256A0EB8CF84CC381D1FB /* IGListKit.h in Headers */,
|
||||
5D333C80CE63A8D01A9E816B7D47A0F8 /* IGListMacros.h in Headers */,
|
||||
7B96DAEE6845686FCC632B2FCE54DCFB /* IGListMoveIndex.h in Headers */,
|
||||
2DC362DF318FFDCD0DC881A06F7EF60F /* IGListMoveIndexInternal.h in Headers */,
|
||||
5B24A7DA53D0CDFE36233A725078ADF1 /* IGListMoveIndexPath.h in Headers */,
|
||||
C5E00BB4C4BB8368AC203C571ECD36D0 /* IGListMoveIndexPathInternal.h in Headers */,
|
||||
7881A804F20C1FF7D5A2E82E92D23D4B /* IGListReloadDataUpdater.h in Headers */,
|
||||
9908944BE13B0DC564C12D31E11F9B16 /* IGListScrollDelegate.h in Headers */,
|
||||
37C95D54129A28980B0A44B164D7BADE /* IGListSectionController.h in Headers */,
|
||||
A013323C37461B0C5A6D48B0E295D01B /* IGListSectionControllerInternal.h in Headers */,
|
||||
BF2748F42C2244389EF7A2B848C3F57E /* IGListSectionMap.h in Headers */,
|
||||
867C735D6F3C81D5CF8394528C5EEC27 /* IGListSectionType.h in Headers */,
|
||||
7700CBD66152909A6AA3CCE83F86DFB1 /* IGListSingleSectionController.h in Headers */,
|
||||
8B71D13ACAC5591B3CE7B51299178137 /* IGListStackedSectionController.h in Headers */,
|
||||
57FB14F4B485DB6C1079D629643E224D /* IGListStackedSectionControllerInternal.h in Headers */,
|
||||
5FDF3C63D06797EC6649DDB527E75593 /* IGListSupplementaryViewSource.h in Headers */,
|
||||
1DA0BAAE175DBEFD33BAF45ED05DA33F /* IGListUpdatingDelegate.h in Headers */,
|
||||
9D193CFFEBD44D034E827223350E18B6 /* IGListWorkingRangeDelegate.h in Headers */,
|
||||
9537ED5D64D1020A696E85D0E297F89B /* IGListWorkingRangeHandler.h in Headers */,
|
||||
36300A4773E5329A5DCFB774951C72A6 /* NSIndexSet+PrettyDescription.h in Headers */,
|
||||
387D977F448C8FEDC374BE8D8F027FE0 /* NSObject+IGListDiffable.h in Headers */,
|
||||
4C0D8D4200F19765387BDA5DF0351707 /* UICollectionView+IGListBatchUpdateData.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FCF6DC82D5858E45FAEE513F9E764AAD /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1A89AF7CCCD65D9D5B946363776D05AE /* Pods-IGListKitExamples-umbrella.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
5A9988CDADFC92DB95D7C72D2E4F5F4A /* IGListKit */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 0D48064B5FE7BD39764D43410F878396 /* Build configuration list for PBXNativeTarget "IGListKit" */;
|
||||
buildPhases = (
|
||||
DB61E8097FEC8647490AE574F082D341 /* Sources */,
|
||||
802596B628B7CEFACCAF17AA0318C50C /* Frameworks */,
|
||||
367FCA12044C2556046F8C4AFB2F9E22 /* Headers */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = IGListKit;
|
||||
productName = IGListKit;
|
||||
productReference = 9D11DCAE06F644E6CCE659622CD8E616 /* IGListKit.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
6B7DA8C024D099705CF771FF16E6FC16 /* Pods-IGListKitExamples */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 447A9F6E709F690B1574347D9E329E3D /* Build configuration list for PBXNativeTarget "Pods-IGListKitExamples" */;
|
||||
buildPhases = (
|
||||
0F2973A0EC5CE783280F7EAA54947BA5 /* Sources */,
|
||||
D7057175063065567057895AB005C590 /* Frameworks */,
|
||||
FCF6DC82D5858E45FAEE513F9E764AAD /* Headers */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
9B463355891949F736B3B5D678FE8D02 /* PBXTargetDependency */,
|
||||
);
|
||||
name = "Pods-IGListKitExamples";
|
||||
productName = "Pods-IGListKitExamples";
|
||||
productReference = C7F454644FEBF5DB647AE1728D1FD067 /* Pods_IGListKitExamples.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
D41D8CD98F00B204E9800998ECF8427E /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 0730;
|
||||
LastUpgradeCheck = 0700;
|
||||
};
|
||||
buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
);
|
||||
mainGroup = 7DB346D0F39D3F0E887471402A8071AB;
|
||||
productRefGroup = 61F96534B3AFE724944526CC9F6F2EFE /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
5A9988CDADFC92DB95D7C72D2E4F5F4A /* IGListKit */,
|
||||
6B7DA8C024D099705CF771FF16E6FC16 /* Pods-IGListKitExamples */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
0F2973A0EC5CE783280F7EAA54947BA5 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C4C4C1B02AFD7277F00A40570658152C /* Pods-IGListKitExamples-dummy.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
DB61E8097FEC8647490AE574F082D341 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
35DC16C75961FEFBB6C976D527D06102 /* IGListAdapter.m in Sources */,
|
||||
0EAEFC87A46B035B98458B77C0DAB313 /* IGListAdapterProxy.m in Sources */,
|
||||
1668524927DB5E75F1D2D008B0B23551 /* IGListAdapterUpdater.m in Sources */,
|
||||
5901E794126AD4043B96E3EA5424A0A9 /* IGListBatchUpdateData.mm in Sources */,
|
||||
BE6230BF86420C3ED8A459E0BE0A4904 /* IGListCollectionView.m in Sources */,
|
||||
72E7E3F5E1DC01C109F5FAC37DFA4F01 /* IGListDiff.mm in Sources */,
|
||||
048DD995106FB4EB9CACE14AB11E9E4B /* IGListDisplayHandler.m in Sources */,
|
||||
716FDA201B13C5D83AE1109EB6B0047F /* IGListIndexPathResult.m in Sources */,
|
||||
94C6F2A63832A45817B3972936107D4C /* IGListIndexSetResult.m in Sources */,
|
||||
7F1E44C4C0FEEFE713C6E9B1FB644D7F /* IGListKit-dummy.m in Sources */,
|
||||
9648D0657DC9923BF9CC5D58AA0EABD3 /* IGListMoveIndex.m in Sources */,
|
||||
52FC6541FB2BEA9A3D32596D0F0112F3 /* IGListMoveIndexPath.m in Sources */,
|
||||
1BD26AEC65A15912B3F272922522826C /* IGListReloadDataUpdater.m in Sources */,
|
||||
616ED22733EF3C17B718A10595B6C03D /* IGListSectionController.m in Sources */,
|
||||
DBBF93CA21917E27D087DB0AE287A315 /* IGListSectionMap.m in Sources */,
|
||||
4777B6A28EB663E8DCE23B28A3EEDC84 /* IGListSingleSectionController.m in Sources */,
|
||||
C02FEEA9717B24B51C1C7D5CAD75E2F0 /* IGListStackedSectionController.m in Sources */,
|
||||
A83BC3A0B761C430D361524438BC3AC2 /* IGListWorkingRangeHandler.mm in Sources */,
|
||||
E544414873F1F566F866DA90043FEE03 /* NSIndexSet+PrettyDescription.m in Sources */,
|
||||
28260093B9FCBA02BB36C414FE156A33 /* NSObject+IGListDiffable.m in Sources */,
|
||||
5B3EC05B46CAE92AC86F5E0140ECBC1C /* UICollectionView+IGListBatchUpdateData.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
9B463355891949F736B3B5D678FE8D02 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = IGListKit;
|
||||
target = 5A9988CDADFC92DB95D7C72D2E4F5F4A /* IGListKit */;
|
||||
targetProxy = A0A5426482C447F640D6A192E71D5F5B /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1DD1CFF0DC5554065098F7DC1848365A /* 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;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGNING_REQUIRED = NO;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"POD_CONFIGURATION_RELEASE=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/;
|
||||
STRIP_INSTALLED_PRODUCT = NO;
|
||||
SYMROOT = "${SRCROOT}/../build";
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
34C05CDC1260C3EC9EE799611F2CFA1B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 6446021A4B962CB0053472AA1E6D9968 /* IGListKit.xcconfig */;
|
||||
buildSettings = {
|
||||
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_PREFIX_HEADER = "Target Support Files/IGListKit/IGListKit-prefix.pch";
|
||||
INFOPLIST_FILE = "Target Support Files/IGListKit/Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MODULEMAP_FILE = "Target Support Files/IGListKit/IGListKit.modulemap";
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
PRODUCT_NAME = IGListKit;
|
||||
SDKROOT = appletvos;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_VERSION = 3.0;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
445F0240C54EE1F31011123C422947DF /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 6446021A4B962CB0053472AA1E6D9968 /* IGListKit.xcconfig */;
|
||||
buildSettings = {
|
||||
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_PREFIX_HEADER = "Target Support Files/IGListKit/IGListKit-prefix.pch";
|
||||
INFOPLIST_FILE = "Target Support Files/IGListKit/Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MODULEMAP_FILE = "Target Support Files/IGListKit/IGListKit.modulemap";
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
PRODUCT_NAME = IGListKit;
|
||||
SDKROOT = appletvos;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_VERSION = 3.0;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
650FB46C8F30EE06870353DFC5EA54B6 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 1B2B14BA3AB402D9CC387EEB27A2F746 /* Pods-IGListKitExamples.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
INFOPLIST_FILE = "Target Support Files/Pods-IGListKitExamples/Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MACH_O_TYPE = staticlib;
|
||||
MODULEMAP_FILE = "Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples.modulemap";
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
OTHER_LDFLAGS = "";
|
||||
OTHER_LIBTOOLFLAGS = "";
|
||||
PODS_ROOT = "$(SRCROOT)";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = Pods_IGListKitExamples;
|
||||
SDKROOT = appletvos;
|
||||
SKIP_INSTALL = YES;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
7DEE56CBFFC5EF063F24F486B02300EA /* 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;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGNING_REQUIRED = NO;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"POD_CONFIGURATION_DEBUG=1",
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/;
|
||||
STRIP_INSTALLED_PRODUCT = NO;
|
||||
SYMROOT = "${SRCROOT}/../build";
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
D04E368E88FCE29BD15438FCE317E815 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = A198E265B2C6E673C7C9C5050F92D9F0 /* Pods-IGListKitExamples.release.xcconfig */;
|
||||
buildSettings = {
|
||||
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
INFOPLIST_FILE = "Target Support Files/Pods-IGListKitExamples/Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
MACH_O_TYPE = staticlib;
|
||||
MODULEMAP_FILE = "Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples.modulemap";
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
OTHER_LDFLAGS = "";
|
||||
OTHER_LIBTOOLFLAGS = "";
|
||||
PODS_ROOT = "$(SRCROOT)";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = Pods_IGListKitExamples;
|
||||
SDKROOT = appletvos;
|
||||
SKIP_INSTALL = YES;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
0D48064B5FE7BD39764D43410F878396 /* Build configuration list for PBXNativeTarget "IGListKit" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
34C05CDC1260C3EC9EE799611F2CFA1B /* Debug */,
|
||||
445F0240C54EE1F31011123C422947DF /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
7DEE56CBFFC5EF063F24F486B02300EA /* Debug */,
|
||||
1DD1CFF0DC5554065098F7DC1848365A /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
447A9F6E709F690B1574347D9E329E3D /* Build configuration list for PBXNativeTarget "Pods-IGListKitExamples" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
650FB46C8F30EE06870353DFC5EA54B6 /* Debug */,
|
||||
D04E368E88FCE29BD15438FCE317E815 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
|
||||
}
|
||||
5
Examples-tvOS/Pods/Target Support Files/IGListKit/IGListKit-dummy.m
generated
Normal file
5
Examples-tvOS/Pods/Target Support Files/IGListKit/IGListKit-dummy.m
generated
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
#import <Foundation/Foundation.h>
|
||||
@interface PodsDummy_IGListKit : NSObject
|
||||
@end
|
||||
@implementation PodsDummy_IGListKit
|
||||
@end
|
||||
4
Examples-tvOS/Pods/Target Support Files/IGListKit/IGListKit-prefix.pch
generated
Normal file
4
Examples-tvOS/Pods/Target Support Files/IGListKit/IGListKit-prefix.pch
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#ifdef __OBJC__
|
||||
#import <UIKit/UIKit.h>
|
||||
#endif
|
||||
|
||||
37
Examples-tvOS/Pods/Target Support Files/IGListKit/IGListKit-umbrella.h
generated
Normal file
37
Examples-tvOS/Pods/Target Support Files/IGListKit/IGListKit-umbrella.h
generated
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
#ifdef __OBJC__
|
||||
#import <UIKit/UIKit.h>
|
||||
#endif
|
||||
|
||||
#import "IGListAdapter.h"
|
||||
#import "IGListAdapterDataSource.h"
|
||||
#import "IGListAdapterDelegate.h"
|
||||
#import "IGListAdapterUpdater.h"
|
||||
#import "IGListAdapterUpdaterDelegate.h"
|
||||
#import "IGListAssert.h"
|
||||
#import "IGListBatchUpdateData.h"
|
||||
#import "IGListCollectionContext.h"
|
||||
#import "IGListCollectionView.h"
|
||||
#import "IGListDiff.h"
|
||||
#import "IGListDiffable.h"
|
||||
#import "IGListDisplayDelegate.h"
|
||||
#import "IGListExperiments.h"
|
||||
#import "IGListIndexPathResult.h"
|
||||
#import "IGListIndexSetResult.h"
|
||||
#import "IGListKit.h"
|
||||
#import "IGListMacros.h"
|
||||
#import "IGListMoveIndex.h"
|
||||
#import "IGListMoveIndexPath.h"
|
||||
#import "IGListReloadDataUpdater.h"
|
||||
#import "IGListScrollDelegate.h"
|
||||
#import "IGListSectionController.h"
|
||||
#import "IGListSectionType.h"
|
||||
#import "IGListSingleSectionController.h"
|
||||
#import "IGListStackedSectionController.h"
|
||||
#import "IGListSupplementaryViewSource.h"
|
||||
#import "IGListUpdatingDelegate.h"
|
||||
#import "IGListWorkingRangeDelegate.h"
|
||||
#import "NSObject+IGListDiffable.h"
|
||||
|
||||
FOUNDATION_EXPORT double IGListKitVersionNumber;
|
||||
FOUNDATION_EXPORT const unsigned char IGListKitVersionString[];
|
||||
|
||||
6
Examples-tvOS/Pods/Target Support Files/IGListKit/IGListKit.modulemap
generated
Normal file
6
Examples-tvOS/Pods/Target Support Files/IGListKit/IGListKit.modulemap
generated
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
framework module IGListKit {
|
||||
umbrella header "IGListKit-umbrella.h"
|
||||
|
||||
export *
|
||||
module * { export * }
|
||||
}
|
||||
11
Examples-tvOS/Pods/Target Support Files/IGListKit/IGListKit.xcconfig
generated
Normal file
11
Examples-tvOS/Pods/Target Support Files/IGListKit/IGListKit.xcconfig
generated
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
CLANG_CXX_LANGUAGE_STANDARD = c++11
|
||||
CLANG_CXX_LIBRARY = libc++
|
||||
CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/IGListKit
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
|
||||
OTHER_LDFLAGS = -l"c++" -framework "UIKit"
|
||||
PODS_BUILD_DIR = $BUILD_DIR
|
||||
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_ROOT = ${SRCROOT}
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
||||
SKIP_INSTALL = YES
|
||||
30
Examples-tvOS/Pods/Target Support Files/IGListKit/Info.plist
generated
Normal file
30
Examples-tvOS/Pods/Target Support Files/IGListKit/Info.plist
generated
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?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>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
30
Examples-tvOS/Pods/Target Support Files/Pods-IGListKitExamples/Info.plist
generated
Normal file
30
Examples-tvOS/Pods/Target Support Files/Pods-IGListKitExamples/Info.plist
generated
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?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>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
# Acknowledgements
|
||||
This application makes use of the following third party libraries:
|
||||
|
||||
## IGListKit
|
||||
|
||||
BSD License
|
||||
|
||||
For `IGListKit` software
|
||||
|
||||
Copyright (c) 2016, Facebook, Inc. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the name Facebook nor the names of its contributors may be used to
|
||||
endorse or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Generated by CocoaPods - https://cocoapods.org
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
<?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>BSD License
|
||||
|
||||
For `IGListKit` software
|
||||
|
||||
Copyright (c) 2016, Facebook, Inc. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the name Facebook nor the names of its contributors may be used to
|
||||
endorse or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
</string>
|
||||
<key>License</key>
|
||||
<string>BSD</string>
|
||||
<key>Title</key>
|
||||
<string>IGListKit</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
Examples-tvOS/Pods/Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples-dummy.m
generated
Normal file
5
Examples-tvOS/Pods/Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples-dummy.m
generated
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
#import <Foundation/Foundation.h>
|
||||
@interface PodsDummy_Pods_IGListKitExamples : NSObject
|
||||
@end
|
||||
@implementation PodsDummy_Pods_IGListKitExamples
|
||||
@end
|
||||
91
Examples-tvOS/Pods/Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples-frameworks.sh
generated
Executable file
91
Examples-tvOS/Pods/Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples-frameworks.sh
generated
Executable file
|
|
@ -0,0 +1,91 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
|
||||
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
|
||||
|
||||
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
|
||||
|
||||
# use filter instead of exclude so missing patterns dont' throw errors
|
||||
echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
|
||||
rsync -av --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}"
|
||||
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 && exit ${PIPESTATUS[0]})
|
||||
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
|
||||
}
|
||||
|
||||
# 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_identitiy
|
||||
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
||||
echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\""
|
||||
/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
# Strip invalid architectures
|
||||
strip_invalid_archs() {
|
||||
binary="$1"
|
||||
# Get architectures for current file
|
||||
archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)"
|
||||
stripped=""
|
||||
for arch in $archs; do
|
||||
if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then
|
||||
# Strip non-valid architectures in-place
|
||||
lipo -remove "$arch" -output "$binary" "$binary" || exit 1
|
||||
stripped="$stripped $arch"
|
||||
fi
|
||||
done
|
||||
if [[ "$stripped" ]]; then
|
||||
echo "Stripped $binary of architectures:$stripped"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
if [[ "$CONFIGURATION" == "Debug" ]]; then
|
||||
install_framework "$BUILT_PRODUCTS_DIR/IGListKit/IGListKit.framework"
|
||||
fi
|
||||
if [[ "$CONFIGURATION" == "Release" ]]; then
|
||||
install_framework "$BUILT_PRODUCTS_DIR/IGListKit/IGListKit.framework"
|
||||
fi
|
||||
96
Examples-tvOS/Pods/Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples-resources.sh
generated
Executable file
96
Examples-tvOS/Pods/Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples-resources.sh
generated
Executable file
|
|
@ -0,0 +1,96 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
|
||||
RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
|
||||
> "$RESOURCES_TO_COPY"
|
||||
|
||||
XCASSET_FILES=()
|
||||
|
||||
case "${TARGETED_DEVICE_FAMILY}" in
|
||||
1,2)
|
||||
TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
|
||||
;;
|
||||
1)
|
||||
TARGET_DEVICE_ARGS="--target-device iphone"
|
||||
;;
|
||||
2)
|
||||
TARGET_DEVICE_ARGS="--target-device ipad"
|
||||
;;
|
||||
*)
|
||||
TARGET_DEVICE_ARGS="--target-device mac"
|
||||
;;
|
||||
esac
|
||||
|
||||
install_resource()
|
||||
{
|
||||
if [[ "$1" = /* ]] ; then
|
||||
RESOURCE_PATH="$1"
|
||||
else
|
||||
RESOURCE_PATH="${PODS_ROOT}/$1"
|
||||
fi
|
||||
if [[ ! -e "$RESOURCE_PATH" ]] ; then
|
||||
cat << EOM
|
||||
error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script.
|
||||
EOM
|
||||
exit 1
|
||||
fi
|
||||
case $RESOURCE_PATH in
|
||||
*.storyboard)
|
||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||
;;
|
||||
*.xib)
|
||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||
;;
|
||||
*.framework)
|
||||
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
;;
|
||||
*.xcdatamodel)
|
||||
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\""
|
||||
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
|
||||
;;
|
||||
*.xcdatamodeld)
|
||||
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\""
|
||||
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
|
||||
;;
|
||||
*.xcmappingmodel)
|
||||
echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\""
|
||||
xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
|
||||
;;
|
||||
*.xcassets)
|
||||
ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH"
|
||||
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
|
||||
;;
|
||||
*)
|
||||
echo "$RESOURCE_PATH"
|
||||
echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
|
||||
mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
fi
|
||||
rm -f "$RESOURCES_TO_COPY"
|
||||
|
||||
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ]
|
||||
then
|
||||
# Find all other xcassets (this unfortunately includes those of path pods and other targets).
|
||||
OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
|
||||
while read line; do
|
||||
if [[ $line != "${PODS_ROOT}*" ]]; then
|
||||
XCASSET_FILES+=("$line")
|
||||
fi
|
||||
done <<<"$OTHER_XCASSETS"
|
||||
|
||||
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
fi
|
||||
8
Examples-tvOS/Pods/Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples-umbrella.h
generated
Normal file
8
Examples-tvOS/Pods/Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples-umbrella.h
generated
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
#ifdef __OBJC__
|
||||
#import <UIKit/UIKit.h>
|
||||
#endif
|
||||
|
||||
|
||||
FOUNDATION_EXPORT double Pods_IGListKitExamplesVersionNumber;
|
||||
FOUNDATION_EXPORT const unsigned char Pods_IGListKitExamplesVersionString[];
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/IGListKit"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/IGListKit/IGListKit.framework/Headers"
|
||||
OTHER_LDFLAGS = $(inherited) -framework "IGListKit"
|
||||
PODS_BUILD_DIR = $BUILD_DIR
|
||||
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_ROOT = ${SRCROOT}/Pods
|
||||
6
Examples-tvOS/Pods/Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples.modulemap
generated
Normal file
6
Examples-tvOS/Pods/Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples.modulemap
generated
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
framework module Pods_IGListKitExamples {
|
||||
umbrella header "Pods-IGListKitExamples-umbrella.h"
|
||||
|
||||
export *
|
||||
module * { export * }
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/IGListKit"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
|
||||
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/IGListKit/IGListKit.framework/Headers"
|
||||
OTHER_LDFLAGS = $(inherited) -framework "IGListKit"
|
||||
PODS_BUILD_DIR = $BUILD_DIR
|
||||
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_ROOT = ${SRCROOT}/Pods
|
||||
Loading…
Reference in a new issue