├── Brewfile ├── Podfile.lock ├── .swiftlint.yml ├── Pods ├── Manifest.lock └── Target Support Files │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS-acknowledgements.markdown │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS.modulemap │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS-dummy.m │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS-umbrella.h │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS.debug.xcconfig │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS.release.xcconfig │ ├── Info.plist │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS-acknowledgements.plist │ └── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS-resources.sh │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS-acknowledgements.markdown │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS.modulemap │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS-dummy.m │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS-umbrella.h │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS.debug.xcconfig │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS.release.xcconfig │ ├── Info.plist │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS-acknowledgements.plist │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS-frameworks.sh │ └── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS-resources.sh │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS-acknowledgements.markdown │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS.modulemap │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS-dummy.m │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS-umbrella.h │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS.debug.xcconfig │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS.release.xcconfig │ ├── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS-acknowledgements.plist │ ├── Info.plist │ └── Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS-resources.sh │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS-acknowledgements.markdown │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS.modulemap │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS-dummy.m │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS-umbrella.h │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS.debug.xcconfig │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS.release.xcconfig │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS-acknowledgements.plist │ ├── Info.plist │ ├── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS-frameworks.sh │ └── Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS-resources.sh │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-acknowledgements.markdown │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.modulemap │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-dummy.m │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-umbrella.h │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.debug.xcconfig │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.release.xcconfig │ ├── Info.plist │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-acknowledgements.plist │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-frameworks.sh │ └── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-resources.sh │ └── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-acknowledgements.markdown │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.modulemap │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-dummy.m │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-umbrella.h │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-acknowledgements.plist │ ├── Info.plist │ ├── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-frameworks.sh │ └── Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-resources.sh ├── Gemfile ├── fastlane ├── Appfile ├── Fastfile └── README.md ├── Screenshots ├── flow-layout.png └── left-layout.png ├── Package.swift ├── .gitattributes ├── Samples ├── DGCollectionViewLeftAlignFlowLayoutSample-tvOS │ ├── DGCollectionViewLeftAlignFlowLayoutSample-tvOS │ │ ├── Assets.xcassets │ │ │ ├── Contents.json │ │ │ ├── App Icon & Top Shelf Image.brandassets │ │ │ │ ├── App Icon - Large.imagestack │ │ │ │ │ ├── Back.imagestacklayer │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ └── Content.imageset │ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── Front.imagestacklayer │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ └── Content.imageset │ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── Middle.imagestacklayer │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ └── Content.imageset │ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── Contents.json │ │ │ │ ├── App Icon - Small.imagestack │ │ │ │ │ ├── Back.imagestacklayer │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ └── Content.imageset │ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── Front.imagestacklayer │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ └── Content.imageset │ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── Middle.imagestacklayer │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ └── Content.imageset │ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── Contents.json │ │ │ │ ├── Top Shelf Image.imageset │ │ │ │ │ └── Contents.json │ │ │ │ ├── Top Shelf Image Wide.imageset │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ └── LaunchImage.launchimage │ │ │ │ └── Contents.json │ │ ├── ViewController.swift │ │ ├── Info.plist │ │ ├── ViewController.xib │ │ └── AppDelegate.swift │ └── DGCollectionViewLeftAlignFlowLayoutSample-tvOS.xcodeproj │ │ └── project.pbxproj └── DGCollectionViewLeftAlignFlowLayoutSample-iOS │ ├── DGCollectionViewLeftAlignFlowLayoutSample-iOS.xcodeproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── project.pbxproj │ └── DGCollectionViewLeftAlignFlowLayoutSample-iOS │ ├── ReusableView.swift │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Info.plist │ ├── Base.lproj │ └── LaunchScreen.storyboard │ ├── PathCell.swift │ ├── AppDelegate.swift │ ├── DemoViewController.swift │ ├── ReusableView.xib │ ├── PathCell.xib │ └── DemoViewController.xib ├── Tests ├── DGCollectionViewLeftAlignFlowLayoutTests │ └── DGCollectionViewLeftAlignFlowLayoutTests.swift └── Info.plist ├── .travis.yml ├── Sources ├── DGCollectionViewLeftAlignFlowLayout.h ├── Info.plist └── DGCollectionViewLeftAlignFlowLayout.swift ├── DGCollectionViewLeftAlignFlowLayout.xcworkspace └── contents.xcworkspacedata ├── DGCollectionViewLeftAlignFlowLayout.podspec ├── CHANGELOG.md ├── Podfile ├── LICENSE ├── .gitignore ├── README.md ├── CODE_OF_CONDUCT.md ├── DGCollectionViewLeftAlignFlowLayout.xcodeproj └── xcshareddata │ └── xcschemes │ ├── DGCollectionViewLeftAlignFlowLayout-tvOS.xcscheme │ └── DGCollectionViewLeftAlignFlowLayout-iOS.xcscheme ├── Gemfile.lock └── CONTRIBUTING.md /Brewfile: -------------------------------------------------------------------------------- 1 | brew 'swiftlint' 2 | brew 'git-flow' 3 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODFILE CHECKSUM: d53edcb7e37d552eb9ac37104651aeccd79ca537 2 | 3 | COCOAPODS: 1.1.1 4 | -------------------------------------------------------------------------------- /.swiftlint.yml: -------------------------------------------------------------------------------- 1 | excluded: 2 | - Carthage 3 | - Pods 4 | 5 | line_length: 200 6 | file_length: 500 7 | -------------------------------------------------------------------------------- /Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODFILE CHECKSUM: d53edcb7e37d552eb9ac37104651aeccd79ca537 2 | 3 | COCOAPODS: 1.1.1 4 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "cocoapods" 4 | gem "fastlane" 5 | gem 'digipolitan-apps-tools' 6 | -------------------------------------------------------------------------------- /fastlane/Appfile: -------------------------------------------------------------------------------- 1 | app_identifier "com.digipolitan.collectionviewleftalignflowlayout" # The bundle identifier of your app 2 | -------------------------------------------------------------------------------- /Screenshots/flow-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Digipolitan/collection-view-left-align-flow-layout/HEAD/Screenshots/flow-layout.png -------------------------------------------------------------------------------- /Screenshots/left-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Digipolitan/collection-view-left-align-flow-layout/HEAD/Screenshots/left-layout.png -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | import PackageDescription 2 | 3 | let package = Package( 4 | name: "DGCollectionViewLeftAlignFlowLayout", 5 | dependencies: [ 6 | ] 7 | ) 8 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | fastlane/* linguist-vendored 2 | *.rb linguist-vendored 3 | Podfile* linguist-vendored 4 | Gemfile* linguist-vendored 5 | Brewfile* linguist-vendored 6 | *.podspec linguist-vendored 7 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | Generated by CocoaPods - https://cocoapods.org 4 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | Generated by CocoaPods - https://cocoapods.org 4 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | Generated by CocoaPods - https://cocoapods.org 4 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | Generated by CocoaPods - https://cocoapods.org 4 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | Generated by CocoaPods - https://cocoapods.org 4 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | Generated by CocoaPods - https://cocoapods.org 4 | -------------------------------------------------------------------------------- /fastlane/Fastfile: -------------------------------------------------------------------------------- 1 | github_url = "https://github.com" 2 | import_from_git(url: "#{github_url}/Digipolitan/fastlane-common") 3 | import_from_git(url: "#{github_url}/Digipolitan/fastlane-ios") 4 | import_from_git(url: "#{github_url}/Digipolitan/fastlane-ios-framework") 5 | import_from_git(url: "#{github_url}/Digipolitan/fastlane-ios-ci-framework") 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Frameworks_DGCollectionViewLeftAlignFlowLayout_iOS { 2 | umbrella header "Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Tests_DGCollectionViewLeftAlignFlowLayoutTests_iOS { 2 | umbrella header "Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DGCollectionViewLeftAlignFlowLayoutSample-iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Frameworks_DGCollectionViewLeftAlignFlowLayout_tvOS { 2 | umbrella header "Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Tests_DGCollectionViewLeftAlignFlowLayoutTests_tvOS { 2 | umbrella header "Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Frameworks_DGCollectionViewLeftAlignFlowLayout_iOS : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Frameworks_DGCollectionViewLeftAlignFlowLayout_iOS 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Frameworks_DGCollectionViewLeftAlignFlowLayout_tvOS : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Frameworks_DGCollectionViewLeftAlignFlowLayout_tvOS 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_iOS { 2 | umbrella header "Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Tests_DGCollectionViewLeftAlignFlowLayoutTests_iOS : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Tests_DGCollectionViewLeftAlignFlowLayoutTests_iOS 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Tests_DGCollectionViewLeftAlignFlowLayoutTests_tvOS : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Tests_DGCollectionViewLeftAlignFlowLayoutTests_tvOS 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_tvOS { 2 | umbrella header "Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "tv", 5 | "scale" : "1x" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_iOS : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_iOS 5 | @end 6 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "tv", 5 | "scale" : "1x" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_tvOS : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_tvOS 5 | @end 6 | -------------------------------------------------------------------------------- /Tests/DGCollectionViewLeftAlignFlowLayoutTests/DGCollectionViewLeftAlignFlowLayoutTests.swift: -------------------------------------------------------------------------------- 1 | import XCTest 2 | @testable import DGCollectionViewLeftAlignFlowLayout 3 | 4 | class DGCollectionViewLeftAlignFlowLayoutTests: XCTestCase { 5 | 6 | override func setUp() { 7 | super.setUp() 8 | } 9 | 10 | override func tearDown() { 11 | super.tearDown() 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "tv", 5 | "scale" : "1x" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "tv", 5 | "scale" : "1x" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "tv", 5 | "scale" : "1x" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "tv", 5 | "scale" : "1x" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "tv", 5 | "scale" : "1x" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "tv", 5 | "scale" : "1x" 6 | } 7 | ], 8 | "info" : { 9 | "version" : 1, 10 | "author" : "xcode" 11 | } 12 | } -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | 6 | FOUNDATION_EXPORT double Pods_Frameworks_DGCollectionViewLeftAlignFlowLayout_iOSVersionNumber; 7 | FOUNDATION_EXPORT const unsigned char Pods_Frameworks_DGCollectionViewLeftAlignFlowLayout_iOSVersionString[]; 8 | 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | 6 | FOUNDATION_EXPORT double Pods_Tests_DGCollectionViewLeftAlignFlowLayoutTests_iOSVersionNumber; 7 | FOUNDATION_EXPORT const unsigned char Pods_Tests_DGCollectionViewLeftAlignFlowLayoutTests_iOSVersionString[]; 8 | 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | 6 | FOUNDATION_EXPORT double Pods_Frameworks_DGCollectionViewLeftAlignFlowLayout_tvOSVersionNumber; 7 | FOUNDATION_EXPORT const unsigned char Pods_Frameworks_DGCollectionViewLeftAlignFlowLayout_tvOSVersionString[]; 8 | 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | 6 | FOUNDATION_EXPORT double Pods_Tests_DGCollectionViewLeftAlignFlowLayoutTests_tvOSVersionNumber; 7 | FOUNDATION_EXPORT const unsigned char Pods_Tests_DGCollectionViewLeftAlignFlowLayoutTests_tvOSVersionString[]; 8 | 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | 6 | FOUNDATION_EXPORT double Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_iOSVersionNumber; 7 | FOUNDATION_EXPORT const unsigned char Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_iOSVersionString[]; 8 | 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | 6 | FOUNDATION_EXPORT double Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_tvOSVersionNumber; 7 | FOUNDATION_EXPORT const unsigned char Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_tvOSVersionString[]; 8 | 9 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "landscape", 5 | "idiom" : "tv", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "9.0", 8 | "scale" : "1x" 9 | } 10 | ], 11 | "info" : { 12 | "version" : 1, 13 | "author" : "xcode" 14 | } 15 | } -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | osx_image: xcode9 2 | language: objective-c 3 | cache: 4 | - bundler 5 | - cocoapods 6 | branches: 7 | only: 8 | - develop 9 | - master 10 | notifications: 11 | email: false 12 | before_install: 13 | - gem install bundler 14 | - brew update 15 | - bundle install && brew bundle 16 | - bundle exec pod repo update 17 | script: 18 | - bundle exec fastlane run_tests 19 | after_success: 20 | - bundle exec fastlane ci_framework_deploy 21 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT}/Pods 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT}/Pods 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT}/Pods 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT}/Pods 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT}/Pods 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT}/Pods 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT}/Pods 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT}/Pods 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT}/../../Pods 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT}/../../Pods 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT}/../../Pods 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT}/../../Pods 7 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers" : [ 3 | { 4 | "filename" : "Front.imagestacklayer" 5 | }, 6 | { 7 | "filename" : "Middle.imagestacklayer" 8 | }, 9 | { 10 | "filename" : "Back.imagestacklayer" 11 | } 12 | ], 13 | "info" : { 14 | "version" : 1, 15 | "author" : "xcode" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers" : [ 3 | { 4 | "filename" : "Front.imagestacklayer" 5 | }, 6 | { 7 | "filename" : "Middle.imagestacklayer" 8 | }, 9 | { 10 | "filename" : "Back.imagestacklayer" 11 | } 12 | ], 13 | "info" : { 14 | "version" : 1, 15 | "author" : "xcode" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Sources/DGCollectionViewLeftAlignFlowLayout.h: -------------------------------------------------------------------------------- 1 | #ifndef _DGCOLLECTIONVIEWLEFTALIGNFLOWLAYOUT_H 2 | #define _DGCOLLECTIONVIEWLEFTALIGNFLOWLAYOUT_H 3 | 4 | #import 5 | 6 | //! Project version number for DGCollectionViewLeftAlignFlowLayout 7 | FOUNDATION_EXPORT double DGCollectionViewLeftAlignFlowLayoutVersionNumber; 8 | 9 | //! Project version string for DGCollectionViewLeftAlignFlowLayout 10 | FOUNDATION_EXPORT const unsigned char DGCollectionViewLeftAlignFlowLayoutVersionString[]; 11 | 12 | #endif /* _DGCOLLECTIONVIEWLEFTALIGNFLOWLAYOUT_H */ 13 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // DGCollectionViewLeftAlignFlowLayoutSample-tvOS 4 | // 5 | // Created by Benoit BRIATTE on 23/12/2016. 6 | // Copyright © 2016 Digipolitan. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import DGCollectionViewLeftAlignFlowLayout 11 | 12 | class ViewController: UIViewController { 13 | 14 | override func viewDidLoad() { 15 | super.viewDidLoad() 16 | let t = TemplateClass() 17 | print(t) 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DGCollectionViewLeftAlignFlowLayoutSample-iOS/ReusableView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HeaderReusableView.swift 3 | // DGGridCollectionViewControllerSample-iOS 4 | // 5 | // Created by Julien Sarazin on 02/01/2017. 6 | // Copyright © 2017 Digipolitan. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ReusableView: UICollectionReusableView { 12 | @IBOutlet weak var textLabel: UILabel! 13 | 14 | static let Identifier = "ReusableViewIdentifier" 15 | 16 | override func awakeFromNib() { 17 | super.awakeFromNib() 18 | // Initialization code 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /DGCollectionViewLeftAlignFlowLayout.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 12 | 13 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /DGCollectionViewLeftAlignFlowLayout.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = "DGCollectionViewLeftAlignFlowLayout" 3 | s.version = "1.0.4" 4 | s.summary = "The DGCollectionViewLeftAlignFlowLayout is a simple layout that align does not try to fulfill the lines but stick elements to the left." 5 | s.homepage = "https://github.com/Digipolitan/collection-view-left-align-flow-layout" 6 | s.authors = "Digipolitan" 7 | s.source = { :git => "https://github.com/Digipolitan/collection-view-left-align-flow-layout.git", :tag => "v#{s.version}" } 8 | s.license = { :type => "BSD", :file => "LICENSE" } 9 | s.source_files = 'Sources/**/*.{swift,h}' 10 | s.ios.deployment_target = '8.0' 11 | s.tvos.deployment_target = '9.0' 12 | s.requires_arc = true 13 | end 14 | -------------------------------------------------------------------------------- /Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | fr_FR 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0.4 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Sources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | fr_FR 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.4 19 | CFBundleVersion 20 | 1 21 | NSPrincipalClass 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "assets" : [ 3 | { 4 | "size" : "1280x768", 5 | "idiom" : "tv", 6 | "filename" : "App Icon - Large.imagestack", 7 | "role" : "primary-app-icon" 8 | }, 9 | { 10 | "size" : "400x240", 11 | "idiom" : "tv", 12 | "filename" : "App Icon - Small.imagestack", 13 | "role" : "primary-app-icon" 14 | }, 15 | { 16 | "size" : "2320x720", 17 | "idiom" : "tv", 18 | "filename" : "Top Shelf Image Wide.imageset", 19 | "role" : "top-shelf-image-wide" 20 | }, 21 | { 22 | "size" : "1920x720", 23 | "idiom" : "tv", 24 | "filename" : "Top Shelf Image.imageset", 25 | "role" : "top-shelf-image" 26 | } 27 | ], 28 | "info" : { 29 | "version" : 1, 30 | "author" : "xcode" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | `collection-view-left-align-flow-layout` adheres to [Semantic Versioning](http://semver.org/). 5 | --- 6 | 7 | ## [1.0.4](https://github.com/Digipolitan/collection-view-left-align-flow-layout/releases/tag/v1.0.4) 8 | 9 | update gem 10 | update repository files 11 | 12 | --- 13 | 14 | ## [1.0.3](https://github.com/Digipolitan/collection-view-left-align-flow-layout/releases/tag/v1.0.3) 15 | 16 | upgrade class visibility to open 17 | update CI files 18 | update project version 19 | 20 | --- 21 | 22 | ## [1.0.2](https://github.com/Digipolitan/collection-view-left-align-flow-layout/releases/tag/v1.0.2) 23 | 24 | Fixed layout processing, where a new row wasn’t properly defined. 25 | 26 | --- 27 | 28 | ## [1.0.1](https://github.com/Digipolitan/collection-view-left-align-flow-layout/releases/tag/v1.0.1) 29 | 30 | fixed positionning when only 1 element was displayed in a row 31 | Adding public allows to create variable of type 32 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Generated by CocoaPods - https://cocoapods.org 18 | Title 19 | 20 | Type 21 | PSGroupSpecifier 22 | 23 | 24 | StringsTable 25 | Acknowledgements 26 | Title 27 | Acknowledgements 28 | 29 | 30 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Generated by CocoaPods - https://cocoapods.org 18 | Title 19 | 20 | Type 21 | PSGroupSpecifier 22 | 23 | 24 | StringsTable 25 | Acknowledgements 26 | Title 27 | Acknowledgements 28 | 29 | 30 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Generated by CocoaPods - https://cocoapods.org 18 | Title 19 | 20 | Type 21 | PSGroupSpecifier 22 | 23 | 24 | StringsTable 25 | Acknowledgements 26 | Title 27 | Acknowledgements 28 | 29 | 30 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Generated by CocoaPods - https://cocoapods.org 18 | Title 19 | 20 | Type 21 | PSGroupSpecifier 22 | 23 | 24 | StringsTable 25 | Acknowledgements 26 | Title 27 | Acknowledgements 28 | 29 | 30 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Generated by CocoaPods - https://cocoapods.org 18 | Title 19 | 20 | Type 21 | PSGroupSpecifier 22 | 23 | 24 | StringsTable 25 | Acknowledgements 26 | Title 27 | Acknowledgements 28 | 29 | 30 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Generated by CocoaPods - https://cocoapods.org 18 | Title 19 | 20 | Type 21 | PSGroupSpecifier 22 | 23 | 24 | StringsTable 25 | Acknowledgements 26 | Title 27 | Acknowledgements 28 | 29 | 30 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DGCollectionViewLeftAlignFlowLayoutSample-iOS/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | } 43 | ], 44 | "info" : { 45 | "version" : 1, 46 | "author" : "xcode" 47 | } 48 | } -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | fr_FR 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UIRequiredDeviceCapabilities 24 | 25 | arm64 26 | 27 | UIUserInterfaceStyle 28 | Automatic 29 | 30 | 31 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | UIRequiredDeviceCapabilities 26 | 27 | arm64 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | UIRequiredDeviceCapabilities 26 | 27 | arm64 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | UIRequiredDeviceCapabilities 26 | 27 | arm64 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | workspace 'DGCollectionViewLeftAlignFlowLayout.xcworkspace' 2 | 3 | ## Frameworks targets 4 | abstract_target 'Frameworks' do 5 | use_frameworks! 6 | target 'DGCollectionViewLeftAlignFlowLayout-iOS' do 7 | platform :ios, '8.0' 8 | end 9 | 10 | target 'DGCollectionViewLeftAlignFlowLayout-tvOS' do 11 | platform :tvos, '9.0' 12 | end 13 | end 14 | 15 | ## Tests targets 16 | abstract_target 'Tests' do 17 | use_frameworks! 18 | target 'DGCollectionViewLeftAlignFlowLayoutTests-iOS' do 19 | platform :ios, '8.0' 20 | end 21 | 22 | target 'DGCollectionViewLeftAlignFlowLayoutTests-tvOS' do 23 | platform :tvos, '9.0' 24 | end 25 | end 26 | 27 | ## Samples targets 28 | abstract_target 'Samples' do 29 | use_frameworks! 30 | target 'DGCollectionViewLeftAlignFlowLayoutSample-iOS' do 31 | project 'Samples/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DGCollectionViewLeftAlignFlowLayoutSample-iOS' 32 | platform :ios, '8.0' 33 | end 34 | 35 | target 'DGCollectionViewLeftAlignFlowLayoutSample-tvOS' do 36 | project 'Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS' 37 | platform :tvos, '9.0' 38 | end 39 | end 40 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DGCollectionViewLeftAlignFlowLayoutSample-iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | fr_FR 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIRequiredDeviceCapabilities 26 | 27 | armv7 28 | 29 | UISupportedInterfaceOrientations 30 | 31 | UIInterfaceOrientationPortrait 32 | UIInterfaceOrientationLandscapeLeft 33 | UIInterfaceOrientationLandscapeRight 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2017, Digipolitan 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## Build generated 6 | build/ 7 | DerivedData/ 8 | 9 | ## Various settings 10 | *.pbxuser 11 | !default.pbxuser 12 | *.mode1v3 13 | !default.mode1v3 14 | *.mode2v3 15 | !default.mode2v3 16 | *.perspectivev3 17 | !default.perspectivev3 18 | xcuserdata/ 19 | 20 | ## Other 21 | *.moved-aside 22 | *.xcuserstate 23 | 24 | ## Obj-C/Swift specific 25 | *.hmap 26 | *.ipa 27 | *.dSYM.zip 28 | *.dSYM 29 | 30 | ## Playgrounds 31 | timeline.xctimeline 32 | playground.xcworkspace 33 | 34 | # Swift Package Manager 35 | # 36 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. 37 | # Packages/ 38 | .build/ 39 | 40 | # CocoaPods 41 | # 42 | # We recommend against adding the Pods directory to your .gitignore. However 43 | # you should judge for yourself, the pros and cons are mentioned at: 44 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 45 | # 46 | # Pods/ 47 | 48 | # Carthage 49 | # 50 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 51 | # Carthage/Checkouts 52 | 53 | Carthage/Build 54 | 55 | # fastlane 56 | # 57 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 58 | # screenshots whenever they are needed. 59 | # For more information about the recommended setup visit: 60 | # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md 61 | 62 | fastlane/report.xml 63 | fastlane/Preview.html 64 | fastlane/screenshots 65 | fastlane/test_output 66 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/ViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DGCollectionViewLeftAlignFlowLayoutSample-iOS/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DGCollectionViewLeftAlignFlowLayoutSample-iOS/PathCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PathCell.swift 3 | // DGGridCollectionViewControllerSample-iOS 4 | // 5 | // Created by Julien Sarazin on 03/01/2017. 6 | // Copyright © 2017 Digipolitan. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | private let kReuseIdentifier = "ReuseIdentifier" 12 | 13 | class PathCell: UICollectionViewCell { 14 | @IBOutlet private weak var textLabrel: UILabel! 15 | 16 | override var bounds: CGRect { 17 | didSet { 18 | contentView.frame = bounds 19 | } 20 | } 21 | 22 | fileprivate var indexPath: IndexPath? 23 | fileprivate var numberOfSection: Int = 0 24 | fileprivate var numberOfRow: Int = 0 25 | 26 | @IBOutlet weak var widthConstraint: NSLayoutConstraint! 27 | static let Identifier: String = "PathCellReuseIdentifier" 28 | 29 | func set(indexPath: IndexPath) { 30 | self.numberOfSection = indexPath.section 31 | self.numberOfRow = indexPath.row 32 | self.indexPath = indexPath 33 | 34 | self.textLabrel.text = "[\(indexPath.section), \(indexPath.item)]" 35 | } 36 | 37 | func estimatedHeight(estimatedWidth: CGFloat) -> CGFloat { 38 | return 100 39 | } 40 | } 41 | 42 | extension PathCell : UICollectionViewDataSource { 43 | func numberOfSections(in collectionView: UICollectionView) -> Int { 44 | return 1 45 | } 46 | 47 | func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 48 | return (self.numberOfSection + 1) * self.numberOfRow 49 | } 50 | 51 | func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 52 | let cell: UICollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: kReuseIdentifier, for: indexPath) 53 | cell.backgroundColor = (indexPath.section % 2 == 0) ? .blue : .yellow 54 | return cell 55 | } 56 | } 57 | 58 | extension PathCell: UICollectionViewDelegateFlowLayout { 59 | func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { 60 | return CGSize(width: 50, height: 50) 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // DGCollectionViewLeftAlignFlowLayoutSample-tvOS 4 | // 5 | // Created by Benoit BRIATTE on 23/12/2016. 6 | // Copyright © 2016 Digipolitan. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | var window: UIWindow? 15 | 16 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 17 | let window = UIWindow(frame: UIScreen.main.bounds) 18 | window.rootViewController = UINavigationController(rootViewController: ViewController()) 19 | self.window = window 20 | window.makeKeyAndVisible() 21 | return true 22 | } 23 | 24 | func applicationWillResignActive(_ application: UIApplication) { 25 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions 26 | // (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 27 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 28 | } 29 | 30 | func applicationDidEnterBackground(_ application: UIApplication) { 31 | // Use this method to release shared resources, save user data, invalidate timers, 32 | // and store enough application state information to restore your application to its current state in case it is terminated later. 33 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 34 | } 35 | 36 | func applicationWillEnterForeground(_ application: UIApplication) { 37 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 38 | } 39 | 40 | func applicationDidBecomeActive(_ application: UIApplication) { 41 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 42 | } 43 | 44 | func applicationWillTerminate(_ application: UIApplication) { 45 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DGCollectionViewLeftAlignFlowLayoutSample-iOS/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // DGCollectionViewLeftAlignFlowLayoutSample-iOS 4 | // 5 | // Created by Benoit BRIATTE on 23/12/2016. 6 | // Copyright © 2016 Digipolitan. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | var window: UIWindow? 15 | 16 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 17 | let window = UIWindow(frame: UIScreen.main.bounds) 18 | window.rootViewController = UINavigationController(rootViewController: DemoViewController()) 19 | self.window = window 20 | window.makeKeyAndVisible() 21 | return true 22 | } 23 | 24 | func applicationWillResignActive(_ application: UIApplication) { 25 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions 26 | // (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 27 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 28 | } 29 | 30 | func applicationDidEnterBackground(_ application: UIApplication) { 31 | // Use this method to release shared resources, save user data, invalidate timers, 32 | // and store enough application state information to restore your application to its current state in case it is terminated later. 33 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 34 | } 35 | 36 | func applicationWillEnterForeground(_ application: UIApplication) { 37 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 38 | } 39 | 40 | func applicationDidBecomeActive(_ application: UIApplication) { 41 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 42 | } 43 | 44 | func applicationWillTerminate(_ application: UIApplication) { 45 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | DGCollectionViewLeftAlignFlowLayout 2 | ================================= 3 | 4 | [![Build Status](https://travis-ci.org/Digipolitan/collection-view-left-align-flow-layout.svg?branch=master)](https://travis-ci.org/Digipolitan/collection-view-left-align-flow-layout) 5 | [![CocoaPods Compatible](https://img.shields.io/cocoapods/v/DGCollectionViewLeftAlignFlowLayout.svg)](https://img.shields.io/cocoapods/v/DGCollectionViewLeftAlignFlowLayout.svg) 6 | [![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) 7 | [![Platform](https://img.shields.io/cocoapods/p/DGCollectionViewLeftAlignFlowLayout.svg?style=flat)](http://cocoadocs.org/docsets/DGCollectionViewLeftAlignFlowLayout) 8 | [![Twitter](https://img.shields.io/badge/twitter-@Digipolitan-blue.svg?style=flat)](http://twitter.com/Digipolitan) 9 | 10 | The `DGCollectionViewLeftAlignFlowLayout` is a simple layout that align does not try to fulfill the lines but stick elements to the left. 11 | 12 | ![Original FlowLayout](https://github.com/Digipolitan/collection-view-left-align-flow-layout/blob/develop/Screenshots/flow-layout.png?raw=true "Original") 13 | ![Left Aligned](https://github.com/Digipolitan/collection-view-left-align-flow-layout/blob/develop/Screenshots/left-layout.png?raw=true "Left Aligned") 14 | 15 | 16 | 17 | ## Getting Started 18 | 19 | These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system. 20 | 21 | ### Prerequisites 22 | 23 | Works with iOS 8+, tested on Xcode 8.2 24 | 25 | ### Installing 26 | 27 | To install the `DGCollectionViewLeftAlignFlowLayout` using **cocoapods** 28 | 29 | - Add an entry in your Podfile 30 | 31 | ``` 32 | # Uncomment this line to define a global platform for your project 33 | platform :ios, '8.0' 34 | 35 | target 'YourTarget' do 36 | frameworks 37 | use_frameworks! 38 | 39 | # Pods for YourTarget 40 | pod 'DGCollectionViewLeftAlignFlowLayout' 41 | end 42 | ``` 43 | 44 | - Then install the dependency with the `pod install` command. 45 | 46 | ## Usage 47 | 48 | Initialize your behavior 49 | 50 | ```swift 51 | self.collectionView.collectionViewLayout = DGCollectionViewLeftAlignFlowLayout() 52 | ``` 53 | 54 | ## Built With 55 | 56 | [Fastlane](https://fastlane.tools/) 57 | Fastlane is a tool for iOS, Mac, and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application. 58 | 59 | ## Contributing 60 | 61 | See [CONTRIBUTING.md](CONTRIBUTING.md) for more details! 62 | 63 | This project adheres to the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). 64 | By participating, you are expected to uphold this code. Please report 65 | unacceptable behavior to [contact@digipolitan.com](mailto:contact@digipolitan.com). 66 | 67 | ## License 68 | 69 | DGCollectionViewLeftAlignFlowLayout is licensed under the [BSD 3-Clause license](LICENSE). 70 | -------------------------------------------------------------------------------- /Sources/DGCollectionViewLeftAlignFlowLayout.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DGCollectionViewLeftAlignFlowLayout.swift 3 | // DGCollectionViewLeftAlignFlowLayout 4 | // 5 | // Created by Julien Sarazin on 23/01/2017. 6 | // Copyright © 2017 Digipolitan. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | open class DGCollectionViewLeftAlignFlowLayout: UICollectionViewFlowLayout { 12 | var delegate: UICollectionViewDelegateFlowLayout? { 13 | return self.collectionView?.delegate as? UICollectionViewDelegateFlowLayout 14 | } 15 | 16 | override open func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? { 17 | guard let attributesCollection = super.layoutAttributesForElements(in: rect) else { 18 | return nil 19 | } 20 | 21 | var updatedAttributes = [UICollectionViewLayoutAttributes]() 22 | attributesCollection.forEach({ (originalAttributes) in 23 | guard originalAttributes.representedElementKind == nil else { 24 | updatedAttributes.append(originalAttributes) 25 | return 26 | } 27 | 28 | if let updatedAttribute = self.layoutAttributesForItem(at: originalAttributes.indexPath) { 29 | updatedAttributes.append(updatedAttribute) 30 | } 31 | }) 32 | 33 | return updatedAttributes 34 | } 35 | 36 | override open func layoutAttributesForItem(at indexPath: IndexPath) -> UICollectionViewLayoutAttributes? { 37 | guard let attributes = super.layoutAttributesForItem(at: indexPath)?.copy() as? UICollectionViewLayoutAttributes else { 38 | return nil 39 | } 40 | 41 | guard let collectionView = self.collectionView else { 42 | return attributes 43 | } 44 | 45 | let firstInSection: Bool = indexPath.item == 0 46 | guard !firstInSection else { 47 | let section = attributes.indexPath.section 48 | let x = self.delegate?.collectionView?(collectionView, layout: self, insetForSectionAt: section).left ?? self.sectionInset.left 49 | attributes.frame.origin.x = x 50 | return attributes 51 | } 52 | 53 | let previousAttributes = self.layoutAttributesForItem(at: IndexPath(item: indexPath.item - 1, section: indexPath.section)) 54 | let previousFrame: CGRect = previousAttributes?.frame ?? CGRect() 55 | let firstInRow = previousAttributes?.center.y != attributes.center.y 56 | 57 | guard !firstInRow else { 58 | let section = attributes.indexPath.section 59 | let x = self.delegate?.collectionView?(collectionView, layout: self, insetForSectionAt: section).left ?? self.sectionInset.left 60 | attributes.frame.origin.x = x 61 | return attributes 62 | } 63 | 64 | let interItemSpacing: CGFloat = (collectionView.delegate as? UICollectionViewDelegateFlowLayout)? 65 | .collectionView?(collectionView, layout: self, minimumInteritemSpacingForSectionAt: indexPath.section) ?? self.minimumInteritemSpacing 66 | 67 | let x = previousFrame.origin.x + previousFrame.width + interItemSpacing 68 | attributes.frame = CGRect(x: x, 69 | y: attributes.frame.origin.y, 70 | width: attributes.frame.width, 71 | height: attributes.frame.height) 72 | 73 | return attributes 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DemoViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // DGCollectionViewLeftAlignFlowLayoutSample-iOS 4 | // 5 | // Created by Benoit BRIATTE on 23/12/2016. 6 | // Copyright © 2016 Digipolitan. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import DGCollectionViewLeftAlignFlowLayout 11 | 12 | class DemoViewController: UIViewController { 13 | @IBOutlet weak var collectionView: UICollectionView! 14 | 15 | override func viewDidLoad() { 16 | super.viewDidLoad() 17 | 18 | self.collectionView.register(UINib(nibName: String(describing: PathCell.self), bundle: Bundle.main), 19 | forCellWithReuseIdentifier: PathCell.Identifier) 20 | self.collectionView.register(UINib(nibName: String(describing: ReusableView.self), bundle: Bundle.main), 21 | forSupplementaryViewOfKind: UICollectionElementKindSectionHeader, 22 | withReuseIdentifier: ReusableView.Identifier) 23 | self.collectionView.delegate = self 24 | self.collectionView.dataSource = self 25 | } 26 | } 27 | 28 | extension DemoViewController: UICollectionViewDataSource { 29 | func numberOfSections(in collectionView: UICollectionView) -> Int { 30 | return 2 31 | } 32 | 33 | func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 34 | return 10 35 | } 36 | 37 | func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 38 | guard let cell: PathCell = collectionView.dequeueReusableCell(withReuseIdentifier: PathCell.Identifier, for: indexPath) as? PathCell else { 39 | fatalError("Cannot dequeue cell with identifier \(PathCell.Identifier)") 40 | } 41 | 42 | cell.set(indexPath: indexPath) 43 | return cell 44 | } 45 | 46 | func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView { 47 | guard let view: ReusableView = collectionView.dequeueReusableSupplementaryView(ofKind: UICollectionElementKindSectionHeader, 48 | withReuseIdentifier: ReusableView.Identifier, 49 | for: indexPath) as? ReusableView else { 50 | 51 | fatalError("Cannot dequeue reusable view with identigier: \(ReusableView.Identifier)") 52 | } 53 | 54 | return view 55 | } 56 | } 57 | 58 | extension DemoViewController: UICollectionViewDelegateFlowLayout { 59 | func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { 60 | let width: Int = (indexPath.item > 3 && indexPath.item % 2 == 0) ? 150 : 60 61 | return CGSize(width: width, height: 100) 62 | } 63 | 64 | func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize { 65 | return CGSize(width: self.view.bounds.width, height: 44) 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DGCollectionViewLeftAlignFlowLayoutSample-iOS/ReusableView.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | 9 | Examples of behavior that contributes to creating a positive environment include: 10 | 11 | * Using welcoming and inclusive language 12 | * Being respectful of differing viewpoints and experiences 13 | * Gracefully accepting constructive criticism 14 | * Focusing on what is best for the community 15 | * Showing empathy towards other community members 16 | 17 | Examples of unacceptable behavior by participants include: 18 | 19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances 20 | * Trolling, insulting/derogatory comments, and personal or political attacks 21 | * Public or private harassment 22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission 23 | * Other conduct which could reasonably be considered inappropriate in a professional setting 24 | 25 | ## Our Responsibilities 26 | 27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 28 | 29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 30 | 31 | ## Scope 32 | 33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 34 | 35 | ## Enforcement 36 | 37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [contact@digipolitan.com](mailto:contact@digipolitan.com). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 38 | 39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 40 | 41 | ## Attribution 42 | 43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] 44 | 45 | [homepage]: http://contributor-covenant.org 46 | [version]: http://contributor-covenant.org/version/1/4/ 47 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DGCollectionViewLeftAlignFlowLayoutSample-iOS/PathCell.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DemoViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 12 | local source="${BUILT_PRODUCTS_DIR}/$1" 13 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 14 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 15 | elif [ -r "$1" ]; then 16 | local source="$1" 17 | fi 18 | 19 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 20 | 21 | if [ -L "${source}" ]; then 22 | echo "Symlinked..." 23 | source="$(readlink "${source}")" 24 | fi 25 | 26 | # use filter instead of exclude so missing patterns dont' throw errors 27 | echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 28 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 29 | 30 | local basename 31 | basename="$(basename -s .framework "$1")" 32 | binary="${destination}/${basename}.framework/${basename}" 33 | if ! [ -r "$binary" ]; then 34 | binary="${destination}/${basename}" 35 | fi 36 | 37 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 38 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 39 | strip_invalid_archs "$binary" 40 | fi 41 | 42 | # Resign the code if required by the build settings to avoid unstable apps 43 | code_sign_if_enabled "${destination}/$(basename "$1")" 44 | 45 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 46 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 47 | local swift_runtime_libs 48 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 49 | for lib in $swift_runtime_libs; do 50 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 51 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 52 | code_sign_if_enabled "${destination}/${lib}" 53 | done 54 | fi 55 | } 56 | 57 | # Signs a framework with the provided identity 58 | code_sign_if_enabled() { 59 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 60 | # Use the current code_sign_identitiy 61 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 62 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" 63 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" 64 | fi 65 | } 66 | 67 | # Strip invalid architectures 68 | strip_invalid_archs() { 69 | binary="$1" 70 | # Get architectures for current file 71 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 72 | stripped="" 73 | for arch in $archs; do 74 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then 75 | # Strip non-valid architectures in-place 76 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 77 | stripped="$stripped $arch" 78 | fi 79 | done 80 | if [[ "$stripped" ]]; then 81 | echo "Stripped $binary of architectures:$stripped" 82 | fi 83 | } 84 | 85 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 12 | local source="${BUILT_PRODUCTS_DIR}/$1" 13 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 14 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 15 | elif [ -r "$1" ]; then 16 | local source="$1" 17 | fi 18 | 19 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 20 | 21 | if [ -L "${source}" ]; then 22 | echo "Symlinked..." 23 | source="$(readlink "${source}")" 24 | fi 25 | 26 | # use filter instead of exclude so missing patterns dont' throw errors 27 | echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 28 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 29 | 30 | local basename 31 | basename="$(basename -s .framework "$1")" 32 | binary="${destination}/${basename}.framework/${basename}" 33 | if ! [ -r "$binary" ]; then 34 | binary="${destination}/${basename}" 35 | fi 36 | 37 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 38 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 39 | strip_invalid_archs "$binary" 40 | fi 41 | 42 | # Resign the code if required by the build settings to avoid unstable apps 43 | code_sign_if_enabled "${destination}/$(basename "$1")" 44 | 45 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 46 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 47 | local swift_runtime_libs 48 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 49 | for lib in $swift_runtime_libs; do 50 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 51 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 52 | code_sign_if_enabled "${destination}/${lib}" 53 | done 54 | fi 55 | } 56 | 57 | # Signs a framework with the provided identity 58 | code_sign_if_enabled() { 59 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 60 | # Use the current code_sign_identitiy 61 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 62 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" 63 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" 64 | fi 65 | } 66 | 67 | # Strip invalid architectures 68 | strip_invalid_archs() { 69 | binary="$1" 70 | # Get architectures for current file 71 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 72 | stripped="" 73 | for arch in $archs; do 74 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then 75 | # Strip non-valid architectures in-place 76 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 77 | stripped="$stripped $arch" 78 | fi 79 | done 80 | if [[ "$stripped" ]]; then 81 | echo "Stripped $binary of architectures:$stripped" 82 | fi 83 | } 84 | 85 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 12 | local source="${BUILT_PRODUCTS_DIR}/$1" 13 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 14 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 15 | elif [ -r "$1" ]; then 16 | local source="$1" 17 | fi 18 | 19 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 20 | 21 | if [ -L "${source}" ]; then 22 | echo "Symlinked..." 23 | source="$(readlink "${source}")" 24 | fi 25 | 26 | # use filter instead of exclude so missing patterns dont' throw errors 27 | echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 28 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 29 | 30 | local basename 31 | basename="$(basename -s .framework "$1")" 32 | binary="${destination}/${basename}.framework/${basename}" 33 | if ! [ -r "$binary" ]; then 34 | binary="${destination}/${basename}" 35 | fi 36 | 37 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 38 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 39 | strip_invalid_archs "$binary" 40 | fi 41 | 42 | # Resign the code if required by the build settings to avoid unstable apps 43 | code_sign_if_enabled "${destination}/$(basename "$1")" 44 | 45 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 46 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 47 | local swift_runtime_libs 48 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 49 | for lib in $swift_runtime_libs; do 50 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 51 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 52 | code_sign_if_enabled "${destination}/${lib}" 53 | done 54 | fi 55 | } 56 | 57 | # Signs a framework with the provided identity 58 | code_sign_if_enabled() { 59 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 60 | # Use the current code_sign_identitiy 61 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 62 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" 63 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" 64 | fi 65 | } 66 | 67 | # Strip invalid architectures 68 | strip_invalid_archs() { 69 | binary="$1" 70 | # Get architectures for current file 71 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 72 | stripped="" 73 | for arch in $archs; do 74 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then 75 | # Strip non-valid architectures in-place 76 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 77 | stripped="$stripped $arch" 78 | fi 79 | done 80 | if [[ "$stripped" ]]; then 81 | echo "Stripped $binary of architectures:$stripped" 82 | fi 83 | } 84 | 85 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 12 | local source="${BUILT_PRODUCTS_DIR}/$1" 13 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 14 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 15 | elif [ -r "$1" ]; then 16 | local source="$1" 17 | fi 18 | 19 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 20 | 21 | if [ -L "${source}" ]; then 22 | echo "Symlinked..." 23 | source="$(readlink "${source}")" 24 | fi 25 | 26 | # use filter instead of exclude so missing patterns dont' throw errors 27 | echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 28 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 29 | 30 | local basename 31 | basename="$(basename -s .framework "$1")" 32 | binary="${destination}/${basename}.framework/${basename}" 33 | if ! [ -r "$binary" ]; then 34 | binary="${destination}/${basename}" 35 | fi 36 | 37 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 38 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 39 | strip_invalid_archs "$binary" 40 | fi 41 | 42 | # Resign the code if required by the build settings to avoid unstable apps 43 | code_sign_if_enabled "${destination}/$(basename "$1")" 44 | 45 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 46 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 47 | local swift_runtime_libs 48 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 49 | for lib in $swift_runtime_libs; do 50 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 51 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 52 | code_sign_if_enabled "${destination}/${lib}" 53 | done 54 | fi 55 | } 56 | 57 | # Signs a framework with the provided identity 58 | code_sign_if_enabled() { 59 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 60 | # Use the current code_sign_identitiy 61 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 62 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" 63 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" 64 | fi 65 | } 66 | 67 | # Strip invalid architectures 68 | strip_invalid_archs() { 69 | binary="$1" 70 | # Get architectures for current file 71 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 72 | stripped="" 73 | for arch in $archs; do 74 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then 75 | # Strip non-valid architectures in-place 76 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 77 | stripped="$stripped $arch" 78 | fi 79 | done 80 | if [[ "$stripped" ]]; then 81 | echo "Stripped $binary of architectures:$stripped" 82 | fi 83 | } 84 | 85 | -------------------------------------------------------------------------------- /DGCollectionViewLeftAlignFlowLayout.xcodeproj/xcshareddata/xcschemes/DGCollectionViewLeftAlignFlowLayout-tvOS.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 31 | 32 | 34 | 40 | 41 | 42 | 43 | 44 | 50 | 51 | 52 | 53 | 54 | 55 | 66 | 67 | 73 | 74 | 75 | 76 | 77 | 78 | 84 | 85 | 91 | 92 | 93 | 94 | 96 | 97 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /DGCollectionViewLeftAlignFlowLayout.xcodeproj/xcshareddata/xcschemes/DGCollectionViewLeftAlignFlowLayout-iOS.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 32 | 33 | 35 | 41 | 42 | 43 | 44 | 45 | 51 | 52 | 53 | 54 | 55 | 56 | 67 | 68 | 74 | 75 | 76 | 77 | 78 | 79 | 85 | 86 | 92 | 93 | 94 | 95 | 97 | 98 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-iOS-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES=() 10 | 11 | case "${TARGETED_DEVICE_FAMILY}" in 12 | 1,2) 13 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 14 | ;; 15 | 1) 16 | TARGET_DEVICE_ARGS="--target-device iphone" 17 | ;; 18 | 2) 19 | TARGET_DEVICE_ARGS="--target-device ipad" 20 | ;; 21 | *) 22 | TARGET_DEVICE_ARGS="--target-device mac" 23 | ;; 24 | esac 25 | 26 | install_resource() 27 | { 28 | if [[ "$1" = /* ]] ; then 29 | RESOURCE_PATH="$1" 30 | else 31 | RESOURCE_PATH="${PODS_ROOT}/$1" 32 | fi 33 | if [[ ! -e "$RESOURCE_PATH" ]] ; then 34 | cat << EOM 35 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. 36 | EOM 37 | exit 1 38 | fi 39 | case $RESOURCE_PATH in 40 | *.storyboard) 41 | 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}" 42 | 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} 43 | ;; 44 | *.xib) 45 | 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}" 46 | 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} 47 | ;; 48 | *.framework) 49 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 50 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 51 | echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 52 | rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 53 | ;; 54 | *.xcdatamodel) 55 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" 56 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" 57 | ;; 58 | *.xcdatamodeld) 59 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" 60 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" 61 | ;; 62 | *.xcmappingmodel) 63 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" 64 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" 65 | ;; 66 | *.xcassets) 67 | ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" 68 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 69 | ;; 70 | *) 71 | echo "$RESOURCE_PATH" 72 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" 73 | ;; 74 | esac 75 | } 76 | 77 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 78 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 79 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 80 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 81 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 82 | fi 83 | rm -f "$RESOURCES_TO_COPY" 84 | 85 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] 86 | then 87 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 88 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 89 | while read line; do 90 | if [[ $line != "${PODS_ROOT}*" ]]; then 91 | XCASSET_FILES+=("$line") 92 | fi 93 | done <<<"$OTHER_XCASSETS" 94 | 95 | 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}" 96 | fi 97 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-iOS-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES=() 10 | 11 | case "${TARGETED_DEVICE_FAMILY}" in 12 | 1,2) 13 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 14 | ;; 15 | 1) 16 | TARGET_DEVICE_ARGS="--target-device iphone" 17 | ;; 18 | 2) 19 | TARGET_DEVICE_ARGS="--target-device ipad" 20 | ;; 21 | *) 22 | TARGET_DEVICE_ARGS="--target-device mac" 23 | ;; 24 | esac 25 | 26 | install_resource() 27 | { 28 | if [[ "$1" = /* ]] ; then 29 | RESOURCE_PATH="$1" 30 | else 31 | RESOURCE_PATH="${PODS_ROOT}/$1" 32 | fi 33 | if [[ ! -e "$RESOURCE_PATH" ]] ; then 34 | cat << EOM 35 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. 36 | EOM 37 | exit 1 38 | fi 39 | case $RESOURCE_PATH in 40 | *.storyboard) 41 | 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}" 42 | 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} 43 | ;; 44 | *.xib) 45 | 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}" 46 | 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} 47 | ;; 48 | *.framework) 49 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 50 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 51 | echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 52 | rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 53 | ;; 54 | *.xcdatamodel) 55 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" 56 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" 57 | ;; 58 | *.xcdatamodeld) 59 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" 60 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" 61 | ;; 62 | *.xcmappingmodel) 63 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" 64 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" 65 | ;; 66 | *.xcassets) 67 | ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" 68 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 69 | ;; 70 | *) 71 | echo "$RESOURCE_PATH" 72 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" 73 | ;; 74 | esac 75 | } 76 | 77 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 78 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 79 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 80 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 81 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 82 | fi 83 | rm -f "$RESOURCES_TO_COPY" 84 | 85 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] 86 | then 87 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 88 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 89 | while read line; do 90 | if [[ $line != "${PODS_ROOT}*" ]]; then 91 | XCASSET_FILES+=("$line") 92 | fi 93 | done <<<"$OTHER_XCASSETS" 94 | 95 | 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}" 96 | fi 97 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS/Pods-Frameworks-DGCollectionViewLeftAlignFlowLayout-tvOS-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES=() 10 | 11 | case "${TARGETED_DEVICE_FAMILY}" in 12 | 1,2) 13 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 14 | ;; 15 | 1) 16 | TARGET_DEVICE_ARGS="--target-device iphone" 17 | ;; 18 | 2) 19 | TARGET_DEVICE_ARGS="--target-device ipad" 20 | ;; 21 | *) 22 | TARGET_DEVICE_ARGS="--target-device mac" 23 | ;; 24 | esac 25 | 26 | install_resource() 27 | { 28 | if [[ "$1" = /* ]] ; then 29 | RESOURCE_PATH="$1" 30 | else 31 | RESOURCE_PATH="${PODS_ROOT}/$1" 32 | fi 33 | if [[ ! -e "$RESOURCE_PATH" ]] ; then 34 | cat << EOM 35 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. 36 | EOM 37 | exit 1 38 | fi 39 | case $RESOURCE_PATH in 40 | *.storyboard) 41 | 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}" 42 | 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} 43 | ;; 44 | *.xib) 45 | 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}" 46 | 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} 47 | ;; 48 | *.framework) 49 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 50 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 51 | echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 52 | rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 53 | ;; 54 | *.xcdatamodel) 55 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" 56 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" 57 | ;; 58 | *.xcdatamodeld) 59 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" 60 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" 61 | ;; 62 | *.xcmappingmodel) 63 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" 64 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" 65 | ;; 66 | *.xcassets) 67 | ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" 68 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 69 | ;; 70 | *) 71 | echo "$RESOURCE_PATH" 72 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" 73 | ;; 74 | esac 75 | } 76 | 77 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 78 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 79 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 80 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 81 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 82 | fi 83 | rm -f "$RESOURCES_TO_COPY" 84 | 85 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] 86 | then 87 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 88 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 89 | while read line; do 90 | if [[ $line != "${PODS_ROOT}*" ]]; then 91 | XCASSET_FILES+=("$line") 92 | fi 93 | done <<<"$OTHER_XCASSETS" 94 | 95 | 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}" 96 | fi 97 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES=() 10 | 11 | case "${TARGETED_DEVICE_FAMILY}" in 12 | 1,2) 13 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 14 | ;; 15 | 1) 16 | TARGET_DEVICE_ARGS="--target-device iphone" 17 | ;; 18 | 2) 19 | TARGET_DEVICE_ARGS="--target-device ipad" 20 | ;; 21 | *) 22 | TARGET_DEVICE_ARGS="--target-device mac" 23 | ;; 24 | esac 25 | 26 | install_resource() 27 | { 28 | if [[ "$1" = /* ]] ; then 29 | RESOURCE_PATH="$1" 30 | else 31 | RESOURCE_PATH="${PODS_ROOT}/$1" 32 | fi 33 | if [[ ! -e "$RESOURCE_PATH" ]] ; then 34 | cat << EOM 35 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. 36 | EOM 37 | exit 1 38 | fi 39 | case $RESOURCE_PATH in 40 | *.storyboard) 41 | 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}" 42 | 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} 43 | ;; 44 | *.xib) 45 | 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}" 46 | 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} 47 | ;; 48 | *.framework) 49 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 50 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 51 | echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 52 | rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 53 | ;; 54 | *.xcdatamodel) 55 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" 56 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" 57 | ;; 58 | *.xcdatamodeld) 59 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" 60 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" 61 | ;; 62 | *.xcmappingmodel) 63 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" 64 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" 65 | ;; 66 | *.xcassets) 67 | ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" 68 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 69 | ;; 70 | *) 71 | echo "$RESOURCE_PATH" 72 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" 73 | ;; 74 | esac 75 | } 76 | 77 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 78 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 79 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 80 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 81 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 82 | fi 83 | rm -f "$RESOURCES_TO_COPY" 84 | 85 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] 86 | then 87 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 88 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 89 | while read line; do 90 | if [[ $line != "${PODS_ROOT}*" ]]; then 91 | XCASSET_FILES+=("$line") 92 | fi 93 | done <<<"$OTHER_XCASSETS" 94 | 95 | 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}" 96 | fi 97 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS/Pods-Tests-DGCollectionViewLeftAlignFlowLayoutTests-tvOS-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES=() 10 | 11 | case "${TARGETED_DEVICE_FAMILY}" in 12 | 1,2) 13 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 14 | ;; 15 | 1) 16 | TARGET_DEVICE_ARGS="--target-device iphone" 17 | ;; 18 | 2) 19 | TARGET_DEVICE_ARGS="--target-device ipad" 20 | ;; 21 | *) 22 | TARGET_DEVICE_ARGS="--target-device mac" 23 | ;; 24 | esac 25 | 26 | install_resource() 27 | { 28 | if [[ "$1" = /* ]] ; then 29 | RESOURCE_PATH="$1" 30 | else 31 | RESOURCE_PATH="${PODS_ROOT}/$1" 32 | fi 33 | if [[ ! -e "$RESOURCE_PATH" ]] ; then 34 | cat << EOM 35 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. 36 | EOM 37 | exit 1 38 | fi 39 | case $RESOURCE_PATH in 40 | *.storyboard) 41 | 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}" 42 | 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} 43 | ;; 44 | *.xib) 45 | 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}" 46 | 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} 47 | ;; 48 | *.framework) 49 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 50 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 51 | echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 52 | rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 53 | ;; 54 | *.xcdatamodel) 55 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" 56 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" 57 | ;; 58 | *.xcdatamodeld) 59 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" 60 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" 61 | ;; 62 | *.xcmappingmodel) 63 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" 64 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" 65 | ;; 66 | *.xcassets) 67 | ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" 68 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 69 | ;; 70 | *) 71 | echo "$RESOURCE_PATH" 72 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" 73 | ;; 74 | esac 75 | } 76 | 77 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 78 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 79 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 80 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 81 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 82 | fi 83 | rm -f "$RESOURCES_TO_COPY" 84 | 85 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] 86 | then 87 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 88 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 89 | while read line; do 90 | if [[ $line != "${PODS_ROOT}*" ]]; then 91 | XCASSET_FILES+=("$line") 92 | fi 93 | done <<<"$OTHER_XCASSETS" 94 | 95 | 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}" 96 | fi 97 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES=() 10 | 11 | case "${TARGETED_DEVICE_FAMILY}" in 12 | 1,2) 13 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 14 | ;; 15 | 1) 16 | TARGET_DEVICE_ARGS="--target-device iphone" 17 | ;; 18 | 2) 19 | TARGET_DEVICE_ARGS="--target-device ipad" 20 | ;; 21 | *) 22 | TARGET_DEVICE_ARGS="--target-device mac" 23 | ;; 24 | esac 25 | 26 | install_resource() 27 | { 28 | if [[ "$1" = /* ]] ; then 29 | RESOURCE_PATH="$1" 30 | else 31 | RESOURCE_PATH="${PODS_ROOT}/$1" 32 | fi 33 | if [[ ! -e "$RESOURCE_PATH" ]] ; then 34 | cat << EOM 35 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. 36 | EOM 37 | exit 1 38 | fi 39 | case $RESOURCE_PATH in 40 | *.storyboard) 41 | 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}" 42 | 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} 43 | ;; 44 | *.xib) 45 | 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}" 46 | 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} 47 | ;; 48 | *.framework) 49 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 50 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 51 | echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 52 | rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 53 | ;; 54 | *.xcdatamodel) 55 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" 56 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" 57 | ;; 58 | *.xcdatamodeld) 59 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" 60 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" 61 | ;; 62 | *.xcmappingmodel) 63 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" 64 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" 65 | ;; 66 | *.xcassets) 67 | ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" 68 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 69 | ;; 70 | *) 71 | echo "$RESOURCE_PATH" 72 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" 73 | ;; 74 | esac 75 | } 76 | 77 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 78 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 79 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 80 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 81 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 82 | fi 83 | rm -f "$RESOURCES_TO_COPY" 84 | 85 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] 86 | then 87 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 88 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 89 | while read line; do 90 | if [[ $line != "${PODS_ROOT}*" ]]; then 91 | XCASSET_FILES+=("$line") 92 | fi 93 | done <<<"$OTHER_XCASSETS" 94 | 95 | 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}" 96 | fi 97 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | CFPropertyList (2.3.4) 5 | activesupport (4.2.7.1) 6 | i18n (~> 0.7) 7 | json (~> 1.7, >= 1.7.7) 8 | minitest (~> 5.1) 9 | thread_safe (~> 0.3, >= 0.3.4) 10 | tzinfo (~> 1.1) 11 | addressable (2.5.0) 12 | public_suffix (~> 2.0, >= 2.0.2) 13 | babosa (1.0.2) 14 | claide (1.0.1) 15 | cocoapods (1.1.1) 16 | activesupport (>= 4.0.2, < 5) 17 | claide (>= 1.0.1, < 2.0) 18 | cocoapods-core (= 1.1.1) 19 | cocoapods-deintegrate (>= 1.0.1, < 2.0) 20 | cocoapods-downloader (>= 1.1.2, < 2.0) 21 | cocoapods-plugins (>= 1.0.0, < 2.0) 22 | cocoapods-search (>= 1.0.0, < 2.0) 23 | cocoapods-stats (>= 1.0.0, < 2.0) 24 | cocoapods-trunk (>= 1.1.1, < 2.0) 25 | cocoapods-try (>= 1.1.0, < 2.0) 26 | colored (~> 1.2) 27 | escape (~> 0.0.4) 28 | fourflusher (~> 2.0.1) 29 | gh_inspector (~> 1.0) 30 | molinillo (~> 0.5.1) 31 | nap (~> 1.0) 32 | xcodeproj (>= 1.3.3, < 2.0) 33 | cocoapods-core (1.1.1) 34 | activesupport (>= 4.0.2, < 5) 35 | fuzzy_match (~> 2.0.4) 36 | nap (~> 1.0) 37 | cocoapods-deintegrate (1.0.1) 38 | cocoapods-downloader (1.1.3) 39 | cocoapods-plugins (1.0.0) 40 | nap 41 | cocoapods-search (1.0.0) 42 | cocoapods-stats (1.0.0) 43 | cocoapods-trunk (1.1.2) 44 | nap (>= 0.8, < 2.0) 45 | netrc (= 0.7.8) 46 | cocoapods-try (1.1.0) 47 | colored (1.2) 48 | colorize (0.8.1) 49 | commander (4.4.3) 50 | highline (~> 1.7.2) 51 | digipolitan-apps-tools (0.2.3) 52 | colorize (~> 0.8.1) 53 | domain_name (0.5.20161129) 54 | unf (>= 0.0.5, < 1.0.0) 55 | dotenv (2.1.2) 56 | escape (0.0.4) 57 | excon (0.54.0) 58 | faraday (0.11.0) 59 | multipart-post (>= 1.2, < 3) 60 | faraday-cookie_jar (0.0.6) 61 | faraday (>= 0.7.4) 62 | http-cookie (~> 1.0.0) 63 | faraday_middleware (0.11.0.1) 64 | faraday (>= 0.7.4, < 1.0) 65 | fastimage (2.0.1) 66 | addressable (~> 2) 67 | fastlane (2.9.0) 68 | activesupport (< 5) 69 | addressable (>= 2.3, < 3.0.0) 70 | babosa (>= 1.0.2, < 2.0.0) 71 | bundler (~> 1.12) 72 | colored 73 | commander (>= 4.4.0, < 5.0.0) 74 | dotenv (>= 2.1.1, < 3.0.0) 75 | excon (>= 0.45.0, < 1.0.0) 76 | faraday (~> 0.9) 77 | faraday-cookie_jar (~> 0.0.6) 78 | faraday_middleware (~> 0.9) 79 | fastimage (>= 1.6) 80 | gh_inspector (>= 1.0.1, < 2.0.0) 81 | google-api-client (~> 0.9.2) 82 | highline (>= 1.7.2, < 2.0.0) 83 | json (< 3.0.0) 84 | mini_magick (~> 4.5.1) 85 | multi_json 86 | multi_xml (~> 0.5) 87 | multipart-post (~> 2.0.0) 88 | plist (>= 3.1.0, < 4.0.0) 89 | rubyzip (>= 1.1.0, < 2.0.0) 90 | security (= 0.1.3) 91 | slack-notifier (>= 1.3, < 2.0.0) 92 | terminal-notifier (>= 1.6.2, < 2.0.0) 93 | terminal-table (>= 1.4.5, < 2.0.0) 94 | word_wrap (~> 1.0.0) 95 | xcodeproj (>= 0.20, < 2.0.0) 96 | xcpretty (>= 0.2.4, < 1.0.0) 97 | xcpretty-travis-formatter (>= 0.0.3) 98 | fourflusher (2.0.1) 99 | fuzzy_match (2.0.4) 100 | gh_inspector (1.0.3) 101 | google-api-client (0.9.23) 102 | addressable (~> 2.3) 103 | googleauth (~> 0.5) 104 | httpclient (~> 2.7) 105 | hurley (~> 0.1) 106 | memoist (~> 0.11) 107 | mime-types (>= 1.6) 108 | representable (~> 2.3.0) 109 | retriable (~> 2.0) 110 | googleauth (0.5.1) 111 | faraday (~> 0.9) 112 | jwt (~> 1.4) 113 | logging (~> 2.0) 114 | memoist (~> 0.12) 115 | multi_json (~> 1.11) 116 | os (~> 0.9) 117 | signet (~> 0.7) 118 | highline (1.7.8) 119 | http-cookie (1.0.3) 120 | domain_name (~> 0.5) 121 | httpclient (2.8.3) 122 | hurley (0.2) 123 | i18n (0.7.0) 124 | json (1.8.6) 125 | jwt (1.5.6) 126 | little-plugger (1.1.4) 127 | logging (2.1.0) 128 | little-plugger (~> 1.1) 129 | multi_json (~> 1.10) 130 | memoist (0.15.0) 131 | mime-types (3.1) 132 | mime-types-data (~> 3.2015) 133 | mime-types-data (3.2016.0521) 134 | mini_magick (4.5.1) 135 | minitest (5.10.1) 136 | molinillo (0.5.5) 137 | multi_json (1.12.1) 138 | multi_xml (0.6.0) 139 | multipart-post (2.0.0) 140 | nanaimo (0.2.3) 141 | nap (1.1.0) 142 | netrc (0.7.8) 143 | os (0.9.6) 144 | plist (3.2.0) 145 | public_suffix (2.0.5) 146 | representable (2.3.0) 147 | uber (~> 0.0.7) 148 | retriable (2.1.0) 149 | rouge (1.11.1) 150 | rubyzip (1.2.0) 151 | security (0.1.3) 152 | signet (0.7.3) 153 | addressable (~> 2.3) 154 | faraday (~> 0.9) 155 | jwt (~> 1.5) 156 | multi_json (~> 1.10) 157 | slack-notifier (1.5.1) 158 | terminal-notifier (1.7.1) 159 | terminal-table (1.7.3) 160 | unicode-display_width (~> 1.1.1) 161 | thread_safe (0.3.5) 162 | tzinfo (1.2.2) 163 | thread_safe (~> 0.1) 164 | uber (0.0.15) 165 | unf (0.1.4) 166 | unf_ext 167 | unf_ext (0.0.7.2) 168 | unicode-display_width (1.1.3) 169 | word_wrap (1.0.0) 170 | xcodeproj (1.4.2) 171 | CFPropertyList (~> 2.3.3) 172 | activesupport (>= 3) 173 | claide (>= 1.0.1, < 2.0) 174 | colored (~> 1.2) 175 | nanaimo (~> 0.2.3) 176 | xcpretty (0.2.4) 177 | rouge (~> 1.8) 178 | xcpretty-travis-formatter (0.0.4) 179 | xcpretty (~> 0.2, >= 0.0.7) 180 | 181 | PLATFORMS 182 | ruby 183 | 184 | DEPENDENCIES 185 | cocoapods 186 | digipolitan-apps-tools 187 | fastlane 188 | 189 | BUNDLED WITH 190 | 1.15.4 191 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to collection-view-left-align-flow-layout 2 | 3 | First off, thanks for taking the time to contribute! :tada::+1: 4 | 5 | The following is a set of guidelines for contributing to Digipolitan and its packages, which are hosted in the [Digipolitan Organization](https://github.com/digipolitan) on GitHub. 6 | These are just guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request. 7 | 8 | #### Table Of Contents 9 | 10 | [What should I know before I get started?](#what-should-i-know-before-i-get-started) 11 | * [Code of Conduct](#code-of-conduct) 12 | 13 | [How Can I Contribute?](#how-can-i-contribute) 14 | * [Reporting Bugs](#reporting-bugs) 15 | 16 | ## What should I know before I get started? 17 | 18 | ### Code of Conduct 19 | 20 | This project adheres to the Contributor Covenant [code of conduct](CODE_OF_CONDUCT.md). 21 | By participating, you are expected to uphold this code. 22 | Please report unacceptable behavior to [contact@digipolitan.com](mailto:contact@digipolitan.com). 23 | 24 | ### Reporting Bugs 25 | 26 | This section guides you through submitting a bug report for Digipolitan. Following these guidelines helps maintainers and the community understand your report :pencil:, reproduce the behavior :computer: :computer:, and find related reports :mag_right:. 27 | 28 | Before creating bug reports, please check [this list](#before-submitting-a-bug-report) as you might find out that you don't need to create one. When you are creating a bug report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report). If you'd like, you can use [this template](#template-for-submitting-bug-reports) to structure the information. 29 | 30 | #### Before Submitting A Bug Report 31 | 32 | * **Perform a [search](https://github.com/issues?q=+is%3Aissue+user%3Adigipolitan)** to see if the problem has already been reported. If it has, add a comment to the existing issue instead of opening a new one. 33 | 34 | #### How Do I Submit A (Good) Bug Report? 35 | 36 | Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). After you've determined 37 | 38 | Explain the problem and include additional details to help maintainers reproduce the problem: 39 | 40 | * **Use a clear and descriptive title** for the issue to identify the problem. 41 | * **Describe the exact steps which reproduce the problem** in as many details as possible. 42 | * **Provide specific examples to demonstrate the steps**. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples. If you're providing snippets in the issue, use [Markdown code blocks](https://help.github.com/articles/markdown-basics/#multiple-lines). 43 | * **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior. 44 | * **Explain which behavior you expected to see instead and why.** 45 | * **Include screenshots and animated GIFs** which show you following the described steps and clearly demonstrate the problem. 46 | * **If you're reporting that collection-view-left-align-flow-layout crashed**, include a crash report with a stack trace from the operating system. On iOS, the crash report is available in Xcode, on macOS, the crash report will be available in `Console.app` under "Diagnostic and usage information" > "User diagnostic reports". Include the crash report in the issue in a [code block](https://help.github.com/articles/markdown-basics/#multiple-lines), a [file attachment](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests/), or put it in a [gist](https://gist.github.com/) and provide link to that gist. 47 | * **If the problem is related to performance**, include a CPU profile capture and a screenshot with your report. 48 | * **If the problem wasn't triggered by a specific action**, describe what you were doing before the problem happened and share more information using the guidelines below. 49 | 50 | Provide more context by answering these questions: 51 | 52 | * **Did the problem start happening recently** (e.g. after updating to a new version of collection-view-left-align-flow-layout) or was this always a problem? 53 | * If the problem started happening recently, **can you reproduce the problem in an older version of collection-view-left-align-flow-layout ?** What's the most recent version in which the problem doesn't happen? You can download older versions of collection-view-left-align-flow-layout from [the releases page](https://github.com/digipolitan/collection-view-left-align-flow-layout/releases). 54 | * **Can you reliably reproduce the issue?** If not, provide details about how often the problem happens and under which conditions it normally happens. 55 | 56 | Include details about your configuration and environment: 57 | 58 | * **Which version of collection-view-left-align-flow-layout are you using? 59 | * **What's the name and version of the macOS or iOS you're using**? 60 | 61 | #### Template For Submitting Bug Reports 62 | 63 | [Short description of problem here] 64 | 65 | **Reproduction Steps:** 66 | 67 | 1. [First Step] 68 | 2. [Second Step] 69 | 3. [Other Steps...] 70 | 71 | **Expected behavior:** 72 | 73 | [Describe expected behavior here] 74 | 75 | **Observed behavior:** 76 | 77 | [Describe observed behavior here] 78 | 79 | **Screenshots and GIFs** 80 | 81 | ![Screenshots and GIFs which follow reproduction steps to demonstrate the problem](url) 82 | 83 | **collection-view-left-align-flow-layout version:** [Enter collection-view-left-align-flow-layout version here] 84 | **OS and version:** [Enter macOS / iOS / linux name and version here] 85 | 86 | **Installed packages:** 87 | 88 | [List of installed packages here] 89 | 90 | **Additional information:** 91 | 92 | * Problem started happening recently, didn't happen in an older version of collection-view-left-align-flow-layout: [Yes/No] 93 | * Problem can be reliably reproduced, doesn't happen randomly: [Yes/No] 94 | * Problem happens with all files and projects, not only some files or projects: [Yes/No] 95 | -------------------------------------------------------------------------------- /fastlane/README.md: -------------------------------------------------------------------------------- 1 | fastlane documentation 2 | ================ 3 | # Installation 4 | ``` 5 | sudo gem install fastlane 6 | ``` 7 | # Available Actions 8 | ### appfile_init 9 | ``` 10 | fastlane appfile_init 11 | ``` 12 | Init the Fastlane Appfile with a user interaction 13 | 14 | #### How to install ? 15 | 16 | This lane require actions define in [Digipolitan/fastlane-common](https://github.com/Digipolitan/fastlane-common) 17 | 18 | ``` 19 | import_from_git( 20 | url: 'https://github.com/Digipolitan/fastlane-common' 21 | ) 22 | ``` 23 | 24 | #### Example : Fetch only the app_identifier 25 | 26 | ``` 27 | fastlane appfile_init fetch_app_identifier:false 28 | ``` 29 | 30 | #### Options 31 | 32 | * __**xcodeproj**__: The Xcode project path, if the project isn't in your root directory 33 | 34 | * **environment_variable**: XCODEPROJ 35 | 36 | * **type**: string 37 | 38 | * **optional**: true 39 | 40 | * __**fetch_app_identifier**__: Ask the user about the app_identifier 41 | 42 | * **type**: boolean 43 | 44 | * **default_value**: true 45 | 46 | * __**fetch_apple_id**__: Ask the user about the apple account 47 | 48 | * **type**: boolean 49 | 50 | * **default_value**: true 51 | 52 | * __**fetch_team_name**__: Ask the user about the Dev Portal Team 53 | 54 | * **type**: boolean 55 | 56 | * **default_value**: true 57 | 58 | * __**fetch_itc_team_name**__: Ask the user about the iTunes Connect Team 59 | 60 | * **type**: boolean 61 | 62 | * **default_value**: true 63 | 64 | 65 | ### run_tests 66 | ``` 67 | fastlane run_tests 68 | ``` 69 | Build and run all Xcode tests 70 | 71 | #### Example: 72 | 73 | ``` 74 | fastlane tests workspace:NAME.xcworkspace 75 | ``` 76 | 77 | #### How to install ? 78 | 79 | This lane require actions define in [Digipolitan/fastlane-common](https://github.com/Digipolitan/fastlane-common) 80 | 81 | ``` 82 | import_from_git( 83 | url: 'https://github.com/Digipolitan/fastlane-common' 84 | ) 85 | ``` 86 | 87 | #### Options 88 | 89 | * __**test_scheme**__: The scheme into the Xcode project to execute, the scheme is required on the CI environement 90 | 91 | * **environment_variable**: TEST_SCHEME 92 | 93 | * **type**: string 94 | 95 | * **optional**: true 96 | 97 | * __**xcworkspace**__: The workspace to use. 98 | 99 | * **environment_variable**: XCWORKSPACE 100 | 101 | * **type**: string 102 | 103 | * **optional**: true 104 | 105 | * __**xcodeproj**__: The Xcode project to select 106 | 107 | * **environment_variable**: XCODEPROJ 108 | 109 | * **type**: string 110 | 111 | * **optional**: true 112 | 113 | #### Environment variables 114 | 115 | * __**SLACK_URL**__: The slack Hook URL 116 | 117 | * **type**: string 118 | 119 | * **optional**: true 120 | 121 | 122 | ### framework_bootstrap 123 | ``` 124 | fastlane framework_bootstrap 125 | ``` 126 | Initialize the framework to be use with fastlane 127 | 128 | #### How to install ? 129 | 130 | This lane require actions define in [Digipolitan/fastlane-common](https://github.com/Digipolitan/fastlane-common) and lane define in [Digipolitan/fastlane-ios](https://github.com/Digipolitan/fastlane-ios) 131 | 132 | ``` 133 | import_from_git( 134 | url: 'https://github.com/Digipolitan/fastlane-common' 135 | ) 136 | import_from_git( 137 | url: 'https://github.com/Digipolitan/fastlane-ios' 138 | ) 139 | ``` 140 | 141 | #### Options 142 | 143 | * __**xcodeproj**__: The Xcode project path, if the project isn't in your root directory 144 | 145 | * **environment_variable**: XCODEPROJ 146 | 147 | * **type**: string 148 | 149 | * **optional**: true 150 | 151 | * __**xcworkspace**__: The Xcode workspace path, if the workspace isn't in your root directory 152 | 153 | * **environment_variable**: XCWORKSPACE 154 | 155 | * **type**: string 156 | 157 | * **optional**: true 158 | 159 | * __**podspec_path**__: The podspec path if specific 160 | 161 | * **environment_variable**: PODSPEC_PATH 162 | 163 | * **type**: string 164 | 165 | * **optional**: true 166 | 167 | * __**skip_cocoapods**__: Do not prepare the framework to CocoaPods 168 | 169 | * **environment_variable**: SKIP_COCOAPODS 170 | 171 | * **type**: string 172 | 173 | * **default_value**: false 174 | 175 | 176 | ### start_framework_release 177 | ``` 178 | fastlane start_framework_release 179 | ``` 180 | Start new framework release version on your git repository 181 | 182 | This lane require **git flow** installed in your framework directory check documentation [here](https://github.com/nvie/gitflow) 183 | 184 | You will automatically be switched to release/X.X.X branch after this lane and your xcodeproj / podsec version will be updated 185 | 186 | #### How to install ? 187 | 188 | This lane require actions define in [Digipolitan/fastlane-common](https://github.com/Digipolitan/fastlane-common) 189 | 190 | ``` 191 | import_from_git( 192 | url: 'https://github.com/Digipolitan/fastlane-common' 193 | ) 194 | ``` 195 | 196 | #### Example using specific version: 197 | 198 | ``` 199 | fastlane start_framework_release target_version:4.0.9 200 | ``` 201 | 202 | #### Options 203 | 204 | * __**xcodeproj**__: The Xcode project path, if the project isn't in your root directory 205 | 206 | * **environment_variable**: XCODEPROJ 207 | 208 | * **type**: string 209 | 210 | * **optional**: true 211 | 212 | * __**target_version**__: Change to a specific version. 213 | 214 | * **environment_variable**: TARGET_VERSION 215 | 216 | * **type**: string 217 | 218 | * **optional**: true 219 | 220 | * __**podspec_path**__: The podspec path if specific 221 | 222 | * **environment_variable**: PODSPEC_PATH 223 | 224 | * **type**: string 225 | 226 | * **optional**: true 227 | 228 | * __**skip_cocoapods**__: Do not prepare the framework to CocoaPods 229 | 230 | * **environment_variable**: SKIP_COCOAPODS 231 | 232 | * **type**: string 233 | 234 | * **default_value**: false 235 | 236 | * __**product_name**__: The framework name, by default retrieve the product name on the .git/config file 237 | 238 | * **environment_variable**: PRODUCT_NAME 239 | 240 | * **type**: string 241 | 242 | * **optional**: true 243 | 244 | * __**changelog_release_url**__: The release url use by the changelog 245 | 246 | * **environment_variable**: CHANGELOG_RELEASE_URL 247 | 248 | * **type**: string 249 | 250 | * **optional**: true 251 | 252 | * __**changelog_content**__: The changelog content, by default retrieves commits 253 | 254 | * **environment_variable**: CHANGELOG_CONTENT 255 | 256 | * **type**: string 257 | 258 | * **optional**: true 259 | 260 | 261 | ### publish_framework_release 262 | ``` 263 | fastlane publish_framework_release 264 | ``` 265 | Submit the framework release version on your git repository and close the branch 266 | 267 | This lane require **git flow** installed in your framework directory check documentation [here](https://github.com/nvie/gitflow) 268 | 269 | You will automatically be switched to your develop branch after this lane 270 | 271 | #### How to install ? 272 | 273 | This lane require actions define in [Digipolitan/fastlane-common](https://github.com/Digipolitan/fastlane-common) 274 | 275 | ``` 276 | import_from_git( 277 | url: 'https://github.com/Digipolitan/fastlane-common' 278 | ) 279 | ``` 280 | 281 | #### Options 282 | 283 | * __**git_flow_release_message**__: The commit message 284 | 285 | * **environment_variable**: GIT_FLOW_RELEASE_MESSAGE 286 | 287 | * **type**: string 288 | 289 | * **optional**: true 290 | 291 | * **default_value**: Release version **VERSION_NUMBER** 292 | 293 | * __**xcworkspace**__: The Xcode workspace to use. 294 | 295 | * **environment_variable**: XCWORKSPACE 296 | 297 | * **type**: string 298 | 299 | * **optional**: true 300 | 301 | * __**xcodeproj**__: The Xcode project path. 302 | 303 | * **environment_variable**: XCODEPROJ 304 | 305 | * **type**: string 306 | 307 | * **optional**: true 308 | 309 | * __**test_scheme**__: The scheme into the Xcode project to execute 310 | 311 | * **environment_variable**: TEST_SCHEME 312 | 313 | * **type**: string 314 | 315 | * **optional**: true 316 | 317 | * __**podspec_path**__: The podspec path if specific 318 | 319 | * **environment_variable**: PODSPEC_PATH 320 | 321 | * **type**: string 322 | 323 | * **optional**: true 324 | 325 | * __**skip_cocoapods**__: Do not prepare the framework to CocoaPods 326 | 327 | * **environment_variable**: SKIP_COCOAPODS 328 | 329 | * **type**: string 330 | 331 | * **default_value**: false 332 | 333 | 334 | ### framework_deploy_cocoapods 335 | ``` 336 | fastlane framework_deploy_cocoapods 337 | ``` 338 | CocoaPods deployment lane 339 | 340 | This lane must be run only on the **master** branch 341 | 342 | #### How to install ? 343 | 344 | This lane require actions define in [Digipolitan/fastlane-common](https://github.com/Digipolitan/fastlane-common) 345 | 346 | ``` 347 | import_from_git( 348 | url: 'https://github.com/Digipolitan/fastlane-common' 349 | ) 350 | ``` 351 | 352 | #### Options 353 | 354 | * __**podspec_path**__: The podspec path 355 | 356 | * **environment_variable**: PODSPEC_PATH 357 | 358 | * **type**: string 359 | 360 | * **optional**: true 361 | 362 | #### CI Environment variables 363 | 364 | * __**COCOAPODS_TRUNK_TOKEN**__: The CocoaPods access token use to push the release to CocoaPods, check below how to retrieve CocoaPods token 365 | 366 | * **type**: string 367 | 368 | * **optional**: false 369 | 370 | #### Output context variables 371 | 372 | * __**:COCOAPODS_RELEASE_LINK**__: The CocoaPods release link 373 | 374 | * **type**: string 375 | 376 | #### How to retrieve CocoaPods Trunk Token ? 377 | 378 | First setup your CocoaPods trunk [as follow](https://guides.cocoapods.org/making/getting-setup-with-trunk.html) 379 | 380 | After that run this command : 381 | 382 | ``` 383 | grep -A2 'trunk.cocoapods.org' ~/.netrc 384 | ``` 385 | 386 | The output sould be something like this : 387 | 388 | ``` 389 | machine trunk.cocoapods.org 390 | login user@example.com 391 | password XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 392 | ``` 393 | 394 | The password `XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX` is your CocoaPods trunk token 395 | 396 | 397 | ### framework_deploy_github 398 | ``` 399 | fastlane framework_deploy_github 400 | ``` 401 | GitHub deployment lane 402 | 403 | This lane must be run only on the **master** branch 404 | 405 | #### How to install ? 406 | 407 | This lane require actions define in [Digipolitan/fastlane-common](https://github.com/Digipolitan/fastlane-common) 408 | 409 | ``` 410 | import_from_git( 411 | url: 'https://github.com/Digipolitan/fastlane-common' 412 | ) 413 | ``` 414 | 415 | #### Options 416 | 417 | * __**github_token**__: The GitHub access token use to push the release to GitHub, check how to generate access token [here](https://help.github.com/articles/creating-an-access-token-for-command-line-use/) 418 | 419 | * **environment_variable**: GITHUB_TOKEN 420 | 421 | * **type**: string 422 | 423 | * **optional**: false 424 | 425 | * __**github_repository_name**__: The GitHub repository name such as 'company/project' 426 | 427 | * **environment_variable**: GITHUB_REPOSITORY_NAME 428 | 429 | * **type**: string 430 | 431 | * **optional**: false 432 | 433 | * __**xcodeproj**__: Your xcodeproj path 434 | 435 | * **environment_variable**: XCODEPROJ 436 | 437 | * **type**: string 438 | 439 | * **optional**: true 440 | 441 | * __**skip_carthage**__: Skip the carthage asset to the GitHub release 442 | 443 | * **environment_variable**: SKIP_CARTHAGE 444 | 445 | * **type**: boolean 446 | 447 | * **default_value**: false 448 | 449 | * __**skip_codecov**__: Skip the codecov.io link 450 | 451 | * **environment_variable**: SKIP_CODECOV 452 | 453 | * **type**: boolean 454 | 455 | * **default_value**: false 456 | 457 | 458 | ### ci_framework_deploy 459 | ``` 460 | fastlane ci_framework_deploy 461 | ``` 462 | Framework CI deployment lane, do something only on a master branch 463 | 464 | Deploy to **github**, **carthage** and **cocoapods** 465 | 466 | #### How to install ? 467 | 468 | This lane require actions or lanes define in [Digipolitan/fastlane-ios-framework](https://github.com/Digipolitan/fastlane-ios-framework) 469 | 470 | - `framework_deploy_github` lane **if github_repository_name != nil** 471 | 472 | - `framework_deploy_cocoapods` lane **if skip_cocoapods != true** 473 | 474 | ``` 475 | import_from_git( 476 | url: 'https://github.com/Digipolitan/fastlane-common' 477 | ) 478 | import_from_git( 479 | url: 'https://github.com/Digipolitan/fastlane-ios' 480 | ) 481 | import_from_git( 482 | url: 'https://github.com/Digipolitan/fastlane-ios-framework' 483 | ) 484 | ``` 485 | 486 | #### Options 487 | 488 | * __**xcodeproj**__: The Xcode project to select. 489 | 490 | * **environment_variable**: XCODEPROJ 491 | 492 | * **type**: string 493 | 494 | * **optional**: true 495 | 496 | * __**product_name**__: The framework name. 497 | 498 | * **environment_variable**: PRODUCT_NAME 499 | 500 | * **type**: string 501 | 502 | * **optional**: true 503 | 504 | * __**github_token**__: The GitHub access token use to push the release to GitHub, check how to generate access token [here](https://help.github.com/articles/creating-an-access-token-for-command-line-use/) 505 | 506 | * **environment_variable**: GITHUB_TOKEN 507 | 508 | * **type**: string 509 | 510 | * **optional**: true 511 | 512 | * __**github_repository_name**__: The GitHub repository name such as 'company/project' 513 | 514 | * **environment_variable**: GITHUB_REPOSITORY_NAME 515 | 516 | * **type**: string 517 | 518 | * **optional**: true 519 | 520 | * __**skip_cocoapods**__: Skip cocoapods deployment 521 | 522 | * **environment_variable**: SKIP_COCOAPODS 523 | 524 | * **type**: boolean 525 | 526 | * **default_value**: false 527 | 528 | * __**skip_carthage**__: Skip carthage deployment 529 | 530 | * **environment_variable**: SKIP_CARTHAGE 531 | 532 | * **type**: boolean 533 | 534 | * **default_value**: false 535 | 536 | * __**skip_codecov**__: Skip the codecov.io link 537 | 538 | * **environment_variable**: SKIP_CODECOV 539 | 540 | * **type**: boolean 541 | 542 | * **default_value**: false 543 | 544 | #### Environment variables 545 | 546 | * __**SLACK_URL**__: The Slack Hook URL 547 | 548 | * **type**: string 549 | 550 | * **optional**: true 551 | 552 | * __**COCOAPODS_TRUNK_TOKEN**__: The CocoaPods access token use to push the release to CocoaPods 553 | 554 | * **type**: string 555 | 556 | * **optional**: true 557 | 558 | 559 | 560 | ---- 561 | 562 | This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run. 563 | More information about fastlane can be found on [https://fastlane.tools](https://fastlane.tools). 564 | The documentation of fastlane can be found on [GitHub](https://github.com/fastlane/fastlane/tree/master/fastlane). 565 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-tvOS/DGCollectionViewLeftAlignFlowLayoutSample-tvOS.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 34DDE7D37FD36E461D4A12B8 /* Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63C7555CFD588FF39D73FDF1 /* Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_tvOS.framework */; }; 11 | A30D64901E0D7B2A00A3CE45 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A30D648F1E0D7B2A00A3CE45 /* AppDelegate.swift */; }; 12 | A30D64971E0D7B2A00A3CE45 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A30D64961E0D7B2A00A3CE45 /* Assets.xcassets */; }; 13 | A30D649F1E0D7BA200A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A30D649E1E0D7BA200A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework */; }; 14 | A30D64A01E0D7BA200A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A30D649E1E0D7BA200A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 15 | A30D64A51E0D7BC200A3CE45 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A30D64A31E0D7BC200A3CE45 /* ViewController.swift */; }; 16 | A30D64A61E0D7BC200A3CE45 /* ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A30D64A41E0D7BC200A3CE45 /* ViewController.xib */; }; 17 | /* End PBXBuildFile section */ 18 | 19 | /* Begin PBXCopyFilesBuildPhase section */ 20 | A30D64A11E0D7BA200A3CE45 /* Embed Frameworks */ = { 21 | isa = PBXCopyFilesBuildPhase; 22 | buildActionMask = 2147483647; 23 | dstPath = ""; 24 | dstSubfolderSpec = 10; 25 | files = ( 26 | A30D64A01E0D7BA200A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework in Embed Frameworks */, 27 | ); 28 | name = "Embed Frameworks"; 29 | runOnlyForDeploymentPostprocessing = 0; 30 | }; 31 | /* End PBXCopyFilesBuildPhase section */ 32 | 33 | /* Begin PBXFileReference section */ 34 | 066D1A22246FF0D2CA34D179 /* Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig"; path = "../../Pods/Target Support Files/Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig"; sourceTree = ""; }; 35 | 37F6C77DDB9960488AEFDF89 /* Pods-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig"; path = "../../Pods/Target Support Files/Pods-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig"; sourceTree = ""; }; 36 | 63C7555CFD588FF39D73FDF1 /* Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 37 | 834A6462DDEA44C90F6C4159 /* Pods-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig"; path = "../../Pods/Target Support Files/Pods-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig"; sourceTree = ""; }; 38 | 86F04D0709DA0D6A2D69C509 /* Pods_DGCollectionViewLeftAlignFlowLayoutSample_DGCollectionViewLeftAlignFlowLayoutSample_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DGCollectionViewLeftAlignFlowLayoutSample_DGCollectionViewLeftAlignFlowLayoutSample_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 39 | 8D5D11F835CD3CA7BB6F03DF /* Pods_DGCollectionViewLeftAlignFlowLayoutSample_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DGCollectionViewLeftAlignFlowLayoutSample_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 40 | A30D648C1E0D7B2A00A3CE45 /* DGCollectionViewLeftAlignFlowLayoutSample-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DGCollectionViewLeftAlignFlowLayoutSample-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 41 | A30D648F1E0D7B2A00A3CE45 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 42 | A30D64961E0D7B2A00A3CE45 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 43 | A30D64981E0D7B2A00A3CE45 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 44 | A30D649E1E0D7BA200A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DGCollectionViewLeftAlignFlowLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 45 | A30D64A31E0D7BC200A3CE45 /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; 46 | A30D64A41E0D7BC200A3CE45 /* ViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ViewController.xib; sourceTree = ""; }; 47 | B59EBA76E4EE0948B3D0809A /* Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig"; path = "../../Pods/Target Support Files/Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig"; sourceTree = ""; }; 48 | ED2ADEE910CDAC99133FE3EF /* Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig"; path = "../../Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig"; sourceTree = ""; }; 49 | FFD332EBB09E825D4FA391D8 /* Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig"; path = "../../Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig"; sourceTree = ""; }; 50 | /* End PBXFileReference section */ 51 | 52 | /* Begin PBXFrameworksBuildPhase section */ 53 | A30D64891E0D7B2A00A3CE45 /* Frameworks */ = { 54 | isa = PBXFrameworksBuildPhase; 55 | buildActionMask = 2147483647; 56 | files = ( 57 | A30D649F1E0D7BA200A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework in Frameworks */, 58 | 34DDE7D37FD36E461D4A12B8 /* Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_tvOS.framework in Frameworks */, 59 | ); 60 | runOnlyForDeploymentPostprocessing = 0; 61 | }; 62 | /* End PBXFrameworksBuildPhase section */ 63 | 64 | /* Begin PBXGroup section */ 65 | 7406AAB64BCC5F8B0262648E /* Pods */ = { 66 | isa = PBXGroup; 67 | children = ( 68 | 37F6C77DDB9960488AEFDF89 /* Pods-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig */, 69 | 834A6462DDEA44C90F6C4159 /* Pods-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig */, 70 | 066D1A22246FF0D2CA34D179 /* Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig */, 71 | B59EBA76E4EE0948B3D0809A /* Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig */, 72 | ED2ADEE910CDAC99133FE3EF /* Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig */, 73 | FFD332EBB09E825D4FA391D8 /* Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig */, 74 | ); 75 | name = Pods; 76 | sourceTree = ""; 77 | }; 78 | A30D64831E0D7B2A00A3CE45 = { 79 | isa = PBXGroup; 80 | children = ( 81 | A30D648E1E0D7B2A00A3CE45 /* DGCollectionViewLeftAlignFlowLayoutSample-tvOS */, 82 | A30D64A21E0D7BA600A3CE45 /* Frameworks */, 83 | A30D648D1E0D7B2A00A3CE45 /* Products */, 84 | 7406AAB64BCC5F8B0262648E /* Pods */, 85 | ); 86 | sourceTree = ""; 87 | }; 88 | A30D648D1E0D7B2A00A3CE45 /* Products */ = { 89 | isa = PBXGroup; 90 | children = ( 91 | A30D648C1E0D7B2A00A3CE45 /* DGCollectionViewLeftAlignFlowLayoutSample-tvOS.app */, 92 | ); 93 | name = Products; 94 | sourceTree = ""; 95 | }; 96 | A30D648E1E0D7B2A00A3CE45 /* DGCollectionViewLeftAlignFlowLayoutSample-tvOS */ = { 97 | isa = PBXGroup; 98 | children = ( 99 | A30D648F1E0D7B2A00A3CE45 /* AppDelegate.swift */, 100 | A30D64A31E0D7BC200A3CE45 /* ViewController.swift */, 101 | A30D64A41E0D7BC200A3CE45 /* ViewController.xib */, 102 | A30D64961E0D7B2A00A3CE45 /* Assets.xcassets */, 103 | A30D64981E0D7B2A00A3CE45 /* Info.plist */, 104 | ); 105 | path = "DGCollectionViewLeftAlignFlowLayoutSample-tvOS"; 106 | sourceTree = ""; 107 | }; 108 | A30D64A21E0D7BA600A3CE45 /* Frameworks */ = { 109 | isa = PBXGroup; 110 | children = ( 111 | A30D649E1E0D7BA200A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework */, 112 | 8D5D11F835CD3CA7BB6F03DF /* Pods_DGCollectionViewLeftAlignFlowLayoutSample_tvOS.framework */, 113 | 86F04D0709DA0D6A2D69C509 /* Pods_DGCollectionViewLeftAlignFlowLayoutSample_DGCollectionViewLeftAlignFlowLayoutSample_tvOS.framework */, 114 | 63C7555CFD588FF39D73FDF1 /* Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_tvOS.framework */, 115 | ); 116 | name = Frameworks; 117 | sourceTree = ""; 118 | }; 119 | /* End PBXGroup section */ 120 | 121 | /* Begin PBXNativeTarget section */ 122 | A30D648B1E0D7B2A00A3CE45 /* DGCollectionViewLeftAlignFlowLayoutSample-tvOS */ = { 123 | isa = PBXNativeTarget; 124 | buildConfigurationList = A30D649B1E0D7B2A00A3CE45 /* Build configuration list for PBXNativeTarget "DGCollectionViewLeftAlignFlowLayoutSample-tvOS" */; 125 | buildPhases = ( 126 | C9C3C7D7C59B1AB10EA77253 /* [CP] Check Pods Manifest.lock */, 127 | A30D64881E0D7B2A00A3CE45 /* Sources */, 128 | A30D64891E0D7B2A00A3CE45 /* Frameworks */, 129 | A30D648A1E0D7B2A00A3CE45 /* Resources */, 130 | A30D64A11E0D7BA200A3CE45 /* Embed Frameworks */, 131 | 6F91670C5C8679B959E65CFB /* [CP] Embed Pods Frameworks */, 132 | 7A423DABB450FAAD99D572FF /* [CP] Copy Pods Resources */, 133 | ); 134 | buildRules = ( 135 | ); 136 | dependencies = ( 137 | ); 138 | name = "DGCollectionViewLeftAlignFlowLayoutSample-tvOS"; 139 | productName = "DGCollectionViewLeftAlignFlowLayoutSample-tvOS"; 140 | productReference = A30D648C1E0D7B2A00A3CE45 /* DGCollectionViewLeftAlignFlowLayoutSample-tvOS.app */; 141 | productType = "com.apple.product-type.application"; 142 | }; 143 | /* End PBXNativeTarget section */ 144 | 145 | /* Begin PBXProject section */ 146 | A30D64841E0D7B2A00A3CE45 /* Project object */ = { 147 | isa = PBXProject; 148 | attributes = { 149 | LastSwiftUpdateCheck = 0820; 150 | LastUpgradeCheck = 0900; 151 | ORGANIZATIONNAME = Digipolitan; 152 | TargetAttributes = { 153 | A30D648B1E0D7B2A00A3CE45 = { 154 | CreatedOnToolsVersion = 8.2.1; 155 | DevelopmentTeam = 582762VK3P; 156 | ProvisioningStyle = Automatic; 157 | }; 158 | }; 159 | }; 160 | buildConfigurationList = A30D64871E0D7B2A00A3CE45 /* Build configuration list for PBXProject "DGCollectionViewLeftAlignFlowLayoutSample-tvOS" */; 161 | compatibilityVersion = "Xcode 3.2"; 162 | developmentRegion = English; 163 | hasScannedForEncodings = 0; 164 | knownRegions = ( 165 | en, 166 | Base, 167 | ); 168 | mainGroup = A30D64831E0D7B2A00A3CE45; 169 | productRefGroup = A30D648D1E0D7B2A00A3CE45 /* Products */; 170 | projectDirPath = ""; 171 | projectRoot = ""; 172 | targets = ( 173 | A30D648B1E0D7B2A00A3CE45 /* DGCollectionViewLeftAlignFlowLayoutSample-tvOS */, 174 | ); 175 | }; 176 | /* End PBXProject section */ 177 | 178 | /* Begin PBXResourcesBuildPhase section */ 179 | A30D648A1E0D7B2A00A3CE45 /* Resources */ = { 180 | isa = PBXResourcesBuildPhase; 181 | buildActionMask = 2147483647; 182 | files = ( 183 | A30D64A61E0D7BC200A3CE45 /* ViewController.xib in Resources */, 184 | A30D64971E0D7B2A00A3CE45 /* Assets.xcassets in Resources */, 185 | ); 186 | runOnlyForDeploymentPostprocessing = 0; 187 | }; 188 | /* End PBXResourcesBuildPhase section */ 189 | 190 | /* Begin PBXShellScriptBuildPhase section */ 191 | 6F91670C5C8679B959E65CFB /* [CP] Embed Pods Frameworks */ = { 192 | isa = PBXShellScriptBuildPhase; 193 | buildActionMask = 2147483647; 194 | files = ( 195 | ); 196 | inputPaths = ( 197 | ); 198 | name = "[CP] Embed Pods Frameworks"; 199 | outputPaths = ( 200 | ); 201 | runOnlyForDeploymentPostprocessing = 0; 202 | shellPath = /bin/sh; 203 | shellScript = "\"${SRCROOT}/../../Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-frameworks.sh\"\n"; 204 | showEnvVarsInLog = 0; 205 | }; 206 | 7A423DABB450FAAD99D572FF /* [CP] Copy Pods Resources */ = { 207 | isa = PBXShellScriptBuildPhase; 208 | buildActionMask = 2147483647; 209 | files = ( 210 | ); 211 | inputPaths = ( 212 | ); 213 | name = "[CP] Copy Pods Resources"; 214 | outputPaths = ( 215 | ); 216 | runOnlyForDeploymentPostprocessing = 0; 217 | shellPath = /bin/sh; 218 | shellScript = "\"${SRCROOT}/../../Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS-resources.sh\"\n"; 219 | showEnvVarsInLog = 0; 220 | }; 221 | C9C3C7D7C59B1AB10EA77253 /* [CP] Check Pods Manifest.lock */ = { 222 | isa = PBXShellScriptBuildPhase; 223 | buildActionMask = 2147483647; 224 | files = ( 225 | ); 226 | inputPaths = ( 227 | ); 228 | name = "[CP] Check Pods Manifest.lock"; 229 | outputPaths = ( 230 | ); 231 | runOnlyForDeploymentPostprocessing = 0; 232 | shellPath = /bin/sh; 233 | 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"; 234 | showEnvVarsInLog = 0; 235 | }; 236 | /* End PBXShellScriptBuildPhase section */ 237 | 238 | /* Begin PBXSourcesBuildPhase section */ 239 | A30D64881E0D7B2A00A3CE45 /* Sources */ = { 240 | isa = PBXSourcesBuildPhase; 241 | buildActionMask = 2147483647; 242 | files = ( 243 | A30D64A51E0D7BC200A3CE45 /* ViewController.swift in Sources */, 244 | A30D64901E0D7B2A00A3CE45 /* AppDelegate.swift in Sources */, 245 | ); 246 | runOnlyForDeploymentPostprocessing = 0; 247 | }; 248 | /* End PBXSourcesBuildPhase section */ 249 | 250 | /* Begin XCBuildConfiguration section */ 251 | A30D64991E0D7B2A00A3CE45 /* Debug */ = { 252 | isa = XCBuildConfiguration; 253 | buildSettings = { 254 | ALWAYS_SEARCH_USER_PATHS = NO; 255 | CLANG_ANALYZER_NONNULL = YES; 256 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 257 | CLANG_CXX_LIBRARY = "libc++"; 258 | CLANG_ENABLE_MODULES = YES; 259 | CLANG_ENABLE_OBJC_ARC = YES; 260 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 261 | CLANG_WARN_BOOL_CONVERSION = YES; 262 | CLANG_WARN_COMMA = YES; 263 | CLANG_WARN_CONSTANT_CONVERSION = YES; 264 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 265 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 266 | CLANG_WARN_EMPTY_BODY = YES; 267 | CLANG_WARN_ENUM_CONVERSION = YES; 268 | CLANG_WARN_INFINITE_RECURSION = YES; 269 | CLANG_WARN_INT_CONVERSION = YES; 270 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 271 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 272 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 273 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 274 | CLANG_WARN_STRICT_PROTOTYPES = YES; 275 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 276 | CLANG_WARN_UNREACHABLE_CODE = YES; 277 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 278 | COPY_PHASE_STRIP = NO; 279 | CURRENT_PROJECT_VERSION = 1; 280 | DEBUG_INFORMATION_FORMAT = dwarf; 281 | ENABLE_STRICT_OBJC_MSGSEND = YES; 282 | ENABLE_TESTABILITY = YES; 283 | GCC_C_LANGUAGE_STANDARD = gnu99; 284 | GCC_DYNAMIC_NO_PIC = NO; 285 | GCC_NO_COMMON_BLOCKS = YES; 286 | GCC_OPTIMIZATION_LEVEL = 0; 287 | GCC_PREPROCESSOR_DEFINITIONS = ( 288 | "DEBUG=1", 289 | "$(inherited)", 290 | ); 291 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 292 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 293 | GCC_WARN_UNDECLARED_SELECTOR = YES; 294 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 295 | GCC_WARN_UNUSED_FUNCTION = YES; 296 | GCC_WARN_UNUSED_VARIABLE = YES; 297 | MTL_ENABLE_DEBUG_INFO = YES; 298 | ONLY_ACTIVE_ARCH = YES; 299 | SDKROOT = appletvos; 300 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 301 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 302 | TARGETED_DEVICE_FAMILY = 3; 303 | TVOS_DEPLOYMENT_TARGET = 10.1; 304 | VERSIONING_SYSTEM = "apple-generic"; 305 | }; 306 | name = Debug; 307 | }; 308 | A30D649A1E0D7B2A00A3CE45 /* Release */ = { 309 | isa = XCBuildConfiguration; 310 | buildSettings = { 311 | ALWAYS_SEARCH_USER_PATHS = NO; 312 | CLANG_ANALYZER_NONNULL = YES; 313 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 314 | CLANG_CXX_LIBRARY = "libc++"; 315 | CLANG_ENABLE_MODULES = YES; 316 | CLANG_ENABLE_OBJC_ARC = YES; 317 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 318 | CLANG_WARN_BOOL_CONVERSION = YES; 319 | CLANG_WARN_COMMA = YES; 320 | CLANG_WARN_CONSTANT_CONVERSION = YES; 321 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 322 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 323 | CLANG_WARN_EMPTY_BODY = YES; 324 | CLANG_WARN_ENUM_CONVERSION = YES; 325 | CLANG_WARN_INFINITE_RECURSION = YES; 326 | CLANG_WARN_INT_CONVERSION = YES; 327 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 328 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 329 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 330 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 331 | CLANG_WARN_STRICT_PROTOTYPES = YES; 332 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 333 | CLANG_WARN_UNREACHABLE_CODE = YES; 334 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 335 | COPY_PHASE_STRIP = NO; 336 | CURRENT_PROJECT_VERSION = 1; 337 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 338 | ENABLE_NS_ASSERTIONS = NO; 339 | ENABLE_STRICT_OBJC_MSGSEND = YES; 340 | GCC_C_LANGUAGE_STANDARD = gnu99; 341 | GCC_NO_COMMON_BLOCKS = YES; 342 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 343 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 344 | GCC_WARN_UNDECLARED_SELECTOR = YES; 345 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 346 | GCC_WARN_UNUSED_FUNCTION = YES; 347 | GCC_WARN_UNUSED_VARIABLE = YES; 348 | MTL_ENABLE_DEBUG_INFO = NO; 349 | SDKROOT = appletvos; 350 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; 351 | TARGETED_DEVICE_FAMILY = 3; 352 | TVOS_DEPLOYMENT_TARGET = 10.1; 353 | VALIDATE_PRODUCT = YES; 354 | VERSIONING_SYSTEM = "apple-generic"; 355 | }; 356 | name = Release; 357 | }; 358 | A30D649C1E0D7B2A00A3CE45 /* Debug */ = { 359 | isa = XCBuildConfiguration; 360 | baseConfigurationReference = ED2ADEE910CDAC99133FE3EF /* Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.debug.xcconfig */; 361 | buildSettings = { 362 | ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; 363 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 364 | DEVELOPMENT_TEAM = 582762VK3P; 365 | INFOPLIST_FILE = "DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Info.plist"; 366 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 367 | PRODUCT_BUNDLE_IDENTIFIER = "com.digipolitan.DGCollectionViewLeftAlignFlowLayoutSample-tvOS"; 368 | PRODUCT_NAME = "$(TARGET_NAME)"; 369 | SWIFT_VERSION = 3.0; 370 | TVOS_DEPLOYMENT_TARGET = 9.0; 371 | }; 372 | name = Debug; 373 | }; 374 | A30D649D1E0D7B2A00A3CE45 /* Release */ = { 375 | isa = XCBuildConfiguration; 376 | baseConfigurationReference = FFD332EBB09E825D4FA391D8 /* Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-tvOS.release.xcconfig */; 377 | buildSettings = { 378 | ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; 379 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 380 | DEVELOPMENT_TEAM = 582762VK3P; 381 | INFOPLIST_FILE = "DGCollectionViewLeftAlignFlowLayoutSample-tvOS/Info.plist"; 382 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 383 | PRODUCT_BUNDLE_IDENTIFIER = "com.digipolitan.DGCollectionViewLeftAlignFlowLayoutSample-tvOS"; 384 | PRODUCT_NAME = "$(TARGET_NAME)"; 385 | SWIFT_VERSION = 3.0; 386 | TVOS_DEPLOYMENT_TARGET = 9.0; 387 | }; 388 | name = Release; 389 | }; 390 | /* End XCBuildConfiguration section */ 391 | 392 | /* Begin XCConfigurationList section */ 393 | A30D64871E0D7B2A00A3CE45 /* Build configuration list for PBXProject "DGCollectionViewLeftAlignFlowLayoutSample-tvOS" */ = { 394 | isa = XCConfigurationList; 395 | buildConfigurations = ( 396 | A30D64991E0D7B2A00A3CE45 /* Debug */, 397 | A30D649A1E0D7B2A00A3CE45 /* Release */, 398 | ); 399 | defaultConfigurationIsVisible = 0; 400 | defaultConfigurationName = Release; 401 | }; 402 | A30D649B1E0D7B2A00A3CE45 /* Build configuration list for PBXNativeTarget "DGCollectionViewLeftAlignFlowLayoutSample-tvOS" */ = { 403 | isa = XCConfigurationList; 404 | buildConfigurations = ( 405 | A30D649C1E0D7B2A00A3CE45 /* Debug */, 406 | A30D649D1E0D7B2A00A3CE45 /* Release */, 407 | ); 408 | defaultConfigurationIsVisible = 0; 409 | defaultConfigurationName = Release; 410 | }; 411 | /* End XCConfigurationList section */ 412 | }; 413 | rootObject = A30D64841E0D7B2A00A3CE45 /* Project object */; 414 | } 415 | -------------------------------------------------------------------------------- /Samples/DGCollectionViewLeftAlignFlowLayoutSample-iOS/DGCollectionViewLeftAlignFlowLayoutSample-iOS.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 4BC6868BA8832E8A083E9ECE /* Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8971F06C0506E7C4223846C3 /* Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_iOS.framework */; }; 11 | A30D63F21E0D717E00A3CE45 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A30D63F11E0D717E00A3CE45 /* AppDelegate.swift */; }; 12 | A30D63F91E0D717E00A3CE45 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A30D63F81E0D717E00A3CE45 /* Assets.xcassets */; }; 13 | A30D63FC1E0D717E00A3CE45 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A30D63FA1E0D717E00A3CE45 /* LaunchScreen.storyboard */; }; 14 | A30D640A1E0D71CB00A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A30D64091E0D71CB00A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework */; }; 15 | A30D640B1E0D71CB00A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A30D64091E0D71CB00A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 16 | A30D640F1E0D73B300A3CE45 /* DemoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A30D640D1E0D73B300A3CE45 /* DemoViewController.swift */; }; 17 | A30D64101E0D73B300A3CE45 /* DemoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A30D640E1E0D73B300A3CE45 /* DemoViewController.xib */; }; 18 | AECE0B241E3642D100B49167 /* PathCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AECE0B201E3642D100B49167 /* PathCell.swift */; }; 19 | AECE0B251E3642D100B49167 /* PathCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = AECE0B211E3642D100B49167 /* PathCell.xib */; }; 20 | AECE0B261E3642D100B49167 /* ReusableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AECE0B221E3642D100B49167 /* ReusableView.swift */; }; 21 | AECE0B271E3642D100B49167 /* ReusableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = AECE0B231E3642D100B49167 /* ReusableView.xib */; }; 22 | /* End PBXBuildFile section */ 23 | 24 | /* Begin PBXCopyFilesBuildPhase section */ 25 | A30D640C1E0D71CB00A3CE45 /* Embed Frameworks */ = { 26 | isa = PBXCopyFilesBuildPhase; 27 | buildActionMask = 2147483647; 28 | dstPath = ""; 29 | dstSubfolderSpec = 10; 30 | files = ( 31 | A30D640B1E0D71CB00A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework in Embed Frameworks */, 32 | ); 33 | name = "Embed Frameworks"; 34 | runOnlyForDeploymentPostprocessing = 0; 35 | }; 36 | /* End PBXCopyFilesBuildPhase section */ 37 | 38 | /* Begin PBXFileReference section */ 39 | 41547DC2F02F11F432F03CBF /* Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-iOS.release.xcconfig"; path = "../../Pods/Target Support Files/Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-iOS.release.xcconfig"; sourceTree = ""; }; 40 | 437CB24F88DE489FD8141488 /* Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.release.xcconfig"; path = "../../Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.release.xcconfig"; sourceTree = ""; }; 41 | 444C2E3A94BE72ECE95421F5 /* Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.debug.xcconfig"; path = "../../Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.debug.xcconfig"; sourceTree = ""; }; 42 | 465646586A414E17162D185D /* Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-iOS.debug.xcconfig"; path = "../../Pods/Target Support Files/Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-iOS.debug.xcconfig"; sourceTree = ""; }; 43 | 846FE99F4361DD69C14E72CB /* Pods_DGCollectionViewLeftAlignFlowLayoutSample_DGCollectionViewLeftAlignFlowLayoutSample_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DGCollectionViewLeftAlignFlowLayoutSample_DGCollectionViewLeftAlignFlowLayoutSample_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 44 | 8971F06C0506E7C4223846C3 /* Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 45 | A30D63EE1E0D717E00A3CE45 /* DGCollectionViewLeftAlignFlowLayoutSample-iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DGCollectionViewLeftAlignFlowLayoutSample-iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 46 | A30D63F11E0D717E00A3CE45 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 47 | A30D63F81E0D717E00A3CE45 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 48 | A30D63FB1E0D717E00A3CE45 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 49 | A30D63FD1E0D717E00A3CE45 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 50 | A30D64091E0D71CB00A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DGCollectionViewLeftAlignFlowLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 51 | A30D640D1E0D73B300A3CE45 /* DemoViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DemoViewController.swift; sourceTree = ""; }; 52 | A30D640E1E0D73B300A3CE45 /* DemoViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DemoViewController.xib; sourceTree = ""; }; 53 | AECE0B201E3642D100B49167 /* PathCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PathCell.swift; sourceTree = ""; }; 54 | AECE0B211E3642D100B49167 /* PathCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PathCell.xib; sourceTree = ""; }; 55 | AECE0B221E3642D100B49167 /* ReusableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReusableView.swift; sourceTree = ""; }; 56 | AECE0B231E3642D100B49167 /* ReusableView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ReusableView.xib; sourceTree = ""; }; 57 | /* End PBXFileReference section */ 58 | 59 | /* Begin PBXFrameworksBuildPhase section */ 60 | A30D63EB1E0D717E00A3CE45 /* Frameworks */ = { 61 | isa = PBXFrameworksBuildPhase; 62 | buildActionMask = 2147483647; 63 | files = ( 64 | A30D640A1E0D71CB00A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework in Frameworks */, 65 | 4BC6868BA8832E8A083E9ECE /* Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_iOS.framework in Frameworks */, 66 | ); 67 | runOnlyForDeploymentPostprocessing = 0; 68 | }; 69 | /* End PBXFrameworksBuildPhase section */ 70 | 71 | /* Begin PBXGroup section */ 72 | A30D63E51E0D717E00A3CE45 = { 73 | isa = PBXGroup; 74 | children = ( 75 | A30D63F01E0D717E00A3CE45 /* DGCollectionViewLeftAlignFlowLayoutSample-iOS */, 76 | A30D64111E0D745C00A3CE45 /* Frameworks */, 77 | A30D63EF1E0D717E00A3CE45 /* Products */, 78 | B8FF5AA30A09A2E69BAC9EB0 /* Pods */, 79 | ); 80 | sourceTree = ""; 81 | }; 82 | A30D63EF1E0D717E00A3CE45 /* Products */ = { 83 | isa = PBXGroup; 84 | children = ( 85 | A30D63EE1E0D717E00A3CE45 /* DGCollectionViewLeftAlignFlowLayoutSample-iOS.app */, 86 | ); 87 | name = Products; 88 | sourceTree = ""; 89 | }; 90 | A30D63F01E0D717E00A3CE45 /* DGCollectionViewLeftAlignFlowLayoutSample-iOS */ = { 91 | isa = PBXGroup; 92 | children = ( 93 | A30D63F11E0D717E00A3CE45 /* AppDelegate.swift */, 94 | A30D63F81E0D717E00A3CE45 /* Assets.xcassets */, 95 | AECE0B281E3664AC00B49167 /* Components */, 96 | AECE0B291E3664B400B49167 /* Controllers */, 97 | A30D63FD1E0D717E00A3CE45 /* Info.plist */, 98 | A30D63FA1E0D717E00A3CE45 /* LaunchScreen.storyboard */, 99 | ); 100 | path = "DGCollectionViewLeftAlignFlowLayoutSample-iOS"; 101 | sourceTree = ""; 102 | }; 103 | A30D64111E0D745C00A3CE45 /* Frameworks */ = { 104 | isa = PBXGroup; 105 | children = ( 106 | A30D64091E0D71CB00A3CE45 /* DGCollectionViewLeftAlignFlowLayout.framework */, 107 | 846FE99F4361DD69C14E72CB /* Pods_DGCollectionViewLeftAlignFlowLayoutSample_DGCollectionViewLeftAlignFlowLayoutSample_iOS.framework */, 108 | 8971F06C0506E7C4223846C3 /* Pods_Samples_DGCollectionViewLeftAlignFlowLayoutSample_iOS.framework */, 109 | ); 110 | name = Frameworks; 111 | sourceTree = ""; 112 | }; 113 | AECE0B281E3664AC00B49167 /* Components */ = { 114 | isa = PBXGroup; 115 | children = ( 116 | AECE0B201E3642D100B49167 /* PathCell.swift */, 117 | AECE0B211E3642D100B49167 /* PathCell.xib */, 118 | AECE0B221E3642D100B49167 /* ReusableView.swift */, 119 | AECE0B231E3642D100B49167 /* ReusableView.xib */, 120 | ); 121 | name = Components; 122 | sourceTree = ""; 123 | }; 124 | AECE0B291E3664B400B49167 /* Controllers */ = { 125 | isa = PBXGroup; 126 | children = ( 127 | A30D640D1E0D73B300A3CE45 /* DemoViewController.swift */, 128 | A30D640E1E0D73B300A3CE45 /* DemoViewController.xib */, 129 | ); 130 | name = Controllers; 131 | sourceTree = ""; 132 | }; 133 | B8FF5AA30A09A2E69BAC9EB0 /* Pods */ = { 134 | isa = PBXGroup; 135 | children = ( 136 | 465646586A414E17162D185D /* Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-iOS.debug.xcconfig */, 137 | 41547DC2F02F11F432F03CBF /* Pods-DGCollectionViewLeftAlignFlowLayoutSample-DGCollectionViewLeftAlignFlowLayoutSample-iOS.release.xcconfig */, 138 | 444C2E3A94BE72ECE95421F5 /* Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.debug.xcconfig */, 139 | 437CB24F88DE489FD8141488 /* Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.release.xcconfig */, 140 | ); 141 | name = Pods; 142 | sourceTree = ""; 143 | }; 144 | /* End PBXGroup section */ 145 | 146 | /* Begin PBXNativeTarget section */ 147 | A30D63ED1E0D717E00A3CE45 /* DGCollectionViewLeftAlignFlowLayoutSample-iOS */ = { 148 | isa = PBXNativeTarget; 149 | buildConfigurationList = A30D64001E0D717E00A3CE45 /* Build configuration list for PBXNativeTarget "DGCollectionViewLeftAlignFlowLayoutSample-iOS" */; 150 | buildPhases = ( 151 | 986B8F2F5A04B5574D6124D9 /* [CP] Check Pods Manifest.lock */, 152 | A30D63EA1E0D717E00A3CE45 /* Sources */, 153 | A30D63EB1E0D717E00A3CE45 /* Frameworks */, 154 | A30D63EC1E0D717E00A3CE45 /* Resources */, 155 | A30D640C1E0D71CB00A3CE45 /* Embed Frameworks */, 156 | 761B88D2861272099C580E2F /* [CP] Embed Pods Frameworks */, 157 | 76DBEC950C1A9D8FAF847D21 /* [CP] Copy Pods Resources */, 158 | ); 159 | buildRules = ( 160 | ); 161 | dependencies = ( 162 | ); 163 | name = "DGCollectionViewLeftAlignFlowLayoutSample-iOS"; 164 | productName = "DGCollectionViewLeftAlignFlowLayoutSample-iOS"; 165 | productReference = A30D63EE1E0D717E00A3CE45 /* DGCollectionViewLeftAlignFlowLayoutSample-iOS.app */; 166 | productType = "com.apple.product-type.application"; 167 | }; 168 | /* End PBXNativeTarget section */ 169 | 170 | /* Begin PBXProject section */ 171 | A30D63E61E0D717E00A3CE45 /* Project object */ = { 172 | isa = PBXProject; 173 | attributes = { 174 | LastSwiftUpdateCheck = 0820; 175 | LastUpgradeCheck = 0900; 176 | ORGANIZATIONNAME = Digipolitan; 177 | TargetAttributes = { 178 | A30D63ED1E0D717E00A3CE45 = { 179 | CreatedOnToolsVersion = 8.2.1; 180 | DevelopmentTeam = 582762VK3P; 181 | ProvisioningStyle = Automatic; 182 | }; 183 | }; 184 | }; 185 | buildConfigurationList = A30D63E91E0D717E00A3CE45 /* Build configuration list for PBXProject "DGCollectionViewLeftAlignFlowLayoutSample-iOS" */; 186 | compatibilityVersion = "Xcode 3.2"; 187 | developmentRegion = English; 188 | hasScannedForEncodings = 0; 189 | knownRegions = ( 190 | en, 191 | Base, 192 | ); 193 | mainGroup = A30D63E51E0D717E00A3CE45; 194 | productRefGroup = A30D63EF1E0D717E00A3CE45 /* Products */; 195 | projectDirPath = ""; 196 | projectRoot = ""; 197 | targets = ( 198 | A30D63ED1E0D717E00A3CE45 /* DGCollectionViewLeftAlignFlowLayoutSample-iOS */, 199 | ); 200 | }; 201 | /* End PBXProject section */ 202 | 203 | /* Begin PBXResourcesBuildPhase section */ 204 | A30D63EC1E0D717E00A3CE45 /* Resources */ = { 205 | isa = PBXResourcesBuildPhase; 206 | buildActionMask = 2147483647; 207 | files = ( 208 | A30D63FC1E0D717E00A3CE45 /* LaunchScreen.storyboard in Resources */, 209 | A30D64101E0D73B300A3CE45 /* DemoViewController.xib in Resources */, 210 | AECE0B271E3642D100B49167 /* ReusableView.xib in Resources */, 211 | AECE0B251E3642D100B49167 /* PathCell.xib in Resources */, 212 | A30D63F91E0D717E00A3CE45 /* Assets.xcassets in Resources */, 213 | ); 214 | runOnlyForDeploymentPostprocessing = 0; 215 | }; 216 | /* End PBXResourcesBuildPhase section */ 217 | 218 | /* Begin PBXShellScriptBuildPhase section */ 219 | 761B88D2861272099C580E2F /* [CP] Embed Pods Frameworks */ = { 220 | isa = PBXShellScriptBuildPhase; 221 | buildActionMask = 2147483647; 222 | files = ( 223 | ); 224 | inputPaths = ( 225 | ); 226 | name = "[CP] Embed Pods Frameworks"; 227 | outputPaths = ( 228 | ); 229 | runOnlyForDeploymentPostprocessing = 0; 230 | shellPath = /bin/sh; 231 | shellScript = "\"${SRCROOT}/../../Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-frameworks.sh\"\n"; 232 | showEnvVarsInLog = 0; 233 | }; 234 | 76DBEC950C1A9D8FAF847D21 /* [CP] Copy Pods Resources */ = { 235 | isa = PBXShellScriptBuildPhase; 236 | buildActionMask = 2147483647; 237 | files = ( 238 | ); 239 | inputPaths = ( 240 | ); 241 | name = "[CP] Copy Pods Resources"; 242 | outputPaths = ( 243 | ); 244 | runOnlyForDeploymentPostprocessing = 0; 245 | shellPath = /bin/sh; 246 | shellScript = "\"${SRCROOT}/../../Pods/Target Support Files/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS/Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS-resources.sh\"\n"; 247 | showEnvVarsInLog = 0; 248 | }; 249 | 986B8F2F5A04B5574D6124D9 /* [CP] Check Pods Manifest.lock */ = { 250 | isa = PBXShellScriptBuildPhase; 251 | buildActionMask = 2147483647; 252 | files = ( 253 | ); 254 | inputPaths = ( 255 | ); 256 | name = "[CP] Check Pods Manifest.lock"; 257 | outputPaths = ( 258 | ); 259 | runOnlyForDeploymentPostprocessing = 0; 260 | shellPath = /bin/sh; 261 | 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"; 262 | showEnvVarsInLog = 0; 263 | }; 264 | /* End PBXShellScriptBuildPhase section */ 265 | 266 | /* Begin PBXSourcesBuildPhase section */ 267 | A30D63EA1E0D717E00A3CE45 /* Sources */ = { 268 | isa = PBXSourcesBuildPhase; 269 | buildActionMask = 2147483647; 270 | files = ( 271 | A30D640F1E0D73B300A3CE45 /* DemoViewController.swift in Sources */, 272 | AECE0B241E3642D100B49167 /* PathCell.swift in Sources */, 273 | A30D63F21E0D717E00A3CE45 /* AppDelegate.swift in Sources */, 274 | AECE0B261E3642D100B49167 /* ReusableView.swift in Sources */, 275 | ); 276 | runOnlyForDeploymentPostprocessing = 0; 277 | }; 278 | /* End PBXSourcesBuildPhase section */ 279 | 280 | /* Begin PBXVariantGroup section */ 281 | A30D63FA1E0D717E00A3CE45 /* LaunchScreen.storyboard */ = { 282 | isa = PBXVariantGroup; 283 | children = ( 284 | A30D63FB1E0D717E00A3CE45 /* Base */, 285 | ); 286 | name = LaunchScreen.storyboard; 287 | sourceTree = ""; 288 | }; 289 | /* End PBXVariantGroup section */ 290 | 291 | /* Begin XCBuildConfiguration section */ 292 | A30D63FE1E0D717E00A3CE45 /* Debug */ = { 293 | isa = XCBuildConfiguration; 294 | buildSettings = { 295 | ALWAYS_SEARCH_USER_PATHS = NO; 296 | CLANG_ANALYZER_NONNULL = YES; 297 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 298 | CLANG_CXX_LIBRARY = "libc++"; 299 | CLANG_ENABLE_MODULES = YES; 300 | CLANG_ENABLE_OBJC_ARC = YES; 301 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 302 | CLANG_WARN_BOOL_CONVERSION = YES; 303 | CLANG_WARN_COMMA = YES; 304 | CLANG_WARN_CONSTANT_CONVERSION = YES; 305 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 306 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 307 | CLANG_WARN_EMPTY_BODY = YES; 308 | CLANG_WARN_ENUM_CONVERSION = YES; 309 | CLANG_WARN_INFINITE_RECURSION = YES; 310 | CLANG_WARN_INT_CONVERSION = YES; 311 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 312 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 313 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 314 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 315 | CLANG_WARN_STRICT_PROTOTYPES = YES; 316 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 317 | CLANG_WARN_UNREACHABLE_CODE = YES; 318 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 319 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 320 | COPY_PHASE_STRIP = NO; 321 | CURRENT_PROJECT_VERSION = 1; 322 | DEBUG_INFORMATION_FORMAT = dwarf; 323 | ENABLE_STRICT_OBJC_MSGSEND = YES; 324 | ENABLE_TESTABILITY = YES; 325 | GCC_C_LANGUAGE_STANDARD = gnu99; 326 | GCC_DYNAMIC_NO_PIC = NO; 327 | GCC_NO_COMMON_BLOCKS = YES; 328 | GCC_OPTIMIZATION_LEVEL = 0; 329 | GCC_PREPROCESSOR_DEFINITIONS = ( 330 | "DEBUG=1", 331 | "$(inherited)", 332 | ); 333 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 334 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 335 | GCC_WARN_UNDECLARED_SELECTOR = YES; 336 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 337 | GCC_WARN_UNUSED_FUNCTION = YES; 338 | GCC_WARN_UNUSED_VARIABLE = YES; 339 | IPHONEOS_DEPLOYMENT_TARGET = 10.2; 340 | MTL_ENABLE_DEBUG_INFO = YES; 341 | ONLY_ACTIVE_ARCH = YES; 342 | SDKROOT = iphoneos; 343 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 344 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 345 | VERSIONING_SYSTEM = "apple-generic"; 346 | }; 347 | name = Debug; 348 | }; 349 | A30D63FF1E0D717E00A3CE45 /* Release */ = { 350 | isa = XCBuildConfiguration; 351 | buildSettings = { 352 | ALWAYS_SEARCH_USER_PATHS = NO; 353 | CLANG_ANALYZER_NONNULL = YES; 354 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 355 | CLANG_CXX_LIBRARY = "libc++"; 356 | CLANG_ENABLE_MODULES = YES; 357 | CLANG_ENABLE_OBJC_ARC = YES; 358 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 359 | CLANG_WARN_BOOL_CONVERSION = YES; 360 | CLANG_WARN_COMMA = YES; 361 | CLANG_WARN_CONSTANT_CONVERSION = YES; 362 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 363 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 364 | CLANG_WARN_EMPTY_BODY = YES; 365 | CLANG_WARN_ENUM_CONVERSION = YES; 366 | CLANG_WARN_INFINITE_RECURSION = YES; 367 | CLANG_WARN_INT_CONVERSION = YES; 368 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 369 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 370 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 371 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 372 | CLANG_WARN_STRICT_PROTOTYPES = YES; 373 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 374 | CLANG_WARN_UNREACHABLE_CODE = YES; 375 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 376 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 377 | COPY_PHASE_STRIP = NO; 378 | CURRENT_PROJECT_VERSION = 1; 379 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 380 | ENABLE_NS_ASSERTIONS = NO; 381 | ENABLE_STRICT_OBJC_MSGSEND = YES; 382 | GCC_C_LANGUAGE_STANDARD = gnu99; 383 | GCC_NO_COMMON_BLOCKS = YES; 384 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 385 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 386 | GCC_WARN_UNDECLARED_SELECTOR = YES; 387 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 388 | GCC_WARN_UNUSED_FUNCTION = YES; 389 | GCC_WARN_UNUSED_VARIABLE = YES; 390 | IPHONEOS_DEPLOYMENT_TARGET = 10.2; 391 | MTL_ENABLE_DEBUG_INFO = NO; 392 | SDKROOT = iphoneos; 393 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; 394 | VALIDATE_PRODUCT = YES; 395 | VERSIONING_SYSTEM = "apple-generic"; 396 | }; 397 | name = Release; 398 | }; 399 | A30D64011E0D717E00A3CE45 /* Debug */ = { 400 | isa = XCBuildConfiguration; 401 | baseConfigurationReference = 444C2E3A94BE72ECE95421F5 /* Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.debug.xcconfig */; 402 | buildSettings = { 403 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 404 | DEVELOPMENT_TEAM = 582762VK3P; 405 | INFOPLIST_FILE = "DGCollectionViewLeftAlignFlowLayoutSample-iOS/Info.plist"; 406 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 407 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 408 | PRODUCT_BUNDLE_IDENTIFIER = "com.digipolitan.DGCollectionViewLeftAlignFlowLayoutSample-iOS"; 409 | PRODUCT_NAME = "$(TARGET_NAME)"; 410 | SWIFT_VERSION = 3.0; 411 | }; 412 | name = Debug; 413 | }; 414 | A30D64021E0D717E00A3CE45 /* Release */ = { 415 | isa = XCBuildConfiguration; 416 | baseConfigurationReference = 437CB24F88DE489FD8141488 /* Pods-Samples-DGCollectionViewLeftAlignFlowLayoutSample-iOS.release.xcconfig */; 417 | buildSettings = { 418 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 419 | DEVELOPMENT_TEAM = 582762VK3P; 420 | INFOPLIST_FILE = "DGCollectionViewLeftAlignFlowLayoutSample-iOS/Info.plist"; 421 | IPHONEOS_DEPLOYMENT_TARGET = 8.0; 422 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 423 | PRODUCT_BUNDLE_IDENTIFIER = "com.digipolitan.DGCollectionViewLeftAlignFlowLayoutSample-iOS"; 424 | PRODUCT_NAME = "$(TARGET_NAME)"; 425 | SWIFT_VERSION = 3.0; 426 | }; 427 | name = Release; 428 | }; 429 | /* End XCBuildConfiguration section */ 430 | 431 | /* Begin XCConfigurationList section */ 432 | A30D63E91E0D717E00A3CE45 /* Build configuration list for PBXProject "DGCollectionViewLeftAlignFlowLayoutSample-iOS" */ = { 433 | isa = XCConfigurationList; 434 | buildConfigurations = ( 435 | A30D63FE1E0D717E00A3CE45 /* Debug */, 436 | A30D63FF1E0D717E00A3CE45 /* Release */, 437 | ); 438 | defaultConfigurationIsVisible = 0; 439 | defaultConfigurationName = Release; 440 | }; 441 | A30D64001E0D717E00A3CE45 /* Build configuration list for PBXNativeTarget "DGCollectionViewLeftAlignFlowLayoutSample-iOS" */ = { 442 | isa = XCConfigurationList; 443 | buildConfigurations = ( 444 | A30D64011E0D717E00A3CE45 /* Debug */, 445 | A30D64021E0D717E00A3CE45 /* Release */, 446 | ); 447 | defaultConfigurationIsVisible = 0; 448 | defaultConfigurationName = Release; 449 | }; 450 | /* End XCConfigurationList section */ 451 | }; 452 | rootObject = A30D63E61E0D717E00A3CE45 /* Project object */; 453 | } 454 | --------------------------------------------------------------------------------