From 4663c5ca134af4f0b0b0dd37cc824ea41ee05ee3 Mon Sep 17 00:00:00 2001 From: Brandon Titus Date: Thu, 29 Oct 2020 15:37:30 -0600 Subject: [PATCH 1/7] Switches Fastlane scripts for Building and Testing - Moves Build and Test step to Fastlane script (the results are a bit better with CircleCI) - Removes the Pods from KanvasCameraExample - Switches to the Cocoapods CDN source for faster builds - Removes the process.yml which is not needed --- .circleci/config.yml | 29 +- Gemfile | 1 + Gemfile.lock | 155 ++ KanvasCameraExample/Gemfile | 3 +- KanvasCameraExample/Gemfile.lock | 167 +- KanvasCameraExample/Podfile | 2 +- KanvasCameraExample/Podfile.lock | 4 +- .../UIApplication+StrictKeyWindow.h | 20 - .../UIApplication+StrictKeyWindow.m | 27 - .../Categories/UIImage+Compare.h | 37 - .../Categories/UIImage+Compare.m | 134 - .../Categories/UIImage+Diff.h | 37 - .../Categories/UIImage+Diff.m | 56 - .../Categories/UIImage+Snapshot.h | 24 - .../Categories/UIImage+Snapshot.m | 73 - .../FBSnapshotTestCase/FBSnapshotTestCase.h | 180 -- .../FBSnapshotTestCase/FBSnapshotTestCase.m | 192 -- .../FBSnapshotTestCasePlatform.h | 44 - .../FBSnapshotTestCasePlatform.m | 51 - .../FBSnapshotTestController.h | 166 -- .../FBSnapshotTestController.m | 358 --- .../FBSnapshotTestCase/SwiftSupport.swift | 125 - .../Pods/FBSnapshotTestCase/LICENSE | 29 - .../Pods/FBSnapshotTestCase/README.md | 97 - .../FBSnapshotTestCase/FBSnapshotTestCase.h | 1 - .../FBSnapshotTestCasePlatform.h | 1 - .../FBSnapshotTestController.h | 1 - .../UIApplication+StrictKeyWindow.h | 1 - .../FBSnapshotTestCase/UIImage+Compare.h | 1 - .../Private/FBSnapshotTestCase/UIImage+Diff.h | 1 - .../FBSnapshotTestCase/UIImage+Snapshot.h | 1 - .../FBSnapshotTestCase-umbrella.h | 1 - .../FBSnapshotTestCase/FBSnapshotTestCase.h | 1 - .../FBSnapshotTestCase.modulemap | 1 - .../FBSnapshotTestCasePlatform.h | 1 - .../FBSnapshotTestController.h | 1 - .../KanvasCamera/KanvasCamera-umbrella.h | 1 - .../KanvasCamera/KanvasCamera.modulemap | 1 - .../Local Podspecs/KanvasCamera.podspec.json | 46 - KanvasCameraExample/Pods/Manifest.lock | 27 - .../Pods/Pods.xcodeproj/project.pbxproj | 2404 ----------------- .../FBSnapshotTestCase-dummy.m | 5 - .../FBSnapshotTestCase-prefix.pch | 12 - .../FBSnapshotTestCase-umbrella.h | 19 - .../FBSnapshotTestCase.debug.xcconfig | 16 - .../FBSnapshotTestCase.modulemap | 6 - .../FBSnapshotTestCase.release.xcconfig | 16 - .../KanvasCamera/KanvasCamera-dummy.m | 5 - .../KanvasCamera/KanvasCamera-prefix.pch | 12 - .../KanvasCamera/KanvasCamera-umbrella.h | 16 - .../KanvasCamera/KanvasCamera.debug.xcconfig | 10 - .../KanvasCamera/KanvasCamera.modulemap | 6 - .../KanvasCamera.release.xcconfig | 10 - ...undle-KanvasCamera-KanvasCamera-Info.plist | 24 - ...vasCameraExample-acknowledgements.markdown | 185 -- ...KanvasCameraExample-acknowledgements.plist | 217 -- .../Pods-KanvasCameraExample-dummy.m | 5 - ...ple-resources-Debug-input-files.xcfilelist | 2 - ...le-resources-Debug-output-files.xcfilelist | 1 - ...e-resources-Release-input-files.xcfilelist | 2 - ...-resources-Release-output-files.xcfilelist | 1 - .../Pods-KanvasCameraExample-resources.sh | 129 - .../Pods-KanvasCameraExample-umbrella.h | 16 - .../Pods-KanvasCameraExample.debug.xcconfig | 13 - .../Pods-KanvasCameraExample.modulemap | 6 - .../Pods-KanvasCameraExample.release.xcconfig | 13 - ...meraExampleTests-acknowledgements.markdown | 36 - ...sCameraExampleTests-acknowledgements.plist | 68 - .../Pods-KanvasCameraExampleTests-dummy.m | 5 - .../Pods-KanvasCameraExampleTests-umbrella.h | 16 - ...ds-KanvasCameraExampleTests.debug.xcconfig | 14 - .../Pods-KanvasCameraExampleTests.modulemap | 6 - ...-KanvasCameraExampleTests.release.xcconfig | 14 - KanvasCameraExample/fastlane/Fastfile | 4 + KanvasCameraExample/fastlane/Scanfile | 11 + process.yml | 0 76 files changed, 352 insertions(+), 5071 deletions(-) delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/LICENSE delete mode 100644 KanvasCameraExample/Pods/FBSnapshotTestCase/README.md delete mode 120000 KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCase.h delete mode 120000 KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h delete mode 120000 KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestController.h delete mode 120000 KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIApplication+StrictKeyWindow.h delete mode 120000 KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Compare.h delete mode 120000 KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Diff.h delete mode 120000 KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Snapshot.h delete mode 120000 KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h delete mode 120000 KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.h delete mode 120000 KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.modulemap delete mode 120000 KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h delete mode 120000 KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestController.h delete mode 120000 KanvasCameraExample/Pods/Headers/Public/KanvasCamera/KanvasCamera-umbrella.h delete mode 120000 KanvasCameraExample/Pods/Headers/Public/KanvasCamera/KanvasCamera.modulemap delete mode 100644 KanvasCameraExample/Pods/Local Podspecs/KanvasCamera.podspec.json delete mode 100644 KanvasCameraExample/Pods/Manifest.lock delete mode 100644 KanvasCameraExample/Pods/Pods.xcodeproj/project.pbxproj delete mode 100644 KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m delete mode 100644 KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch delete mode 100644 KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h delete mode 100644 KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.debug.xcconfig delete mode 100644 KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap delete mode 100644 KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.release.xcconfig delete mode 100644 KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera-dummy.m delete mode 100644 KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera-prefix.pch delete mode 100644 KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera-umbrella.h delete mode 100644 KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera.debug.xcconfig delete mode 100644 KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera.modulemap delete mode 100644 KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera.release.xcconfig delete mode 100644 KanvasCameraExample/Pods/Target Support Files/KanvasCamera/ResourceBundle-KanvasCamera-KanvasCamera-Info.plist delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-acknowledgements.markdown delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-acknowledgements.plist delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-dummy.m delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Debug-input-files.xcfilelist delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Debug-output-files.xcfilelist delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Release-input-files.xcfilelist delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Release-output-files.xcfilelist delete mode 100755 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources.sh delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-umbrella.h delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample.debug.xcconfig delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample.modulemap delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample.release.xcconfig delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-acknowledgements.markdown delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-acknowledgements.plist delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-dummy.m delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-umbrella.h delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests.debug.xcconfig delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests.modulemap delete mode 100644 KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests.release.xcconfig create mode 100644 KanvasCameraExample/fastlane/Fastfile create mode 100644 KanvasCameraExample/fastlane/Scanfile delete mode 100644 process.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index de478c94f..dc0292e9c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -21,19 +21,15 @@ jobs: executor: name: ios/default xcode-version: "12.0.0" + environment: + SCAN_OUTPUT_DIRECTORY: "output/scan" steps: - fix-image - git/shallow-checkout - - ios/test: - xcode-version: 11.2.1 - workspace: KanvasCameraExample/KanvasCameraExample.xcworkspace - scheme: KanvasCameraExample - device: iPhone 8 - ios-version: "14.0" - bundle-install: true - bundler-working-directory: KanvasCameraExample - pod-install: true - cocoapods-working-directory: KanvasCameraExample + - run: + name: Build for Testing + command: bundle install; bundle exec fastlane test + working_directory: KanvasCameraExample - run: name: Zip failed diffs when: always @@ -43,11 +39,16 @@ jobs: name: Save diffs path: KanvasCameraExample/KanvasCameraExampleTests/diffoutput.zip destination: testresults + - store_test_results: + path: ./KanvasCameraExample/output/scan + - store_artifacts: + path: output + - store_test_results: + path: output/scan + - ios/save-xcodebuild-artifacts - ios/save-xcodebuild-artifacts: result-bundle-path: build/results - #- ios/validate-podspec: + #- run: #name: Validate Podspec - #xcode-version: '11.5' - #podspec-path: KanvasCamera.podspec.json - #bundle-install: true + #command: bundle exec fastlane podspec diff --git a/Gemfile b/Gemfile index a3fa53102..367f2d467 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,4 @@ source 'https://rubygems.org' do gem 'cocoapods', '1.9.1' + gem 'fastlane', '2.165.0' end diff --git a/Gemfile.lock b/Gemfile.lock index 21c15d413..5400f9a30 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -7,10 +7,29 @@ GEM minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) algoliasearch (1.27.4) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) atomos (0.1.3) + aws-eventstream (1.1.0) + aws-partitions (1.387.0) + aws-sdk-core (3.109.1) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.239.0) + aws-sigv4 (~> 1.1) + jmespath (~> 1.0) + aws-sdk-kms (1.39.0) + aws-sdk-core (~> 3, >= 3.109.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.83.1) + aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.1) + aws-sigv4 (1.2.2) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) claide (1.0.3) cocoapods (1.9.1) activesupport (>= 4.0.2, < 5) @@ -49,42 +68,178 @@ GEM nap (>= 0.8, < 2.0) netrc (~> 0.11) cocoapods-try (1.2.0) + colored (1.2) colored2 (3.1.2) + commander-fastlane (4.4.6) + highline (~> 1.7.2) concurrent-ruby (1.1.7) + declarative (0.0.20) + declarative-option (0.1.0) + digest-crc (0.6.1) + rake (~> 13.0) + domain_name (0.5.20190701) + unf (>= 0.0.5, < 1.0.0) + dotenv (2.7.6) + emoji_regex (3.0.0) escape (0.0.4) ethon (0.12.0) ffi (>= 1.3.0) + excon (0.78.0) + faraday (1.1.0) + multipart-post (>= 1.2, < 3) + ruby2_keywords + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday_middleware (1.0.0) + faraday (~> 1.0) + fastimage (2.2.0) + fastlane (2.165.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.3, < 3.0.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored + commander-fastlane (>= 4.4.6, < 5.0.0) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-api-client (>= 0.37.0, < 0.39.0) + google-cloud-storage (>= 1.15.0, < 2.0.0) + highline (>= 1.7.2, < 2.0.0) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (~> 2.0.0) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.3) + simctl (~> 1.6.3) + slack-notifier (>= 2.0.0, < 3.0.0) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (>= 1.4.5, < 2.0.0) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.3.0) + xcpretty-travis-formatter (>= 0.0.3) ffi (1.13.1) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) + google-api-client (0.38.0) + addressable (~> 2.5, >= 2.5.1) + googleauth (~> 0.9) + httpclient (>= 2.8.1, < 3.0) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.0) + signet (~> 0.12) + google-cloud-core (1.5.0) + google-cloud-env (~> 1.0) + google-cloud-errors (~> 1.0) + google-cloud-env (1.4.0) + faraday (>= 0.17.3, < 2.0) + google-cloud-errors (1.0.1) + google-cloud-storage (1.29.1) + addressable (~> 2.5) + digest-crc (~> 0.4) + google-api-client (~> 0.33) + google-cloud-core (~> 1.2) + googleauth (~> 0.9) + mini_mime (~> 1.0) + googleauth (0.14.0) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.4, < 3.0) + memoist (~> 0.16) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (~> 0.14) + highline (1.7.10) + http-cookie (1.0.3) + domain_name (~> 0.5) httpclient (2.8.3) i18n (0.9.5) concurrent-ruby (~> 1.0) + jmespath (1.4.0) json (2.3.1) + jwt (2.2.2) + memoist (0.16.2) + mini_magick (4.10.1) + mini_mime (1.0.2) minitest (5.14.2) molinillo (0.6.6) + multi_json (1.15.0) + multipart-post (2.0.0) nanaimo (0.3.0) nap (1.1.0) + naturally (2.2.0) netrc (0.11.0) + os (1.1.1) + plist (3.5.0) + public_suffix (4.0.6) + rake (13.0.1) + representable (3.0.4) + declarative (< 0.1.0) + declarative-option (< 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rouge (2.0.7) ruby-macho (1.4.0) + ruby2_keywords (0.0.2) + rubyzip (2.3.0) + security (0.1.3) + signet (0.14.0) + addressable (~> 2.3) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.8) + CFPropertyList + naturally + slack-notifier (2.3.2) + terminal-notifier (2.0.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) + tty-cursor (0.7.1) + tty-screen (0.8.1) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) typhoeus (1.4.0) ethon (>= 0.9.0) tzinfo (1.2.7) thread_safe (~> 0.1) + uber (0.1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7) + unicode-display_width (1.7.0) + word_wrap (1.0.0) xcodeproj (1.19.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) nanaimo (~> 0.3.0) + xcpretty (0.3.0) + rouge (~> 2.0.7) + xcpretty-travis-formatter (1.0.0) + xcpretty (~> 0.2, >= 0.0.7) PLATFORMS ruby DEPENDENCIES cocoapods (= 1.9.1)! + fastlane (= 2.165.0)! BUNDLED WITH 2.1.4 diff --git a/KanvasCameraExample/Gemfile b/KanvasCameraExample/Gemfile index dca2c5c30..367f2d467 100644 --- a/KanvasCameraExample/Gemfile +++ b/KanvasCameraExample/Gemfile @@ -1,3 +1,4 @@ source 'https://rubygems.org' do - gem 'cocoapods', '1.9.3' + gem 'cocoapods', '1.9.1' + gem 'fastlane', '2.165.0' end diff --git a/KanvasCameraExample/Gemfile.lock b/KanvasCameraExample/Gemfile.lock index 1f9fd449f..910d82809 100644 --- a/KanvasCameraExample/Gemfile.lock +++ b/KanvasCameraExample/Gemfile.lock @@ -7,15 +7,34 @@ GEM minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - algoliasearch (1.27.4) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + algoliasearch (1.27.5) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) atomos (0.1.3) + aws-eventstream (1.1.0) + aws-partitions (1.388.0) + aws-sdk-core (3.109.1) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.239.0) + aws-sigv4 (~> 1.1) + jmespath (~> 1.0) + aws-sdk-kms (1.39.0) + aws-sdk-core (~> 3, >= 3.109.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.83.1) + aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.1) + aws-sigv4 (1.2.2) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) claide (1.0.3) - cocoapods (1.9.3) + cocoapods (1.9.1) activesupport (>= 4.0.2, < 5) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.9.3) + cocoapods-core (= 1.9.1) cocoapods-deintegrate (>= 1.0.3, < 2.0) cocoapods-downloader (>= 1.2.2, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -31,7 +50,7 @@ GEM nap (~> 1.0) ruby-macho (~> 1.4) xcodeproj (>= 1.14.0, < 2.0) - cocoapods-core (1.9.3) + cocoapods-core (1.9.1) activesupport (>= 4.0.2, < 6) algoliasearch (~> 1.0) concurrent-ruby (~> 1.1) @@ -49,42 +68,178 @@ GEM nap (>= 0.8, < 2.0) netrc (~> 0.11) cocoapods-try (1.2.0) + colored (1.2) colored2 (3.1.2) + commander-fastlane (4.4.6) + highline (~> 1.7.2) concurrent-ruby (1.1.7) + declarative (0.0.20) + declarative-option (0.1.0) + digest-crc (0.6.1) + rake (~> 13.0) + domain_name (0.5.20190701) + unf (>= 0.0.5, < 1.0.0) + dotenv (2.7.6) + emoji_regex (3.2.0) escape (0.0.4) ethon (0.12.0) ffi (>= 1.3.0) + excon (0.78.0) + faraday (1.1.0) + multipart-post (>= 1.2, < 3) + ruby2_keywords + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday_middleware (1.0.0) + faraday (~> 1.0) + fastimage (2.2.0) + fastlane (2.165.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.3, < 3.0.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored + commander-fastlane (>= 4.4.6, < 5.0.0) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-api-client (>= 0.37.0, < 0.39.0) + google-cloud-storage (>= 1.15.0, < 2.0.0) + highline (>= 1.7.2, < 2.0.0) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (~> 2.0.0) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.3) + simctl (~> 1.6.3) + slack-notifier (>= 2.0.0, < 3.0.0) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (>= 1.4.5, < 2.0.0) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.3.0) + xcpretty-travis-formatter (>= 0.0.3) ffi (1.13.1) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) + google-api-client (0.38.0) + addressable (~> 2.5, >= 2.5.1) + googleauth (~> 0.9) + httpclient (>= 2.8.1, < 3.0) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.0) + signet (~> 0.12) + google-cloud-core (1.5.0) + google-cloud-env (~> 1.0) + google-cloud-errors (~> 1.0) + google-cloud-env (1.4.0) + faraday (>= 0.17.3, < 2.0) + google-cloud-errors (1.0.1) + google-cloud-storage (1.29.1) + addressable (~> 2.5) + digest-crc (~> 0.4) + google-api-client (~> 0.33) + google-cloud-core (~> 1.2) + googleauth (~> 0.9) + mini_mime (~> 1.0) + googleauth (0.14.0) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.4, < 3.0) + memoist (~> 0.16) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (~> 0.14) + highline (1.7.10) + http-cookie (1.0.3) + domain_name (~> 0.5) httpclient (2.8.3) i18n (0.9.5) concurrent-ruby (~> 1.0) + jmespath (1.4.0) json (2.3.1) + jwt (2.2.2) + memoist (0.16.2) + mini_magick (4.10.1) + mini_mime (1.0.2) minitest (5.14.2) molinillo (0.6.6) + multi_json (1.15.0) + multipart-post (2.0.0) nanaimo (0.3.0) nap (1.1.0) + naturally (2.2.0) netrc (0.11.0) + os (1.1.1) + plist (3.5.0) + public_suffix (4.0.6) + rake (13.0.1) + representable (3.0.4) + declarative (< 0.1.0) + declarative-option (< 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rouge (2.0.7) ruby-macho (1.4.0) + ruby2_keywords (0.0.2) + rubyzip (2.3.0) + security (0.1.3) + signet (0.14.0) + addressable (~> 2.3) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.8) + CFPropertyList + naturally + slack-notifier (2.3.2) + terminal-notifier (2.0.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) + tty-cursor (0.7.1) + tty-screen (0.8.1) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) typhoeus (1.4.0) ethon (>= 0.9.0) tzinfo (1.2.7) thread_safe (~> 0.1) + uber (0.1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7) + unicode-display_width (1.7.0) + word_wrap (1.0.0) xcodeproj (1.19.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) nanaimo (~> 0.3.0) + xcpretty (0.3.0) + rouge (~> 2.0.7) + xcpretty-travis-formatter (1.0.0) + xcpretty (~> 0.2, >= 0.0.7) PLATFORMS ruby DEPENDENCIES - cocoapods (= 1.9.3)! + cocoapods (= 1.9.1)! + fastlane (= 2.165.0)! BUNDLED WITH - 2.0.2 + 2.1.4 diff --git a/KanvasCameraExample/Podfile b/KanvasCameraExample/Podfile index 28c375fd0..d55b58351 100644 --- a/KanvasCameraExample/Podfile +++ b/KanvasCameraExample/Podfile @@ -1,4 +1,4 @@ -source 'https://github.com/CocoaPods/Specs.git' +source 'https://cdn.cocoapods.org/' use_modular_headers! platform :ios, '12.0' diff --git a/KanvasCameraExample/Podfile.lock b/KanvasCameraExample/Podfile.lock index dad7cbff1..bc15a2c63 100644 --- a/KanvasCameraExample/Podfile.lock +++ b/KanvasCameraExample/Podfile.lock @@ -22,6 +22,6 @@ SPEC CHECKSUMS: FBSnapshotTestCase: 094f9f314decbabe373b87cc339bea235a63e07a KanvasCamera: de8d54faaf50d0c8c9a055b3abc8d50bd284c853 -PODFILE CHECKSUM: 78571925126236edf623aa5a4745032c58a52514 +PODFILE CHECKSUM: 9ee0ae498c2f88824e8e02ff47f3dc28af4d08b4 -COCOAPODS: 1.9.3 +COCOAPODS: 1.9.1 diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h deleted file mode 100644 index eefe11bae..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -@interface UIApplication (StrictKeyWindow) - -/** - @return The receiver's @c keyWindow. Raises an assertion if @c nil. - */ -- (UIWindow *)fb_strictKeyWindow; - -@end diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m deleted file mode 100644 index 0f7a0c250..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -@implementation UIApplication (StrictKeyWindow) - -- (UIWindow *)fb_strictKeyWindow -{ - UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; - if (!keyWindow) { - [NSException raise:@"FBSnapshotTestCaseNilKeyWindowException" - format:@"Snapshot tests must be hosted by an application with a key window. Please ensure your test" - " host sets up a key window at launch (either via storyboards or programmatically) and doesn't" - " do anything to remove it while snapshot tests are running."]; - } - return keyWindow; -} - -@end diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h deleted file mode 100644 index 9091d62a2..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -#import - -@interface UIImage (Compare) - -- (BOOL)fb_compareWithImage:(UIImage *)image tolerance:(CGFloat)tolerance; - -@end diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m deleted file mode 100644 index c997f578b..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m +++ /dev/null @@ -1,134 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -#import - -// This makes debugging much more fun -typedef union { - uint32_t raw; - unsigned char bytes[4]; - struct { - char red; - char green; - char blue; - char alpha; - } __attribute__ ((packed)) pixels; -} FBComparePixel; - -@implementation UIImage (Compare) - -- (BOOL)fb_compareWithImage:(UIImage *)image tolerance:(CGFloat)tolerance -{ - NSAssert(CGSizeEqualToSize(self.size, image.size), @"Images must be same size."); - - CGSize referenceImageSize = CGSizeMake(CGImageGetWidth(self.CGImage), CGImageGetHeight(self.CGImage)); - CGSize imageSize = CGSizeMake(CGImageGetWidth(image.CGImage), CGImageGetHeight(image.CGImage)); - - // The images have the equal size, so we could use the smallest amount of bytes because of byte padding - size_t minBytesPerRow = MIN(CGImageGetBytesPerRow(self.CGImage), CGImageGetBytesPerRow(image.CGImage)); - size_t referenceImageSizeBytes = referenceImageSize.height * minBytesPerRow; - void *referenceImagePixels = calloc(1, referenceImageSizeBytes); - void *imagePixels = calloc(1, referenceImageSizeBytes); - - if (!referenceImagePixels || !imagePixels) { - free(referenceImagePixels); - free(imagePixels); - return NO; - } - - CGContextRef referenceImageContext = CGBitmapContextCreate(referenceImagePixels, - referenceImageSize.width, - referenceImageSize.height, - CGImageGetBitsPerComponent(self.CGImage), - minBytesPerRow, - CGImageGetColorSpace(self.CGImage), - (CGBitmapInfo)kCGImageAlphaPremultipliedLast - ); - CGContextRef imageContext = CGBitmapContextCreate(imagePixels, - imageSize.width, - imageSize.height, - CGImageGetBitsPerComponent(image.CGImage), - minBytesPerRow, - CGImageGetColorSpace(image.CGImage), - (CGBitmapInfo)kCGImageAlphaPremultipliedLast - ); - - if (!referenceImageContext || !imageContext) { - CGContextRelease(referenceImageContext); - CGContextRelease(imageContext); - free(referenceImagePixels); - free(imagePixels); - return NO; - } - - CGContextDrawImage(referenceImageContext, CGRectMake(0, 0, referenceImageSize.width, referenceImageSize.height), self.CGImage); - CGContextDrawImage(imageContext, CGRectMake(0, 0, imageSize.width, imageSize.height), image.CGImage); - - CGContextRelease(referenceImageContext); - CGContextRelease(imageContext); - - BOOL imageEqual = YES; - - // Do a fast compare if we can - if (tolerance == 0) { - imageEqual = (memcmp(referenceImagePixels, imagePixels, referenceImageSizeBytes) == 0); - } else { - // Go through each pixel in turn and see if it is different - const NSInteger pixelCount = referenceImageSize.width * referenceImageSize.height; - - FBComparePixel *p1 = referenceImagePixels; - FBComparePixel *p2 = imagePixels; - - NSInteger numDiffPixels = 0; - for (int n = 0; n < pixelCount; ++n) { - // If this pixel is different, increment the pixel diff count and see - // if we have hit our limit. - if (p1->raw != p2->raw) { - numDiffPixels ++; - - CGFloat percent = (CGFloat)numDiffPixels / pixelCount; - if (percent > tolerance) { - imageEqual = NO; - break; - } - } - - p1++; - p2++; - } - } - - free(referenceImagePixels); - free(imagePixels); - - return imageEqual; -} - -@end diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h deleted file mode 100644 index a0863f303..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -#import - -@interface UIImage (Diff) - -- (UIImage *)fb_diffWithImage:(UIImage *)image; - -@end diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m deleted file mode 100644 index ebb72fe3d..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m +++ /dev/null @@ -1,56 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -#import - -@implementation UIImage (Diff) - -- (UIImage *)fb_diffWithImage:(UIImage *)image -{ - if (!image) { - return nil; - } - CGSize imageSize = CGSizeMake(MAX(self.size.width, image.size.width), MAX(self.size.height, image.size.height)); - UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0); - CGContextRef context = UIGraphicsGetCurrentContext(); - [self drawInRect:CGRectMake(0, 0, self.size.width, self.size.height)]; - CGContextSetAlpha(context, 0.5); - CGContextBeginTransparencyLayer(context, NULL); - [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)]; - CGContextSetBlendMode(context, kCGBlendModeDifference); - CGContextSetFillColorWithColor(context,[UIColor whiteColor].CGColor); - CGContextFillRect(context, CGRectMake(0, 0, self.size.width, self.size.height)); - CGContextEndTransparencyLayer(context); - UIImage *returnImage = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - return returnImage; -} - -@end diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h deleted file mode 100644 index b0d5b26b2..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -@interface UIImage (Snapshot) - -/// Uses renderInContext: to get a snapshot of the layer. -+ (UIImage *)fb_imageForLayer:(CALayer *)layer; - -/// Uses renderInContext: to get a snapshot of the view layer. -+ (UIImage *)fb_imageForViewLayer:(UIView *)view; - -/// Uses drawViewHierarchyInRect: to get a snapshot of the view and adds the view into a window if needed. -+ (UIImage *)fb_imageForView:(UIView *)view; - -@end diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m deleted file mode 100644 index 968091b9d..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -@implementation UIImage (Snapshot) - -+ (UIImage *)fb_imageForLayer:(CALayer *)layer -{ - CGRect bounds = layer.bounds; - NSAssert1(CGRectGetWidth(bounds), @"Zero width for layer %@", layer); - NSAssert1(CGRectGetHeight(bounds), @"Zero height for layer %@", layer); - - UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0); - CGContextRef context = UIGraphicsGetCurrentContext(); - NSAssert1(context, @"Could not generate context for layer %@", layer); - CGContextSaveGState(context); - [layer layoutIfNeeded]; - [layer renderInContext:context]; - CGContextRestoreGState(context); - - UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - return snapshot; -} - -+ (UIImage *)fb_imageForViewLayer:(UIView *)view -{ - [view layoutIfNeeded]; - return [self fb_imageForLayer:view.layer]; -} - -+ (UIImage *)fb_imageForView:(UIView *)view -{ - CGRect bounds = view.bounds; - NSAssert1(CGRectGetWidth(bounds), @"Zero width for view %@", view); - NSAssert1(CGRectGetHeight(bounds), @"Zero height for view %@", view); - - // If the input view is already a UIWindow, then just use that. Otherwise wrap in a window. - UIWindow *window = [view isKindOfClass:[UIWindow class]] ? (UIWindow *)view : view.window; - BOOL removeFromSuperview = NO; - if (!window) { - window = [[UIApplication sharedApplication] fb_strictKeyWindow]; - } - - if (!view.window && view != window) { - [window addSubview:view]; - removeFromSuperview = YES; - } - - UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0); - [view layoutIfNeeded]; - [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES]; - - UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - - if (removeFromSuperview) { - [view removeFromSuperview]; - } - - return snapshot; -} - -@end diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h deleted file mode 100644 index 72abc3c00..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -#import - -#import - -#import - -/* - There are three ways of setting reference image directories. - - 1. Set the preprocessor macro FB_REFERENCE_IMAGE_DIR to a double quoted - c-string with the path. - 2. Set an environment variable named FB_REFERENCE_IMAGE_DIR with the path. This - takes precedence over the preprocessor macro to allow for run-time override. - 3. Keep everything unset, which will cause the reference images to be looked up - inside the bundle holding the current test, in the - Resources/ReferenceImages_* directories. - */ -#ifndef FB_REFERENCE_IMAGE_DIR -#define FB_REFERENCE_IMAGE_DIR "" -#endif - -/** - Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though. - @param view The view to snapshot - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param suffixes An NSOrderedSet of strings for the different suffixes - @param tolerance The percentage of pixels that can differ and still count as an 'identical' view - */ -#define FBSnapshotVerifyViewWithOptions(view__, identifier__, suffixes__, tolerance__) \ - FBSnapshotVerifyViewOrLayerWithOptions(View, view__, identifier__, suffixes__, tolerance__) - -#define FBSnapshotVerifyView(view__, identifier__) \ - FBSnapshotVerifyViewWithOptions(view__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0) - - -/** - Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though. - @param layer The layer to snapshot - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param suffixes An NSOrderedSet of strings for the different suffixes - @param tolerance The percentage of pixels that can differ and still count as an 'identical' layer - */ -#define FBSnapshotVerifyLayerWithOptions(layer__, identifier__, suffixes__, tolerance__) \ - FBSnapshotVerifyViewOrLayerWithOptions(Layer, layer__, identifier__, suffixes__, tolerance__) - -#define FBSnapshotVerifyLayer(layer__, identifier__) \ - FBSnapshotVerifyLayerWithOptions(layer__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0) - - -#define FBSnapshotVerifyViewOrLayerWithOptions(what__, viewOrLayer__, identifier__, suffixes__, tolerance__) \ -{ \ - NSString *errorDescription = [self snapshotVerifyViewOrLayer:viewOrLayer__ identifier:identifier__ suffixes:suffixes__ tolerance:tolerance__]; \ - BOOL noErrors = (errorDescription == nil); \ - XCTAssertTrue(noErrors, @"%@", errorDescription); \ -} - - -/** - The base class of view snapshotting tests. If you have small UI component, it's often easier to configure it in a test - and compare an image of the view to a reference image that write lots of complex layout-code tests. - - In order to flip the tests in your subclass to record the reference images set @c recordMode to @c YES. - - @attention When recording, the reference image directory should be explicitly - set, otherwise the images may be written to somewhere inside the - simulator directory. - - For example: - @code - - (void)setUp - { - [super setUp]; - self.recordMode = YES; - } - @endcode - */ -@interface FBSnapshotTestCase : XCTestCase - -/** - When YES, the test macros will save reference images, rather than performing an actual test. - */ -@property (readwrite, nonatomic, assign) BOOL recordMode; - -/** - When @c YES appends the name of the device model and OS to the snapshot file name. - The default value is @c NO. - */ -@property (readwrite, nonatomic, assign, getter=isDeviceAgnostic) BOOL deviceAgnostic; - -/** - When YES, renders a snapshot of the complete view hierarchy as visible onscreen. - There are several things that do not work if renderInContext: is used. - - UIVisualEffect #70 - - UIAppearance #91 - - Size Classes #92 - - @attention If the view does't belong to a UIWindow, it will create one and add the view as a subview. - */ -@property (readwrite, nonatomic, assign) BOOL usesDrawViewHierarchyInRect; - -- (void)setUp NS_REQUIRES_SUPER; -- (void)tearDown NS_REQUIRES_SUPER; - -/** - Performs the comparison or records a snapshot of the layer if recordMode is YES. - @param viewOrLayer The UIView or CALayer to snapshot - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param suffixes An NSOrderedSet of strings for the different suffixes - @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care - @returns nil if the comparison (or saving of the reference image) succeeded. Otherwise it contains an error description. - */ -- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer - identifier:(NSString *)identifier - suffixes:(NSOrderedSet *)suffixes - tolerance:(CGFloat)tolerance; - -/** - Performs the comparison or records a snapshot of the layer if recordMode is YES. - @param layer The Layer to snapshot - @param referenceImagesDirectory The directory in which reference images are stored. - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care - @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Performs the comparison or records a snapshot of the view if recordMode is YES. - @param view The view to snapshot - @param referenceImagesDirectory The directory in which reference images are stored. - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care - @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfView:(UIView *)view - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Checks if reference image with identifier based name exists in the reference images directory. - @param referenceImagesDirectory The directory in which reference images are stored. - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if reference image exists. - */ -- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Returns the reference image directory. - - Helper function used to implement the assert macros. - - @param dir directory to use if environment variable not specified. Ignored if null or empty. - */ -- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir; - -@end diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m deleted file mode 100644 index f44458ce8..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m +++ /dev/null @@ -1,192 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -@implementation FBSnapshotTestCase -{ - FBSnapshotTestController *_snapshotController; -} - -#pragma mark - Overrides - -- (void)setUp -{ - [super setUp]; - _snapshotController = [[FBSnapshotTestController alloc] initWithTestName:NSStringFromClass([self class])]; -} - -- (void)tearDown -{ - _snapshotController = nil; - [super tearDown]; -} - -- (BOOL)recordMode -{ - return _snapshotController.recordMode; -} - -- (void)setRecordMode:(BOOL)recordMode -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.recordMode = recordMode; -} - -- (BOOL)isDeviceAgnostic -{ - return _snapshotController.deviceAgnostic; -} - -- (void)setDeviceAgnostic:(BOOL)deviceAgnostic -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.deviceAgnostic = deviceAgnostic; -} - -- (BOOL)usesDrawViewHierarchyInRect -{ - return _snapshotController.usesDrawViewHierarchyInRect; -} - -- (void)setUsesDrawViewHierarchyInRect:(BOOL)usesDrawViewHierarchyInRect -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.usesDrawViewHierarchyInRect = usesDrawViewHierarchyInRect; -} - -#pragma mark - Public API - -- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer - identifier:(NSString *)identifier - suffixes:(NSOrderedSet *)suffixes - tolerance:(CGFloat)tolerance -{ - if (nil == viewOrLayer) { - return @"Object to be snapshotted must not be nil"; - } - NSString *referenceImageDirectory = [self getReferenceImageDirectoryWithDefault:(@ FB_REFERENCE_IMAGE_DIR)]; - if (referenceImageDirectory == nil) { - return @"Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme."; - } - if (suffixes.count == 0) { - return [NSString stringWithFormat:@"Suffixes set cannot be empty %@", suffixes]; - } - - BOOL testSuccess = NO; - NSError *error = nil; - NSMutableArray *errors = [NSMutableArray array]; - - if (self.recordMode) { - NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffixes.firstObject]; - BOOL referenceImageSaved = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory identifier:(identifier) tolerance:tolerance error:&error]; - if (!referenceImageSaved) { - [errors addObject:error]; - } - } else { - for (NSString *suffix in suffixes) { - NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffix]; - BOOL referenceImageAvailable = [self referenceImageRecordedInDirectory:referenceImagesDirectory identifier:(identifier) error:&error]; - - if (referenceImageAvailable) { - BOOL comparisonSuccess = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory identifier:identifier tolerance:tolerance error:&error]; - [errors removeAllObjects]; - if (comparisonSuccess) { - testSuccess = YES; - break; - } else { - [errors addObject:error]; - } - } else { - [errors addObject:error]; - } - } - } - - if (!testSuccess) { - return [NSString stringWithFormat:@"Snapshot comparison failed: %@", errors.firstObject]; - } - if (self.recordMode) { - return @"Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!"; - } - - return nil; -} - -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - return [self _compareSnapshotOfViewOrLayer:layer - referenceImagesDirectory:referenceImagesDirectory - identifier:identifier - tolerance:tolerance - error:errorPtr]; -} - -- (BOOL)compareSnapshotOfView:(UIView *)view - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - return [self _compareSnapshotOfViewOrLayer:view - referenceImagesDirectory:referenceImagesDirectory - identifier:identifier - tolerance:tolerance - error:errorPtr]; -} - -- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.referenceImagesDirectory = referenceImagesDirectory; - UIImage *referenceImage = [_snapshotController referenceImageForSelector:self.invocation.selector - identifier:identifier - error:errorPtr]; - - return (referenceImage != nil); -} - -- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir -{ - NSString *envReferenceImageDirectory = [NSProcessInfo processInfo].environment[@"FB_REFERENCE_IMAGE_DIR"]; - if (envReferenceImageDirectory) { - return envReferenceImageDirectory; - } - if (dir && dir.length > 0) { - return dir; - } - return [[NSBundle bundleForClass:self.class].resourcePath stringByAppendingPathComponent:@"ReferenceImages"]; -} - - -#pragma mark - Private API - -- (BOOL)_compareSnapshotOfViewOrLayer:(id)viewOrLayer - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - _snapshotController.referenceImagesDirectory = referenceImagesDirectory; - return [_snapshotController compareSnapshotOfViewOrLayer:viewOrLayer - selector:self.invocation.selector - identifier:identifier - tolerance:tolerance - error:errorPtr]; -} - -@end diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h deleted file mode 100644 index e04acf2f3..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -#ifdef __cplusplus -extern "C" { -#endif - -/** - Returns a Boolean value that indicates whether the snapshot test is running in 64Bit. - This method is a convenience for creating the suffixes set based on the architecture - that the test is running. - - @returns @c YES if the test is running in 64bit, otherwise @c NO. - */ -BOOL FBSnapshotTestCaseIs64Bit(void); - -/** - Returns a default set of strings that is used to append a suffix based on the architectures. - @warning Do not modify this function, you can create your own and use it with @c FBSnapshotVerifyViewWithOptions() - - @returns An @c NSOrderedSet object containing strings that are appended to the reference images directory. - */ -NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void); - -/** - Returns a fully «normalized» file name. - Strips punctuation and spaces and replaces them with @c _. Also appends the device model, running OS and screen size to the file name. - - @returns An @c NSString object containing the passed @c fileName with the device model, OS and screen size appended at the end. - */ -NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName); - -#ifdef __cplusplus -} -#endif diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m deleted file mode 100644 index d8709d8bc..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import -#import - -BOOL FBSnapshotTestCaseIs64Bit(void) -{ -#if __LP64__ - return YES; -#else - return NO; -#endif -} - -NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void) -{ - NSMutableOrderedSet *suffixesSet = [[NSMutableOrderedSet alloc] init]; - [suffixesSet addObject:@"_32"]; - [suffixesSet addObject:@"_64"]; - if (FBSnapshotTestCaseIs64Bit()) { - return [suffixesSet reversedOrderedSet]; - } - return [suffixesSet copy]; -} - -NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName) -{ - UIDevice *device = [UIDevice currentDevice]; - UIWindow *keyWindow = [[UIApplication sharedApplication] fb_strictKeyWindow]; - CGSize screenSize = keyWindow.bounds.size; - NSString *os = device.systemVersion; - - fileName = [NSString stringWithFormat:@"%@_%@%@_%.0fx%.0f", fileName, device.model, os, screenSize.width, screenSize.height]; - - NSMutableCharacterSet *invalidCharacters = [NSMutableCharacterSet new]; - [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]]; - [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]]; - NSArray *validComponents = [fileName componentsSeparatedByCharactersInSet:invalidCharacters]; - fileName = [validComponents componentsJoinedByString:@"_"]; - - return fileName; -} \ No newline at end of file diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h deleted file mode 100644 index a0285ad8a..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -typedef NS_ENUM(NSInteger, FBSnapshotTestControllerErrorCode) { - FBSnapshotTestControllerErrorCodeUnknown, - FBSnapshotTestControllerErrorCodeNeedsRecord, - FBSnapshotTestControllerErrorCodePNGCreationFailed, - FBSnapshotTestControllerErrorCodeImagesDifferentSizes, - FBSnapshotTestControllerErrorCodeImagesDifferent, -}; -/** - Errors returned by the methods of FBSnapshotTestController use this domain. - */ -extern NSString *const FBSnapshotTestControllerErrorDomain; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBReferenceImageFilePathKey; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBReferenceImageKey; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBCapturedImageKey; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBDiffedImageKey; - -/** - Provides the heavy-lifting for FBSnapshotTestCase. It loads and saves images, along with performing the actual pixel- - by-pixel comparison of images. - Instances are initialized with the test class, and directories to read and write to. - */ -@interface FBSnapshotTestController : NSObject - -/** - Record snapshots. - */ -@property (readwrite, nonatomic, assign) BOOL recordMode; - -/** - When @c YES appends the name of the device model and OS to the snapshot file name. - The default value is @c NO. - */ -@property (readwrite, nonatomic, assign, getter=isDeviceAgnostic) BOOL deviceAgnostic; - -/** - Uses drawViewHierarchyInRect:afterScreenUpdates: to draw the image instead of renderInContext: - */ -@property (readwrite, nonatomic, assign) BOOL usesDrawViewHierarchyInRect; - -/** - The directory in which referfence images are stored. - */ -@property (readwrite, nonatomic, copy) NSString *referenceImagesDirectory; - -/** - @param testClass The subclass of FBSnapshotTestCase that is using this controller. - @returns An instance of FBSnapshotTestController. - */ -- (instancetype)initWithTestClass:(Class)testClass; - -/** - Designated initializer. - @param testName The name of the tests. - @returns An instance of FBSnapshotTestController. - */ -- (instancetype)initWithTestName:(NSString *)testName; - -/** - Performs the comparison of the layer. - @param layer The Layer to snapshot. - @param selector The test method being run. - @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. - @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Performs the comparison of the view. - @param view The view to snapshot. - @param selector The test method being run. - @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. - @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfView:(UIView *)view - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Performs the comparison of a view or layer. - @param view The view or layer to snapshot. - @param selector The test method being run. - @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. - @param tolerance The percentage of pixels that can differ and still be considered 'identical' - @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Loads a reference image. - @param selector The test method being run. - @param identifier The optional identifier, used when multiple images are tested in a single -test method. - @param errorPtr An error, if this methods returns nil, the error will be something useful. - @returns An image. - */ -- (UIImage *)referenceImageForSelector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Performs a pixel-by-pixel comparison of the two images with an allowable margin of error. - @param referenceImage The reference (correct) image. - @param image The image to test against the reference. - @param tolerance The percentage of pixels that can differ and still be considered 'identical' - @param errorPtr An error that indicates why the comparison failed if it does. - @returns YES if the comparison succeeded and the images are the same(ish). - */ -- (BOOL)compareReferenceImage:(UIImage *)referenceImage - toImage:(UIImage *)image - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Saves the reference image and the test image to `failedOutputDirectory`. - @param referenceImage The reference (correct) image. - @param testImage The image to test against the reference. - @param selector The test method being run. - @param identifier The optional identifier, used when multiple images are tested in a single -test method. - @param errorPtr An error that indicates why the comparison failed if it does. - @returns YES if the save succeeded. - */ -- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage - testImage:(UIImage *)testImage - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; -@end diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m deleted file mode 100644 index 74c5a0a6d..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m +++ /dev/null @@ -1,358 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import -#import -#import -#import - -#import - -NSString *const FBSnapshotTestControllerErrorDomain = @"FBSnapshotTestControllerErrorDomain"; -NSString *const FBReferenceImageFilePathKey = @"FBReferenceImageFilePathKey"; -NSString *const FBReferenceImageKey = @"FBReferenceImageKey"; -NSString *const FBCapturedImageKey = @"FBCapturedImageKey"; -NSString *const FBDiffedImageKey = @"FBDiffedImageKey"; - -typedef NS_ENUM(NSUInteger, FBTestSnapshotFileNameType) { - FBTestSnapshotFileNameTypeReference, - FBTestSnapshotFileNameTypeFailedReference, - FBTestSnapshotFileNameTypeFailedTest, - FBTestSnapshotFileNameTypeFailedTestDiff, -}; - -@implementation FBSnapshotTestController -{ - NSString *_testName; - NSFileManager *_fileManager; -} - -#pragma mark - Initializers - -- (instancetype)initWithTestClass:(Class)testClass; -{ - return [self initWithTestName:NSStringFromClass(testClass)]; -} - -- (instancetype)initWithTestName:(NSString *)testName -{ - if (self = [super init]) { - _testName = [testName copy]; - _deviceAgnostic = NO; - - _fileManager = [[NSFileManager alloc] init]; - } - return self; -} - -#pragma mark - Overrides - -- (NSString *)description -{ - return [NSString stringWithFormat:@"%@ %@", [super description], _referenceImagesDirectory]; -} - -#pragma mark - Public API - -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - return [self compareSnapshotOfViewOrLayer:layer - selector:selector - identifier:identifier - tolerance:0 - error:errorPtr]; -} - -- (BOOL)compareSnapshotOfView:(UIView *)view - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - return [self compareSnapshotOfViewOrLayer:view - selector:selector - identifier:identifier - tolerance:0 - error:errorPtr]; -} - -- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - if (self.recordMode) { - return [self _recordSnapshotOfViewOrLayer:viewOrLayer selector:selector identifier:identifier error:errorPtr]; - } else { - return [self _performPixelComparisonWithViewOrLayer:viewOrLayer selector:selector identifier:identifier tolerance:tolerance error:errorPtr]; - } -} - -- (UIImage *)referenceImageForSelector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier]; - UIImage *image = [UIImage imageWithContentsOfFile:filePath]; - if (nil == image && NULL != errorPtr) { - BOOL exists = [_fileManager fileExistsAtPath:filePath]; - if (!exists) { - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:FBSnapshotTestControllerErrorCodeNeedsRecord - userInfo:@{ - FBReferenceImageFilePathKey: filePath, - NSLocalizedDescriptionKey: @"Unable to load reference image.", - NSLocalizedFailureReasonErrorKey: @"Reference image not found. You need to run the test in record mode", - }]; - } else { - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:FBSnapshotTestControllerErrorCodeUnknown - userInfo:nil]; - } - } - return image; -} - -- (BOOL)compareReferenceImage:(UIImage *)referenceImage - toImage:(UIImage *)image - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - BOOL sameImageDimensions = CGSizeEqualToSize(referenceImage.size, image.size); - if (sameImageDimensions && [referenceImage fb_compareWithImage:image tolerance:tolerance]) { - return YES; - } - - if (NULL != errorPtr) { - NSString *errorDescription = sameImageDimensions ? @"Images different" : @"Images different sizes"; - NSString *errorReason = sameImageDimensions ? [NSString stringWithFormat:@"image pixels differed by more than %.2f%% from the reference image", tolerance * 100] - : [NSString stringWithFormat:@"referenceImage:%@, image:%@", NSStringFromCGSize(referenceImage.size), NSStringFromCGSize(image.size)]; - FBSnapshotTestControllerErrorCode errorCode = sameImageDimensions ? FBSnapshotTestControllerErrorCodeImagesDifferent : FBSnapshotTestControllerErrorCodeImagesDifferentSizes; - - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:errorCode - userInfo:@{ - NSLocalizedDescriptionKey: errorDescription, - NSLocalizedFailureReasonErrorKey: errorReason, - FBReferenceImageKey: referenceImage, - FBCapturedImageKey: image, - FBDiffedImageKey: [referenceImage fb_diffWithImage:image], - }]; - } - return NO; -} - -- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage - testImage:(UIImage *)testImage - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - NSData *referencePNGData = UIImagePNGRepresentation(referenceImage); - NSData *testPNGData = UIImagePNGRepresentation(testImage); - - NSString *referencePath = [self _failedFilePathForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeFailedReference]; - - NSError *creationError = nil; - BOOL didCreateDir = [_fileManager createDirectoryAtPath:[referencePath stringByDeletingLastPathComponent] - withIntermediateDirectories:YES - attributes:nil - error:&creationError]; - if (!didCreateDir) { - if (NULL != errorPtr) { - *errorPtr = creationError; - } - return NO; - } - - if (![referencePNGData writeToFile:referencePath options:NSDataWritingAtomic error:errorPtr]) { - return NO; - } - - NSString *testPath = [self _failedFilePathForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeFailedTest]; - - if (![testPNGData writeToFile:testPath options:NSDataWritingAtomic error:errorPtr]) { - return NO; - } - - NSString *diffPath = [self _failedFilePathForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeFailedTestDiff]; - - UIImage *diffImage = [referenceImage fb_diffWithImage:testImage]; - NSData *diffImageData = UIImagePNGRepresentation(diffImage); - - if (![diffImageData writeToFile:diffPath options:NSDataWritingAtomic error:errorPtr]) { - return NO; - } - - NSLog(@"If you have Kaleidoscope installed you can run this command to see an image diff:\n" - @"ksdiff \"%@\" \"%@\"", referencePath, testPath); - - return YES; -} - -#pragma mark - Private API - -- (NSString *)_fileNameForSelector:(SEL)selector - identifier:(NSString *)identifier - fileNameType:(FBTestSnapshotFileNameType)fileNameType -{ - NSString *fileName = nil; - switch (fileNameType) { - case FBTestSnapshotFileNameTypeFailedReference: - fileName = @"reference_"; - break; - case FBTestSnapshotFileNameTypeFailedTest: - fileName = @"failed_"; - break; - case FBTestSnapshotFileNameTypeFailedTestDiff: - fileName = @"diff_"; - break; - default: - fileName = @""; - break; - } - fileName = [fileName stringByAppendingString:NSStringFromSelector(selector)]; - if (0 < identifier.length) { - fileName = [fileName stringByAppendingFormat:@"_%@", identifier]; - } - - if (self.isDeviceAgnostic) { - fileName = FBDeviceAgnosticNormalizedFileName(fileName); - } - - if ([[UIScreen mainScreen] scale] > 1) { - fileName = [fileName stringByAppendingFormat:@"@%.fx", [[UIScreen mainScreen] scale]]; - } - fileName = [fileName stringByAppendingPathExtension:@"png"]; - return fileName; -} - -- (NSString *)_referenceFilePathForSelector:(SEL)selector - identifier:(NSString *)identifier -{ - NSString *fileName = [self _fileNameForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeReference]; - NSString *filePath = [_referenceImagesDirectory stringByAppendingPathComponent:_testName]; - filePath = [filePath stringByAppendingPathComponent:fileName]; - return filePath; -} - -- (NSString *)_failedFilePathForSelector:(SEL)selector - identifier:(NSString *)identifier - fileNameType:(FBTestSnapshotFileNameType)fileNameType -{ - NSString *fileName = [self _fileNameForSelector:selector - identifier:identifier - fileNameType:fileNameType]; - NSString *folderPath = NSTemporaryDirectory(); - if (getenv("IMAGE_DIFF_DIR")) { - folderPath = @(getenv("IMAGE_DIFF_DIR")); - } - NSString *filePath = [folderPath stringByAppendingPathComponent:_testName]; - filePath = [filePath stringByAppendingPathComponent:fileName]; - return filePath; -} - -- (BOOL)_performPixelComparisonWithViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - UIImage *referenceImage = [self referenceImageForSelector:selector identifier:identifier error:errorPtr]; - if (nil != referenceImage) { - UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer]; - BOOL imagesSame = [self compareReferenceImage:referenceImage toImage:snapshot tolerance:tolerance error:errorPtr]; - if (!imagesSame) { - NSError *saveError = nil; - if ([self saveFailedReferenceImage:referenceImage testImage:snapshot selector:selector identifier:identifier error:&saveError] == NO) { - NSLog(@"Error saving test images: %@", saveError); - } - } - return imagesSame; - } - return NO; -} - -- (BOOL)_recordSnapshotOfViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer]; - return [self _saveReferenceImage:snapshot selector:selector identifier:identifier error:errorPtr]; -} - -- (BOOL)_saveReferenceImage:(UIImage *)image - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - BOOL didWrite = NO; - if (nil != image) { - NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier]; - NSData *pngData = UIImagePNGRepresentation(image); - if (nil != pngData) { - NSError *creationError = nil; - BOOL didCreateDir = [_fileManager createDirectoryAtPath:[filePath stringByDeletingLastPathComponent] - withIntermediateDirectories:YES - attributes:nil - error:&creationError]; - if (!didCreateDir) { - if (NULL != errorPtr) { - *errorPtr = creationError; - } - return NO; - } - didWrite = [pngData writeToFile:filePath options:NSDataWritingAtomic error:errorPtr]; - if (didWrite) { - NSLog(@"Reference image save at: %@", filePath); - } - } else { - if (nil != errorPtr) { - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:FBSnapshotTestControllerErrorCodePNGCreationFailed - userInfo:@{ - FBReferenceImageFilePathKey: filePath, - }]; - } - } - } - return didWrite; -} - -- (UIImage *)_imageForViewOrLayer:(id)viewOrLayer -{ - if ([viewOrLayer isKindOfClass:[UIView class]]) { - if (_usesDrawViewHierarchyInRect) { - return [UIImage fb_imageForView:viewOrLayer]; - } else { - return [UIImage fb_imageForViewLayer:viewOrLayer]; - } - } else if ([viewOrLayer isKindOfClass:[CALayer class]]) { - return [UIImage fb_imageForLayer:viewOrLayer]; - } else { - [NSException raise:@"Only UIView and CALayer classes can be snapshotted" format:@"%@", viewOrLayer]; - } - return nil; -} - -@end diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift b/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift deleted file mode 100644 index 471bb0df8..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift +++ /dev/null @@ -1,125 +0,0 @@ -/* -* Copyright (c) 2015, Facebook, Inc. -* All rights reserved. -* -* This source code is licensed under the BSD-style license found in the -* LICENSE file in the root directory of this source tree. An additional grant -* of patent rights can be found in the PATENTS file in the same directory. -* -*/ - -#if swift(>=3) - public extension FBSnapshotTestCase { - public func FBSnapshotVerifyView(_ view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) - } - - public func FBSnapshotVerifyLayer(_ layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) - } - - private func FBSnapshotVerifyViewOrLayer(_ viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - let envReferenceImageDirectory = self.getReferenceImageDirectory(withDefault: FB_REFERENCE_IMAGE_DIR) - var error: NSError? - var comparisonSuccess = false - - if let envReferenceImageDirectory = envReferenceImageDirectory { - for suffix in suffixes { - let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)" - if viewOrLayer.isKind(of: UIView.self) { - do { - try compareSnapshot(of: viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) - comparisonSuccess = true - } catch let error1 as NSError { - error = error1 - comparisonSuccess = false - } - } else if viewOrLayer.isKind(of: CALayer.self) { - do { - try compareSnapshot(of: viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) - comparisonSuccess = true - } catch let error1 as NSError { - error = error1 - comparisonSuccess = false - } - } else { - assertionFailure("Only UIView and CALayer classes can be snapshotted") - } - - assert(recordMode == false, message: "Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!", file: file, line: line) - - if comparisonSuccess || recordMode { - break - } - - assert(comparisonSuccess, message: "Snapshot comparison failed: \(error)", file: file, line: line) - } - } else { - XCTFail("Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.") - } - } - - func assert(_ assertion: Bool, message: String, file: StaticString, line: UInt) { - if !assertion { - XCTFail(message, file: file, line: line) - } - } - } -#else -public extension FBSnapshotTestCase { - public func FBSnapshotVerifyView(view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) - } - - public func FBSnapshotVerifyLayer(layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) - } - - private func FBSnapshotVerifyViewOrLayer(viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - let envReferenceImageDirectory = self.getReferenceImageDirectoryWithDefault(FB_REFERENCE_IMAGE_DIR) - var error: NSError? - var comparisonSuccess = false - - if let envReferenceImageDirectory = envReferenceImageDirectory { - for suffix in suffixes { - let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)" - if viewOrLayer.isKindOfClass(UIView) { - do { - try compareSnapshotOfView(viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) - comparisonSuccess = true - } catch let error1 as NSError { - error = error1 - comparisonSuccess = false - } - } else if viewOrLayer.isKindOfClass(CALayer) { - do { - try compareSnapshotOfLayer(viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) - comparisonSuccess = true - } catch let error1 as NSError { - error = error1 - comparisonSuccess = false - } - } else { - assertionFailure("Only UIView and CALayer classes can be snapshotted") - } - - assert(recordMode == false, message: "Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!", file: file, line: line) - - if comparisonSuccess || recordMode { - break - } - - assert(comparisonSuccess, message: "Snapshot comparison failed: \(error)", file: file, line: line) - } - } else { - XCTFail("Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.") - } - } - - func assert(assertion: Bool, message: String, file: StaticString, line: UInt) { - if !assertion { - XCTFail(message, file: file, line: line) - } - } -} -#endif diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/LICENSE b/KanvasCameraExample/Pods/FBSnapshotTestCase/LICENSE deleted file mode 100644 index 2dd780cbd..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -BSD License - -For the FBSnapshotTestCase software - -Copyright (c) 2013, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/KanvasCameraExample/Pods/FBSnapshotTestCase/README.md b/KanvasCameraExample/Pods/FBSnapshotTestCase/README.md deleted file mode 100644 index bc23b8378..000000000 --- a/KanvasCameraExample/Pods/FBSnapshotTestCase/README.md +++ /dev/null @@ -1,97 +0,0 @@ -FBSnapshotTestCase -====================== - -[![Build Status](https://travis-ci.org/facebook/ios-snapshot-test-case.svg)](https://travis-ci.org/facebook/ios-snapshot-test-case) [![Cocoa Pod Version](https://cocoapod-badges.herokuapp.com/v/FBSnapshotTestCase/badge.svg)](http://cocoadocs.org/docsets/FBSnapshotTestCase/) - -What it does ------------- - -A "snapshot test case" takes a configured `UIView` or `CALayer` and uses the -`renderInContext:` method to get an image snapshot of its contents. It -compares this snapshot to a "reference image" stored in your source code -repository and fails the test if the two images don't match. - -Why? ----- - -At Facebook we write a lot of UI code. As you might imagine, each type of -feed story is rendered using a subclass of `UIView`. There are a lot of edge -cases that we want to handle correctly: - -- What if there is more text than can fit in the space available? -- What if an image doesn't match the size of an image view? -- What should the highlighted state look like? - -It's straightforward to test logic code, but less obvious how you should test -views. You can do a lot of rectangle asserts, but these are hard to understand -or visualize. Looking at an image diff shows you exactly what changed and how -it will look to users. - -We developed `FBSnapshotTestCase` to make snapshot tests easy. - -Installation with CocoaPods ---------------------------- - -1. Add the following lines to your Podfile: - - ``` - target "Tests" do - pod 'FBSnapshotTestCase' - end - ``` - - If you support iOS 7 use `FBSnapshotTestCase/Core` instead, which doesn't contain Swift support. - - Replace "Tests" with the name of your test project. - -2. There are [three ways](https://github.com/facebook/ios-snapshot-test-case/blob/master/FBSnapshotTestCase/FBSnapshotTestCase.h#L19-L29) of setting reference image directories, the recommended one is to define `FB_REFERENCE_IMAGE_DIR` in your scheme. This should point to the directory where you want reference images to be stored. At Facebook, we normally use this: - -|Name|Value| -|:---|:----| -|`FB_REFERENCE_IMAGE_DIR`|`$(SOURCE_ROOT)/$(PROJECT_NAME)Tests/ReferenceImages`| - - -![](FBSnapshotTestCaseDemo/Scheme_FB_REFERENCE_IMAGE_DIR.png) - -Creating a snapshot test ------------------------- - -1. Subclass `FBSnapshotTestCase` instead of `XCTestCase`. -2. From within your test, use `FBSnapshotVerifyView`. -3. Run the test once with `self.recordMode = YES;` in the test's `-setUp` - method. (This creates the reference images on disk.) -4. Remove the line enabling record mode and run the test. - -Features --------- - -- Automatically names reference images on disk according to test class and - selector. -- Prints a descriptive error message to the console on failure. (Bonus: - failure message includes a one-line command to see an image diff if - you have [Kaleidoscope](http://www.kaleidoscopeapp.com) installed.) -- Supply an optional "identifier" if you want to perform multiple snapshots - in a single test method. -- Support for `CALayer` via `FBSnapshotVerifyLayer`. -- `usesDrawViewHierarchyInRect` to handle cases like `UIVisualEffect`, `UIAppearance` and Size Classes. -- `isDeviceAgnostic` to allow appending the device model (`iPhone`, `iPad`, `iPod Touch`, etc), OS version and screen size to the images (allowing to have multiple tests for the same «snapshot» for different `OS`s and devices). - -Notes ------ - -Your unit test must be an "application test", not a "logic test." (That is, it -must be run within the Simulator so that it has access to UIKit.) In Xcode 5 -and later new projects only offer application tests, but older projects will -have separate targets for the two types. - -Authors -------- - -`FBSnapshotTestCase` was written at Facebook by -[Jonathan Dann](https://facebook.com/j.p.dann) with significant contributions by -[Todd Krabach](https://facebook.com/toddkrabach). - -License -------- - -`FBSnapshotTestCase` is BSD-licensed. See `LICENSE`. diff --git a/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCase.h b/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCase.h deleted file mode 120000 index 2925eab14..000000000 --- a/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCase.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h b/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h deleted file mode 120000 index 6127a30c8..000000000 --- a/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestController.h b/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestController.h deleted file mode 120000 index 4a7dea130..000000000 --- a/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestController.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIApplication+StrictKeyWindow.h b/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIApplication+StrictKeyWindow.h deleted file mode 120000 index efa5fe0be..000000000 --- a/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIApplication+StrictKeyWindow.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Compare.h b/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Compare.h deleted file mode 120000 index 2fd266d77..000000000 --- a/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Compare.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Diff.h b/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Diff.h deleted file mode 120000 index 2ecee67cc..000000000 --- a/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Diff.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Snapshot.h b/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Snapshot.h deleted file mode 120000 index 577a4cb8d..000000000 --- a/KanvasCameraExample/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Snapshot.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h b/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h deleted file mode 120000 index 5d19f08b6..000000000 --- a/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -../../../Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.h b/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.h deleted file mode 120000 index 2925eab14..000000000 --- a/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.modulemap b/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.modulemap deleted file mode 120000 index 8d176ef8a..000000000 --- a/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.modulemap +++ /dev/null @@ -1 +0,0 @@ -../../../Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h b/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h deleted file mode 120000 index 6127a30c8..000000000 --- a/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestController.h b/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestController.h deleted file mode 120000 index 4a7dea130..000000000 --- a/KanvasCameraExample/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestController.h +++ /dev/null @@ -1 +0,0 @@ -../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Headers/Public/KanvasCamera/KanvasCamera-umbrella.h b/KanvasCameraExample/Pods/Headers/Public/KanvasCamera/KanvasCamera-umbrella.h deleted file mode 120000 index 1542a8295..000000000 --- a/KanvasCameraExample/Pods/Headers/Public/KanvasCamera/KanvasCamera-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -../../../Target Support Files/KanvasCamera/KanvasCamera-umbrella.h \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Headers/Public/KanvasCamera/KanvasCamera.modulemap b/KanvasCameraExample/Pods/Headers/Public/KanvasCamera/KanvasCamera.modulemap deleted file mode 120000 index 43b7e0924..000000000 --- a/KanvasCameraExample/Pods/Headers/Public/KanvasCamera/KanvasCamera.modulemap +++ /dev/null @@ -1 +0,0 @@ -../../../Target Support Files/KanvasCamera/KanvasCamera.modulemap \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Local Podspecs/KanvasCamera.podspec.json b/KanvasCameraExample/Pods/Local Podspecs/KanvasCamera.podspec.json deleted file mode 100644 index 3235d8c2c..000000000 --- a/KanvasCameraExample/Pods/Local Podspecs/KanvasCamera.podspec.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "KanvasCamera", - "version": "1.0.0", - "summary": "A custom camera built for iOS.", - "homepage": "https://github.com/tumblr/kanvas-ios", - "license": { - "type": "MPLv2", - "file": "LICENSE" - }, - "source": { - "git": "https://github.com/tumblr/kanvas-ios.git", - "branch": "main" - }, - "authors": { - "Tony Cheng": "tony@getkanvas.com", - "Jimmy Schementi": "jimmys@tumblr.com" - }, - "platforms": { - "ios": "12.0" - }, - "swift_versions": [ - "4.2" - ], - "requires_arc": true, - "frameworks": [ - "Foundation", - "GLKit", - "OpenGLES", - "UIKit" - ], - "source_files": "Classes/**/*.{h,m,swift,vsh,glsl}", - "resource_bundles": { - "KanvasCamera": [ - "Resources/*" - ] - }, - "user_target_xcconfig": { - "GCC_PREPROCESSOR_DEFINITIONS": "GLES_SILENCE_DEPRECATION=1" - }, - "pod_target_xcconfig": { - "GCC_PREPROCESSOR_DEFINITIONS": "GLES_SILENCE_DEPRECATION=1" - }, - "dependencies": { - }, - "swift_version": "4.2" -} diff --git a/KanvasCameraExample/Pods/Manifest.lock b/KanvasCameraExample/Pods/Manifest.lock deleted file mode 100644 index dad7cbff1..000000000 --- a/KanvasCameraExample/Pods/Manifest.lock +++ /dev/null @@ -1,27 +0,0 @@ -PODS: - - FBSnapshotTestCase (2.1.4): - - FBSnapshotTestCase/SwiftSupport (= 2.1.4) - - FBSnapshotTestCase/Core (2.1.4) - - FBSnapshotTestCase/SwiftSupport (2.1.4): - - FBSnapshotTestCase/Core - - KanvasCamera (1.0.0) - -DEPENDENCIES: - - FBSnapshotTestCase (= 2.1.4) - - KanvasCamera (from `../`) - -SPEC REPOS: - https://github.com/CocoaPods/Specs.git: - - FBSnapshotTestCase - -EXTERNAL SOURCES: - KanvasCamera: - :path: "../" - -SPEC CHECKSUMS: - FBSnapshotTestCase: 094f9f314decbabe373b87cc339bea235a63e07a - KanvasCamera: de8d54faaf50d0c8c9a055b3abc8d50bd284c853 - -PODFILE CHECKSUM: 78571925126236edf623aa5a4745032c58a52514 - -COCOAPODS: 1.9.3 diff --git a/KanvasCameraExample/Pods/Pods.xcodeproj/project.pbxproj b/KanvasCameraExample/Pods/Pods.xcodeproj/project.pbxproj deleted file mode 100644 index 546bee24a..000000000 --- a/KanvasCameraExample/Pods/Pods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,2404 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 01463CD59B139D1780AE809500EE7014 /* StickerProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4E9E980145F3299B5A5AFBCD67BFA8 /* StickerProvider.swift */; }; - 018B4175C4FD82CFFBB29139C70D2473 /* Sharpie.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DD238BECA883AC791CAE06C4BE87333 /* Sharpie.swift */; }; - 01D45A77149E5C601706C1C7441CA359 /* ColorPickerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6070119E41ACF7E0247CBF176C10E2C /* ColorPickerController.swift */; }; - 02A0BDC1161B6A7ECE43830EE0B0F916 /* ModeSelectorAndShootController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 600A84587A1A4DBBF325716FA2E6791C /* ModeSelectorAndShootController.swift */; }; - 02F7AE7437C9B042BD9D96F2641E5F4A /* GLKMatrix4+Unsafe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 177C9DF82D15976F0289795ABCFA0D8A /* GLKMatrix4+Unsafe.swift */; }; - 057528AA69524F95155E6308CDDE4AD0 /* GifVideoOutputHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6685E58BB27EBE98E2518046B949D20B /* GifVideoOutputHandler.swift */; }; - 05D89AC9A2CF0A3A67FB24792B1DDE9D /* UIImage+FlipLeftMirrored.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66248F0570600A1B936F46AC050EFCC6 /* UIImage+FlipLeftMirrored.swift */; }; - 095602D8ACBADC27B175D1C90472CAF4 /* EditorFilterCollectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D07EF3E24A91943AF76CD48020C80C8B /* EditorFilterCollectionController.swift */; }; - 0978FEF1E925744EEAF7E76217BF4A86 /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E29C50D3CDB46CBCBD20AFA13EB3D8D /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 09B2D66D1B5B0AA0AF54E92206C0DD65 /* MirrorTwoOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF918FC706486654159171FB36D64B93 /* MirrorTwoOpenGLFilter.swift */; }; - 09BAA374E374C06B2844DE5F1AC6AF42 /* HorizontalCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C4045477B55738F706CF5B8497C9FDE /* HorizontalCollectionView.swift */; }; - 09C029B6D755FF4ADEABD24F0062CA0D /* ThumbnailCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 779627526BEC14CC44E746007566EAA2 /* ThumbnailCollectionCell.swift */; }; - 09D5CDB7C97AF37D8112383D18E2AB34 /* EditionOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEB0132BBE959365D2553F75FA7A842E /* EditionOption.swift */; }; - 0B677A742C1DE5B3B3F43463FAF245A4 /* MetalRenderEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = C239780AEE0F013CBE327517AFC2B386 /* MetalRenderEncoder.swift */; }; - 0C2006BDC0F7C351EE1FD8F73B30CB84 /* ExtendedButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C08418CE2056A2CF2FE4179685914776 /* ExtendedButton.swift */; }; - 0D24127010510C2A898E4BA8FA8D5067 /* EditorTextController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B831E5777BAE6D93D4B263B9ED93FAA8 /* EditorTextController.swift */; }; - 0D3A67F8D27308A0A8501326373EB91E /* ToonOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FABBE21FCEBBBCECD90B99C4121675B /* ToonOpenGLFilter.swift */; }; - 0DC31CC2094A5109ADCCE42E73CCEED7 /* CameraSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62F2F1B6191279EA81186D39012ACFE4 /* CameraSettings.swift */; }; - 0E976034C56D6A40E26B27A6951D442C /* FilterCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B45E4230C812F997A2F399AB3359172 /* FilterCollectionView.swift */; }; - 0EE8358E1913C5EA4B657DA4AABE3A77 /* Pods-KanvasCameraExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A2ED504050EBC35435013D97D72E3D9 /* Pods-KanvasCameraExample-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0EEC65FB65D293895824EA6C9B3A602F /* Array+Object.swift in Sources */ = {isa = PBXBuildFile; fileRef = A31F5836D1B6EC676420A619F8398A47 /* Array+Object.swift */; }; - 0F077D3F82C45AF75080EB3224CC234F /* IgnoreTouchesCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CC8B8006A40CEE398170B9D40EF3196 /* IgnoreTouchesCollectionView.swift */; }; - 1186E0CEFF7CD30573944D0CF8D2D2BF /* PixelBufferView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0F9C45BA09C111CDCD1CC5AC216A473 /* PixelBufferView.swift */; }; - 12AF4C9597CF566ED0AC3592C07440F7 /* LivePhotoLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DCCDF3B065F3A940CC8D0FD6148A0B5 /* LivePhotoLoader.swift */; }; - 12D31F6449A24377E0AC9775FE1F8129 /* UIViewController+Load.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4689E608E2FDC59B1DD0D5F7F6EEC9CA /* UIViewController+Load.swift */; }; - 147493ADC34876D275208445F820EFE1 /* CGPoint+Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 002C4A17212692144E3951EAA6AB202B /* CGPoint+Operators.swift */; }; - 16954F8BC69CB42224185E1DAF9491B7 /* EditionMenuCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 887C70BE58C70C472E5D78E357368282 /* EditionMenuCollectionView.swift */; }; - 16D1C83CC21AAF2533A203C8A5DDAF82 /* ColorCollectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63A1F0BF60A0A522E9BEB8CADC678CE2 /* ColorCollectionController.swift */; }; - 184300EC8FC4324E01329CCDF32B1903 /* MediaPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26E9532A0FEF4FCBC4AA08388B3EF96C /* MediaPickerViewController.swift */; }; - 1870020A9DE0BE42A1D1DDF1D4D6AA72 /* MediaClipsCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AA83843D4AB1B2963A3AF262584E529 /* MediaClipsCollectionCell.swift */; }; - 19F37CC50E23DE48D4345923514B8F98 /* UIApplication+StrictKeyWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F1FE5C23F1BC485C54B92C32E78391F /* UIApplication+StrictKeyWindow.m */; }; - 1CAB57BC7FA75CC1742796FA159F4F65 /* IgnoreBackgroundTouchesStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 161211D976D4FECAE6A27EE91A0BE39F /* IgnoreBackgroundTouchesStackView.swift */; }; - 1E8BDD52F1F97F8D01967988F0F712DF /* silence.aac in Resources */ = {isa = PBXBuildFile; fileRef = 928DCC0EEB1E682B86A997F98839019B /* silence.aac */; }; - 1FB109F575CAEEE2CB6F0B480879A38B /* Pods-KanvasCameraExampleTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BFC144A03ECB6FA4586B6644643EBB58 /* Pods-KanvasCameraExampleTests-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 21C7F3CD782DFD18370B44A110C60794 /* CALayer+CGImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = B59B0CC5648EFC6F31B8E80AF687C008 /* CALayer+CGImage.swift */; }; - 21E6CCF464AEC5C9EFBBF9B415EA3012 /* DrawingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FBD1CED645C8B12CA257BBE3F34D576 /* DrawingController.swift */; }; - 2335809E0ABEFA23069FC00B0359D550 /* ColorCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5296DCE90E6CE90131D86A0C3D88F08 /* ColorCollectionView.swift */; }; - 24152B9871B59599844FC24CDA1C5E3B /* MovableViewInnerElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CE6939EB4C51146264C7E0DDC0D6A87 /* MovableViewInnerElement.swift */; }; - 25C4E5A7F54DB2092921DF0664B87680 /* HorizontalCollectionLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65D8608BB510133B1B11CDDE20ADF882 /* HorizontalCollectionLayout.swift */; }; - 26BCA81DA0171FD0AAD24100F646E14F /* UIColor+Lerp.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0DCAFBF180B4099838D61BFFDC6BC53 /* UIColor+Lerp.swift */; }; - 277A5F810638B93AAFC86D6D0AEAF8BF /* StrokeSelectorController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF5D9368620BC4D42B7DED178C8FB21F /* StrokeSelectorController.swift */; }; - 29503C49AACBC403131DDC5A6074474D /* KanvasCameraStrings.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0F51FA9F49750375892CC0A2480B0D7 /* KanvasCameraStrings.swift */; }; - 29EACADB260207E30936FA18443D74FF /* StickerTypeCollectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B878005D9790B646125C3A53785357DC /* StickerTypeCollectionController.swift */; }; - 29F88E6269C6F351A4E7C1AC34CBA995 /* GIFDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E16C4DB6515AF77C0B40B26C149640B /* GIFDecoder.swift */; }; - 2C20883C239F8D788A97DD61FBA172F8 /* EditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFCD2B67648B4D6AA509C993ED8429C9 /* EditorView.swift */; }; - 2E30D9FA58BB781215DD6B1A36F5E3FD /* CameraRecordingProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E1FD7AF6D147E0102721B4810223AFE /* CameraRecordingProtocol.swift */; }; - 2EE48929E67A45B37346E98CE30B72AB /* UIImage+PixelBuffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A6CF14A794E9E2CCFFDBEE0ED6AB17C /* UIImage+PixelBuffer.swift */; }; - 2EEB193E1B39109F635169F3C21073AE /* GroupOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 057497853DEDD2F938871565A4C948FD /* GroupOpenGLFilter.swift */; }; - 316060F4A6C10AF479111D3560E03E27 /* StickerCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2FB4787B557E02943747068E3DE6B726 /* StickerCollectionCell.swift */; }; - 31E812534466166EBF704665F4F3792E /* MediaInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = C50F0C42E6C2970BB6E0CCB1DD88188C /* MediaInfo.swift */; }; - 3264E670F2E7D5D0FAD745412F3E7CDE /* DiscreteSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E56DEFC9463B53C71707B24545C8EF9 /* DiscreteSlider.swift */; }; - 3354CFCE40DAD0EC73539718E3462E1D /* RaveOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8866AD75B1D053A2ABB8965DD427D97 /* RaveOpenGLFilter.swift */; }; - 337BB17A8B39CD39838FE7C7D46DE6D4 /* KanvasCameraAnalyticsProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59627C907EE5DD20AFD65232FDB91FE6 /* KanvasCameraAnalyticsProvider.swift */; }; - 33CA150B69626CD5AEB2E52675365B7A /* CameraPreviewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D16DD5758BF304DAB64D1616DC89AF /* CameraPreviewViewController.swift */; }; - 39647730B32FADF9E982FECE225AC5DE /* StaggeredGridLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ED7C790A888F77BA458E1F76FBA0CE0 /* StaggeredGridLayout.swift */; }; - 39C51C2E44A0842C4F3CBFD8E3618131 /* MovableViewCanvas.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91CC78E5FCF5B9E9D352AB72CC1C2A50 /* MovableViewCanvas.swift */; }; - 39E70528549C25317EC4EF859BB33539 /* UIImage+Camera.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99614ABFB097D794570C03963466E26B /* UIImage+Camera.swift */; }; - 3A342192E1E1D418C81A3F5E57F9D999 /* ModeButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41FF76F1AA89987C508C360916A9D80E /* ModeButtonView.swift */; }; - 3ADB97BD9CFE535A45694FDAD2172F33 /* ScrollHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66134CDBCAFD4162DB93430D4A6C5248 /* ScrollHandler.swift */; }; - 3ADDA9BEC371F4BBB188A420BDD90832 /* CGRect+Center.swift in Sources */ = {isa = PBXBuildFile; fileRef = B96960D81DC0C1E27F7A05234C7F0B4F /* CGRect+Center.swift */; }; - 3C66397919AE62AB6641390490A8E007 /* DrawingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1386A7C5DF942AF8CD8E12A9CB98D0D /* DrawingView.swift */; }; - 3CB2BF53A215267BA3F2A6D7FC6C77CC /* ColorPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BAE3D14365032A3C0C173AA75DFBE54 /* ColorPickerView.swift */; }; - 41CC287B8C413CDB34BFFDDD9F324F6A /* ThumbnailCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB4208420EE71FE80A8B84262A036EC7 /* ThumbnailCollectionView.swift */; }; - 41EF510B311632966C738DD33EAF2912 /* MediaClipsEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C63318087FBE4C355381E94BC917ABAA /* MediaClipsEditorView.swift */; }; - 428015A949E474D46B7D445B3AC492D8 /* StickerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF82A7D3A0D72F784D0653226B2A7219 /* StickerType.swift */; }; - 444E5B96C175938CAABDE167CD9ABEFE /* EditorTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83590A734DC802B0C92C329FA3795862 /* EditorTextView.swift */; }; - 4519A4DB97B8B92641AEACEDE70326B2 /* DimensionsHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = C641A8341FA6C2FE19AA0256A75D9DE1 /* DimensionsHelper.swift */; }; - 463D1FDCDE295306FEE93B0B142488D7 /* MirrorFourOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8303DC212740273965781400317CE7F2 /* MirrorFourOpenGLFilter.swift */; }; - 47AC2747FA021FB98223EA5A664D54B6 /* AlphaBlendOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 262D3940378ADBC528674BC964D49513 /* AlphaBlendOpenGLFilter.swift */; }; - 47E80EA5261102BC5E027AE2EB2D80D9 /* DrawerTabBarOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 706A0C913B14A999B06CF3D3866E2334 /* DrawerTabBarOption.swift */; }; - 488AFBAC698F5BAD4F0B2A5B626C52BC /* Math.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00F118733EE5D73F2D953AE92FF8CC70 /* Math.swift */; }; - 49FD40329BFB9C2E744C8200F7C0EDE6 /* Queue.swift in Sources */ = {isa = PBXBuildFile; fileRef = B56BA02138C258B8FB48EF7A55D5ED4A /* Queue.swift */; }; - 4A2C1820FB1659DB4C3A941BBDE8889F /* KanvasCameraTimes.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4F5B83E618E38F02164444995CAF57B /* KanvasCameraTimes.swift */; }; - 4BFAC7455BBB16E268106C5B3193E30C /* KanvasCamera-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CFFE7CD2E8EF99191B13586B3321C1E /* KanvasCamera-dummy.m */; }; - 4C8490A1FFCABE89015C5EBF8CA270EE /* MetalPixelBufferView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E566A9628C83DC5CC2AAF69DCB8BFAC /* MetalPixelBufferView.swift */; }; - 4DF141CC549A5671ABDCCB1265E6CFDD /* MediaPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB5C64B19C39C8FF4A525AD4FC0A2D1 /* MediaPlayer.swift */; }; - 4E7E39BCB6F3A6861FAE46E5DF8E1038 /* CameraController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83602D814D6E3D1CF0DAC19D2F695791 /* CameraController.swift */; }; - 50544CC39838135DDBF0047A180E97F4 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = D3067EAFD5B0A06885968D137840DB70 /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 50D6E26C03FE65602B70591FFE6AD48C /* FilmOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98D3B918205243DC2F1EC49DF47E5740 /* FilmOpenGLFilter.swift */; }; - 5280E45FCA33F2DF835DE28A55367BE0 /* FilterProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87FE8A3F66375EFBFB457F1D9329966B /* FilterProtocol.swift */; }; - 53CD1EFF82F76174633C0BB68057D702 /* LoadingIndicatorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BB7D04449408C2AFB272D7EC1834E32 /* LoadingIndicatorView.swift */; }; - 5508024E47AB57D910EF6B0BBC780C9E /* CameraZoomHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA746E619B2919CAC6A8B3E1D463D2E5 /* CameraZoomHandler.swift */; }; - 5520770A2CB714986E764D4DB563E5D0 /* Array+Move.swift in Sources */ = {isa = PBXBuildFile; fileRef = 900FF0DBA7176A2B30CE4868FE16CEB3 /* Array+Move.swift */; }; - 5693A08347C5CFEBCEBAA2AED5FADEE1 /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = AD0B81AC7DF4855803A0FA70985F8A99 /* FBSnapshotTestCasePlatform.m */; }; - 56FC65984B23FD537AAEB4F352FF7A60 /* UICollectionView+Cells.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37A1029096CFC566F9FF2F1670F6A5E9 /* UICollectionView+Cells.swift */; }; - 5755BB1375FF8FD32778B38189781419 /* CameraFilterCollectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 828EFE9CF734FBBFB6DDE9972D033102 /* CameraFilterCollectionController.swift */; }; - 58BE46BFA314AC5032EA855D2AFE35C0 /* MediaPickerButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93EDE77C9F447CE87CD82A24798A58E7 /* MediaPickerButtonView.swift */; }; - 595CA97A1BCE1B4F62874C898C5E813E /* Synchronized.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44EBC482157905EB201427C9AEBD4E41 /* Synchronized.swift */; }; - 59FA7FBD4C8B665411379B747BD8C5AA /* Texture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AEE378CDB7C4C965B95E9D2C22EC102 /* Texture.swift */; }; - 5B44850698DAA8DE6CCEB17D1527298C /* KanvasCamera-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2072809F197943F576C50E98E410E390 /* KanvasCamera-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5CC3474C964A3B7B477DBEE78875484F /* MediaClipsCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 804F717B2108D2AECDED3CCE69118684 /* MediaClipsCollectionView.swift */; }; - 5F1A2ADBB3242FEDCD4262DFFB855601 /* TrashView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2334CC417D0F1B53B94CB0F710C687EF /* TrashView.swift */; }; - 5F54DBB635107FA035654C4724F1DA81 /* CameraPreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23B4BF200FCF7418B971A04554F74AA7 /* CameraPreviewView.swift */; }; - 614DFBDA14696525035712867947E252 /* AVAssetTrack+transform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66C854EC26F0C489C023B00ED4B4EE8D /* AVAssetTrack+transform.swift */; }; - 6284AE4C0C972C5540045DCE1D5A3F42 /* PlaybackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17512ED8B28B1CCEBA30EA661E2E1611 /* PlaybackView.swift */; }; - 63463B195246DE6F76E4501449BEA341 /* KanvasQuickBlogSelectorCoordinating.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE1EB0BE75CDE4AD47E2F7225D8FC72 /* KanvasQuickBlogSelectorCoordinating.swift */; }; - 6361404779C1DB7CEBB7D1C845550B31 /* FilterCollectionInnerCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 172907E582E48F1F383ACF23553866E3 /* FilterCollectionInnerCell.swift */; }; - 64B965D5F5223C88E170DD1F8A8A75DC /* CameraSegmentHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04CBDF6FAD2D8D54C472DF5EC7CCDFB3 /* CameraSegmentHandler.swift */; }; - 64D662CC55805E2793AF64D2EC2E48AA /* UIGestureRecognizer+Active.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81FDEB5C96F19CFBE8E69CB20A33D5AF /* UIGestureRecognizer+Active.swift */; }; - 64FC8B57C454C30389013CA9ECB4339F /* GLUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13AB6967D46E0FD294C84D9A39949DA9 /* GLUtilities.swift */; }; - 6635CB76E5DFA525E8D0C847E6FF7F6C /* CALayer+Shadows.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06B5829AC48151FDDF0A5547D67AD190 /* CALayer+Shadows.swift */; }; - 66AA166DAEE5B2D63676A2DCC0E4B269 /* MediaDrawerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99F57B49789DCCF995C808F1CC314C3E /* MediaDrawerController.swift */; }; - 6A28AE6C17BCE1AC103F179F1CB33F59 /* PlasmaOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30268B657E35B0E213B6B12CADCF3895 /* PlasmaOpenGLFilter.swift */; }; - 6A62CCEADACF43766F6A3FE6516B0455 /* CameraFilterCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C3E8A099BA473347369F08DE359A0F0 /* CameraFilterCollectionCell.swift */; }; - 6CD7F8A6200F483CD4BFB887C3DA8F86 /* IndexPath+Order.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54D8555CD9F9F606A042F4F347388F97 /* IndexPath+Order.swift */; }; - 6DE6BD3190FFE61051D57A4EFB2070AF /* AVAsset+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C94677E998E2C8E4D5FCAD0F3832436 /* AVAsset+Utils.swift */; }; - 6E129C26023B197A8A66FEEB30416596 /* CameraPermissionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA9160A5EB73FBEE9F5179BABC066FD4 /* CameraPermissionsViewController.swift */; }; - 6E7088F75EF7A585C93055ED50EF682C /* MediaClipsEditorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE27A2C94AC2CF47475F08854F514646 /* MediaClipsEditorViewController.swift */; }; - 6E835B0786976A4637D88E949434858A /* URL+Media.swift in Sources */ = {isa = PBXBuildFile; fileRef = D558A5D064BE1276BE8907748E8529C1 /* URL+Media.swift */; }; - 6EB93420BB990B8DFC92332F89C46F6E /* OptionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A53BED251B885FCA334EF782996B91F4 /* OptionView.swift */; }; - 714279AE6B2CE4FF508FA0376FF9AE00 /* GIFEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2CA4B1F84D00299876A6DEFE5E54B5B /* GIFEncoder.swift */; }; - 7273B24C119CB7F127DD7FE66ECC95E3 /* ColorCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30531565168FD3BBEDE5BC799993C7DF /* ColorCollectionCell.swift */; }; - 75ADB65FA05AAF4D8B97B996C3608CB6 /* UIColor+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2DF04E099D18D786799900D6E6A1A20 /* UIColor+Utils.swift */; }; - 76228FBB48498E9DC98509D4B53A3A8B /* ThumbnailCollectionViewLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63D475383F7F93E17DA3F28D2AB151D8 /* ThumbnailCollectionViewLayout.swift */; }; - 7715E0E0D1DA26BAF5B0AFDF67B2B16F /* KanvasCameraImages.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC8626A477C88125B425470C7FEBB53E /* KanvasCameraImages.swift */; }; - 77451D131E9DB51AA94861C2172550FE /* FilterItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB298A91A9F41CE4F7055FF089DFCE47 /* FilterItem.swift */; }; - 77963FF7EE2C6BF810466A85D700811E /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE35F81C954881204729C569018D98C0 /* FBSnapshotTestController.m */; }; - 77BC80D54BD796F0138FC8E0E69056A8 /* ViewTransformations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85F4815441CD5792E02AAE04FA45418B /* ViewTransformations.swift */; }; - 785379973E1FDED7F1EF0DE793CE6AD6 /* FilteredInputViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 589ADF0CA6A60AAD36600E27ACAE0A2C /* FilteredInputViewController.swift */; }; - 78967EF0E2096AFFD4ABC1C90DEB953A /* VideoCompositor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D4263A91882240BAAF3C93D97801C2F /* VideoCompositor.swift */; }; - 79647F1E2B699FDD4EE3B883FBE03BFF /* StrokeSelectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D687F4F70AA91E15E21928D36888F39C /* StrokeSelectorView.swift */; }; - 7CB6F0F51E8CC4982FC74299CCBD3269 /* Sticker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22D6789CF8AD64D9F50986DA69AAE492 /* Sticker.swift */; }; - 7D47F0646FC3328F9F78532FCC42B984 /* StickerCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6948E0E29088E407C83CE48D8828B933 /* StickerCollectionView.swift */; }; - 7DD5BF9FDDCA43FD440D3AD5BD810293 /* MediaClipsCollectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEAA79967E5C514B69064D7DE9942AE1 /* MediaClipsCollectionController.swift */; }; - 7E5F6F6106CA5A626715E09FD08FFD53 /* DrawingCanvas.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6403309247790542A1009DF628EE604 /* DrawingCanvas.swift */; }; - 7E62458C005D23FA563A722FD96D358A /* GifMakerSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69A8C56E43C217C5CE165F8F7194A9D5 /* GifMakerSettings.swift */; }; - 7F4A94C38C275D08CE9E089B18EE294B /* OptionsStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6BB481C73A086D20EFDB3B63BFA6D21 /* OptionsStackView.swift */; }; - 806CFA8A20861E06A1201D13BE7C7500 /* GifMakerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EFA5094EC2CA63F5147F5D9DFD096E3 /* GifMakerView.swift */; }; - 80DB4DDD6E0F0914CF32262C75ABFBA3 /* MetalFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46E66DE474610D6011B6733FA2B35C23 /* MetalFilter.swift */; }; - 821AD69A44E94C3EA0015904E1FA0BEB /* ColorThief.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B271F9BF92F48066E4C63B54DFEC9BD /* ColorThief.swift */; }; - 82694D9E23B9F7A74B469CBF5CFC9D45 /* EasyTipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 928305ED4B337FB01D3B7F13C17CDF63 /* EasyTipView.swift */; }; - 8411BAF7A459448DF3D17E64273361B3 /* TrimController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 570CCFCEB0AE9CAD3BDF339BC785DA8C /* TrimController.swift */; }; - 854D797F46C964B15A739F2C83060EC0 /* ConicalGradientLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 871EAEFF1BAFB9A0A8D4AE65D59D84E1 /* ConicalGradientLayer.swift */; }; - 85A1BACED37DD70E48333702A67A126C /* UIView+Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2846BF9F660ED689B8D01817BB223386 /* UIView+Image.swift */; }; - 85C8FCF0ED94E3B60CF9554922735ADD /* ColorDrop.swift in Sources */ = {isa = PBXBuildFile; fileRef = C43C1693D06DBDFCD4A5BFAD12D57A0A /* ColorDrop.swift */; }; - 864DB48B0B9ED1F21FE00420F6C7C738 /* CameraView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6107B800D4EB0D1E65986B62F8044A9B /* CameraView.swift */; }; - 86CEBF741521548E6E0938A44A479CB2 /* String+UTF16Substring.swift in Sources */ = {isa = PBXBuildFile; fileRef = E05BC0DD2EE097C46F63CED9EE3FE09E /* String+UTF16Substring.swift */; }; - 879F35CC84D72B7646CF93605A50A4C4 /* MetalGroupFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCE203EA8832596A2FACED617AB9783C /* MetalGroupFilter.swift */; }; - 87D6F8413A7B375C836E57CCAD550A7F /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82D2DF1ABBBD85F5E079D7D0EB5479BC /* SwiftSupport.swift */; }; - 88A5D2C843294A2CE200D5E484A155B1 /* Pencil.swift in Sources */ = {isa = PBXBuildFile; fileRef = F85654819DC42191122B8739224522D9 /* Pencil.swift */; }; - 895A0DCE66728443ADCF549B920648A8 /* StickerMenuController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE7655EDD8CCAEFFBF78841F63423150 /* StickerMenuController.swift */; }; - 89D2DB95C86E53A5C3EBFDA6293C5BA1 /* Pods-KanvasCameraExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1CEE4C47043FCDD185056E0AEB2F3CBA /* Pods-KanvasCameraExample-dummy.m */; }; - 8BCBC1A18BD27FE264A7AB8AB2473ED0 /* FilterFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 274542DE45FFEE57631994BCE8E78997 /* FilterFactory.swift */; }; - 8C0B5EBDF83DDC66A416370F936B9A00 /* UIApplication+StrictKeyWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A3ACA72AE9B776E644F6D159AB3E80B /* UIApplication+StrictKeyWindow.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8DAFA1B6CE338360FD0CDB28508FD0E5 /* EditorFilterController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A3CEAD33F9113571352639CBDD1AFA8 /* EditorFilterController.swift */; }; - 8E87646E65B3014742A782B9A5010C3E /* FilterSettingsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62FC4E6B49450D8A558F2E63EC956CF8 /* FilterSettingsController.swift */; }; - 8F662E367B6877A87627735E611AB75A /* AVURLAsset+Thumbnail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99B48892362D4BD4858F84A82414467F /* AVURLAsset+Thumbnail.swift */; }; - 90D8EC65C5AAA778FFC31071AF805591 /* PlaybackController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F81D5B2049ADC3C48E8A04B6F4D59CE /* PlaybackController.swift */; }; - 919A1F4408EB2840E63F51AFCB9A75E2 /* MediaPickerThumbnailFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65001C7562FDE9DBF17DACED50576FEB /* MediaPickerThumbnailFetcher.swift */; }; - 91A8FC9CEB1ADD19777114555BFA8229 /* Renderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BBE4B05B868FB8B2E8A821E8D3B8A3B /* Renderer.swift */; }; - 942F8750E82E23557E732B954764C30A /* ColorSelectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 148B1590C9BC9CA074F252AE72511503 /* ColorSelectorView.swift */; }; - 950CE7F4B4FF9FC9B52000DBB4D5958F /* DrawerTabBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 096BD92E87B2E9BD8D90924C547D4067 /* DrawerTabBarView.swift */; }; - 989F8BD907C17BCCB54613DBD98D25D1 /* OptionsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3A53A8F2CB8B5EFA3C92CBCAA213915 /* OptionsController.swift */; }; - 9A7ED56C1C454023A921350AE253BA87 /* DiscreteSliderCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8E08843B388547CF12955089F18E5CA /* DiscreteSliderCollectionCell.swift */; }; - 9BA896E063BEC620F59FA071C6181662 /* FilterType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D381F322DA2C6D81ABC94E6A7585C279 /* FilterType.swift */; }; - 9DD454DFDB511217385CF549CAAF9B0F /* ImagePoolOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D8C9730F912628B3592889C1EEB0603 /* ImagePoolOpenGLFilter.swift */; }; - 9DD97097B1353A1644AF645CA5A6B760 /* MediaExporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F609A367F145FC60D96470A87DD9459F /* MediaExporter.swift */; }; - 9EDBA697B06CB4883020421A4C572E20 /* UIImage+DominantColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A4AF54D149F5C213A6873F91432E69F /* UIImage+DominantColors.swift */; }; - A07DE12FF76753D031301C77AB2B95B7 /* TimeIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F9CBFF89FC759065BF6DBF3F53D84 /* TimeIndicator.swift */; }; - A0DDFDC5633B8544B628DE53F67EEC8F /* NumTypes+Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6163C81BF1535182AC1CADDA2C97116C /* NumTypes+Conversion.swift */; }; - A1C398A047B9FAC80F5A67B3692666C1 /* StickerCollectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDCB60C255C891ECAC54624BB0DAE2EF /* StickerCollectionController.swift */; }; - A30D622F6258967F9C7F3995AFF624D6 /* FilterCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C2E4FF4E13F6963B206B3D8720EB24B /* FilterCollectionCell.swift */; }; - A457A948F248D2A52CD05F067B0C1367 /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = EF53D290F564A9B10CEF56C9DC2010F2 /* UIImage+Compare.m */; }; - A489AC9A9A4685F5BAEBCC7F77CDCEAE /* UIColor+Hex.swift in Sources */ = {isa = PBXBuildFile; fileRef = E80ACA1BC1747154D80F65E84D48977A /* UIColor+Hex.swift */; }; - A5655A456EEC1AA7E3E337496FE26667 /* MainTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDC9BD3C47F417AE0A509503EFF6FE7D /* MainTextView.swift */; }; - A58B498144314FCA1AB32A852D960CB8 /* MetalContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F7F0A3586378655C45E9411331B5319 /* MetalContext.swift */; }; - A7A5F2460AE78016B3D68515B20955CC /* MediaDrawerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 353FE62110876EAC474750C0B711F96C /* MediaDrawerView.swift */; }; - AA5B43E656AA952CF7F5800736DA7146 /* GLPixelBufferView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BC78BCC84B9ACFB6D9D5F3BBAB708C2 /* GLPixelBufferView.swift */; }; - AA6993881322D5DB585E6CFBAF6F0D0B /* UIFont+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F3DC0EAC4E627D539BC036AC052ACA0 /* UIFont+Utils.swift */; }; - AB043399C87D782242895E93F9D8721B /* FilterSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 437A82F4B3010FB4FFBDE8D2C7CB1A1C /* FilterSettingsView.swift */; }; - AB3570007412B510F78B81D1A83E7FC9 /* FBSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4964EEFBA80E32A6A3082BF93B7DEBEB /* FBSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AC3DCD64C08E96A9ADF6AB657394F1ED /* UIUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E19FB5A18C7D7C0D1656E3497707873 /* UIUpdate.swift */; }; - AC8ABBB204B95374ED9A37BA27A42FE7 /* RoundedTexture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 857FE2392C71D28E272BB9735D436510 /* RoundedTexture.swift */; }; - ACE1993D39A6F19A938CBF256E744763 /* EMInterferenceOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F847F2167A6A36020C726B1C7EE4C3F /* EMInterferenceOpenGLFilter.swift */; }; - AE3BD20792F5087FFFDB6E5250E02C3C /* EditionMenuCollectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0A104A3171392FD2071D7707EC53B1E /* EditionMenuCollectionController.swift */; }; - B0F43CC145367901F56E444DDD1D60D6 /* Device.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDF9C3D88BC6E286087A06959AA1B7BC /* Device.swift */; }; - B1A46F391B47281F7037C09A53E49C2C /* MovableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2D13DD2997211E5F1B483CDCF428371 /* MovableView.swift */; }; - B29D2B6ADD3A4732F39A36AAC6F05A67 /* CameraOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = F59E7E398C2C9C1C57DE672FCE3B1F1B /* CameraOption.swift */; }; - B29FD18FEEE3C67CEB20519A39668E8E /* DrawerTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 098E205D4C6BB276F9D8C959A30A6E21 /* DrawerTabBarController.swift */; }; - B38CE56CC5A76B707A4DE095274454D7 /* ThumbnailCollectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAE93D9D8C4A2DF825ABF9D86E7A9C6C /* ThumbnailCollectionController.swift */; }; - B5BB457D9EC4D559DDB9900305B11BF6 /* SpeedController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F143EEFBF3194A28AC463C2DD89304F0 /* SpeedController.swift */; }; - B6E14527F6BFCFD74E6160C1B7ED019F /* CircularImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A76485F898D44AF4DFE7DB8915FD859 /* CircularImageView.swift */; }; - B74C182A040FC270DFF7249DCE691FB0 /* MediaPlayerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDCC5E2D34D01074B0A37F226B975980 /* MediaPlayerController.swift */; }; - B8ADA30C051A2790FE88BE07CBFFF592 /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = E0956940883830C651240E754E3ECC52 /* UIImage+Diff.m */; }; - B90B7E0A1FFCFCD4A300B82199AEE8B5 /* EditorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CE5FBAEFC3C170BC46E7674ABB1B9DD /* EditorViewController.swift */; }; - B95036AED39F2A1C09405937A27BE196 /* RGBOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E8918E2D108C40A7741550843A076A5 /* RGBOpenGLFilter.swift */; }; - BC008E511C3F7E134D9C38BB147EEE58 /* KanvasCameraColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84A37108F7BD0C1C16022B5F688E7B48 /* KanvasCameraColors.swift */; }; - BDBC97B39FFC9B3EF6801AFFF1335D70 /* TextureSelectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1A6ADBC48FC6A1C8CE4B7EB6530D109 /* TextureSelectorView.swift */; }; - BE33F1628F14C9B90665DFE12B5DC66C /* CVPixelBuffer+resize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 254A253FDC866C8AEBEE47EB0B4359EA /* CVPixelBuffer+resize.swift */; }; - BEDD8F09AD4F9C4F926599189E7AC398 /* IgnoreTouchesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD920E41EAA44927C757591CCEE72C7C /* IgnoreTouchesView.swift */; }; - BF84BB0C1DF963B42850CED35C80AD41 /* KanvasCameraFonts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F65D5DA70820A5CE7309AD5A472E6CE /* KanvasCameraFonts.swift */; }; - BFF5DDD787242A69DAF1544AC2FCECE4 /* ClosedRange+Clamp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34F8D7719BEDE8C1FEEEFAFCF7B5BC02 /* ClosedRange+Clamp.swift */; }; - C0B5FF43673BC18B17B348E1F024204A /* TrimView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E72A643CA293D8A2F269B2BF7238EDDB /* TrimView.swift */; }; - C227FD1C858148327AD6CF45F9BC35E4 /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = E354F8FD537351F26F7949B4EBFA5101 /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C252684828CE84EB8C217F3BC55C45A5 /* RGBA.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD0792054F51387007D7289E84DD8D4C /* RGBA.swift */; }; - C3CA256CC5C3308862AFF3218B47B684 /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = A25844C26701FA4BCAEF64150B56777F /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C4C0B1761004AF058628FEBBA7478FF5 /* GifMakerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DB94E4421707A58669B9E71DB51DAAD /* GifMakerController.swift */; }; - C5104B347DEF09E8DD03FD1C1979DDD3 /* StickerLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 248215FEC5486374292FAD52AAB745FE /* StickerLoader.swift */; }; - C6E177E232C3E4F7CE36902250B0C900 /* MetalShaders in Resources */ = {isa = PBXBuildFile; fileRef = 02461F63E08E5C601289E51FA1A50356 /* MetalShaders */; }; - C72616649F530DB6EAF7D38F45FDAF54 /* GrayscaleOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24E6A5822851DEB520F3849E7E743F85 /* GrayscaleOpenGLFilter.swift */; }; - C7A5EDEEA791204F430FC21B1109EAFD /* MMCQ.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61B25B67F33D856BD06C37E59195022E /* MMCQ.swift */; }; - C99A886DC0E1EBEFAA9510D379E86BE2 /* GLError.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6E5483EDBDDEF679EE1F0748E467348 /* GLError.swift */; }; - C9CBB04525D3CC28D1B1F86320AE381F /* ColorSelectorController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9ADE711AC117820E300FEB3ADD343207 /* ColorSelectorController.swift */; }; - C9F397D2711D2BAA1C46D40F154CC696 /* CameraInputControllerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B798F86E639ACDA3BCB407E05330CE8 /* CameraInputControllerDelegate.swift */; }; - CAE350D0F5F31F911B928AA51A9247EC /* StickerTypeCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A419E4F1F88243A84719BBBAB05E6E0 /* StickerTypeCollectionCell.swift */; }; - CBD39660A2AEA338F8D2CE18BEBECEF9 /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = AA172EA1A198EEFBE0794EACF7993C02 /* UIImage+Snapshot.m */; }; - CCE1B75CB041DD005038AE98CA337E79 /* CALayer+Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = F179CA8953EB8D5D55C36A2999303651 /* CALayer+Color.swift */; }; - CF4A615E69D13AB22E787513E027DEF9 /* TextOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9052A7CDCD91FDD94362E2CF6DA0ABED /* TextOptions.swift */; }; - CFE61A86E90376D25BD3D239376BE675 /* PhotoOutputHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAF2AAE9707AADED2249E785F3E145B9 /* PhotoOutputHandler.swift */; }; - D28B308AFF358237E049C8E1BE3696FF /* EditorFilterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F67F69096DE974FE5401340DA83482D9 /* EditorFilterView.swift */; }; - D2D876D097870DEEB356F927D0F5FE61 /* TrimArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3D310AD7129E43EEBDD6F6A72D988F9 /* TrimArea.swift */; }; - D2DE6BF8DAF23AF5046F9BF2A58D74DA /* UIView+Layout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C7C9723C3771CB815286A8ADB20F0F /* UIView+Layout.swift */; }; - D373EBD94647C3AF0D50F624A296CBA0 /* ImagePreviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51328D334A39555D6668EC4B2DAFC84 /* ImagePreviewController.swift */; }; - D3B6A9DC3C3D211BC5FDE86F1AA16751 /* Shader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 314A6E2F0849BC4454E1297E5C10B6DE /* Shader.swift */; }; - D3D594BE3791C8AA1C6A509583E4E54C /* VideoOutputHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CE961D8443EC9CAC8F5E0E4012B768B /* VideoOutputHandler.swift */; }; - D566E6666B3A1C1AB9C48C4462BD069E /* GifMakerHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 141656659B7D6771A714A3F02C3F8E99 /* GifMakerHandler.swift */; }; - D56AF45CFC6B7FCB1FE82BD57158A0CA /* MangaOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02195396678E018BD736944645546C8A /* MangaOpenGLFilter.swift */; }; - D5FAA5ED25EAEE61F6476D63E0CA9894 /* FBSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 78446EA2EE3558B1B96DFA6EB30034A5 /* FBSnapshotTestCase-dummy.m */; }; - D607E281B6103D213C2295CE59CC6658 /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 13C8BBFE2D9E3A9C566221B1DE04E91C /* FBSnapshotTestCase.m */; }; - D6888AFACA007045E929AE50C40CE345 /* PlaybackOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 017C55534535B58937B03867C1515D7D /* PlaybackOption.swift */; }; - D7838C6813187681BDC211050DF66C62 /* CameraInputController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 591192356EA131FB40C2DA39C68801EE /* CameraInputController.swift */; }; - D7A4057E1BEF60CF8AD5BB42102C360E /* ChromaOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5D3BD7F2A47E2B3C5659971040D0F7F /* ChromaOpenGLFilter.swift */; }; - D9D8A9914D60C87261C6BEBF2B3A9226 /* PlaybackCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85FBF552004F1CCE36E356F15D677DC7 /* PlaybackCollectionCell.swift */; }; - DA0682E943DE19F666A3FC5FA3C5903F /* ModeSelectorAndShootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9C30A81ABB9548CDC522B1D624C982B /* ModeSelectorAndShootView.swift */; }; - DA9F6B4A9180B5AB94AD27B8D56245A5 /* OpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7661D716234A6BD3161B6FBA3C8EC67 /* OpenGLFilter.swift */; }; - DAA49A89E507DC002006BF69525D3CF9 /* StylableImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A0FFB4D50E23EE368FA5A0966CD2ABE /* StylableImageView.swift */; }; - DC0C7E82CBCF503089C05CBA783CB7ED /* SpeedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE3FCDE894CBEBEF09B857B6DE64FAE7 /* SpeedView.swift */; }; - DF524EBDE93F6B324DBD9406E01A885C /* DrawerTabBarCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4711FD98070EBEA80D44C61E5E2A8227 /* DrawerTabBarCell.swift */; }; - E00B540E8FD812F1A344C98B9CC4E646 /* EditorFilterCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0B06101B33679A26AD0CF11918990C8 /* EditorFilterCollectionCell.swift */; }; - E18C1DFFD60D7F0EFC781B2587980E2F /* Marker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43BC5040F91CD9CF7BA72BFA77FE9008 /* Marker.swift */; }; - E2BBC35994930C64F3DB13649AE60D5F /* MediaClip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5743BEAC4215159419E1E79A3C0FB792 /* MediaClip.swift */; }; - E32977941FBAD0F31807DF2F4DA84634 /* ExtendedStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E08BB7043F36833943EB16043A4D164F /* ExtendedStackView.swift */; }; - E36F5E655EF250E806F34170259BEEF6 /* LegoOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9E07FB62465B9A76F68A7A50BB141F7 /* LegoOpenGLFilter.swift */; }; - E834790BF2BE194747C9639AD81271A3 /* EditionMenuCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6F93E832883EB44777A5D158EA310C5 /* EditionMenuCollectionCell.swift */; }; - E8F933DB1788FB012E853279C643F180 /* StickerMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88DE7E52C764F239104BF6AA27D26265 /* StickerMenuView.swift */; }; - E97E4D769F8092A75D9CC05696BEDBBA /* Pods-KanvasCameraExampleTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 76AE966E712D09165689018C294D7147 /* Pods-KanvasCameraExampleTests-dummy.m */; }; - EA26E539D437BB6941B4E51D0E727C0C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CFE238C30D54DC738419FF447328079E /* Assets.xcassets */; }; - EB6D86222940530F5A5DCADD135D423E /* SliderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AD42030B59C540CD423E1A02794741D /* SliderView.swift */; }; - EC082B567C44F5D9DE5060E0B6D7217A /* ShootButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BD99BD2F2C49E7DEC0CB6D1E6C6BBBA /* ShootButtonView.swift */; }; - ECBCD062143DC21183C256B930767A8C /* StylableTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F8429BC6E74AF8E8E587DD9B9C4D1F4 /* StylableTextView.swift */; }; - ED981F645601ECA3F6B3B6A279DBC690 /* LightLeaksOpenGLFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3898C1A870D759F0028C3CD8D9592387 /* LightLeaksOpenGLFilter.swift */; }; - EFA45E70CD6224C8B68738ED9E97CA21 /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = 88EE4F95531D217A595AA8D85A24FA39 /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F48B8E1FAE4018B9D2EEFAD5E25278B8 /* StickerTypeCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E472F131AE229F44DEAFC75462088B2 /* StickerTypeCollectionView.swift */; }; - F5D2F660979E86A7F5CB33EDFCD7E12B /* TextureSelectorController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42AB43537D2B6D9D882ECE1B81B5966C /* TextureSelectorController.swift */; }; - F60F46DC3DF0739C5B3A5B8C138CA7A3 /* CameraRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10F462F8415D2F2D83E59C613AC424CB /* CameraRecorder.swift */; }; - F7665AB9FC7ACDD52BBF155F7B662BFA /* Array+Rotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68BE82BB3973C4A63799D2C7431989D6 /* Array+Rotate.swift */; }; - F79351C205DB899D205572BDCD77A102 /* CameraInputOutput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C6A5F7B3BD9E0D407F3E06CF7F60406 /* CameraInputOutput.swift */; }; - F876F054886227B059B0778C6C1A0A83 /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = EA718A72E676291836EBB46B85242155 /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FA8BBB1025903F71C649E2660BBC3882 /* DiscreteSliderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C6EE986E8BF19E6157ACFC719D37833 /* DiscreteSliderView.swift */; }; - FA992698B426EB186D0C71AF56AAF546 /* Rendering.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50169007C46362A9AA7810B114A9978C /* Rendering.swift */; }; - FADC0A4FB735DD2EE9223148505A5285 /* OpenGLShaders in Resources */ = {isa = PBXBuildFile; fileRef = D373CA2C707EE9C38C1B782AB85591A4 /* OpenGLShaders */; }; - FB0D5CF3A3A029845765005E83B4C36F /* MTLDevice+KanvasCamera.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18FCE5B118302E54F388F2D41ABF23A0 /* MTLDevice+KanvasCamera.swift */; }; - FB127CA6488FC1689BDF0914842B3273 /* CVPixelBuffer+copy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 542CB7F392851819E92C6518BE344AAC /* CVPixelBuffer+copy.swift */; }; - FFD318BFA7369E2A2FCAFD4385135074 /* CVPixelBuffer+sampleBuffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = B02D83CD832C79B17DA1B7BE6715647F /* CVPixelBuffer+sampleBuffer.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 0864825848F1BC53FEED130C9AADEA8F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 98A98149697C80CEF8D5772791E92E66; - remoteInfo = FBSnapshotTestCase; - }; - 17529B1BA3BE4D9DC14845D2580F4AC2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 63A66EDDAEF8A5521205B4F823F1D6AB; - remoteInfo = "KanvasCamera-KanvasCamera"; - }; - 4D0DDAECB2D20D72BDC7B9E0512C1A54 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = BDB175D784A4B1E7FCB709777D7A6ADF; - remoteInfo = "Pods-KanvasCameraExample"; - }; - 85F323C26165951D2F5D0040893D3CD5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = EEA7BBCE1AEABC4574550F0FCA071779; - remoteInfo = KanvasCamera; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 002C4A17212692144E3951EAA6AB202B /* CGPoint+Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CGPoint+Operators.swift"; sourceTree = ""; }; - 00F118733EE5D73F2D953AE92FF8CC70 /* Math.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Math.swift; sourceTree = ""; }; - 017C55534535B58937B03867C1515D7D /* PlaybackOption.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaybackOption.swift; sourceTree = ""; }; - 02195396678E018BD736944645546C8A /* MangaOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MangaOpenGLFilter.swift; sourceTree = ""; }; - 02461F63E08E5C601289E51FA1A50356 /* MetalShaders */ = {isa = PBXFileReference; includeInIndex = 1; name = MetalShaders; path = Resources/MetalShaders; sourceTree = ""; }; - 04CBDF6FAD2D8D54C472DF5EC7CCDFB3 /* CameraSegmentHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraSegmentHandler.swift; sourceTree = ""; }; - 057497853DEDD2F938871565A4C948FD /* GroupOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GroupOpenGLFilter.swift; sourceTree = ""; }; - 06B5829AC48151FDDF0A5547D67AD190 /* CALayer+Shadows.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CALayer+Shadows.swift"; sourceTree = ""; }; - 096BD92E87B2E9BD8D90924C547D4067 /* DrawerTabBarView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DrawerTabBarView.swift; sourceTree = ""; }; - 098E205D4C6BB276F9D8C959A30A6E21 /* DrawerTabBarController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DrawerTabBarController.swift; sourceTree = ""; }; - 0A2ED504050EBC35435013D97D72E3D9 /* Pods-KanvasCameraExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-KanvasCameraExample-umbrella.h"; sourceTree = ""; }; - 0A3ACA72AE9B776E644F6D159AB3E80B /* UIApplication+StrictKeyWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+StrictKeyWindow.h"; path = "FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h"; sourceTree = ""; }; - 0A3CEAD33F9113571352639CBDD1AFA8 /* EditorFilterController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditorFilterController.swift; sourceTree = ""; }; - 0A966F8CC02AF6C9C4D66DDF06B58364 /* libPods-KanvasCameraExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-KanvasCameraExample.a"; path = "libPods-KanvasCameraExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 0B271F9BF92F48066E4C63B54DFEC9BD /* ColorThief.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ColorThief.swift; sourceTree = ""; }; - 0CE5FBAEFC3C170BC46E7674ABB1B9DD /* EditorViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditorViewController.swift; sourceTree = ""; }; - 0CFFE7CD2E8EF99191B13586B3321C1E /* KanvasCamera-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "KanvasCamera-dummy.m"; sourceTree = ""; }; - 0EB5C64B19C39C8FF4A525AD4FC0A2D1 /* MediaPlayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaPlayer.swift; sourceTree = ""; }; - 0FBD1CED645C8B12CA257BBE3F34D576 /* DrawingController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DrawingController.swift; sourceTree = ""; }; - 10F462F8415D2F2D83E59C613AC424CB /* CameraRecorder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraRecorder.swift; sourceTree = ""; }; - 1379AD75AABC547413CDDAA384D7FDFF /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - 13AB6967D46E0FD294C84D9A39949DA9 /* GLUtilities.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GLUtilities.swift; sourceTree = ""; }; - 13C8BBFE2D9E3A9C566221B1DE04E91C /* FBSnapshotTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCase.m; path = FBSnapshotTestCase/FBSnapshotTestCase.m; sourceTree = ""; }; - 141656659B7D6771A714A3F02C3F8E99 /* GifMakerHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GifMakerHandler.swift; sourceTree = ""; }; - 148B1590C9BC9CA074F252AE72511503 /* ColorSelectorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ColorSelectorView.swift; sourceTree = ""; }; - 161211D976D4FECAE6A27EE91A0BE39F /* IgnoreBackgroundTouchesStackView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = IgnoreBackgroundTouchesStackView.swift; sourceTree = ""; }; - 172907E582E48F1F383ACF23553866E3 /* FilterCollectionInnerCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FilterCollectionInnerCell.swift; sourceTree = ""; }; - 17512ED8B28B1CCEBA30EA661E2E1611 /* PlaybackView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaybackView.swift; sourceTree = ""; }; - 177C9DF82D15976F0289795ABCFA0D8A /* GLKMatrix4+Unsafe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "GLKMatrix4+Unsafe.swift"; sourceTree = ""; }; - 18FCE5B118302E54F388F2D41ABF23A0 /* MTLDevice+KanvasCamera.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "MTLDevice+KanvasCamera.swift"; sourceTree = ""; }; - 1BC78BCC84B9ACFB6D9D5F3BBAB708C2 /* GLPixelBufferView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GLPixelBufferView.swift; sourceTree = ""; }; - 1BD99BD2F2C49E7DEC0CB6D1E6C6BBBA /* ShootButtonView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ShootButtonView.swift; sourceTree = ""; }; - 1C2E4FF4E13F6963B206B3D8720EB24B /* FilterCollectionCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FilterCollectionCell.swift; sourceTree = ""; }; - 1C4045477B55738F706CF5B8497C9FDE /* HorizontalCollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HorizontalCollectionView.swift; sourceTree = ""; }; - 1CEE4C47043FCDD185056E0AEB2F3CBA /* Pods-KanvasCameraExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-KanvasCameraExample-dummy.m"; sourceTree = ""; }; - 2072809F197943F576C50E98E410E390 /* KanvasCamera-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KanvasCamera-umbrella.h"; sourceTree = ""; }; - 22D6789CF8AD64D9F50986DA69AAE492 /* Sticker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Sticker.swift; sourceTree = ""; }; - 2334CC417D0F1B53B94CB0F710C687EF /* TrashView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TrashView.swift; sourceTree = ""; }; - 2383078A6D28DE6A15E11489708BA4FD /* libPods-KanvasCameraExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-KanvasCameraExampleTests.a"; path = "libPods-KanvasCameraExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 23B4BF200FCF7418B971A04554F74AA7 /* CameraPreviewView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraPreviewView.swift; sourceTree = ""; }; - 248215FEC5486374292FAD52AAB745FE /* StickerLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StickerLoader.swift; sourceTree = ""; }; - 24E6A5822851DEB520F3849E7E743F85 /* GrayscaleOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GrayscaleOpenGLFilter.swift; sourceTree = ""; }; - 254A253FDC866C8AEBEE47EB0B4359EA /* CVPixelBuffer+resize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CVPixelBuffer+resize.swift"; sourceTree = ""; }; - 262D3940378ADBC528674BC964D49513 /* AlphaBlendOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlphaBlendOpenGLFilter.swift; sourceTree = ""; }; - 26E9532A0FEF4FCBC4AA08388B3EF96C /* MediaPickerViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaPickerViewController.swift; sourceTree = ""; }; - 274542DE45FFEE57631994BCE8E78997 /* FilterFactory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FilterFactory.swift; sourceTree = ""; }; - 2846BF9F660ED689B8D01817BB223386 /* UIView+Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIView+Image.swift"; sourceTree = ""; }; - 2962D2CACA3C6A25D923286AE5D8E19E /* Pods-KanvasCameraExampleTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-KanvasCameraExampleTests.modulemap"; sourceTree = ""; }; - 296F56953B2B0F8775304B49ECD336EC /* KanvasCamera.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KanvasCamera.release.xcconfig; sourceTree = ""; }; - 2A419E4F1F88243A84719BBBAB05E6E0 /* StickerTypeCollectionCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StickerTypeCollectionCell.swift; sourceTree = ""; }; - 2A76485F898D44AF4DFE7DB8915FD859 /* CircularImageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CircularImageView.swift; sourceTree = ""; }; - 2A7ACE86E11820EF38C71EEBEC340E31 /* FBSnapshotTestCase.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSnapshotTestCase.release.xcconfig; sourceTree = ""; }; - 2C3E8A099BA473347369F08DE359A0F0 /* CameraFilterCollectionCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraFilterCollectionCell.swift; sourceTree = ""; }; - 2D8C9730F912628B3592889C1EEB0603 /* ImagePoolOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ImagePoolOpenGLFilter.swift; sourceTree = ""; }; - 2DD238BECA883AC791CAE06C4BE87333 /* Sharpie.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Sharpie.swift; sourceTree = ""; }; - 2E56DEFC9463B53C71707B24545C8EF9 /* DiscreteSlider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DiscreteSlider.swift; sourceTree = ""; }; - 2EFA5094EC2CA63F5147F5D9DFD096E3 /* GifMakerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GifMakerView.swift; sourceTree = ""; }; - 2FB4787B557E02943747068E3DE6B726 /* StickerCollectionCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StickerCollectionCell.swift; sourceTree = ""; }; - 30268B657E35B0E213B6B12CADCF3895 /* PlasmaOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlasmaOpenGLFilter.swift; sourceTree = ""; }; - 30531565168FD3BBEDE5BC799993C7DF /* ColorCollectionCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ColorCollectionCell.swift; sourceTree = ""; }; - 314A6E2F0849BC4454E1297E5C10B6DE /* Shader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Shader.swift; sourceTree = ""; }; - 34F8D7719BEDE8C1FEEEFAFCF7B5BC02 /* ClosedRange+Clamp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "ClosedRange+Clamp.swift"; sourceTree = ""; }; - 353FE62110876EAC474750C0B711F96C /* MediaDrawerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaDrawerView.swift; sourceTree = ""; }; - 37A1029096CFC566F9FF2F1670F6A5E9 /* UICollectionView+Cells.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UICollectionView+Cells.swift"; sourceTree = ""; }; - 3898C1A870D759F0028C3CD8D9592387 /* LightLeaksOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LightLeaksOpenGLFilter.swift; sourceTree = ""; }; - 3BB7D04449408C2AFB272D7EC1834E32 /* LoadingIndicatorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LoadingIndicatorView.swift; sourceTree = ""; }; - 3C6A5F7B3BD9E0D407F3E06CF7F60406 /* CameraInputOutput.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraInputOutput.swift; sourceTree = ""; }; - 3CC8B8006A40CEE398170B9D40EF3196 /* IgnoreTouchesCollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = IgnoreTouchesCollectionView.swift; sourceTree = ""; }; - 3E1FD7AF6D147E0102721B4810223AFE /* CameraRecordingProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraRecordingProtocol.swift; sourceTree = ""; }; - 3E29C50D3CDB46CBCBD20AFA13EB3D8D /* FBSnapshotTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCase.h; path = FBSnapshotTestCase/FBSnapshotTestCase.h; sourceTree = ""; }; - 3ED7C790A888F77BA458E1F76FBA0CE0 /* StaggeredGridLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StaggeredGridLayout.swift; sourceTree = ""; }; - 41FF76F1AA89987C508C360916A9D80E /* ModeButtonView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ModeButtonView.swift; sourceTree = ""; }; - 42AB43537D2B6D9D882ECE1B81B5966C /* TextureSelectorController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextureSelectorController.swift; sourceTree = ""; }; - 437A82F4B3010FB4FFBDE8D2C7CB1A1C /* FilterSettingsView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FilterSettingsView.swift; sourceTree = ""; }; - 43BC5040F91CD9CF7BA72BFA77FE9008 /* Marker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Marker.swift; sourceTree = ""; }; - 44EBC482157905EB201427C9AEBD4E41 /* Synchronized.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Synchronized.swift; sourceTree = ""; }; - 4689E608E2FDC59B1DD0D5F7F6EEC9CA /* UIViewController+Load.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIViewController+Load.swift"; sourceTree = ""; }; - 46E66DE474610D6011B6733FA2B35C23 /* MetalFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MetalFilter.swift; sourceTree = ""; }; - 4711FD98070EBEA80D44C61E5E2A8227 /* DrawerTabBarCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DrawerTabBarCell.swift; sourceTree = ""; }; - 4964EEFBA80E32A6A3082BF93B7DEBEB /* FBSnapshotTestCase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-umbrella.h"; sourceTree = ""; }; - 4A0FFB4D50E23EE368FA5A0966CD2ABE /* StylableImageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StylableImageView.swift; sourceTree = ""; }; - 4A6CF14A794E9E2CCFFDBEE0ED6AB17C /* UIImage+PixelBuffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIImage+PixelBuffer.swift"; sourceTree = ""; }; - 4B798F86E639ACDA3BCB407E05330CE8 /* CameraInputControllerDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraInputControllerDelegate.swift; sourceTree = ""; }; - 4C4E9E980145F3299B5A5AFBCD67BFA8 /* StickerProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StickerProvider.swift; sourceTree = ""; }; - 4D2A69EA7E38BB63A9E41F5E031743B6 /* FBSnapshotTestCase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FBSnapshotTestCase.modulemap; sourceTree = ""; }; - 50169007C46362A9AA7810B114A9978C /* Rendering.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Rendering.swift; sourceTree = ""; }; - 5172D2A16DE0755A78E95B9DDCBC614E /* KanvasCamera.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = KanvasCamera.bundle; path = "KanvasCamera-KanvasCamera.bundle"; sourceTree = BUILT_PRODUCTS_DIR; }; - 542CB7F392851819E92C6518BE344AAC /* CVPixelBuffer+copy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CVPixelBuffer+copy.swift"; sourceTree = ""; }; - 54D8555CD9F9F606A042F4F347388F97 /* IndexPath+Order.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "IndexPath+Order.swift"; sourceTree = ""; }; - 564910D09C317E964EAFEC5A84DCA606 /* KanvasCamera-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KanvasCamera-prefix.pch"; sourceTree = ""; }; - 570CCFCEB0AE9CAD3BDF339BC785DA8C /* TrimController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TrimController.swift; sourceTree = ""; }; - 5743BEAC4215159419E1E79A3C0FB792 /* MediaClip.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaClip.swift; sourceTree = ""; }; - 589ADF0CA6A60AAD36600E27ACAE0A2C /* FilteredInputViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FilteredInputViewController.swift; sourceTree = ""; }; - 591192356EA131FB40C2DA39C68801EE /* CameraInputController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraInputController.swift; sourceTree = ""; }; - 59627C907EE5DD20AFD65232FDB91FE6 /* KanvasCameraAnalyticsProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KanvasCameraAnalyticsProvider.swift; sourceTree = ""; }; - 5A4AF54D149F5C213A6873F91432E69F /* UIImage+DominantColors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIImage+DominantColors.swift"; sourceTree = ""; }; - 5B737EF75791B03FEEE52BCF98B373BD /* Pods-KanvasCameraExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-KanvasCameraExample-acknowledgements.markdown"; sourceTree = ""; }; - 5BAE3D14365032A3C0C173AA75DFBE54 /* ColorPickerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ColorPickerView.swift; sourceTree = ""; }; - 5BBE4B05B868FB8B2E8A821E8D3B8A3B /* Renderer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Renderer.swift; sourceTree = ""; }; - 5BF85123FD9263C596D06FBCC192673E /* KanvasCamera.podspec.json */ = {isa = PBXFileReference; includeInIndex = 1; path = KanvasCamera.podspec.json; sourceTree = ""; }; - 5C4F31330DFA99D699E4BDC8C3573D73 /* libFBSnapshotTestCase.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libFBSnapshotTestCase.a; path = libFBSnapshotTestCase.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 5C94677E998E2C8E4D5FCAD0F3832436 /* AVAsset+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "AVAsset+Utils.swift"; sourceTree = ""; }; - 5DCCDF3B065F3A940CC8D0FD6148A0B5 /* LivePhotoLoader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LivePhotoLoader.swift; sourceTree = ""; }; - 5E16C4DB6515AF77C0B40B26C149640B /* GIFDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GIFDecoder.swift; sourceTree = ""; }; - 5E19FB5A18C7D7C0D1656E3497707873 /* UIUpdate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = UIUpdate.swift; sourceTree = ""; }; - 5E472F131AE229F44DEAFC75462088B2 /* StickerTypeCollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StickerTypeCollectionView.swift; sourceTree = ""; }; - 5E566A9628C83DC5CC2AAF69DCB8BFAC /* MetalPixelBufferView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MetalPixelBufferView.swift; sourceTree = ""; }; - 5F81D5B2049ADC3C48E8A04B6F4D59CE /* PlaybackController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaybackController.swift; sourceTree = ""; }; - 5F847F2167A6A36020C726B1C7EE4C3F /* EMInterferenceOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EMInterferenceOpenGLFilter.swift; sourceTree = ""; }; - 600A84587A1A4DBBF325716FA2E6791C /* ModeSelectorAndShootController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ModeSelectorAndShootController.swift; sourceTree = ""; }; - 6107B800D4EB0D1E65986B62F8044A9B /* CameraView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraView.swift; sourceTree = ""; }; - 6163C81BF1535182AC1CADDA2C97116C /* NumTypes+Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NumTypes+Conversion.swift"; sourceTree = ""; }; - 61B25B67F33D856BD06C37E59195022E /* MMCQ.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MMCQ.swift; sourceTree = ""; }; - 61EC73EB9364189B32EC44F09A81DFA4 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - 62F2F1B6191279EA81186D39012ACFE4 /* CameraSettings.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraSettings.swift; sourceTree = ""; }; - 62FC4E6B49450D8A558F2E63EC956CF8 /* FilterSettingsController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FilterSettingsController.swift; sourceTree = ""; }; - 63A1F0BF60A0A522E9BEB8CADC678CE2 /* ColorCollectionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ColorCollectionController.swift; sourceTree = ""; }; - 63D475383F7F93E17DA3F28D2AB151D8 /* ThumbnailCollectionViewLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ThumbnailCollectionViewLayout.swift; sourceTree = ""; }; - 64C7C9723C3771CB815286A8ADB20F0F /* UIView+Layout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIView+Layout.swift"; sourceTree = ""; }; - 65001C7562FDE9DBF17DACED50576FEB /* MediaPickerThumbnailFetcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaPickerThumbnailFetcher.swift; sourceTree = ""; }; - 65D8608BB510133B1B11CDDE20ADF882 /* HorizontalCollectionLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HorizontalCollectionLayout.swift; sourceTree = ""; }; - 66134CDBCAFD4162DB93430D4A6C5248 /* ScrollHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollHandler.swift; sourceTree = ""; }; - 66248F0570600A1B936F46AC050EFCC6 /* UIImage+FlipLeftMirrored.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIImage+FlipLeftMirrored.swift"; sourceTree = ""; }; - 6685E58BB27EBE98E2518046B949D20B /* GifVideoOutputHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GifVideoOutputHandler.swift; sourceTree = ""; }; - 66C854EC26F0C489C023B00ED4B4EE8D /* AVAssetTrack+transform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "AVAssetTrack+transform.swift"; sourceTree = ""; }; - 68BE82BB3973C4A63799D2C7431989D6 /* Array+Rotate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Array+Rotate.swift"; sourceTree = ""; }; - 6948E0E29088E407C83CE48D8828B933 /* StickerCollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StickerCollectionView.swift; sourceTree = ""; }; - 69A8C56E43C217C5CE165F8F7194A9D5 /* GifMakerSettings.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GifMakerSettings.swift; sourceTree = ""; }; - 6AA83843D4AB1B2963A3AF262584E529 /* MediaClipsCollectionCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaClipsCollectionCell.swift; sourceTree = ""; }; - 6AE1EB0BE75CDE4AD47E2F7225D8FC72 /* KanvasQuickBlogSelectorCoordinating.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KanvasQuickBlogSelectorCoordinating.swift; sourceTree = ""; }; - 6CE6939EB4C51146264C7E0DDC0D6A87 /* MovableViewInnerElement.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MovableViewInnerElement.swift; sourceTree = ""; }; - 6F65D5DA70820A5CE7309AD5A472E6CE /* KanvasCameraFonts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KanvasCameraFonts.swift; sourceTree = ""; }; - 706A0C913B14A999B06CF3D3866E2334 /* DrawerTabBarOption.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DrawerTabBarOption.swift; sourceTree = ""; }; - 72BC6172444BC8896A7DD17D385D81BE /* Pods-KanvasCameraExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-KanvasCameraExampleTests.release.xcconfig"; sourceTree = ""; }; - 748BA343F55637F43626E9E481F89B67 /* FBSnapshotTestCase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-prefix.pch"; sourceTree = ""; }; - 76AE966E712D09165689018C294D7147 /* Pods-KanvasCameraExampleTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-KanvasCameraExampleTests-dummy.m"; sourceTree = ""; }; - 779627526BEC14CC44E746007566EAA2 /* ThumbnailCollectionCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ThumbnailCollectionCell.swift; sourceTree = ""; }; - 78227F67871EE2A8D8F86CF04A39A337 /* KanvasCamera.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KanvasCamera.debug.xcconfig; sourceTree = ""; }; - 78446EA2EE3558B1B96DFA6EB30034A5 /* FBSnapshotTestCase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FBSnapshotTestCase-dummy.m"; sourceTree = ""; }; - 7AD42030B59C540CD423E1A02794741D /* SliderView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SliderView.swift; sourceTree = ""; }; - 7B45E4230C812F997A2F399AB3359172 /* FilterCollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FilterCollectionView.swift; sourceTree = ""; }; - 7C6EE986E8BF19E6157ACFC719D37833 /* DiscreteSliderView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DiscreteSliderView.swift; sourceTree = ""; }; - 7D4263A91882240BAAF3C93D97801C2F /* VideoCompositor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = VideoCompositor.swift; sourceTree = ""; }; - 7D796F46EB160D0C2F5916D7EA6930A9 /* ResourceBundle-KanvasCamera-KanvasCamera-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-KanvasCamera-KanvasCamera-Info.plist"; sourceTree = ""; }; - 7DB94E4421707A58669B9E71DB51DAAD /* GifMakerController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GifMakerController.swift; sourceTree = ""; }; - 7E8918E2D108C40A7741550843A076A5 /* RGBOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RGBOpenGLFilter.swift; sourceTree = ""; }; - 7FABBE21FCEBBBCECD90B99C4121675B /* ToonOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ToonOpenGLFilter.swift; sourceTree = ""; }; - 804F717B2108D2AECDED3CCE69118684 /* MediaClipsCollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaClipsCollectionView.swift; sourceTree = ""; }; - 81FDEB5C96F19CFBE8E69CB20A33D5AF /* UIGestureRecognizer+Active.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIGestureRecognizer+Active.swift"; sourceTree = ""; }; - 828EFE9CF734FBBFB6DDE9972D033102 /* CameraFilterCollectionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraFilterCollectionController.swift; sourceTree = ""; }; - 82D2DF1ABBBD85F5E079D7D0EB5479BC /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = FBSnapshotTestCase/SwiftSupport.swift; sourceTree = ""; }; - 8303DC212740273965781400317CE7F2 /* MirrorFourOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MirrorFourOpenGLFilter.swift; sourceTree = ""; }; - 83590A734DC802B0C92C329FA3795862 /* EditorTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditorTextView.swift; sourceTree = ""; }; - 83602D814D6E3D1CF0DAC19D2F695791 /* CameraController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraController.swift; sourceTree = ""; }; - 84A37108F7BD0C1C16022B5F688E7B48 /* KanvasCameraColors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KanvasCameraColors.swift; sourceTree = ""; }; - 857FE2392C71D28E272BB9735D436510 /* RoundedTexture.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RoundedTexture.swift; sourceTree = ""; }; - 85F4815441CD5792E02AAE04FA45418B /* ViewTransformations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ViewTransformations.swift; sourceTree = ""; }; - 85FBF552004F1CCE36E356F15D677DC7 /* PlaybackCollectionCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaybackCollectionCell.swift; sourceTree = ""; }; - 871EAEFF1BAFB9A0A8D4AE65D59D84E1 /* ConicalGradientLayer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ConicalGradientLayer.swift; sourceTree = ""; }; - 87F968DFDAC351BDE68AB0020E3B5812 /* Pods-KanvasCameraExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-KanvasCameraExample.debug.xcconfig"; sourceTree = ""; }; - 87FE8A3F66375EFBFB457F1D9329966B /* FilterProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FilterProtocol.swift; sourceTree = ""; }; - 887C70BE58C70C472E5D78E357368282 /* EditionMenuCollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditionMenuCollectionView.swift; sourceTree = ""; }; - 888D1107ADA0E7FEBD72F2B681538E93 /* Pods-KanvasCameraExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-KanvasCameraExampleTests.debug.xcconfig"; sourceTree = ""; }; - 88DE7E52C764F239104BF6AA27D26265 /* StickerMenuView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StickerMenuView.swift; sourceTree = ""; }; - 88EE4F95531D217A595AA8D85A24FA39 /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/FBSnapshotTestController.h; sourceTree = ""; }; - 8AEE378CDB7C4C965B95E9D2C22EC102 /* Texture.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Texture.swift; sourceTree = ""; }; - 8F1FE5C23F1BC485C54B92C32E78391F /* UIApplication+StrictKeyWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIApplication+StrictKeyWindow.m"; path = "FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m"; sourceTree = ""; }; - 8F3DC0EAC4E627D539BC036AC052ACA0 /* UIFont+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIFont+Utils.swift"; sourceTree = ""; }; - 900FF0DBA7176A2B30CE4868FE16CEB3 /* Array+Move.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Array+Move.swift"; sourceTree = ""; }; - 9052A7CDCD91FDD94362E2CF6DA0ABED /* TextOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextOptions.swift; sourceTree = ""; }; - 91CC78E5FCF5B9E9D352AB72CC1C2A50 /* MovableViewCanvas.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MovableViewCanvas.swift; sourceTree = ""; }; - 928305ED4B337FB01D3B7F13C17CDF63 /* EasyTipView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EasyTipView.swift; sourceTree = ""; }; - 928DCC0EEB1E682B86A997F98839019B /* silence.aac */ = {isa = PBXFileReference; includeInIndex = 1; name = silence.aac; path = Resources/silence.aac; sourceTree = ""; }; - 93EDE77C9F447CE87CD82A24798A58E7 /* MediaPickerButtonView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaPickerButtonView.swift; sourceTree = ""; }; - 9831168340B63F19B1956AF98D1535F7 /* libKanvasCamera.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libKanvasCamera.a; path = libKanvasCamera.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 98D3B918205243DC2F1EC49DF47E5740 /* FilmOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FilmOpenGLFilter.swift; sourceTree = ""; }; - 99614ABFB097D794570C03963466E26B /* UIImage+Camera.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIImage+Camera.swift"; sourceTree = ""; }; - 99B48892362D4BD4858F84A82414467F /* AVURLAsset+Thumbnail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "AVURLAsset+Thumbnail.swift"; sourceTree = ""; }; - 99F57B49789DCCF995C808F1CC314C3E /* MediaDrawerController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaDrawerController.swift; sourceTree = ""; }; - 9ADE711AC117820E300FEB3ADD343207 /* ColorSelectorController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ColorSelectorController.swift; sourceTree = ""; }; - 9CE961D8443EC9CAC8F5E0E4012B768B /* VideoOutputHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = VideoOutputHandler.swift; sourceTree = ""; }; - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9F7F0A3586378655C45E9411331B5319 /* MetalContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MetalContext.swift; sourceTree = ""; }; - 9F8429BC6E74AF8E8E587DD9B9C4D1F4 /* StylableTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StylableTextView.swift; sourceTree = ""; }; - A0B06101B33679A26AD0CF11918990C8 /* EditorFilterCollectionCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditorFilterCollectionCell.swift; sourceTree = ""; }; - A25844C26701FA4BCAEF64150B56777F /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; }; - A2D13DD2997211E5F1B483CDCF428371 /* MovableView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MovableView.swift; sourceTree = ""; }; - A31F5836D1B6EC676420A619F8398A47 /* Array+Object.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Array+Object.swift"; sourceTree = ""; }; - A3D310AD7129E43EEBDD6F6A72D988F9 /* TrimArea.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TrimArea.swift; sourceTree = ""; }; - A4C72A689D5AF8ED5331CA65CC4D1741 /* Pods-KanvasCameraExampleTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-KanvasCameraExampleTests-acknowledgements.plist"; sourceTree = ""; }; - A4F5B83E618E38F02164444995CAF57B /* KanvasCameraTimes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KanvasCameraTimes.swift; sourceTree = ""; }; - A53BED251B885FCA334EF782996B91F4 /* OptionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OptionView.swift; sourceTree = ""; }; - A573ED1BAAC5EEC68D6AFA48BD54C79D /* Pods-KanvasCameraExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-KanvasCameraExample.release.xcconfig"; sourceTree = ""; }; - A8866AD75B1D053A2ABB8965DD427D97 /* RaveOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RaveOpenGLFilter.swift; sourceTree = ""; }; - AA172EA1A198EEFBE0794EACF7993C02 /* UIImage+Snapshot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Snapshot.m"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.m"; sourceTree = ""; }; - AB298A91A9F41CE4F7055FF089DFCE47 /* FilterItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FilterItem.swift; sourceTree = ""; }; - AC8626A477C88125B425470C7FEBB53E /* KanvasCameraImages.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KanvasCameraImages.swift; sourceTree = ""; }; - AD0B81AC7DF4855803A0FA70985F8A99 /* FBSnapshotTestCasePlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCasePlatform.m; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.m; sourceTree = ""; }; - AE7655EDD8CCAEFFBF78841F63423150 /* StickerMenuController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StickerMenuController.swift; sourceTree = ""; }; - AF918FC706486654159171FB36D64B93 /* MirrorTwoOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MirrorTwoOpenGLFilter.swift; sourceTree = ""; }; - B02D83CD832C79B17DA1B7BE6715647F /* CVPixelBuffer+sampleBuffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CVPixelBuffer+sampleBuffer.swift"; sourceTree = ""; }; - B1A6ADBC48FC6A1C8CE4B7EB6530D109 /* TextureSelectorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextureSelectorView.swift; sourceTree = ""; }; - B3A53A8F2CB8B5EFA3C92CBCAA213915 /* OptionsController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OptionsController.swift; sourceTree = ""; }; - B51328D334A39555D6668EC4B2DAFC84 /* ImagePreviewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ImagePreviewController.swift; sourceTree = ""; }; - B56BA02138C258B8FB48EF7A55D5ED4A /* Queue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Queue.swift; sourceTree = ""; }; - B59B0CC5648EFC6F31B8E80AF687C008 /* CALayer+CGImage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CALayer+CGImage.swift"; sourceTree = ""; }; - B6403309247790542A1009DF628EE604 /* DrawingCanvas.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DrawingCanvas.swift; sourceTree = ""; }; - B831E5777BAE6D93D4B263B9ED93FAA8 /* EditorTextController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditorTextController.swift; sourceTree = ""; }; - B878005D9790B646125C3A53785357DC /* StickerTypeCollectionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StickerTypeCollectionController.swift; sourceTree = ""; }; - B96960D81DC0C1E27F7A05234C7F0B4F /* CGRect+Center.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CGRect+Center.swift"; sourceTree = ""; }; - BB2F9CBFF89FC759065BF6DBF3F53D84 /* TimeIndicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TimeIndicator.swift; sourceTree = ""; }; - BCC23B60DBCAC5AC296A62FD1D049DCD /* Pods-KanvasCameraExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-KanvasCameraExample.modulemap"; sourceTree = ""; }; - BDCC5E2D34D01074B0A37F226B975980 /* MediaPlayerController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaPlayerController.swift; sourceTree = ""; }; - BDF9C3D88BC6E286087A06959AA1B7BC /* Device.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Device.swift; sourceTree = ""; }; - BE3FCDE894CBEBEF09B857B6DE64FAE7 /* SpeedView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SpeedView.swift; sourceTree = ""; }; - BEAA79967E5C514B69064D7DE9942AE1 /* MediaClipsCollectionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaClipsCollectionController.swift; sourceTree = ""; }; - BEB0132BBE959365D2553F75FA7A842E /* EditionOption.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditionOption.swift; sourceTree = ""; }; - BF5D9368620BC4D42B7DED178C8FB21F /* StrokeSelectorController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StrokeSelectorController.swift; sourceTree = ""; }; - BFC144A03ECB6FA4586B6644643EBB58 /* Pods-KanvasCameraExampleTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-KanvasCameraExampleTests-umbrella.h"; sourceTree = ""; }; - BFCD2B67648B4D6AA509C993ED8429C9 /* EditorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditorView.swift; sourceTree = ""; }; - C08418CE2056A2CF2FE4179685914776 /* ExtendedButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ExtendedButton.swift; sourceTree = ""; }; - C0A104A3171392FD2071D7707EC53B1E /* EditionMenuCollectionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditionMenuCollectionController.swift; sourceTree = ""; }; - C0F9C45BA09C111CDCD1CC5AC216A473 /* PixelBufferView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PixelBufferView.swift; sourceTree = ""; }; - C13BEA603898B5CCA7807BE280ED3B63 /* KanvasCamera.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = KanvasCamera.modulemap; sourceTree = ""; }; - C239780AEE0F013CBE327517AFC2B386 /* MetalRenderEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MetalRenderEncoder.swift; sourceTree = ""; }; - C43C1693D06DBDFCD4A5BFAD12D57A0A /* ColorDrop.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ColorDrop.swift; sourceTree = ""; }; - C50F0C42E6C2970BB6E0CCB1DD88188C /* MediaInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaInfo.swift; sourceTree = ""; }; - C6070119E41ACF7E0247CBF176C10E2C /* ColorPickerController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ColorPickerController.swift; sourceTree = ""; }; - C63318087FBE4C355381E94BC917ABAA /* MediaClipsEditorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaClipsEditorView.swift; sourceTree = ""; }; - C641A8341FA6C2FE19AA0256A75D9DE1 /* DimensionsHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DimensionsHelper.swift; sourceTree = ""; }; - C7661D716234A6BD3161B6FBA3C8EC67 /* OpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OpenGLFilter.swift; sourceTree = ""; }; - C95F037EBFCEA99332D3B0B3931637E6 /* Pods-KanvasCameraExample-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-KanvasCameraExample-resources.sh"; sourceTree = ""; }; - C9CD662427AAA2F5C0851CCF513711B6 /* FBSnapshotTestCase.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSnapshotTestCase.debug.xcconfig; sourceTree = ""; }; - C9E07FB62465B9A76F68A7A50BB141F7 /* LegoOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LegoOpenGLFilter.swift; sourceTree = ""; }; - CA9160A5EB73FBEE9F5179BABC066FD4 /* CameraPermissionsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraPermissionsViewController.swift; sourceTree = ""; }; - CD0792054F51387007D7289E84DD8D4C /* RGBA.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RGBA.swift; sourceTree = ""; }; - CFE238C30D54DC738419FF447328079E /* Assets.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Resources/Assets.xcassets; sourceTree = ""; }; - D07EF3E24A91943AF76CD48020C80C8B /* EditorFilterCollectionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditorFilterCollectionController.swift; sourceTree = ""; }; - D3067EAFD5B0A06885968D137840DB70 /* FBSnapshotTestCasePlatform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCasePlatform.h; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.h; sourceTree = ""; }; - D373CA2C707EE9C38C1B782AB85591A4 /* OpenGLShaders */ = {isa = PBXFileReference; includeInIndex = 1; name = OpenGLShaders; path = Resources/OpenGLShaders; sourceTree = ""; }; - D381F322DA2C6D81ABC94E6A7585C279 /* FilterType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FilterType.swift; sourceTree = ""; }; - D558A5D064BE1276BE8907748E8529C1 /* URL+Media.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "URL+Media.swift"; sourceTree = ""; }; - D687F4F70AA91E15E21928D36888F39C /* StrokeSelectorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StrokeSelectorView.swift; sourceTree = ""; }; - D6E5483EDBDDEF679EE1F0748E467348 /* GLError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GLError.swift; sourceTree = ""; }; - D87EEC820A33BD505C1A7E4E4A9EC6D9 /* Pods-KanvasCameraExampleTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-KanvasCameraExampleTests-acknowledgements.markdown"; sourceTree = ""; }; - D8D16DD5758BF304DAB64D1616DC89AF /* CameraPreviewViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraPreviewViewController.swift; sourceTree = ""; }; - D8E08843B388547CF12955089F18E5CA /* DiscreteSliderCollectionCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DiscreteSliderCollectionCell.swift; sourceTree = ""; }; - DA746E619B2919CAC6A8B3E1D463D2E5 /* CameraZoomHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraZoomHandler.swift; sourceTree = ""; }; - DAF2AAE9707AADED2249E785F3E145B9 /* PhotoOutputHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoOutputHandler.swift; sourceTree = ""; }; - DDCB60C255C891ECAC54624BB0DAE2EF /* StickerCollectionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StickerCollectionController.swift; sourceTree = ""; }; - DE27A2C94AC2CF47475F08854F514646 /* MediaClipsEditorViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaClipsEditorViewController.swift; sourceTree = ""; }; - DE35F81C954881204729C569018D98C0 /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; }; - E05BC0DD2EE097C46F63CED9EE3FE09E /* String+UTF16Substring.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "String+UTF16Substring.swift"; sourceTree = ""; }; - E06AD1231F5D7B2ABC1B94E5112A5BE2 /* Pods-KanvasCameraExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-KanvasCameraExample-acknowledgements.plist"; sourceTree = ""; }; - E08BB7043F36833943EB16043A4D164F /* ExtendedStackView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ExtendedStackView.swift; sourceTree = ""; }; - E0956940883830C651240E754E3ECC52 /* UIImage+Diff.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Diff.m"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.m"; sourceTree = ""; }; - E1386A7C5DF942AF8CD8E12A9CB98D0D /* DrawingView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DrawingView.swift; sourceTree = ""; }; - E2CA4B1F84D00299876A6DEFE5E54B5B /* GIFEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GIFEncoder.swift; sourceTree = ""; }; - E354F8FD537351F26F7949B4EBFA5101 /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; }; - E72A643CA293D8A2F269B2BF7238EDDB /* TrimView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TrimView.swift; sourceTree = ""; }; - E80ACA1BC1747154D80F65E84D48977A /* UIColor+Hex.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIColor+Hex.swift"; sourceTree = ""; }; - E9C30A81ABB9548CDC522B1D624C982B /* ModeSelectorAndShootView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ModeSelectorAndShootView.swift; sourceTree = ""; }; - EA718A72E676291836EBB46B85242155 /* UIImage+Snapshot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Snapshot.h"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.h"; sourceTree = ""; }; - EF53D290F564A9B10CEF56C9DC2010F2 /* UIImage+Compare.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Compare.m"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.m"; sourceTree = ""; }; - F0DCAFBF180B4099838D61BFFDC6BC53 /* UIColor+Lerp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIColor+Lerp.swift"; sourceTree = ""; }; - F0F51FA9F49750375892CC0A2480B0D7 /* KanvasCameraStrings.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KanvasCameraStrings.swift; sourceTree = ""; }; - F143EEFBF3194A28AC463C2DD89304F0 /* SpeedController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SpeedController.swift; sourceTree = ""; }; - F179CA8953EB8D5D55C36A2999303651 /* CALayer+Color.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CALayer+Color.swift"; sourceTree = ""; }; - F2DF04E099D18D786799900D6E6A1A20 /* UIColor+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIColor+Utils.swift"; sourceTree = ""; }; - F5296DCE90E6CE90131D86A0C3D88F08 /* ColorCollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ColorCollectionView.swift; sourceTree = ""; }; - F59E7E398C2C9C1C57DE672FCE3B1F1B /* CameraOption.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraOption.swift; sourceTree = ""; }; - F5D3BD7F2A47E2B3C5659971040D0F7F /* ChromaOpenGLFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ChromaOpenGLFilter.swift; sourceTree = ""; }; - F609A367F145FC60D96470A87DD9459F /* MediaExporter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MediaExporter.swift; sourceTree = ""; }; - F67F69096DE974FE5401340DA83482D9 /* EditorFilterView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditorFilterView.swift; sourceTree = ""; }; - F6BB481C73A086D20EFDB3B63BFA6D21 /* OptionsStackView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = OptionsStackView.swift; sourceTree = ""; }; - F6F93E832883EB44777A5D158EA310C5 /* EditionMenuCollectionCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditionMenuCollectionCell.swift; sourceTree = ""; }; - F85654819DC42191122B8739224522D9 /* Pencil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Pencil.swift; sourceTree = ""; }; - FAE93D9D8C4A2DF825ABF9D86E7A9C6C /* ThumbnailCollectionController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ThumbnailCollectionController.swift; sourceTree = ""; }; - FB4208420EE71FE80A8B84262A036EC7 /* ThumbnailCollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ThumbnailCollectionView.swift; sourceTree = ""; }; - FCE203EA8832596A2FACED617AB9783C /* MetalGroupFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MetalGroupFilter.swift; sourceTree = ""; }; - FD920E41EAA44927C757591CCEE72C7C /* IgnoreTouchesView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = IgnoreTouchesView.swift; sourceTree = ""; }; - FDC9BD3C47F417AE0A509503EFF6FE7D /* MainTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MainTextView.swift; sourceTree = ""; }; - FF82A7D3A0D72F784D0653226B2A7219 /* StickerType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StickerType.swift; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 1CEECC99BBEC723A29C519694ABEC00B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 32C0AD351AD0378F1DC308E5B4D94737 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 69C0BDFA48547C416C025BBFAE0D9AFE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - ADA1BE19935C0724BAC7A9E440CF139A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CB8CA9A60B79B4C6CBBE63899D64054A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 020536F429CA033895A5E213E08FB858 /* IgnoreTouches */ = { - isa = PBXGroup; - children = ( - 161211D976D4FECAE6A27EE91A0BE39F /* IgnoreBackgroundTouchesStackView.swift */, - 3CC8B8006A40CEE398170B9D40EF3196 /* IgnoreTouchesCollectionView.swift */, - FD920E41EAA44927C757591CCEE72C7C /* IgnoreTouchesView.swift */, - ); - name = IgnoreTouches; - path = IgnoreTouches; - sourceTree = ""; - }; - 021EAC94F5E2F77ADB18E57F4B309A09 /* Development Pods */ = { - isa = PBXGroup; - children = ( - 9D1EC18AB210C3F340BBE094CBB34112 /* KanvasCamera */, - ); - name = "Development Pods"; - sourceTree = ""; - }; - 046CFA4D8665A4E1B1C36091EF2DBDD1 /* OpenGLFilters */ = { - isa = PBXGroup; - children = ( - 262D3940378ADBC528674BC964D49513 /* AlphaBlendOpenGLFilter.swift */, - F5D3BD7F2A47E2B3C5659971040D0F7F /* ChromaOpenGLFilter.swift */, - 5F847F2167A6A36020C726B1C7EE4C3F /* EMInterferenceOpenGLFilter.swift */, - 98D3B918205243DC2F1EC49DF47E5740 /* FilmOpenGLFilter.swift */, - 24E6A5822851DEB520F3849E7E743F85 /* GrayscaleOpenGLFilter.swift */, - 057497853DEDD2F938871565A4C948FD /* GroupOpenGLFilter.swift */, - 2D8C9730F912628B3592889C1EEB0603 /* ImagePoolOpenGLFilter.swift */, - C9E07FB62465B9A76F68A7A50BB141F7 /* LegoOpenGLFilter.swift */, - 3898C1A870D759F0028C3CD8D9592387 /* LightLeaksOpenGLFilter.swift */, - 02195396678E018BD736944645546C8A /* MangaOpenGLFilter.swift */, - 8303DC212740273965781400317CE7F2 /* MirrorFourOpenGLFilter.swift */, - AF918FC706486654159171FB36D64B93 /* MirrorTwoOpenGLFilter.swift */, - 30268B657E35B0E213B6B12CADCF3895 /* PlasmaOpenGLFilter.swift */, - A8866AD75B1D053A2ABB8965DD427D97 /* RaveOpenGLFilter.swift */, - 7E8918E2D108C40A7741550843A076A5 /* RGBOpenGLFilter.swift */, - 7FABBE21FCEBBBCECD90B99C4121675B /* ToonOpenGLFilter.swift */, - ); - name = OpenGLFilters; - path = OpenGLFilters; - sourceTree = ""; - }; - 06451DD878F0FBDE4692BFEEBAB8F6BC /* Stickers */ = { - isa = PBXGroup; - children = ( - 248215FEC5486374292FAD52AAB745FE /* StickerLoader.swift */, - AE7655EDD8CCAEFFBF78841F63423150 /* StickerMenuController.swift */, - 88DE7E52C764F239104BF6AA27D26265 /* StickerMenuView.swift */, - 4A0FFB4D50E23EE368FA5A0966CD2ABE /* StylableImageView.swift */, - 2809E4B421C3241F56C292001BA3C0E7 /* StickerCollection */, - 7B5184152378B3132786B1021AE01EAE /* StickerProvider */, - 5F7D04BFDB14B35D69CDABA5638983BB /* StickerTypeCollection */, - ); - name = Stickers; - path = Stickers; - sourceTree = ""; - }; - 0B645CC8E3A2FF98956CE170CB668010 /* ModeSelector */ = { - isa = PBXGroup; - children = ( - 93EDE77C9F447CE87CD82A24798A58E7 /* MediaPickerButtonView.swift */, - 41FF76F1AA89987C508C360916A9D80E /* ModeButtonView.swift */, - 600A84587A1A4DBBF325716FA2E6791C /* ModeSelectorAndShootController.swift */, - E9C30A81ABB9548CDC522B1D624C982B /* ModeSelectorAndShootView.swift */, - 1BD99BD2F2C49E7DEC0CB6D1E6C6BBBA /* ShootButtonView.swift */, - ); - name = ModeSelector; - path = Classes/ModeSelector; - sourceTree = ""; - }; - 130FA39B937E7A2B35E64860FFD28C20 /* ColorCollection */ = { - isa = PBXGroup; - children = ( - 30531565168FD3BBEDE5BC799993C7DF /* ColorCollectionCell.swift */, - 63A1F0BF60A0A522E9BEB8CADC678CE2 /* ColorCollectionController.swift */, - F5296DCE90E6CE90131D86A0C3D88F08 /* ColorCollectionView.swift */, - ); - name = ColorCollection; - path = ColorCollection; - sourceTree = ""; - }; - 1340ACAC17C3FDFB7B5389FDD62482B0 /* Shared */ = { - isa = PBXGroup; - children = ( - 2A76485F898D44AF4DFE7DB8915FD859 /* CircularImageView.swift */, - 7AD42030B59C540CD423E1A02794741D /* SliderView.swift */, - 130FA39B937E7A2B35E64860FFD28C20 /* ColorCollection */, - 89FC71D8C5A1B83B11469E4669C71FF0 /* ColorPicker */, - 9D423C91880E7799774F13C829EBFE55 /* ColorSelector */, - ); - name = Shared; - path = Shared; - sourceTree = ""; - }; - 17286DD3F366832472C51C7099A79D38 /* HorizontalCollectionView */ = { - isa = PBXGroup; - children = ( - 65D8608BB510133B1B11CDDE20ADF882 /* HorizontalCollectionLayout.swift */, - 1C4045477B55738F706CF5B8497C9FDE /* HorizontalCollectionView.swift */, - ); - name = HorizontalCollectionView; - path = HorizontalCollectionView; - sourceTree = ""; - }; - 176840A816A2C078C360CE0AB075EA9A /* OpenGL */ = { - isa = PBXGroup; - children = ( - 542CB7F392851819E92C6518BE344AAC /* CVPixelBuffer+copy.swift */, - D6E5483EDBDDEF679EE1F0748E467348 /* GLError.swift */, - 1BC78BCC84B9ACFB6D9D5F3BBAB708C2 /* GLPixelBufferView.swift */, - 13AB6967D46E0FD294C84D9A39949DA9 /* GLUtilities.swift */, - C7661D716234A6BD3161B6FBA3C8EC67 /* OpenGLFilter.swift */, - 314A6E2F0849BC4454E1297E5C10B6DE /* Shader.swift */, - 4A6CF14A794E9E2CCFFDBEE0ED6AB17C /* UIImage+PixelBuffer.swift */, - ); - name = OpenGL; - path = OpenGL; - sourceTree = ""; - }; - 26C0E209319544F03BC6A3BD5BC8E910 /* ColorThief */ = { - isa = PBXGroup; - children = ( - 0B271F9BF92F48066E4C63B54DFEC9BD /* ColorThief.swift */, - 61B25B67F33D856BD06C37E59195022E /* MMCQ.swift */, - ); - name = ColorThief; - path = ColorThief; - sourceTree = ""; - }; - 2769341D64FA2D1D60E8DB206A640413 /* Extensions */ = { - isa = PBXGroup; - children = ( - 900FF0DBA7176A2B30CE4868FE16CEB3 /* Array+Move.swift */, - A31F5836D1B6EC676420A619F8398A47 /* Array+Object.swift */, - 68BE82BB3973C4A63799D2C7431989D6 /* Array+Rotate.swift */, - 5C94677E998E2C8E4D5FCAD0F3832436 /* AVAsset+Utils.swift */, - 99B48892362D4BD4858F84A82414467F /* AVURLAsset+Thumbnail.swift */, - B59B0CC5648EFC6F31B8E80AF687C008 /* CALayer+CGImage.swift */, - F179CA8953EB8D5D55C36A2999303651 /* CALayer+Color.swift */, - 06B5829AC48151FDDF0A5547D67AD190 /* CALayer+Shadows.swift */, - 002C4A17212692144E3951EAA6AB202B /* CGPoint+Operators.swift */, - B96960D81DC0C1E27F7A05234C7F0B4F /* CGRect+Center.swift */, - 34F8D7719BEDE8C1FEEEFAFCF7B5BC02 /* ClosedRange+Clamp.swift */, - 54D8555CD9F9F606A042F4F347388F97 /* IndexPath+Order.swift */, - E05BC0DD2EE097C46F63CED9EE3FE09E /* String+UTF16Substring.swift */, - 37A1029096CFC566F9FF2F1670F6A5E9 /* UICollectionView+Cells.swift */, - E80ACA1BC1747154D80F65E84D48977A /* UIColor+Hex.swift */, - F0DCAFBF180B4099838D61BFFDC6BC53 /* UIColor+Lerp.swift */, - F2DF04E099D18D786799900D6E6A1A20 /* UIColor+Utils.swift */, - 8F3DC0EAC4E627D539BC036AC052ACA0 /* UIFont+Utils.swift */, - 81FDEB5C96F19CFBE8E69CB20A33D5AF /* UIGestureRecognizer+Active.swift */, - 99614ABFB097D794570C03963466E26B /* UIImage+Camera.swift */, - 5A4AF54D149F5C213A6873F91432E69F /* UIImage+DominantColors.swift */, - 66248F0570600A1B936F46AC050EFCC6 /* UIImage+FlipLeftMirrored.swift */, - 2846BF9F660ED689B8D01817BB223386 /* UIView+Image.swift */, - 64C7C9723C3771CB815286A8ADB20F0F /* UIView+Layout.swift */, - 4689E608E2FDC59B1DD0D5F7F6EEC9CA /* UIViewController+Load.swift */, - D558A5D064BE1276BE8907748E8529C1 /* URL+Media.swift */, - ); - name = Extensions; - path = Classes/Extensions; - sourceTree = ""; - }; - 2809E4B421C3241F56C292001BA3C0E7 /* StickerCollection */ = { - isa = PBXGroup; - children = ( - 22D6789CF8AD64D9F50986DA69AAE492 /* Sticker.swift */, - 2FB4787B557E02943747068E3DE6B726 /* StickerCollectionCell.swift */, - DDCB60C255C891ECAC54624BB0DAE2EF /* StickerCollectionController.swift */, - 6948E0E29088E407C83CE48D8828B933 /* StickerCollectionView.swift */, - ); - name = StickerCollection; - path = StickerCollection; - sourceTree = ""; - }; - 2C28028951EACAC047E955BC9DA29492 /* Editor */ = { - isa = PBXGroup; - children = ( - F6F93E832883EB44777A5D158EA310C5 /* EditionMenuCollectionCell.swift */, - C0A104A3171392FD2071D7707EC53B1E /* EditionMenuCollectionController.swift */, - 887C70BE58C70C472E5D78E357368282 /* EditionMenuCollectionView.swift */, - BEB0132BBE959365D2553F75FA7A842E /* EditionOption.swift */, - BFCD2B67648B4D6AA509C993ED8429C9 /* EditorView.swift */, - 0CE5FBAEFC3C170BC46E7674ABB1B9DD /* EditorViewController.swift */, - 6AE1EB0BE75CDE4AD47E2F7225D8FC72 /* KanvasQuickBlogSelectorCoordinating.swift */, - BDCC5E2D34D01074B0A37F226B975980 /* MediaPlayerController.swift */, - DD4FE46DAA19A1B7916601D51E697B99 /* Drawing */, - 56D65F505F37AEE7DAD9F974FED15134 /* Filters */, - 590D4BE16140F4990F031DCA7F466D33 /* GIFMaker */, - D3D672DB768595EC2EACE76D1F5667CD /* Media */, - 8DD5EF2F85134B260B189EB6226AB530 /* MovableViews */, - 1340ACAC17C3FDFB7B5389FDD62482B0 /* Shared */, - 539391D750D6886BF30CBDDABC02792F /* Text */, - ); - name = Editor; - path = Classes/Editor; - sourceTree = ""; - }; - 2DFA0F2D8919817F9F4396ED54256B1A /* TextureSelector */ = { - isa = PBXGroup; - children = ( - 42AB43537D2B6D9D882ECE1B81B5966C /* TextureSelectorController.swift */, - B1A6ADBC48FC6A1C8CE4B7EB6530D109 /* TextureSelectorView.swift */, - ); - name = TextureSelector; - path = TextureSelector; - sourceTree = ""; - }; - 3119806C685E6D305E0E5B014DB80FE6 /* MediaFormats */ = { - isa = PBXGroup; - children = ( - 5E16C4DB6515AF77C0B40B26C149640B /* GIFDecoder.swift */, - E2CA4B1F84D00299876A6DEFE5E54B5B /* GIFEncoder.swift */, - ); - name = MediaFormats; - path = Classes/MediaFormats; - sourceTree = ""; - }; - 4432462C520EBDE5A95D1D37B459B419 /* Recording */ = { - isa = PBXGroup; - children = ( - 10F462F8415D2F2D83E59C613AC424CB /* CameraRecorder.swift */, - 3E1FD7AF6D147E0102721B4810223AFE /* CameraRecordingProtocol.swift */, - 04CBDF6FAD2D8D54C472DF5EC7CCDFB3 /* CameraSegmentHandler.swift */, - 6685E58BB27EBE98E2518046B949D20B /* GifVideoOutputHandler.swift */, - DAF2AAE9707AADED2249E785F3E145B9 /* PhotoOutputHandler.swift */, - 9CE961D8443EC9CAC8F5E0E4012B768B /* VideoOutputHandler.swift */, - ); - name = Recording; - path = Classes/Recording; - sourceTree = ""; - }; - 47887709E9AE9B96B40F71000E32EDB1 /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - DEDFCF0958A12D49A33C203BD6450929 /* Pods-KanvasCameraExample */, - A8312B59632847871894D9B5B45FAC0F /* Pods-KanvasCameraExampleTests */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; - 4AFA15B938CA4BABD25D89103587A894 /* Resources */ = { - isa = PBXGroup; - children = ( - CFE238C30D54DC738419FF447328079E /* Assets.xcassets */, - 02461F63E08E5C601289E51FA1A50356 /* MetalShaders */, - D373CA2C707EE9C38C1B782AB85591A4 /* OpenGLShaders */, - 928DCC0EEB1E682B86A997F98839019B /* silence.aac */, - ); - name = Resources; - sourceTree = ""; - }; - 4E3D5DEA979541BAFAF01AB96625BCAC /* Filters */ = { - isa = PBXGroup; - children = ( - 2C3E8A099BA473347369F08DE359A0F0 /* CameraFilterCollectionCell.swift */, - 828EFE9CF734FBBFB6DDE9972D033102 /* CameraFilterCollectionController.swift */, - 62FC4E6B49450D8A558F2E63EC956CF8 /* FilterSettingsController.swift */, - 437A82F4B3010FB4FFBDE8D2C7CB1A1C /* FilterSettingsView.swift */, - ); - name = Filters; - path = Filters; - sourceTree = ""; - }; - 4EB6A1674487B69113B3C62617B85DFA /* Support Files */ = { - isa = PBXGroup; - children = ( - C13BEA603898B5CCA7807BE280ED3B63 /* KanvasCamera.modulemap */, - 0CFFE7CD2E8EF99191B13586B3321C1E /* KanvasCamera-dummy.m */, - 564910D09C317E964EAFEC5A84DCA606 /* KanvasCamera-prefix.pch */, - 2072809F197943F576C50E98E410E390 /* KanvasCamera-umbrella.h */, - 78227F67871EE2A8D8F86CF04A39A337 /* KanvasCamera.debug.xcconfig */, - 296F56953B2B0F8775304B49ECD336EC /* KanvasCamera.release.xcconfig */, - 7D796F46EB160D0C2F5916D7EA6930A9 /* ResourceBundle-KanvasCamera-KanvasCamera-Info.plist */, - ); - name = "Support Files"; - path = "KanvasCameraExample/Pods/Target Support Files/KanvasCamera"; - sourceTree = ""; - }; - 51819237E4F42A38993893C90DFD508E /* Preview */ = { - isa = PBXGroup; - children = ( - 23B4BF200FCF7418B971A04554F74AA7 /* CameraPreviewView.swift */, - D8D16DD5758BF304DAB64D1616DC89AF /* CameraPreviewViewController.swift */, - ); - name = Preview; - path = Classes/Preview; - sourceTree = ""; - }; - 539391D750D6886BF30CBDDABC02792F /* Text */ = { - isa = PBXGroup; - children = ( - B831E5777BAE6D93D4B263B9ED93FAA8 /* EditorTextController.swift */, - 83590A734DC802B0C92C329FA3795862 /* EditorTextView.swift */, - FDC9BD3C47F417AE0A509503EFF6FE7D /* MainTextView.swift */, - 9F8429BC6E74AF8E8E587DD9B9C4D1F4 /* StylableTextView.swift */, - 9052A7CDCD91FDD94362E2CF6DA0ABED /* TextOptions.swift */, - ); - name = Text; - path = Text; - sourceTree = ""; - }; - 56D65F505F37AEE7DAD9F974FED15134 /* Filters */ = { - isa = PBXGroup; - children = ( - A0B06101B33679A26AD0CF11918990C8 /* EditorFilterCollectionCell.swift */, - D07EF3E24A91943AF76CD48020C80C8B /* EditorFilterCollectionController.swift */, - 0A3CEAD33F9113571352639CBDD1AFA8 /* EditorFilterController.swift */, - F67F69096DE974FE5401340DA83482D9 /* EditorFilterView.swift */, - ); - name = Filters; - path = Filters; - sourceTree = ""; - }; - 58F94B01C044C93C7F20EF582C9947BE /* ThumbnailCollection */ = { - isa = PBXGroup; - children = ( - 779627526BEC14CC44E746007566EAA2 /* ThumbnailCollectionCell.swift */, - FAE93D9D8C4A2DF825ABF9D86E7A9C6C /* ThumbnailCollectionController.swift */, - FB4208420EE71FE80A8B84262A036EC7 /* ThumbnailCollectionView.swift */, - 63D475383F7F93E17DA3F28D2AB151D8 /* ThumbnailCollectionViewLayout.swift */, - ); - name = ThumbnailCollection; - path = ThumbnailCollection; - sourceTree = ""; - }; - 590D4BE16140F4990F031DCA7F466D33 /* GIFMaker */ = { - isa = PBXGroup; - children = ( - 7DB94E4421707A58669B9E71DB51DAAD /* GifMakerController.swift */, - 141656659B7D6771A714A3F02C3F8E99 /* GifMakerHandler.swift */, - 69A8C56E43C217C5CE165F8F7194A9D5 /* GifMakerSettings.swift */, - 2EFA5094EC2CA63F5147F5D9DFD096E3 /* GifMakerView.swift */, - AE26F6D8F34E746C28BA948995DA169A /* Playback */, - F416F5BAC8C2C2199F92F25A1E4E3CBA /* Speed */, - 901F908E87D6DC717FCDA240BAFDC251 /* Trim */, - ); - name = GIFMaker; - path = GIFMaker; - sourceTree = ""; - }; - 5F7D04BFDB14B35D69CDABA5638983BB /* StickerTypeCollection */ = { - isa = PBXGroup; - children = ( - FF82A7D3A0D72F784D0653226B2A7219 /* StickerType.swift */, - 2A419E4F1F88243A84719BBBAB05E6E0 /* StickerTypeCollectionCell.swift */, - B878005D9790B646125C3A53785357DC /* StickerTypeCollectionController.swift */, - 5E472F131AE229F44DEAFC75462088B2 /* StickerTypeCollectionView.swift */, - ); - name = StickerTypeCollection; - path = StickerTypeCollection; - sourceTree = ""; - }; - 608E4EF4452D2AB934B1AF5106FA8070 /* Metal */ = { - isa = PBXGroup; - children = ( - 254A253FDC866C8AEBEE47EB0B4359EA /* CVPixelBuffer+resize.swift */, - 9F7F0A3586378655C45E9411331B5319 /* MetalContext.swift */, - 46E66DE474610D6011B6733FA2B35C23 /* MetalFilter.swift */, - FCE203EA8832596A2FACED617AB9783C /* MetalGroupFilter.swift */, - 5E566A9628C83DC5CC2AAF69DCB8BFAC /* MetalPixelBufferView.swift */, - C239780AEE0F013CBE327517AFC2B386 /* MetalRenderEncoder.swift */, - 18FCE5B118302E54F388F2D41ABF23A0 /* MTLDevice+KanvasCamera.swift */, - ); - name = Metal; - path = Metal; - sourceTree = ""; - }; - 63D01F17AEDDC9915B41D91C6B08F1F6 /* Textures */ = { - isa = PBXGroup; - children = ( - 43BC5040F91CD9CF7BA72BFA77FE9008 /* Marker.swift */, - F85654819DC42191122B8739224522D9 /* Pencil.swift */, - 857FE2392C71D28E272BB9735D436510 /* RoundedTexture.swift */, - 2DD238BECA883AC791CAE06C4BE87333 /* Sharpie.swift */, - 8AEE378CDB7C4C965B95E9D2C22EC102 /* Texture.swift */, - ); - name = Textures; - path = Textures; - sourceTree = ""; - }; - 752F8E1814B262E37B3FE013ECB4B229 /* Utility */ = { - isa = PBXGroup; - children = ( - 871EAEFF1BAFB9A0A8D4AE65D59D84E1 /* ConicalGradientLayer.swift */, - BDF9C3D88BC6E286087A06959AA1B7BC /* Device.swift */, - C641A8341FA6C2FE19AA0256A75D9DE1 /* DimensionsHelper.swift */, - 928305ED4B337FB01D3B7F13C17CDF63 /* EasyTipView.swift */, - 3BB7D04449408C2AFB272D7EC1834E32 /* LoadingIndicatorView.swift */, - 00F118733EE5D73F2D953AE92FF8CC70 /* Math.swift */, - C50F0C42E6C2970BB6E0CCB1DD88188C /* MediaInfo.swift */, - B56BA02138C258B8FB48EF7A55D5ED4A /* Queue.swift */, - CD0792054F51387007D7289E84DD8D4C /* RGBA.swift */, - 3ED7C790A888F77BA458E1F76FBA0CE0 /* StaggeredGridLayout.swift */, - 44EBC482157905EB201427C9AEBD4E41 /* Synchronized.swift */, - 2334CC417D0F1B53B94CB0F710C687EF /* TrashView.swift */, - 5E19FB5A18C7D7C0D1656E3497707873 /* UIUpdate.swift */, - 26C0E209319544F03BC6A3BD5BC8E910 /* ColorThief */, - 17286DD3F366832472C51C7099A79D38 /* HorizontalCollectionView */, - 020536F429CA033895A5E213E08FB858 /* IgnoreTouches */, - ); - name = Utility; - path = Classes/Utility; - sourceTree = ""; - }; - 7B5184152378B3132786B1021AE01EAE /* StickerProvider */ = { - isa = PBXGroup; - children = ( - 4C4E9E980145F3299B5A5AFBCD67BFA8 /* StickerProvider.swift */, - ); - name = StickerProvider; - path = StickerProvider; - sourceTree = ""; - }; - 820C839EC049005CB82FAAF13AFDCB95 /* SwiftSupport */ = { - isa = PBXGroup; - children = ( - 82D2DF1ABBBD85F5E079D7D0EB5479BC /* SwiftSupport.swift */, - ); - name = SwiftSupport; - sourceTree = ""; - }; - 84704E06FABCDD6C07B6244BECDCB29B /* Options */ = { - isa = PBXGroup; - children = ( - F59E7E398C2C9C1C57DE672FCE3B1F1B /* CameraOption.swift */, - C08418CE2056A2CF2FE4179685914776 /* ExtendedButton.swift */, - E08BB7043F36833943EB16043A4D164F /* ExtendedStackView.swift */, - B3A53A8F2CB8B5EFA3C92CBCAA213915 /* OptionsController.swift */, - F6BB481C73A086D20EFDB3B63BFA6D21 /* OptionsStackView.swift */, - A53BED251B885FCA334EF782996B91F4 /* OptionView.swift */, - ); - name = Options; - path = Classes/Options; - sourceTree = ""; - }; - 89FC71D8C5A1B83B11469E4669C71FF0 /* ColorPicker */ = { - isa = PBXGroup; - children = ( - C6070119E41ACF7E0247CBF176C10E2C /* ColorPickerController.swift */, - 5BAE3D14365032A3C0C173AA75DFBE54 /* ColorPickerView.swift */, - ); - name = ColorPicker; - path = ColorPicker; - sourceTree = ""; - }; - 8DD5EF2F85134B260B189EB6226AB530 /* MovableViews */ = { - isa = PBXGroup; - children = ( - A2D13DD2997211E5F1B483CDCF428371 /* MovableView.swift */, - 91CC78E5FCF5B9E9D352AB72CC1C2A50 /* MovableViewCanvas.swift */, - 6CE6939EB4C51146264C7E0DDC0D6A87 /* MovableViewInnerElement.swift */, - 85F4815441CD5792E02AAE04FA45418B /* ViewTransformations.swift */, - ); - name = MovableViews; - path = MovableViews; - sourceTree = ""; - }; - 901F908E87D6DC717FCDA240BAFDC251 /* Trim */ = { - isa = PBXGroup; - children = ( - BB2F9CBFF89FC759065BF6DBF3F53D84 /* TimeIndicator.swift */, - A3D310AD7129E43EEBDD6F6A72D988F9 /* TrimArea.swift */, - 570CCFCEB0AE9CAD3BDF339BC785DA8C /* TrimController.swift */, - E72A643CA293D8A2F269B2BF7238EDDB /* TrimView.swift */, - 58F94B01C044C93C7F20EF582C9947BE /* ThumbnailCollection */, - ); - name = Trim; - path = Trim; - sourceTree = ""; - }; - 92B9827D134822FECA2FBE88A0585CBA /* FBSnapshotTestCase */ = { - isa = PBXGroup; - children = ( - 9DD967528FC2F5BD41E45879D4B78BEE /* Core */, - C1F33F420985E14CD0D7BDA9573F3F23 /* Support Files */, - 820C839EC049005CB82FAAF13AFDCB95 /* SwiftSupport */, - ); - name = FBSnapshotTestCase; - path = FBSnapshotTestCase; - sourceTree = ""; - }; - 949B8A32BFF2C9153328497BACFEE048 /* Settings */ = { - isa = PBXGroup; - children = ( - 62F2F1B6191279EA81186D39012ACFE4 /* CameraSettings.swift */, - ); - name = Settings; - path = Classes/Settings; - sourceTree = ""; - }; - 9D1EC18AB210C3F340BBE094CBB34112 /* KanvasCamera */ = { - isa = PBXGroup; - children = ( - C22C79E270BA67DEDDEBDC54178753AD /* Analytics */, - E8BC2EE5800847F20A8FC9F0A0EE6023 /* Camera */, - BD1EF70C1512322984023A54D8E86601 /* Constants */, - 2C28028951EACAC047E955BC9DA29492 /* Editor */, - 2769341D64FA2D1D60E8DB206A640413 /* Extensions */, - E9161B006E98F6A0261ABA2690E5C74E /* Filters */, - EEBA15AC7667E1B2808C1A8F85FDA120 /* MediaClips */, - 3119806C685E6D305E0E5B014DB80FE6 /* MediaFormats */, - F1F6133697E2C1C53F3C06BAD26B9310 /* MediaPicker */, - 0B645CC8E3A2FF98956CE170CB668010 /* ModeSelector */, - 84704E06FABCDD6C07B6244BECDCB29B /* Options */, - C57ACF9A425DD1ADDD2797576B243019 /* Pod */, - 51819237E4F42A38993893C90DFD508E /* Preview */, - 4432462C520EBDE5A95D1D37B459B419 /* Recording */, - E4D7102DAAB7C3BEDC7B1539CC0188DF /* Rendering */, - 4AFA15B938CA4BABD25D89103587A894 /* Resources */, - 949B8A32BFF2C9153328497BACFEE048 /* Settings */, - 4EB6A1674487B69113B3C62617B85DFA /* Support Files */, - 752F8E1814B262E37B3FE013ECB4B229 /* Utility */, - ); - name = KanvasCamera; - path = ../..; - sourceTree = ""; - }; - 9D423C91880E7799774F13C829EBFE55 /* ColorSelector */ = { - isa = PBXGroup; - children = ( - C43C1693D06DBDFCD4A5BFAD12D57A0A /* ColorDrop.swift */, - 9ADE711AC117820E300FEB3ADD343207 /* ColorSelectorController.swift */, - 148B1590C9BC9CA074F252AE72511503 /* ColorSelectorView.swift */, - ); - name = ColorSelector; - path = ColorSelector; - sourceTree = ""; - }; - 9DD967528FC2F5BD41E45879D4B78BEE /* Core */ = { - isa = PBXGroup; - children = ( - 3E29C50D3CDB46CBCBD20AFA13EB3D8D /* FBSnapshotTestCase.h */, - 13C8BBFE2D9E3A9C566221B1DE04E91C /* FBSnapshotTestCase.m */, - D3067EAFD5B0A06885968D137840DB70 /* FBSnapshotTestCasePlatform.h */, - AD0B81AC7DF4855803A0FA70985F8A99 /* FBSnapshotTestCasePlatform.m */, - 88EE4F95531D217A595AA8D85A24FA39 /* FBSnapshotTestController.h */, - DE35F81C954881204729C569018D98C0 /* FBSnapshotTestController.m */, - 0A3ACA72AE9B776E644F6D159AB3E80B /* UIApplication+StrictKeyWindow.h */, - 8F1FE5C23F1BC485C54B92C32E78391F /* UIApplication+StrictKeyWindow.m */, - A25844C26701FA4BCAEF64150B56777F /* UIImage+Compare.h */, - EF53D290F564A9B10CEF56C9DC2010F2 /* UIImage+Compare.m */, - E354F8FD537351F26F7949B4EBFA5101 /* UIImage+Diff.h */, - E0956940883830C651240E754E3ECC52 /* UIImage+Diff.m */, - EA718A72E676291836EBB46B85242155 /* UIImage+Snapshot.h */, - AA172EA1A198EEFBE0794EACF7993C02 /* UIImage+Snapshot.m */, - ); - name = Core; - sourceTree = ""; - }; - A8312B59632847871894D9B5B45FAC0F /* Pods-KanvasCameraExampleTests */ = { - isa = PBXGroup; - children = ( - 2962D2CACA3C6A25D923286AE5D8E19E /* Pods-KanvasCameraExampleTests.modulemap */, - D87EEC820A33BD505C1A7E4E4A9EC6D9 /* Pods-KanvasCameraExampleTests-acknowledgements.markdown */, - A4C72A689D5AF8ED5331CA65CC4D1741 /* Pods-KanvasCameraExampleTests-acknowledgements.plist */, - 76AE966E712D09165689018C294D7147 /* Pods-KanvasCameraExampleTests-dummy.m */, - BFC144A03ECB6FA4586B6644643EBB58 /* Pods-KanvasCameraExampleTests-umbrella.h */, - 888D1107ADA0E7FEBD72F2B681538E93 /* Pods-KanvasCameraExampleTests.debug.xcconfig */, - 72BC6172444BC8896A7DD17D385D81BE /* Pods-KanvasCameraExampleTests.release.xcconfig */, - ); - name = "Pods-KanvasCameraExampleTests"; - path = "Target Support Files/Pods-KanvasCameraExampleTests"; - sourceTree = ""; - }; - AE26F6D8F34E746C28BA948995DA169A /* Playback */ = { - isa = PBXGroup; - children = ( - 85FBF552004F1CCE36E356F15D677DC7 /* PlaybackCollectionCell.swift */, - 5F81D5B2049ADC3C48E8A04B6F4D59CE /* PlaybackController.swift */, - 017C55534535B58937B03867C1515D7D /* PlaybackOption.swift */, - 17512ED8B28B1CCEBA30EA661E2E1611 /* PlaybackView.swift */, - ); - name = Playback; - path = Playback; - sourceTree = ""; - }; - BD1EF70C1512322984023A54D8E86601 /* Constants */ = { - isa = PBXGroup; - children = ( - 84A37108F7BD0C1C16022B5F688E7B48 /* KanvasCameraColors.swift */, - 6F65D5DA70820A5CE7309AD5A472E6CE /* KanvasCameraFonts.swift */, - AC8626A477C88125B425470C7FEBB53E /* KanvasCameraImages.swift */, - F0F51FA9F49750375892CC0A2480B0D7 /* KanvasCameraStrings.swift */, - A4F5B83E618E38F02164444995CAF57B /* KanvasCameraTimes.swift */, - ); - name = Constants; - path = Classes/Constants; - sourceTree = ""; - }; - C074948D1714F2EF9F612179E68F0B98 /* Products */ = { - isa = PBXGroup; - children = ( - 5172D2A16DE0755A78E95B9DDCBC614E /* KanvasCamera.bundle */, - 5C4F31330DFA99D699E4BDC8C3573D73 /* libFBSnapshotTestCase.a */, - 9831168340B63F19B1956AF98D1535F7 /* libKanvasCamera.a */, - 0A966F8CC02AF6C9C4D66DDF06B58364 /* libPods-KanvasCameraExample.a */, - 2383078A6D28DE6A15E11489708BA4FD /* libPods-KanvasCameraExampleTests.a */, - ); - name = Products; - sourceTree = ""; - }; - C1F33F420985E14CD0D7BDA9573F3F23 /* Support Files */ = { - isa = PBXGroup; - children = ( - 4D2A69EA7E38BB63A9E41F5E031743B6 /* FBSnapshotTestCase.modulemap */, - 78446EA2EE3558B1B96DFA6EB30034A5 /* FBSnapshotTestCase-dummy.m */, - 748BA343F55637F43626E9E481F89B67 /* FBSnapshotTestCase-prefix.pch */, - 4964EEFBA80E32A6A3082BF93B7DEBEB /* FBSnapshotTestCase-umbrella.h */, - C9CD662427AAA2F5C0851CCF513711B6 /* FBSnapshotTestCase.debug.xcconfig */, - 2A7ACE86E11820EF38C71EEBEC340E31 /* FBSnapshotTestCase.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/FBSnapshotTestCase"; - sourceTree = ""; - }; - C22C79E270BA67DEDDEBDC54178753AD /* Analytics */ = { - isa = PBXGroup; - children = ( - 59627C907EE5DD20AFD65232FDB91FE6 /* KanvasCameraAnalyticsProvider.swift */, - ); - name = Analytics; - path = Classes/Analytics; - sourceTree = ""; - }; - C57ACF9A425DD1ADDD2797576B243019 /* Pod */ = { - isa = PBXGroup; - children = ( - 5BF85123FD9263C596D06FBCC192673E /* KanvasCamera.podspec.json */, - 1379AD75AABC547413CDDAA384D7FDFF /* LICENSE */, - 61EC73EB9364189B32EC44F09A81DFA4 /* README.md */, - ); - name = Pod; - sourceTree = ""; - }; - CF1408CF629C7361332E53B88F7BD30C = { - isa = PBXGroup; - children = ( - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - 021EAC94F5E2F77ADB18E57F4B309A09 /* Development Pods */, - D89477F20FB1DE18A04690586D7808C4 /* Frameworks */, - E81A37DBDE41E671312C56736544E2FA /* Pods */, - C074948D1714F2EF9F612179E68F0B98 /* Products */, - 47887709E9AE9B96B40F71000E32EDB1 /* Targets Support Files */, - ); - sourceTree = ""; - }; - D3D672DB768595EC2EACE76D1F5667CD /* Media */ = { - isa = PBXGroup; - children = ( - 99F57B49789DCCF995C808F1CC314C3E /* MediaDrawerController.swift */, - 353FE62110876EAC474750C0B711F96C /* MediaDrawerView.swift */, - 06451DD878F0FBDE4692BFEEBAB8F6BC /* Stickers */, - EC4918986A23FE9E50E59342EE1D58A5 /* TabBar */, - ); - name = Media; - path = Media; - sourceTree = ""; - }; - D89477F20FB1DE18A04690586D7808C4 /* Frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = Frameworks; - sourceTree = ""; - }; - DD4FE46DAA19A1B7916601D51E697B99 /* Drawing */ = { - isa = PBXGroup; - children = ( - B6403309247790542A1009DF628EE604 /* DrawingCanvas.swift */, - 0FBD1CED645C8B12CA257BBE3F34D576 /* DrawingController.swift */, - E1386A7C5DF942AF8CD8E12A9CB98D0D /* DrawingView.swift */, - FF6ACBCF49266792BB8A528CAB8D78F1 /* StrokeSelector */, - 63D01F17AEDDC9915B41D91C6B08F1F6 /* Textures */, - 2DFA0F2D8919817F9F4396ED54256B1A /* TextureSelector */, - ); - name = Drawing; - path = Drawing; - sourceTree = ""; - }; - DEDFCF0958A12D49A33C203BD6450929 /* Pods-KanvasCameraExample */ = { - isa = PBXGroup; - children = ( - BCC23B60DBCAC5AC296A62FD1D049DCD /* Pods-KanvasCameraExample.modulemap */, - 5B737EF75791B03FEEE52BCF98B373BD /* Pods-KanvasCameraExample-acknowledgements.markdown */, - E06AD1231F5D7B2ABC1B94E5112A5BE2 /* Pods-KanvasCameraExample-acknowledgements.plist */, - 1CEE4C47043FCDD185056E0AEB2F3CBA /* Pods-KanvasCameraExample-dummy.m */, - C95F037EBFCEA99332D3B0B3931637E6 /* Pods-KanvasCameraExample-resources.sh */, - 0A2ED504050EBC35435013D97D72E3D9 /* Pods-KanvasCameraExample-umbrella.h */, - 87F968DFDAC351BDE68AB0020E3B5812 /* Pods-KanvasCameraExample.debug.xcconfig */, - A573ED1BAAC5EEC68D6AFA48BD54C79D /* Pods-KanvasCameraExample.release.xcconfig */, - ); - name = "Pods-KanvasCameraExample"; - path = "Target Support Files/Pods-KanvasCameraExample"; - sourceTree = ""; - }; - E4D7102DAAB7C3BEDC7B1539CC0188DF /* Rendering */ = { - isa = PBXGroup; - children = ( - 66C854EC26F0C489C023B00ED4B4EE8D /* AVAssetTrack+transform.swift */, - B02D83CD832C79B17DA1B7BE6715647F /* CVPixelBuffer+sampleBuffer.swift */, - 274542DE45FFEE57631994BCE8E78997 /* FilterFactory.swift */, - 87FE8A3F66375EFBFB457F1D9329966B /* FilterProtocol.swift */, - D381F322DA2C6D81ABC94E6A7585C279 /* FilterType.swift */, - 177C9DF82D15976F0289795ABCFA0D8A /* GLKMatrix4+Unsafe.swift */, - F609A367F145FC60D96470A87DD9459F /* MediaExporter.swift */, - 0EB5C64B19C39C8FF4A525AD4FC0A2D1 /* MediaPlayer.swift */, - 6163C81BF1535182AC1CADDA2C97116C /* NumTypes+Conversion.swift */, - C0F9C45BA09C111CDCD1CC5AC216A473 /* PixelBufferView.swift */, - 5BBE4B05B868FB8B2E8A821E8D3B8A3B /* Renderer.swift */, - 50169007C46362A9AA7810B114A9978C /* Rendering.swift */, - 7D4263A91882240BAAF3C93D97801C2F /* VideoCompositor.swift */, - 608E4EF4452D2AB934B1AF5106FA8070 /* Metal */, - 176840A816A2C078C360CE0AB075EA9A /* OpenGL */, - 046CFA4D8665A4E1B1C36091EF2DBDD1 /* OpenGLFilters */, - ); - name = Rendering; - path = Classes/Rendering; - sourceTree = ""; - }; - E81A37DBDE41E671312C56736544E2FA /* Pods */ = { - isa = PBXGroup; - children = ( - 92B9827D134822FECA2FBE88A0585CBA /* FBSnapshotTestCase */, - ); - name = Pods; - sourceTree = ""; - }; - E8BC2EE5800847F20A8FC9F0A0EE6023 /* Camera */ = { - isa = PBXGroup; - children = ( - 83602D814D6E3D1CF0DAC19D2F695791 /* CameraController.swift */, - 591192356EA131FB40C2DA39C68801EE /* CameraInputController.swift */, - 4B798F86E639ACDA3BCB407E05330CE8 /* CameraInputControllerDelegate.swift */, - 3C6A5F7B3BD9E0D407F3E06CF7F60406 /* CameraInputOutput.swift */, - CA9160A5EB73FBEE9F5179BABC066FD4 /* CameraPermissionsViewController.swift */, - 6107B800D4EB0D1E65986B62F8044A9B /* CameraView.swift */, - DA746E619B2919CAC6A8B3E1D463D2E5 /* CameraZoomHandler.swift */, - 589ADF0CA6A60AAD36600E27ACAE0A2C /* FilteredInputViewController.swift */, - B51328D334A39555D6668EC4B2DAFC84 /* ImagePreviewController.swift */, - 4E3D5DEA979541BAFAF01AB96625BCAC /* Filters */, - ); - name = Camera; - path = Classes/Camera; - sourceTree = ""; - }; - E9161B006E98F6A0261ABA2690E5C74E /* Filters */ = { - isa = PBXGroup; - children = ( - 1C2E4FF4E13F6963B206B3D8720EB24B /* FilterCollectionCell.swift */, - 172907E582E48F1F383ACF23553866E3 /* FilterCollectionInnerCell.swift */, - 7B45E4230C812F997A2F399AB3359172 /* FilterCollectionView.swift */, - AB298A91A9F41CE4F7055FF089DFCE47 /* FilterItem.swift */, - 66134CDBCAFD4162DB93430D4A6C5248 /* ScrollHandler.swift */, - ); - name = Filters; - path = Classes/Filters; - sourceTree = ""; - }; - EC4918986A23FE9E50E59342EE1D58A5 /* TabBar */ = { - isa = PBXGroup; - children = ( - 4711FD98070EBEA80D44C61E5E2A8227 /* DrawerTabBarCell.swift */, - 098E205D4C6BB276F9D8C959A30A6E21 /* DrawerTabBarController.swift */, - 706A0C913B14A999B06CF3D3866E2334 /* DrawerTabBarOption.swift */, - 096BD92E87B2E9BD8D90924C547D4067 /* DrawerTabBarView.swift */, - ); - name = TabBar; - path = TabBar; - sourceTree = ""; - }; - EEBA15AC7667E1B2808C1A8F85FDA120 /* MediaClips */ = { - isa = PBXGroup; - children = ( - 5743BEAC4215159419E1E79A3C0FB792 /* MediaClip.swift */, - 6AA83843D4AB1B2963A3AF262584E529 /* MediaClipsCollectionCell.swift */, - BEAA79967E5C514B69064D7DE9942AE1 /* MediaClipsCollectionController.swift */, - 804F717B2108D2AECDED3CCE69118684 /* MediaClipsCollectionView.swift */, - C63318087FBE4C355381E94BC917ABAA /* MediaClipsEditorView.swift */, - DE27A2C94AC2CF47475F08854F514646 /* MediaClipsEditorViewController.swift */, - ); - name = MediaClips; - path = Classes/MediaClips; - sourceTree = ""; - }; - F1F6133697E2C1C53F3C06BAD26B9310 /* MediaPicker */ = { - isa = PBXGroup; - children = ( - 5DCCDF3B065F3A940CC8D0FD6148A0B5 /* LivePhotoLoader.swift */, - 65001C7562FDE9DBF17DACED50576FEB /* MediaPickerThumbnailFetcher.swift */, - 26E9532A0FEF4FCBC4AA08388B3EF96C /* MediaPickerViewController.swift */, - ); - name = MediaPicker; - path = Classes/MediaPicker; - sourceTree = ""; - }; - F416F5BAC8C2C2199F92F25A1E4E3CBA /* Speed */ = { - isa = PBXGroup; - children = ( - F143EEFBF3194A28AC463C2DD89304F0 /* SpeedController.swift */, - BE3FCDE894CBEBEF09B857B6DE64FAE7 /* SpeedView.swift */, - F46876CF153E5723B5DA609414601D7C /* DiscreteSlider */, - ); - name = Speed; - path = Speed; - sourceTree = ""; - }; - F46876CF153E5723B5DA609414601D7C /* DiscreteSlider */ = { - isa = PBXGroup; - children = ( - 2E56DEFC9463B53C71707B24545C8EF9 /* DiscreteSlider.swift */, - D8E08843B388547CF12955089F18E5CA /* DiscreteSliderCollectionCell.swift */, - 7C6EE986E8BF19E6157ACFC719D37833 /* DiscreteSliderView.swift */, - ); - name = DiscreteSlider; - path = DiscreteSlider; - sourceTree = ""; - }; - FF6ACBCF49266792BB8A528CAB8D78F1 /* StrokeSelector */ = { - isa = PBXGroup; - children = ( - BF5D9368620BC4D42B7DED178C8FB21F /* StrokeSelectorController.swift */, - D687F4F70AA91E15E21928D36888F39C /* StrokeSelectorView.swift */, - ); - name = StrokeSelector; - path = StrokeSelector; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 0AACAA27E0F62A5E884F9C4466D6BFAB /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 1FB109F575CAEEE2CB6F0B480879A38B /* Pods-KanvasCameraExampleTests-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33DCD8D8B94C31DE6EB67FB0BB024D8A /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 0EE8358E1913C5EA4B657DA4AABE3A77 /* Pods-KanvasCameraExample-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 7D090AE4E77077826B54F3F0F8FD4B21 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - AB3570007412B510F78B81D1A83E7FC9 /* FBSnapshotTestCase-umbrella.h in Headers */, - 0978FEF1E925744EEAF7E76217BF4A86 /* FBSnapshotTestCase.h in Headers */, - 50544CC39838135DDBF0047A180E97F4 /* FBSnapshotTestCasePlatform.h in Headers */, - EFA45E70CD6224C8B68738ED9E97CA21 /* FBSnapshotTestController.h in Headers */, - 8C0B5EBDF83DDC66A416370F936B9A00 /* UIApplication+StrictKeyWindow.h in Headers */, - C3CA256CC5C3308862AFF3218B47B684 /* UIImage+Compare.h in Headers */, - C227FD1C858148327AD6CF45F9BC35E4 /* UIImage+Diff.h in Headers */, - F876F054886227B059B0778C6C1A0A83 /* UIImage+Snapshot.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A3C67BEDFA08FFB46B688AA5E39D1283 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 5B44850698DAA8DE6CCEB17D1527298C /* KanvasCamera-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 137B6CAA262428441796238359BBCE5E /* Pods-KanvasCameraExampleTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = D048B4F6AE45EDA9C90A9A96FFFA0123 /* Build configuration list for PBXNativeTarget "Pods-KanvasCameraExampleTests" */; - buildPhases = ( - 0AACAA27E0F62A5E884F9C4466D6BFAB /* Headers */, - 14AB4B44C847DFE6DB5FEB9E8C78492C /* Sources */, - CB8CA9A60B79B4C6CBBE63899D64054A /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 458CF46C469444EFF87FEE67F0DDCDA4 /* PBXTargetDependency */, - 4D970F1ED0430260C329A33FEC7C35F1 /* PBXTargetDependency */, - ); - name = "Pods-KanvasCameraExampleTests"; - productName = "Pods-KanvasCameraExampleTests"; - productReference = 2383078A6D28DE6A15E11489708BA4FD /* libPods-KanvasCameraExampleTests.a */; - productType = "com.apple.product-type.library.static"; - }; - 63A66EDDAEF8A5521205B4F823F1D6AB /* KanvasCamera-KanvasCamera */ = { - isa = PBXNativeTarget; - buildConfigurationList = C984142EA6FC57C23BF094E219AE8C54 /* Build configuration list for PBXNativeTarget "KanvasCamera-KanvasCamera" */; - buildPhases = ( - 8F36132108673F498C2BA43B641AB097 /* Sources */, - 69C0BDFA48547C416C025BBFAE0D9AFE /* Frameworks */, - 77AB97BA0376105815B9F611A11C5D8D /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "KanvasCamera-KanvasCamera"; - productName = "KanvasCamera-KanvasCamera"; - productReference = 5172D2A16DE0755A78E95B9DDCBC614E /* KanvasCamera.bundle */; - productType = "com.apple.product-type.bundle"; - }; - 98A98149697C80CEF8D5772791E92E66 /* FBSnapshotTestCase */ = { - isa = PBXNativeTarget; - buildConfigurationList = 252D6F021F665BE931E176A7F1CDBED5 /* Build configuration list for PBXNativeTarget "FBSnapshotTestCase" */; - buildPhases = ( - 7D090AE4E77077826B54F3F0F8FD4B21 /* Headers */, - A1401BD86D886C360D4729830C6BF16E /* Sources */, - 1CEECC99BBEC723A29C519694ABEC00B /* Frameworks */, - FBA5CD29B04AECA92396367695CC380B /* Copy generated compatibility header */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FBSnapshotTestCase; - productName = FBSnapshotTestCase; - productReference = 5C4F31330DFA99D699E4BDC8C3573D73 /* libFBSnapshotTestCase.a */; - productType = "com.apple.product-type.library.static"; - }; - BDB175D784A4B1E7FCB709777D7A6ADF /* Pods-KanvasCameraExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3A495492256823FE590D1E49FD00037F /* Build configuration list for PBXNativeTarget "Pods-KanvasCameraExample" */; - buildPhases = ( - 33DCD8D8B94C31DE6EB67FB0BB024D8A /* Headers */, - D3B60A4864F24D5E615EB76C19AB65CC /* Sources */, - 32C0AD351AD0378F1DC308E5B4D94737 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 8F4F20EE57C6E1E26876098C00C6FA1E /* PBXTargetDependency */, - ); - name = "Pods-KanvasCameraExample"; - productName = "Pods-KanvasCameraExample"; - productReference = 0A966F8CC02AF6C9C4D66DDF06B58364 /* libPods-KanvasCameraExample.a */; - productType = "com.apple.product-type.library.static"; - }; - EEA7BBCE1AEABC4574550F0FCA071779 /* KanvasCamera */ = { - isa = PBXNativeTarget; - buildConfigurationList = FA7F24970D296A73C90FC4FFDFFF3EEA /* Build configuration list for PBXNativeTarget "KanvasCamera" */; - buildPhases = ( - A3C67BEDFA08FFB46B688AA5E39D1283 /* Headers */, - EE31ED22B54D3D0621AD13C829E7F9D7 /* Sources */, - ADA1BE19935C0724BAC7A9E440CF139A /* Frameworks */, - C788702FC9D22B2A40E2E3207C2EB00E /* Copy generated compatibility header */, - ); - buildRules = ( - ); - dependencies = ( - 75CC2D549C2F002CE7CC06728D29D715 /* PBXTargetDependency */, - ); - name = KanvasCamera; - productName = KanvasCamera; - productReference = 9831168340B63F19B1956AF98D1535F7 /* libKanvasCamera.a */; - productType = "com.apple.product-type.library.static"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - BFDFE7DC352907FC980B868725387E98 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1100; - LastUpgradeCheck = 1100; - }; - buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = C074948D1714F2EF9F612179E68F0B98 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 98A98149697C80CEF8D5772791E92E66 /* FBSnapshotTestCase */, - EEA7BBCE1AEABC4574550F0FCA071779 /* KanvasCamera */, - 63A66EDDAEF8A5521205B4F823F1D6AB /* KanvasCamera-KanvasCamera */, - BDB175D784A4B1E7FCB709777D7A6ADF /* Pods-KanvasCameraExample */, - 137B6CAA262428441796238359BBCE5E /* Pods-KanvasCameraExampleTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 77AB97BA0376105815B9F611A11C5D8D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - EA26E539D437BB6941B4E51D0E727C0C /* Assets.xcassets in Resources */, - C6E177E232C3E4F7CE36902250B0C900 /* MetalShaders in Resources */, - FADC0A4FB735DD2EE9223148505A5285 /* OpenGLShaders in Resources */, - 1E8BDD52F1F97F8D01967988F0F712DF /* silence.aac in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - C788702FC9D22B2A40E2E3207C2EB00E /* Copy generated compatibility header */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/KanvasCamera/KanvasCamera.modulemap", - "${PODS_ROOT}/Headers/Public/KanvasCamera/KanvasCamera-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/KanvasCamera-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/KanvasCamera/KanvasCamera.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/KanvasCamera/KanvasCamera-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; - }; - FBA5CD29B04AECA92396367695CC380B /* Copy generated compatibility header */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.modulemap", - "${PODS_ROOT}/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 14AB4B44C847DFE6DB5FEB9E8C78492C /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E97E4D769F8092A75D9CC05696BEDBBA /* Pods-KanvasCameraExampleTests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8F36132108673F498C2BA43B641AB097 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A1401BD86D886C360D4729830C6BF16E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D5FAA5ED25EAEE61F6476D63E0CA9894 /* FBSnapshotTestCase-dummy.m in Sources */, - D607E281B6103D213C2295CE59CC6658 /* FBSnapshotTestCase.m in Sources */, - 5693A08347C5CFEBCEBAA2AED5FADEE1 /* FBSnapshotTestCasePlatform.m in Sources */, - 77963FF7EE2C6BF810466A85D700811E /* FBSnapshotTestController.m in Sources */, - 87D6F8413A7B375C836E57CCAD550A7F /* SwiftSupport.swift in Sources */, - 19F37CC50E23DE48D4345923514B8F98 /* UIApplication+StrictKeyWindow.m in Sources */, - A457A948F248D2A52CD05F067B0C1367 /* UIImage+Compare.m in Sources */, - B8ADA30C051A2790FE88BE07CBFFF592 /* UIImage+Diff.m in Sources */, - CBD39660A2AEA338F8D2CE18BEBECEF9 /* UIImage+Snapshot.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D3B60A4864F24D5E615EB76C19AB65CC /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 89D2DB95C86E53A5C3EBFDA6293C5BA1 /* Pods-KanvasCameraExample-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - EE31ED22B54D3D0621AD13C829E7F9D7 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 47AC2747FA021FB98223EA5A664D54B6 /* AlphaBlendOpenGLFilter.swift in Sources */, - 5520770A2CB714986E764D4DB563E5D0 /* Array+Move.swift in Sources */, - 0EEC65FB65D293895824EA6C9B3A602F /* Array+Object.swift in Sources */, - F7665AB9FC7ACDD52BBF155F7B662BFA /* Array+Rotate.swift in Sources */, - 6DE6BD3190FFE61051D57A4EFB2070AF /* AVAsset+Utils.swift in Sources */, - 614DFBDA14696525035712867947E252 /* AVAssetTrack+transform.swift in Sources */, - 8F662E367B6877A87627735E611AB75A /* AVURLAsset+Thumbnail.swift in Sources */, - 21C7F3CD782DFD18370B44A110C60794 /* CALayer+CGImage.swift in Sources */, - CCE1B75CB041DD005038AE98CA337E79 /* CALayer+Color.swift in Sources */, - 6635CB76E5DFA525E8D0C847E6FF7F6C /* CALayer+Shadows.swift in Sources */, - 4E7E39BCB6F3A6861FAE46E5DF8E1038 /* CameraController.swift in Sources */, - 6A62CCEADACF43766F6A3FE6516B0455 /* CameraFilterCollectionCell.swift in Sources */, - 5755BB1375FF8FD32778B38189781419 /* CameraFilterCollectionController.swift in Sources */, - D7838C6813187681BDC211050DF66C62 /* CameraInputController.swift in Sources */, - C9F397D2711D2BAA1C46D40F154CC696 /* CameraInputControllerDelegate.swift in Sources */, - F79351C205DB899D205572BDCD77A102 /* CameraInputOutput.swift in Sources */, - B29D2B6ADD3A4732F39A36AAC6F05A67 /* CameraOption.swift in Sources */, - 6E129C26023B197A8A66FEEB30416596 /* CameraPermissionsViewController.swift in Sources */, - 5F54DBB635107FA035654C4724F1DA81 /* CameraPreviewView.swift in Sources */, - 33CA150B69626CD5AEB2E52675365B7A /* CameraPreviewViewController.swift in Sources */, - F60F46DC3DF0739C5B3A5B8C138CA7A3 /* CameraRecorder.swift in Sources */, - 2E30D9FA58BB781215DD6B1A36F5E3FD /* CameraRecordingProtocol.swift in Sources */, - 64B965D5F5223C88E170DD1F8A8A75DC /* CameraSegmentHandler.swift in Sources */, - 0DC31CC2094A5109ADCCE42E73CCEED7 /* CameraSettings.swift in Sources */, - 864DB48B0B9ED1F21FE00420F6C7C738 /* CameraView.swift in Sources */, - 5508024E47AB57D910EF6B0BBC780C9E /* CameraZoomHandler.swift in Sources */, - 147493ADC34876D275208445F820EFE1 /* CGPoint+Operators.swift in Sources */, - 3ADDA9BEC371F4BBB188A420BDD90832 /* CGRect+Center.swift in Sources */, - D7A4057E1BEF60CF8AD5BB42102C360E /* ChromaOpenGLFilter.swift in Sources */, - B6E14527F6BFCFD74E6160C1B7ED019F /* CircularImageView.swift in Sources */, - BFF5DDD787242A69DAF1544AC2FCECE4 /* ClosedRange+Clamp.swift in Sources */, - 7273B24C119CB7F127DD7FE66ECC95E3 /* ColorCollectionCell.swift in Sources */, - 16D1C83CC21AAF2533A203C8A5DDAF82 /* ColorCollectionController.swift in Sources */, - 2335809E0ABEFA23069FC00B0359D550 /* ColorCollectionView.swift in Sources */, - 85C8FCF0ED94E3B60CF9554922735ADD /* ColorDrop.swift in Sources */, - 01D45A77149E5C601706C1C7441CA359 /* ColorPickerController.swift in Sources */, - 3CB2BF53A215267BA3F2A6D7FC6C77CC /* ColorPickerView.swift in Sources */, - C9CBB04525D3CC28D1B1F86320AE381F /* ColorSelectorController.swift in Sources */, - 942F8750E82E23557E732B954764C30A /* ColorSelectorView.swift in Sources */, - 821AD69A44E94C3EA0015904E1FA0BEB /* ColorThief.swift in Sources */, - 854D797F46C964B15A739F2C83060EC0 /* ConicalGradientLayer.swift in Sources */, - FB127CA6488FC1689BDF0914842B3273 /* CVPixelBuffer+copy.swift in Sources */, - BE33F1628F14C9B90665DFE12B5DC66C /* CVPixelBuffer+resize.swift in Sources */, - FFD318BFA7369E2A2FCAFD4385135074 /* CVPixelBuffer+sampleBuffer.swift in Sources */, - B0F43CC145367901F56E444DDD1D60D6 /* Device.swift in Sources */, - 4519A4DB97B8B92641AEACEDE70326B2 /* DimensionsHelper.swift in Sources */, - 3264E670F2E7D5D0FAD745412F3E7CDE /* DiscreteSlider.swift in Sources */, - 9A7ED56C1C454023A921350AE253BA87 /* DiscreteSliderCollectionCell.swift in Sources */, - FA8BBB1025903F71C649E2660BBC3882 /* DiscreteSliderView.swift in Sources */, - DF524EBDE93F6B324DBD9406E01A885C /* DrawerTabBarCell.swift in Sources */, - B29FD18FEEE3C67CEB20519A39668E8E /* DrawerTabBarController.swift in Sources */, - 47E80EA5261102BC5E027AE2EB2D80D9 /* DrawerTabBarOption.swift in Sources */, - 950CE7F4B4FF9FC9B52000DBB4D5958F /* DrawerTabBarView.swift in Sources */, - 7E5F6F6106CA5A626715E09FD08FFD53 /* DrawingCanvas.swift in Sources */, - 21E6CCF464AEC5C9EFBBF9B415EA3012 /* DrawingController.swift in Sources */, - 3C66397919AE62AB6641390490A8E007 /* DrawingView.swift in Sources */, - 82694D9E23B9F7A74B469CBF5CFC9D45 /* EasyTipView.swift in Sources */, - E834790BF2BE194747C9639AD81271A3 /* EditionMenuCollectionCell.swift in Sources */, - AE3BD20792F5087FFFDB6E5250E02C3C /* EditionMenuCollectionController.swift in Sources */, - 16954F8BC69CB42224185E1DAF9491B7 /* EditionMenuCollectionView.swift in Sources */, - 09D5CDB7C97AF37D8112383D18E2AB34 /* EditionOption.swift in Sources */, - E00B540E8FD812F1A344C98B9CC4E646 /* EditorFilterCollectionCell.swift in Sources */, - 095602D8ACBADC27B175D1C90472CAF4 /* EditorFilterCollectionController.swift in Sources */, - 8DAFA1B6CE338360FD0CDB28508FD0E5 /* EditorFilterController.swift in Sources */, - D28B308AFF358237E049C8E1BE3696FF /* EditorFilterView.swift in Sources */, - 0D24127010510C2A898E4BA8FA8D5067 /* EditorTextController.swift in Sources */, - 444E5B96C175938CAABDE167CD9ABEFE /* EditorTextView.swift in Sources */, - 2C20883C239F8D788A97DD61FBA172F8 /* EditorView.swift in Sources */, - B90B7E0A1FFCFCD4A300B82199AEE8B5 /* EditorViewController.swift in Sources */, - ACE1993D39A6F19A938CBF256E744763 /* EMInterferenceOpenGLFilter.swift in Sources */, - 0C2006BDC0F7C351EE1FD8F73B30CB84 /* ExtendedButton.swift in Sources */, - E32977941FBAD0F31807DF2F4DA84634 /* ExtendedStackView.swift in Sources */, - 50D6E26C03FE65602B70591FFE6AD48C /* FilmOpenGLFilter.swift in Sources */, - A30D622F6258967F9C7F3995AFF624D6 /* FilterCollectionCell.swift in Sources */, - 6361404779C1DB7CEBB7D1C845550B31 /* FilterCollectionInnerCell.swift in Sources */, - 0E976034C56D6A40E26B27A6951D442C /* FilterCollectionView.swift in Sources */, - 785379973E1FDED7F1EF0DE793CE6AD6 /* FilteredInputViewController.swift in Sources */, - 8BCBC1A18BD27FE264A7AB8AB2473ED0 /* FilterFactory.swift in Sources */, - 77451D131E9DB51AA94861C2172550FE /* FilterItem.swift in Sources */, - 5280E45FCA33F2DF835DE28A55367BE0 /* FilterProtocol.swift in Sources */, - 8E87646E65B3014742A782B9A5010C3E /* FilterSettingsController.swift in Sources */, - AB043399C87D782242895E93F9D8721B /* FilterSettingsView.swift in Sources */, - 9BA896E063BEC620F59FA071C6181662 /* FilterType.swift in Sources */, - 29F88E6269C6F351A4E7C1AC34CBA995 /* GIFDecoder.swift in Sources */, - 714279AE6B2CE4FF508FA0376FF9AE00 /* GIFEncoder.swift in Sources */, - C4C0B1761004AF058628FEBBA7478FF5 /* GifMakerController.swift in Sources */, - D566E6666B3A1C1AB9C48C4462BD069E /* GifMakerHandler.swift in Sources */, - 7E62458C005D23FA563A722FD96D358A /* GifMakerSettings.swift in Sources */, - 806CFA8A20861E06A1201D13BE7C7500 /* GifMakerView.swift in Sources */, - 057528AA69524F95155E6308CDDE4AD0 /* GifVideoOutputHandler.swift in Sources */, - C99A886DC0E1EBEFAA9510D379E86BE2 /* GLError.swift in Sources */, - 02F7AE7437C9B042BD9D96F2641E5F4A /* GLKMatrix4+Unsafe.swift in Sources */, - AA5B43E656AA952CF7F5800736DA7146 /* GLPixelBufferView.swift in Sources */, - 64FC8B57C454C30389013CA9ECB4339F /* GLUtilities.swift in Sources */, - C72616649F530DB6EAF7D38F45FDAF54 /* GrayscaleOpenGLFilter.swift in Sources */, - 2EEB193E1B39109F635169F3C21073AE /* GroupOpenGLFilter.swift in Sources */, - 25C4E5A7F54DB2092921DF0664B87680 /* HorizontalCollectionLayout.swift in Sources */, - 09BAA374E374C06B2844DE5F1AC6AF42 /* HorizontalCollectionView.swift in Sources */, - 1CAB57BC7FA75CC1742796FA159F4F65 /* IgnoreBackgroundTouchesStackView.swift in Sources */, - 0F077D3F82C45AF75080EB3224CC234F /* IgnoreTouchesCollectionView.swift in Sources */, - BEDD8F09AD4F9C4F926599189E7AC398 /* IgnoreTouchesView.swift in Sources */, - 9DD454DFDB511217385CF549CAAF9B0F /* ImagePoolOpenGLFilter.swift in Sources */, - D373EBD94647C3AF0D50F624A296CBA0 /* ImagePreviewController.swift in Sources */, - 6CD7F8A6200F483CD4BFB887C3DA8F86 /* IndexPath+Order.swift in Sources */, - 4BFAC7455BBB16E268106C5B3193E30C /* KanvasCamera-dummy.m in Sources */, - 337BB17A8B39CD39838FE7C7D46DE6D4 /* KanvasCameraAnalyticsProvider.swift in Sources */, - BC008E511C3F7E134D9C38BB147EEE58 /* KanvasCameraColors.swift in Sources */, - BF84BB0C1DF963B42850CED35C80AD41 /* KanvasCameraFonts.swift in Sources */, - 7715E0E0D1DA26BAF5B0AFDF67B2B16F /* KanvasCameraImages.swift in Sources */, - 29503C49AACBC403131DDC5A6074474D /* KanvasCameraStrings.swift in Sources */, - 4A2C1820FB1659DB4C3A941BBDE8889F /* KanvasCameraTimes.swift in Sources */, - 63463B195246DE6F76E4501449BEA341 /* KanvasQuickBlogSelectorCoordinating.swift in Sources */, - E36F5E655EF250E806F34170259BEEF6 /* LegoOpenGLFilter.swift in Sources */, - ED981F645601ECA3F6B3B6A279DBC690 /* LightLeaksOpenGLFilter.swift in Sources */, - 12AF4C9597CF566ED0AC3592C07440F7 /* LivePhotoLoader.swift in Sources */, - 53CD1EFF82F76174633C0BB68057D702 /* LoadingIndicatorView.swift in Sources */, - A5655A456EEC1AA7E3E337496FE26667 /* MainTextView.swift in Sources */, - D56AF45CFC6B7FCB1FE82BD57158A0CA /* MangaOpenGLFilter.swift in Sources */, - E18C1DFFD60D7F0EFC781B2587980E2F /* Marker.swift in Sources */, - 488AFBAC698F5BAD4F0B2A5B626C52BC /* Math.swift in Sources */, - E2BBC35994930C64F3DB13649AE60D5F /* MediaClip.swift in Sources */, - 1870020A9DE0BE42A1D1DDF1D4D6AA72 /* MediaClipsCollectionCell.swift in Sources */, - 7DD5BF9FDDCA43FD440D3AD5BD810293 /* MediaClipsCollectionController.swift in Sources */, - 5CC3474C964A3B7B477DBEE78875484F /* MediaClipsCollectionView.swift in Sources */, - 41EF510B311632966C738DD33EAF2912 /* MediaClipsEditorView.swift in Sources */, - 6E7088F75EF7A585C93055ED50EF682C /* MediaClipsEditorViewController.swift in Sources */, - 66AA166DAEE5B2D63676A2DCC0E4B269 /* MediaDrawerController.swift in Sources */, - A7A5F2460AE78016B3D68515B20955CC /* MediaDrawerView.swift in Sources */, - 9DD97097B1353A1644AF645CA5A6B760 /* MediaExporter.swift in Sources */, - 31E812534466166EBF704665F4F3792E /* MediaInfo.swift in Sources */, - 58BE46BFA314AC5032EA855D2AFE35C0 /* MediaPickerButtonView.swift in Sources */, - 919A1F4408EB2840E63F51AFCB9A75E2 /* MediaPickerThumbnailFetcher.swift in Sources */, - 184300EC8FC4324E01329CCDF32B1903 /* MediaPickerViewController.swift in Sources */, - 4DF141CC549A5671ABDCCB1265E6CFDD /* MediaPlayer.swift in Sources */, - B74C182A040FC270DFF7249DCE691FB0 /* MediaPlayerController.swift in Sources */, - A58B498144314FCA1AB32A852D960CB8 /* MetalContext.swift in Sources */, - 80DB4DDD6E0F0914CF32262C75ABFBA3 /* MetalFilter.swift in Sources */, - 879F35CC84D72B7646CF93605A50A4C4 /* MetalGroupFilter.swift in Sources */, - 4C8490A1FFCABE89015C5EBF8CA270EE /* MetalPixelBufferView.swift in Sources */, - 0B677A742C1DE5B3B3F43463FAF245A4 /* MetalRenderEncoder.swift in Sources */, - 463D1FDCDE295306FEE93B0B142488D7 /* MirrorFourOpenGLFilter.swift in Sources */, - 09B2D66D1B5B0AA0AF54E92206C0DD65 /* MirrorTwoOpenGLFilter.swift in Sources */, - C7A5EDEEA791204F430FC21B1109EAFD /* MMCQ.swift in Sources */, - 3A342192E1E1D418C81A3F5E57F9D999 /* ModeButtonView.swift in Sources */, - 02A0BDC1161B6A7ECE43830EE0B0F916 /* ModeSelectorAndShootController.swift in Sources */, - DA0682E943DE19F666A3FC5FA3C5903F /* ModeSelectorAndShootView.swift in Sources */, - B1A46F391B47281F7037C09A53E49C2C /* MovableView.swift in Sources */, - 39C51C2E44A0842C4F3CBFD8E3618131 /* MovableViewCanvas.swift in Sources */, - 24152B9871B59599844FC24CDA1C5E3B /* MovableViewInnerElement.swift in Sources */, - FB0D5CF3A3A029845765005E83B4C36F /* MTLDevice+KanvasCamera.swift in Sources */, - A0DDFDC5633B8544B628DE53F67EEC8F /* NumTypes+Conversion.swift in Sources */, - DA9F6B4A9180B5AB94AD27B8D56245A5 /* OpenGLFilter.swift in Sources */, - 989F8BD907C17BCCB54613DBD98D25D1 /* OptionsController.swift in Sources */, - 7F4A94C38C275D08CE9E089B18EE294B /* OptionsStackView.swift in Sources */, - 6EB93420BB990B8DFC92332F89C46F6E /* OptionView.swift in Sources */, - 88A5D2C843294A2CE200D5E484A155B1 /* Pencil.swift in Sources */, - CFE61A86E90376D25BD3D239376BE675 /* PhotoOutputHandler.swift in Sources */, - 1186E0CEFF7CD30573944D0CF8D2D2BF /* PixelBufferView.swift in Sources */, - 6A28AE6C17BCE1AC103F179F1CB33F59 /* PlasmaOpenGLFilter.swift in Sources */, - D9D8A9914D60C87261C6BEBF2B3A9226 /* PlaybackCollectionCell.swift in Sources */, - 90D8EC65C5AAA778FFC31071AF805591 /* PlaybackController.swift in Sources */, - D6888AFACA007045E929AE50C40CE345 /* PlaybackOption.swift in Sources */, - 6284AE4C0C972C5540045DCE1D5A3F42 /* PlaybackView.swift in Sources */, - 49FD40329BFB9C2E744C8200F7C0EDE6 /* Queue.swift in Sources */, - 3354CFCE40DAD0EC73539718E3462E1D /* RaveOpenGLFilter.swift in Sources */, - 91A8FC9CEB1ADD19777114555BFA8229 /* Renderer.swift in Sources */, - FA992698B426EB186D0C71AF56AAF546 /* Rendering.swift in Sources */, - C252684828CE84EB8C217F3BC55C45A5 /* RGBA.swift in Sources */, - B95036AED39F2A1C09405937A27BE196 /* RGBOpenGLFilter.swift in Sources */, - AC8ABBB204B95374ED9A37BA27A42FE7 /* RoundedTexture.swift in Sources */, - 3ADB97BD9CFE535A45694FDAD2172F33 /* ScrollHandler.swift in Sources */, - D3B6A9DC3C3D211BC5FDE86F1AA16751 /* Shader.swift in Sources */, - 018B4175C4FD82CFFBB29139C70D2473 /* Sharpie.swift in Sources */, - EC082B567C44F5D9DE5060E0B6D7217A /* ShootButtonView.swift in Sources */, - EB6D86222940530F5A5DCADD135D423E /* SliderView.swift in Sources */, - B5BB457D9EC4D559DDB9900305B11BF6 /* SpeedController.swift in Sources */, - DC0C7E82CBCF503089C05CBA783CB7ED /* SpeedView.swift in Sources */, - 39647730B32FADF9E982FECE225AC5DE /* StaggeredGridLayout.swift in Sources */, - 7CB6F0F51E8CC4982FC74299CCBD3269 /* Sticker.swift in Sources */, - 316060F4A6C10AF479111D3560E03E27 /* StickerCollectionCell.swift in Sources */, - A1C398A047B9FAC80F5A67B3692666C1 /* StickerCollectionController.swift in Sources */, - 7D47F0646FC3328F9F78532FCC42B984 /* StickerCollectionView.swift in Sources */, - C5104B347DEF09E8DD03FD1C1979DDD3 /* StickerLoader.swift in Sources */, - 895A0DCE66728443ADCF549B920648A8 /* StickerMenuController.swift in Sources */, - E8F933DB1788FB012E853279C643F180 /* StickerMenuView.swift in Sources */, - 01463CD59B139D1780AE809500EE7014 /* StickerProvider.swift in Sources */, - 428015A949E474D46B7D445B3AC492D8 /* StickerType.swift in Sources */, - CAE350D0F5F31F911B928AA51A9247EC /* StickerTypeCollectionCell.swift in Sources */, - 29EACADB260207E30936FA18443D74FF /* StickerTypeCollectionController.swift in Sources */, - F48B8E1FAE4018B9D2EEFAD5E25278B8 /* StickerTypeCollectionView.swift in Sources */, - 86CEBF741521548E6E0938A44A479CB2 /* String+UTF16Substring.swift in Sources */, - 277A5F810638B93AAFC86D6D0AEAF8BF /* StrokeSelectorController.swift in Sources */, - 79647F1E2B699FDD4EE3B883FBE03BFF /* StrokeSelectorView.swift in Sources */, - DAA49A89E507DC002006BF69525D3CF9 /* StylableImageView.swift in Sources */, - ECBCD062143DC21183C256B930767A8C /* StylableTextView.swift in Sources */, - 595CA97A1BCE1B4F62874C898C5E813E /* Synchronized.swift in Sources */, - CF4A615E69D13AB22E787513E027DEF9 /* TextOptions.swift in Sources */, - 59FA7FBD4C8B665411379B747BD8C5AA /* Texture.swift in Sources */, - F5D2F660979E86A7F5CB33EDFCD7E12B /* TextureSelectorController.swift in Sources */, - BDBC97B39FFC9B3EF6801AFFF1335D70 /* TextureSelectorView.swift in Sources */, - 09C029B6D755FF4ADEABD24F0062CA0D /* ThumbnailCollectionCell.swift in Sources */, - B38CE56CC5A76B707A4DE095274454D7 /* ThumbnailCollectionController.swift in Sources */, - 41CC287B8C413CDB34BFFDDD9F324F6A /* ThumbnailCollectionView.swift in Sources */, - 76228FBB48498E9DC98509D4B53A3A8B /* ThumbnailCollectionViewLayout.swift in Sources */, - A07DE12FF76753D031301C77AB2B95B7 /* TimeIndicator.swift in Sources */, - 0D3A67F8D27308A0A8501326373EB91E /* ToonOpenGLFilter.swift in Sources */, - 5F1A2ADBB3242FEDCD4262DFFB855601 /* TrashView.swift in Sources */, - D2D876D097870DEEB356F927D0F5FE61 /* TrimArea.swift in Sources */, - 8411BAF7A459448DF3D17E64273361B3 /* TrimController.swift in Sources */, - C0B5FF43673BC18B17B348E1F024204A /* TrimView.swift in Sources */, - 56FC65984B23FD537AAEB4F352FF7A60 /* UICollectionView+Cells.swift in Sources */, - A489AC9A9A4685F5BAEBCC7F77CDCEAE /* UIColor+Hex.swift in Sources */, - 26BCA81DA0171FD0AAD24100F646E14F /* UIColor+Lerp.swift in Sources */, - 75ADB65FA05AAF4D8B97B996C3608CB6 /* UIColor+Utils.swift in Sources */, - AA6993881322D5DB585E6CFBAF6F0D0B /* UIFont+Utils.swift in Sources */, - 64D662CC55805E2793AF64D2EC2E48AA /* UIGestureRecognizer+Active.swift in Sources */, - 39E70528549C25317EC4EF859BB33539 /* UIImage+Camera.swift in Sources */, - 9EDBA697B06CB4883020421A4C572E20 /* UIImage+DominantColors.swift in Sources */, - 05D89AC9A2CF0A3A67FB24792B1DDE9D /* UIImage+FlipLeftMirrored.swift in Sources */, - 2EE48929E67A45B37346E98CE30B72AB /* UIImage+PixelBuffer.swift in Sources */, - AC3DCD64C08E96A9ADF6AB657394F1ED /* UIUpdate.swift in Sources */, - 85A1BACED37DD70E48333702A67A126C /* UIView+Image.swift in Sources */, - D2DE6BF8DAF23AF5046F9BF2A58D74DA /* UIView+Layout.swift in Sources */, - 12D31F6449A24377E0AC9775FE1F8129 /* UIViewController+Load.swift in Sources */, - 6E835B0786976A4637D88E949434858A /* URL+Media.swift in Sources */, - 78967EF0E2096AFFD4ABC1C90DEB953A /* VideoCompositor.swift in Sources */, - D3D594BE3791C8AA1C6A509583E4E54C /* VideoOutputHandler.swift in Sources */, - 77BC80D54BD796F0138FC8E0E69056A8 /* ViewTransformations.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 458CF46C469444EFF87FEE67F0DDCDA4 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FBSnapshotTestCase; - target = 98A98149697C80CEF8D5772791E92E66 /* FBSnapshotTestCase */; - targetProxy = 0864825848F1BC53FEED130C9AADEA8F /* PBXContainerItemProxy */; - }; - 4D970F1ED0430260C329A33FEC7C35F1 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Pods-KanvasCameraExample"; - target = BDB175D784A4B1E7FCB709777D7A6ADF /* Pods-KanvasCameraExample */; - targetProxy = 4D0DDAECB2D20D72BDC7B9E0512C1A54 /* PBXContainerItemProxy */; - }; - 75CC2D549C2F002CE7CC06728D29D715 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "KanvasCamera-KanvasCamera"; - target = 63A66EDDAEF8A5521205B4F823F1D6AB /* KanvasCamera-KanvasCamera */; - targetProxy = 17529B1BA3BE4D9DC14845D2580F4AC2 /* PBXContainerItemProxy */; - }; - 8F4F20EE57C6E1E26876098C00C6FA1E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = KanvasCamera; - target = EEA7BBCE1AEABC4574550F0FCA071779 /* KanvasCamera */; - targetProxy = 85F323C26165951D2F5D0040893D3CD5 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 0366FB7BDC6FCDAA287EE7F6A51DCC04 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 78227F67871EE2A8D8F86CF04A39A337 /* KanvasCamera.debug.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/KanvasCamera/KanvasCamera-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MODULEMAP_FILE = Headers/Public/KanvasCamera/KanvasCamera.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = KanvasCamera; - PRODUCT_NAME = KanvasCamera; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 09593D1FC014B16338D1A7A66A0698C6 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 87F968DFDAC351BDE68AB0020E3B5812 /* Pods-KanvasCameraExample.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 0C99A0B398D296905E87D24922C8F3AC /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C9CD662427AAA2F5C0851CCF513711B6 /* FBSnapshotTestCase.debug.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MODULEMAP_FILE = Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = FBSnapshotTestCase; - PRODUCT_NAME = FBSnapshotTestCase; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 131356BE54884448CA49C07BEDF4BB2A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; - 3B02DAFBFABEE2D706A9025834EC1B3A /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A573ED1BAAC5EEC68D6AFA48BD54C79D /* Pods-KanvasCameraExample.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 6AF0FB241953DF5DC916E163FA3CB81A /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 296F56953B2B0F8775304B49ECD336EC /* KanvasCamera.release.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/KanvasCamera/KanvasCamera-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MODULEMAP_FILE = Headers/Public/KanvasCamera/KanvasCamera.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = KanvasCamera; - PRODUCT_NAME = KanvasCamera; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 6C043027000C0E1E59E23A88FFB0666E /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 296F56953B2B0F8775304B49ECD336EC /* KanvasCamera.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/KanvasCamera"; - IBSC_MODULE = KanvasCamera; - INFOPLIST_FILE = "Target Support Files/KanvasCamera/ResourceBundle-KanvasCamera-KanvasCamera-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - PRODUCT_NAME = KanvasCamera; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; - 749587B719B0076E5FBAA95D495D11D8 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 72BC6172444BC8896A7DD17D385D81BE /* Pods-KanvasCameraExampleTests.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 7F02FD0F5DFA357E1AB8F5A19A717785 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 2A7ACE86E11820EF38C71EEBEC340E31 /* FBSnapshotTestCase.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MODULEMAP_FILE = Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = FBSnapshotTestCase; - PRODUCT_NAME = FBSnapshotTestCase; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.2; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - B03117998B227E34A1C69DF0E004CCB6 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 78227F67871EE2A8D8F86CF04A39A337 /* KanvasCamera.debug.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/KanvasCamera"; - IBSC_MODULE = KanvasCamera; - INFOPLIST_FILE = "Target Support Files/KanvasCamera/ResourceBundle-KanvasCamera-KanvasCamera-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - PRODUCT_NAME = KanvasCamera; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - D8A0C2542864D97CDEDCB3BF0F629009 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 888D1107ADA0E7FEBD72F2B681538E93 /* Pods-KanvasCameraExampleTests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - F090CD07A80273D5A73C8EA19224ADDB /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 252D6F021F665BE931E176A7F1CDBED5 /* Build configuration list for PBXNativeTarget "FBSnapshotTestCase" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0C99A0B398D296905E87D24922C8F3AC /* Debug */, - 7F02FD0F5DFA357E1AB8F5A19A717785 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 3A495492256823FE590D1E49FD00037F /* Build configuration list for PBXNativeTarget "Pods-KanvasCameraExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 09593D1FC014B16338D1A7A66A0698C6 /* Debug */, - 3B02DAFBFABEE2D706A9025834EC1B3A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 131356BE54884448CA49C07BEDF4BB2A /* Debug */, - F090CD07A80273D5A73C8EA19224ADDB /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - C984142EA6FC57C23BF094E219AE8C54 /* Build configuration list for PBXNativeTarget "KanvasCamera-KanvasCamera" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B03117998B227E34A1C69DF0E004CCB6 /* Debug */, - 6C043027000C0E1E59E23A88FFB0666E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - D048B4F6AE45EDA9C90A9A96FFFA0123 /* Build configuration list for PBXNativeTarget "Pods-KanvasCameraExampleTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D8A0C2542864D97CDEDCB3BF0F629009 /* Debug */, - 749587B719B0076E5FBAA95D495D11D8 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - FA7F24970D296A73C90FC4FFDFFF3EEA /* Build configuration list for PBXNativeTarget "KanvasCamera" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0366FB7BDC6FCDAA287EE7F6A51DCC04 /* Debug */, - 6AF0FB241953DF5DC916E163FA3CB81A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; -} diff --git a/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m b/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m deleted file mode 100644 index fb0c8fe94..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_FBSnapshotTestCase : NSObject -@end -@implementation PodsDummy_FBSnapshotTestCase -@end diff --git a/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch b/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch deleted file mode 100644 index beb2a2441..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h b/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h deleted file mode 100644 index 1734e029d..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "FBSnapshotTestCase.h" -#import "FBSnapshotTestCasePlatform.h" -#import "FBSnapshotTestController.h" - -FOUNDATION_EXPORT double FBSnapshotTestCaseVersionNumber; -FOUNDATION_EXPORT const unsigned char FBSnapshotTestCaseVersionString[]; - diff --git a/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.debug.xcconfig b/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.debug.xcconfig deleted file mode 100644 index 6d1fa8724..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.debug.xcconfig +++ /dev/null @@ -1,16 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase -ENABLE_BITCODE = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/FBSnapshotTestCase" "${PODS_ROOT}/Headers/Public" -LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/FBSnapshotTestCase -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap b/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap deleted file mode 100644 index 7d34e65e7..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module FBSnapshotTestCase { - umbrella header "FBSnapshotTestCase-umbrella.h" - - export * - module * { export * } -} diff --git a/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.release.xcconfig b/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.release.xcconfig deleted file mode 100644 index 6d1fa8724..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.release.xcconfig +++ /dev/null @@ -1,16 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase -ENABLE_BITCODE = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/FBSnapshotTestCase" "${PODS_ROOT}/Headers/Public" -LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/FBSnapshotTestCase -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera-dummy.m b/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera-dummy.m deleted file mode 100644 index 7f24f2c88..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_KanvasCamera : NSObject -@end -@implementation PodsDummy_KanvasCamera -@end diff --git a/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera-prefix.pch b/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera-prefix.pch deleted file mode 100644 index beb2a2441..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera-umbrella.h b/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera-umbrella.h deleted file mode 100644 index 44516c3ab..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double KanvasCameraVersionNumber; -FOUNDATION_EXPORT const unsigned char KanvasCameraVersionString[]; - diff --git a/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera.debug.xcconfig b/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera.debug.xcconfig deleted file mode 100644 index 346fca52a..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera.debug.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GLES_SILENCE_DEPRECATION=1 -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera.modulemap b/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera.modulemap deleted file mode 100644 index 2ecdefd4c..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module KanvasCamera { - umbrella header "KanvasCamera-umbrella.h" - - export * - module * { export * } -} diff --git a/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera.release.xcconfig b/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera.release.xcconfig deleted file mode 100644 index 346fca52a..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/KanvasCamera.release.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GLES_SILENCE_DEPRECATION=1 -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/ResourceBundle-KanvasCamera-KanvasCamera-Info.plist b/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/ResourceBundle-KanvasCamera-KanvasCamera-Info.plist deleted file mode 100644 index e148b98dd..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/KanvasCamera/ResourceBundle-KanvasCamera-KanvasCamera-Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - NSPrincipalClass - - - diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-acknowledgements.markdown b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-acknowledgements.markdown deleted file mode 100644 index 76496f039..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-acknowledgements.markdown +++ /dev/null @@ -1,185 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: - -## KanvasCamera - -Mozilla Public License -Version 2.0 - -1. Definitions - -1.1. “Contributor” -means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. - -1.2. “Contributor Version” -means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor’s Contribution. - -1.3. “Contribution” -means Covered Software of a particular Contributor. - -1.4. “Covered Software” -means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. - -1.5. “Incompatible With Secondary Licenses” -means - -that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or - -that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. - -1.6. “Executable Form” -means any form of the work other than Source Code Form. - -1.7. “Larger Work” -means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. - -1.8. “License” -means this document. - -1.9. “Licensable” -means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. - -1.10. “Modifications” -means any of the following: - -any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or - -any new file in Source Code Form that contains any Covered Software. - -1.11. “Patent Claims” of a Contributor -means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. - -1.12. “Secondary License” -means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. - -1.13. “Source Code Form” -means the form of the work preferred for making modifications. - -1.14. “You” (or “Your”) -means an individual or a legal entity exercising rights under this License. For legal entities, “You” includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, “control” means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. - -2. License Grants and Conditions - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: - -under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and - -under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: - -for any code that a Contributor has removed from Covered Software; or - -for infringements caused by: (i) Your and any other third party’s modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or - -under Patent Claims infringed by Covered Software in the absence of its Contributions. - -This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. - -3. Responsibilities - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients’ rights in the Source Code Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and - -You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients’ rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. - -4. Inability to Comply Due to Statute or Regulation - -If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Termination - -5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. - -6. Disclaimer of Warranty - -Covered Software is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer. -7. Limitation of Liability - -Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party’s negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. -8. Litigation - -Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party’s ability to bring cross-claims or counter-claims. - -9. Miscellaneous - -This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. - -10. Versions of the License - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - -If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice - -This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - “Incompatible With Secondary Licenses” Notice - -This Source Code Form is “Incompatible With Secondary Licenses”, as defined by the Mozilla Public License, v. 2.0. - -Generated by CocoaPods - https://cocoapods.org diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-acknowledgements.plist b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-acknowledgements.plist deleted file mode 100644 index 833c43855..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-acknowledgements.plist +++ /dev/null @@ -1,217 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Mozilla Public License -Version 2.0 - -1. Definitions - -1.1. “Contributor” -means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. - -1.2. “Contributor Version” -means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor’s Contribution. - -1.3. “Contribution” -means Covered Software of a particular Contributor. - -1.4. “Covered Software” -means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. - -1.5. “Incompatible With Secondary Licenses” -means - -that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or - -that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. - -1.6. “Executable Form” -means any form of the work other than Source Code Form. - -1.7. “Larger Work” -means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. - -1.8. “License” -means this document. - -1.9. “Licensable” -means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. - -1.10. “Modifications” -means any of the following: - -any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or - -any new file in Source Code Form that contains any Covered Software. - -1.11. “Patent Claims” of a Contributor -means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. - -1.12. “Secondary License” -means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. - -1.13. “Source Code Form” -means the form of the work preferred for making modifications. - -1.14. “You” (or “Your”) -means an individual or a legal entity exercising rights under this License. For legal entities, “You” includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, “control” means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. - -2. License Grants and Conditions - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: - -under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and - -under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: - -for any code that a Contributor has removed from Covered Software; or - -for infringements caused by: (i) Your and any other third party’s modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or - -under Patent Claims infringed by Covered Software in the absence of its Contributions. - -This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. - -3. Responsibilities - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients’ rights in the Source Code Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and - -You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients’ rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. - -4. Inability to Comply Due to Statute or Regulation - -If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Termination - -5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. - -6. Disclaimer of Warranty - -Covered Software is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer. -7. Limitation of Liability - -Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party’s negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. -8. Litigation - -Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party’s ability to bring cross-claims or counter-claims. - -9. Miscellaneous - -This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. - -10. Versions of the License - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - -If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice - -This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - “Incompatible With Secondary Licenses” Notice - -This Source Code Form is “Incompatible With Secondary Licenses”, as defined by the Mozilla Public License, v. 2.0. - - License - MPLv2 - Title - KanvasCamera - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-dummy.m b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-dummy.m deleted file mode 100644 index 838a50c59..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_KanvasCameraExample : NSObject -@end -@implementation PodsDummy_Pods_KanvasCameraExample -@end diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Debug-input-files.xcfilelist b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Debug-input-files.xcfilelist deleted file mode 100644 index f86fbd31c..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Debug-input-files.xcfilelist +++ /dev/null @@ -1,2 +0,0 @@ -${PODS_ROOT}/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources.sh -${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera/KanvasCamera.bundle \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Debug-output-files.xcfilelist b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Debug-output-files.xcfilelist deleted file mode 100644 index 0f81bbf10..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Debug-output-files.xcfilelist +++ /dev/null @@ -1 +0,0 @@ -${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/KanvasCamera.bundle \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Release-input-files.xcfilelist b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Release-input-files.xcfilelist deleted file mode 100644 index f86fbd31c..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Release-input-files.xcfilelist +++ /dev/null @@ -1,2 +0,0 @@ -${PODS_ROOT}/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources.sh -${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera/KanvasCamera.bundle \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Release-output-files.xcfilelist b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Release-output-files.xcfilelist deleted file mode 100644 index 0f81bbf10..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources-Release-output-files.xcfilelist +++ /dev/null @@ -1 +0,0 @@ -${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/KanvasCamera.bundle \ No newline at end of file diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources.sh b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources.sh deleted file mode 100755 index 8b956ca50..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-resources.sh +++ /dev/null @@ -1,129 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -function on_error { - echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" -} -trap 'on_error $LINENO' ERR - -if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then - # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy - # resources to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -case "${TARGETED_DEVICE_FAMILY:-}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - 4) - TARGET_DEVICE_ARGS="--target-device watch" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" || true - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} -if [[ "$CONFIGURATION" == "Debug" ]]; then - install_resource "${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera/KanvasCamera.bundle" -fi -if [[ "$CONFIGURATION" == "Release" ]]; then - install_resource "${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera/KanvasCamera.bundle" -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find -L "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then - 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}" - else - 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}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" - fi -fi diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-umbrella.h b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-umbrella.h deleted file mode 100644 index 40b41915f..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double Pods_KanvasCameraExampleVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_KanvasCameraExampleVersionString[]; - diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample.debug.xcconfig b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample.debug.xcconfig deleted file mode 100644 index 79009ccc6..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample.debug.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GLES_SILENCE_DEPRECATION=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FBSnapshotTestCase" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera/KanvasCamera.modulemap" -OTHER_LDFLAGS = $(inherited) -ObjC -l"KanvasCamera" -framework "Foundation" -framework "GLKit" -framework "OpenGLES" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera/KanvasCamera.modulemap" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera" -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample.modulemap b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample.modulemap deleted file mode 100644 index b6bc8a851..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module Pods_KanvasCameraExample { - umbrella header "Pods-KanvasCameraExample-umbrella.h" - - export * - module * { export * } -} diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample.release.xcconfig b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample.release.xcconfig deleted file mode 100644 index 79009ccc6..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExample/Pods-KanvasCameraExample.release.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GLES_SILENCE_DEPRECATION=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FBSnapshotTestCase" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera/KanvasCamera.modulemap" -OTHER_LDFLAGS = $(inherited) -ObjC -l"KanvasCamera" -framework "Foundation" -framework "GLKit" -framework "OpenGLES" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera/KanvasCamera.modulemap" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera" -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-acknowledgements.markdown b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-acknowledgements.markdown deleted file mode 100644 index 2a27ea6e7..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-acknowledgements.markdown +++ /dev/null @@ -1,36 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: - -## FBSnapshotTestCase - -BSD License - -For the FBSnapshotTestCase software - -Copyright (c) 2013, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Generated by CocoaPods - https://cocoapods.org diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-acknowledgements.plist b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-acknowledgements.plist deleted file mode 100644 index 7f6bd1a36..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-acknowledgements.plist +++ /dev/null @@ -1,68 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - BSD License - -For the FBSnapshotTestCase software - -Copyright (c) 2013, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - License - BSD - Title - FBSnapshotTestCase - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-dummy.m b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-dummy.m deleted file mode 100644 index f85fcf87a..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_KanvasCameraExampleTests : NSObject -@end -@implementation PodsDummy_Pods_KanvasCameraExampleTests -@end diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-umbrella.h b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-umbrella.h deleted file mode 100644 index 203b0e0e4..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double Pods_KanvasCameraExampleTestsVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_KanvasCameraExampleTestsVersionString[]; - diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests.debug.xcconfig b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests.debug.xcconfig deleted file mode 100644 index 145d9e7bf..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests.debug.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GLES_SILENCE_DEPRECATION=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FBSnapshotTestCase" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera/KanvasCamera.modulemap" -OTHER_LDFLAGS = $(inherited) -ObjC -l"FBSnapshotTestCase" -framework "Foundation" -framework "GLKit" -framework "OpenGLES" -framework "QuartzCore" -framework "UIKit" -framework "XCTest" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera/KanvasCamera.modulemap" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase" "${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera" -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests.modulemap b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests.modulemap deleted file mode 100644 index ec91983a9..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module Pods_KanvasCameraExampleTests { - umbrella header "Pods-KanvasCameraExampleTests-umbrella.h" - - export * - module * { export * } -} diff --git a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests.release.xcconfig b/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests.release.xcconfig deleted file mode 100644 index 145d9e7bf..000000000 --- a/KanvasCameraExample/Pods/Target Support Files/Pods-KanvasCameraExampleTests/Pods-KanvasCameraExampleTests.release.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GLES_SILENCE_DEPRECATION=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/FBSnapshotTestCase" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera/KanvasCamera.modulemap" -OTHER_LDFLAGS = $(inherited) -ObjC -l"FBSnapshotTestCase" -framework "Foundation" -framework "GLKit" -framework "OpenGLES" -framework "QuartzCore" -framework "UIKit" -framework "XCTest" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera/KanvasCamera.modulemap" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase" "${PODS_CONFIGURATION_BUILD_DIR}/KanvasCamera" -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/KanvasCameraExample/fastlane/Fastfile b/KanvasCameraExample/fastlane/Fastfile new file mode 100644 index 000000000..a70db1653 --- /dev/null +++ b/KanvasCameraExample/fastlane/Fastfile @@ -0,0 +1,4 @@ +lane :test do + cocoapods + scan +end diff --git a/KanvasCameraExample/fastlane/Scanfile b/KanvasCameraExample/fastlane/Scanfile new file mode 100644 index 000000000..0bf970db8 --- /dev/null +++ b/KanvasCameraExample/fastlane/Scanfile @@ -0,0 +1,11 @@ +# For more information about this configuration visit +# https://docs.fastlane.tools/actions/scan/#scanfile + +# In general, you can use the options available +# fastlane scan --help + +scheme("KanvasCameraExample") +#devices(["iPhone 8"]) +destination("platform=iOS Simulator,name=iPhone 8,OS=14.0") + +skip_build(true) diff --git a/process.yml b/process.yml deleted file mode 100644 index e69de29bb..000000000 From f61f8fee33f92c8c296276cbe11672917c048c96 Mon Sep 17 00:00:00 2001 From: Brandon Titus Date: Fri, 30 Oct 2020 15:24:55 -0600 Subject: [PATCH 2/7] Add swiftlint and fastlane step for linting --- .circleci/config.yml | 3 +++ Classes/.swiftlint.yml | 17 +++++++++++++++++ fastlane/Fastfile | 5 +++++ 3 files changed, 25 insertions(+) create mode 100644 Classes/.swiftlint.yml create mode 100644 fastlane/Fastfile diff --git a/.circleci/config.yml b/.circleci/config.yml index dc0292e9c..d8ddde0fa 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -26,6 +26,9 @@ jobs: steps: - fix-image - git/shallow-checkout + - run: + name: Linting + command: bundle install; bundle exec fastlane lint - run: name: Build for Testing command: bundle install; bundle exec fastlane test diff --git a/Classes/.swiftlint.yml b/Classes/.swiftlint.yml new file mode 100644 index 000000000..aaad80b24 --- /dev/null +++ b/Classes/.swiftlint.yml @@ -0,0 +1,17 @@ +whitelist_rules: # Rules to run + - control_statement + - force_cast + - force_try + - force_unwrapping + - colon + - trailing_semicolon + - trailing_newline + - legacy_constant + - overridden_super_call + - prohibited_super_call + - unused_enumerated + - implicitly_unwrapped_optional + - custom_rules + - unowned_variable_capture + + diff --git a/fastlane/Fastfile b/fastlane/Fastfile new file mode 100644 index 000000000..f51a89c59 --- /dev/null +++ b/fastlane/Fastfile @@ -0,0 +1,5 @@ +lane :lint do + swiftlint( + path: "Classes" + ) +end From df61d6d9e2cfecbea49540719bbc220ce8d25b80 Mon Sep 17 00:00:00 2001 From: Brandon Titus Date: Mon, 2 Nov 2020 09:56:26 -0700 Subject: [PATCH 3/7] Upgrade cocoapods --- Gemfile | 2 +- Gemfile.lock | 10 +++++----- KanvasCameraExample/Gemfile | 2 +- KanvasCameraExample/Gemfile.lock | 8 ++++---- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Gemfile b/Gemfile index 367f2d467..05677368e 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,4 @@ source 'https://rubygems.org' do - gem 'cocoapods', '1.9.1' + gem 'cocoapods', '1.9.3' gem 'fastlane', '2.165.0' end diff --git a/Gemfile.lock b/Gemfile.lock index 5400f9a30..c2cc71296 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -9,7 +9,7 @@ GEM tzinfo (~> 1.1) addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) - algoliasearch (1.27.4) + algoliasearch (1.27.5) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) atomos (0.1.3) @@ -31,10 +31,10 @@ GEM aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) claide (1.0.3) - cocoapods (1.9.1) + cocoapods (1.9.3) activesupport (>= 4.0.2, < 5) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.9.1) + cocoapods-core (= 1.9.3) cocoapods-deintegrate (>= 1.0.3, < 2.0) cocoapods-downloader (>= 1.2.2, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -50,7 +50,7 @@ GEM nap (~> 1.0) ruby-macho (~> 1.4) xcodeproj (>= 1.14.0, < 2.0) - cocoapods-core (1.9.1) + cocoapods-core (1.9.3) activesupport (>= 4.0.2, < 6) algoliasearch (~> 1.0) concurrent-ruby (~> 1.1) @@ -238,7 +238,7 @@ PLATFORMS ruby DEPENDENCIES - cocoapods (= 1.9.1)! + cocoapods (= 1.9.3)! fastlane (= 2.165.0)! BUNDLED WITH diff --git a/KanvasCameraExample/Gemfile b/KanvasCameraExample/Gemfile index 367f2d467..05677368e 100644 --- a/KanvasCameraExample/Gemfile +++ b/KanvasCameraExample/Gemfile @@ -1,4 +1,4 @@ source 'https://rubygems.org' do - gem 'cocoapods', '1.9.1' + gem 'cocoapods', '1.9.3' gem 'fastlane', '2.165.0' end diff --git a/KanvasCameraExample/Gemfile.lock b/KanvasCameraExample/Gemfile.lock index 910d82809..52820617c 100644 --- a/KanvasCameraExample/Gemfile.lock +++ b/KanvasCameraExample/Gemfile.lock @@ -31,10 +31,10 @@ GEM aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) claide (1.0.3) - cocoapods (1.9.1) + cocoapods (1.9.3) activesupport (>= 4.0.2, < 5) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.9.1) + cocoapods-core (= 1.9.3) cocoapods-deintegrate (>= 1.0.3, < 2.0) cocoapods-downloader (>= 1.2.2, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -50,7 +50,7 @@ GEM nap (~> 1.0) ruby-macho (~> 1.4) xcodeproj (>= 1.14.0, < 2.0) - cocoapods-core (1.9.1) + cocoapods-core (1.9.3) activesupport (>= 4.0.2, < 6) algoliasearch (~> 1.0) concurrent-ruby (~> 1.1) @@ -238,7 +238,7 @@ PLATFORMS ruby DEPENDENCIES - cocoapods (= 1.9.1)! + cocoapods (= 1.9.3)! fastlane (= 2.165.0)! BUNDLED WITH From 7adb8f42708281d556b5bf8c0f3c145c51c88387 Mon Sep 17 00:00:00 2001 From: Brandon Titus Date: Mon, 2 Nov 2020 14:12:36 -0700 Subject: [PATCH 4/7] Adds Fastlane action to download swiftlint --- .gitignore | 8 +++ fastlane/Fastfile | 4 +- fastlane/actions/install_swiftlint.rb | 81 +++++++++++++++++++++++++++ 3 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 fastlane/actions/install_swiftlint.rb diff --git a/.gitignore b/.gitignore index 3387dea3e..db911167d 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,14 @@ DerivedData # ignore snapshot failure files **/FailureDiffs/* +# Dependencies +/vendor/ + +# Fastlane +fastlane/Preview.html +fastlane/report.xml +fastlane/README.md + KanvasCameraExample/Pods/* !KanvasCameraExample/Pods/Target\ Support\ Files/ diff --git a/fastlane/Fastfile b/fastlane/Fastfile index f51a89c59..cafdc0181 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -1,5 +1,7 @@ lane :lint do + install_swiftlint(version: "0.40.3") swiftlint( - path: "Classes" + path: "Classes", + executable: ENV["INSTALL_SWIFTLINT_PATH"] ) end diff --git a/fastlane/actions/install_swiftlint.rb b/fastlane/actions/install_swiftlint.rb new file mode 100644 index 000000000..45f718fc9 --- /dev/null +++ b/fastlane/actions/install_swiftlint.rb @@ -0,0 +1,81 @@ +module Fastlane + module Actions + module SharedValues + INSTALL_SWIFTLINT_PATH = :INSTALL_SWIFTLINT_PATH + end + + class InstallSwiftlintAction < Action + def self.run(params) + + swiftlint_path = "./vendor/swiftlint" + swiftlint_bin = "#{swiftlint_path}/bin/swiftlint" + + version = params[:version] || ENV["FL_INSTALL_SWIFTLINT_VERSION"] + + # fastlane will take care of reading in the parameter and fetching the environment variable: + UI.message "Installing SwiftLint #{version} into #{swiftlint_path}" + + Dir.mktmpdir do |tmpdir| + # Try first using a binary release + zipfile = "#{tmpdir}/swiftlint-#{version}.zip" + sh "curl --fail --location -o #{zipfile} https://github.com/realm/SwiftLint/releases/download/#{version}/portable_swiftlint.zip || true" + if File.exists?(zipfile) + extracted_dir = "#{tmpdir}/swiftlint-#{version}" + sh "unzip #{zipfile} -d #{extracted_dir}" + FileUtils.mkdir_p("#{swiftlint_path}/bin") + FileUtils.cp("#{extracted_dir}/swiftlint", "#{swiftlint_path}/bin/swiftlint") + else + sh "git clone --quiet https://github.com/realm/SwiftLint.git #{tmpdir}" + Dir.chdir(tmpdir) do + sh "git checkout --quiet #{version}" + sh "git submodule --quiet update --init --recursive" + FileUtils.remove_entry_secure(swiftlint_path) if Dir.exist?(swiftlint_path) + FileUtils.mkdir_p(swiftlint_path) + sh "make prefix_install PREFIX='#{swiftlint_path}'" + end + end + end + + Actions.lane_context[SharedValues::INSTALL_SWIFTLINT_PATH] = swiftlint_bin + end + + ##################################################### + # @!group Documentation + ##################################################### + + def self.description + "Installs SwiftLint by downloading the portable_swiftlint release or compiling from source." + end + + def self.available_options + [ + FastlaneCore::ConfigItem.new(key: :version, + env_name: "FL_INSTALL_SWIFTLINT_VERSION", + description: "Version number for InstallSwiftlintAction", + verify_block: proc do |value| + UI.user_error!("No version number for InstallSwiftlintAction given, pass using `version: 'version number'`") unless (value and not value.empty?) + end) + ] + end + + def self.output + [ + ['INSTALL_SWIFTLINT_PATH', 'The path to SwiftLint executable.'] + ] + end + + def self.return_value + # If your method provides a return value, you can describe here what it does + end + + def self.authors + # So no one will ever forget your contribution to fastlane :) You are awesome btw! + ["bjtitus"] + end + + def self.is_supported?(platform) + [:ios, :mac].include?(platform) + end + end + end +end From 2397101244118908dab625218d8166cb80e2d077 Mon Sep 17 00:00:00 2001 From: Brandon Titus Date: Mon, 2 Nov 2020 14:32:56 -0700 Subject: [PATCH 5/7] Use SwiftLint path from shared Fastlane values --- fastlane/Fastfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index cafdc0181..3cb7625fb 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -2,6 +2,6 @@ lane :lint do install_swiftlint(version: "0.40.3") swiftlint( path: "Classes", - executable: ENV["INSTALL_SWIFTLINT_PATH"] + executable: lane_context[SharedValues::INSTALL_SWIFTLINT_PATH] ) end From d652afd8c750639a9e44cbbe692a14242a664aac Mon Sep 17 00:00:00 2001 From: Brandon Titus Date: Mon, 2 Nov 2020 19:42:32 -0700 Subject: [PATCH 6/7] Some cleanup and README improvements --- KanvasCameraExample/fastlane/Fastfile | 1 + KanvasCameraExample/fastlane/Scanfile | 1 - README.md | 19 ++++++++++++++++++- fastlane/Fastfile | 1 + 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/KanvasCameraExample/fastlane/Fastfile b/KanvasCameraExample/fastlane/Fastfile index a70db1653..e24c0b6a9 100644 --- a/KanvasCameraExample/fastlane/Fastfile +++ b/KanvasCameraExample/fastlane/Fastfile @@ -1,3 +1,4 @@ +desc "Installs pods and runs tests from the KanvasCameraExample project." lane :test do cocoapods scan diff --git a/KanvasCameraExample/fastlane/Scanfile b/KanvasCameraExample/fastlane/Scanfile index 0bf970db8..f302d4cfd 100644 --- a/KanvasCameraExample/fastlane/Scanfile +++ b/KanvasCameraExample/fastlane/Scanfile @@ -5,7 +5,6 @@ # fastlane scan --help scheme("KanvasCameraExample") -#devices(["iPhone 8"]) destination("platform=iOS Simulator,name=iPhone 8,OS=14.0") skip_build(true) diff --git a/README.md b/README.md index d2aef0ef5..8bcef32f8 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,29 @@ A library for capture and editing content from the Camera. +## Installation + +### Cocoapods + +`KanvasCamera, ~> 1.0` + ## Usage Entrypoint: `CameraController` - #### Customization - `CameraSettings` - `KanvasCameraCustomUI` + +## Development + +### Linting + +`fastlane lint` + +### Building + +The KanvasCameraExample project provides a sample project, snapshot and unit tests, and local Pod development location. + +`fastlane test` can be run in this directory to run the unit tests as CI does. diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 3cb7625fb..e285803d5 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -1,3 +1,4 @@ +desc "Installs SwiftLint from Github Releases & runs it on the library." lane :lint do install_swiftlint(version: "0.40.3") swiftlint( From e5bc1b05ce611a4fdc6de88d274ecb2819811424 Mon Sep 17 00:00:00 2001 From: Brandon Titus Date: Tue, 3 Nov 2020 12:10:24 -0700 Subject: [PATCH 7/7] Fix Cocoapods instructions --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8bcef32f8..fef1bafa4 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A library for capture and editing content from the Camera. ### Cocoapods -`KanvasCamera, ~> 1.0` +`pod KanvasCamera` ## Usage