diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9bce6af --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +xcuserdata diff --git a/Duotone-iOS.podspec b/Duotone-iOS.podspec new file mode 100644 index 0000000..1279131 --- /dev/null +++ b/Duotone-iOS.podspec @@ -0,0 +1,42 @@ +# +# Be sure to run `pod lib lint Duotone-iOS.podspec' to ensure this is a +# valid spec before submitting. +# +# Any lines starting with a # are optional, but their use is encouraged +# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html +# + +Pod::Spec.new do |s| + s.name = 'Duotone-iOS' + s.version = '1.0.0' + s.summary = 'Spotify\'s new brand identity is full of bright colours. Here is the same effect in iOS.' + +# This description is used to generate tags and improve search results. +# * Think: What does it do? Why did you write it? What is the focus? +# * Try to keep it short, snappy and to the point. +# * Write the description between the DESC delimiters below. +# * Finally, don't worry about the indent, CocoaPods strips it! + + s.description = <<-DESC +Spotify's new brand identity is full of bright colours. Here is the same effect in iOS. + DESC + + s.homepage = 'https://github.com/QuentinArnault/Duotone-iOS' + # s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2' + s.license = { :type => 'MIT', :file => 'LICENSE' } + s.author = { 'QuentinArnault' => 'quentin.arnault@gmail.com' } + s.source = { :git => 'https://github.com/QuentinArnault/Duotone-iOS.git', :tag => s.version.to_s } + # s.social_media_url = 'https://twitter.com/' + + s.ios.deployment_target = '8.4' + + s.source_files = 'Duotone-iOS/Classes/**/*' + + # s.resource_bundles = { + # 'Duotone-iOS' => ['Duotone-iOS/Assets/*.png'] + # } + + # s.public_header_files = 'Pod/Classes/**/*.h' + # s.frameworks = 'UIKit', 'MapKit' + # s.dependency 'AFNetworking', '~> 2.3' +end diff --git a/Duotone/STLDuotoneConverter.h b/Duotone-iOS/Classes/STLDuotoneConverter.h similarity index 100% rename from Duotone/STLDuotoneConverter.h rename to Duotone-iOS/Classes/STLDuotoneConverter.h diff --git a/Duotone/STLDuotoneConverter.m b/Duotone-iOS/Classes/STLDuotoneConverter.m similarity index 100% rename from Duotone/STLDuotoneConverter.m rename to Duotone-iOS/Classes/STLDuotoneConverter.m diff --git a/Duotone.xcodeproj/project.pbxproj b/Example/Duotone.xcodeproj/project.pbxproj similarity index 75% rename from Duotone.xcodeproj/project.pbxproj rename to Example/Duotone.xcodeproj/project.pbxproj index 5a90d0d..6c91ecd 100644 --- a/Duotone.xcodeproj/project.pbxproj +++ b/Example/Duotone.xcodeproj/project.pbxproj @@ -13,7 +13,7 @@ 1AD6260B1B596E6200AB8518 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1AD626091B596E6200AB8518 /* Main.storyboard */; }; 1AD6260D1B596E6200AB8518 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1AD6260C1B596E6200AB8518 /* Assets.xcassets */; }; 1AD626101B596E6200AB8518 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1AD6260E1B596E6200AB8518 /* LaunchScreen.storyboard */; }; - 1AD626191B596EBE00AB8518 /* STLDuotoneConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AD626181B596EBE00AB8518 /* STLDuotoneConverter.m */; }; + 9D487F3206CB929A32D15B78 /* Pods_Duotone.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 67867A9C09B3552EA5F1C4AD /* Pods_Duotone.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -27,8 +27,9 @@ 1AD6260C1B596E6200AB8518 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 1AD6260F1B596E6200AB8518 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 1AD626111B596E6200AB8518 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 1AD626171B596EBE00AB8518 /* STLDuotoneConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STLDuotoneConverter.h; sourceTree = ""; }; - 1AD626181B596EBE00AB8518 /* STLDuotoneConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STLDuotoneConverter.m; sourceTree = ""; }; + 26D1C1256899BF7BCC60DEC0 /* Pods-Duotone.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Duotone.release.xcconfig"; path = "Pods/Target Support Files/Pods-Duotone/Pods-Duotone.release.xcconfig"; sourceTree = ""; }; + 4B761D1E0956A1FEFAF6D024 /* Pods-Duotone.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Duotone.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Duotone/Pods-Duotone.debug.xcconfig"; sourceTree = ""; }; + 67867A9C09B3552EA5F1C4AD /* Pods_Duotone.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Duotone.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -36,17 +37,29 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 9D487F3206CB929A32D15B78 /* Pods_Duotone.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 0C95F881BB548E004A512C5D /* Pods */ = { + isa = PBXGroup; + children = ( + 4B761D1E0956A1FEFAF6D024 /* Pods-Duotone.debug.xcconfig */, + 26D1C1256899BF7BCC60DEC0 /* Pods-Duotone.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; 1AD625F41B596E6200AB8518 = { isa = PBXGroup; children = ( 1AD625FF1B596E6200AB8518 /* Duotone */, 1AD625FE1B596E6200AB8518 /* Products */, + 0C95F881BB548E004A512C5D /* Pods */, + 68173DA63E8CE722B09891B6 /* Frameworks */, ); sourceTree = ""; }; @@ -63,8 +76,6 @@ children = ( 1AD626031B596E6200AB8518 /* AppDelegate.h */, 1AD626041B596E6200AB8518 /* AppDelegate.m */, - 1AD626171B596EBE00AB8518 /* STLDuotoneConverter.h */, - 1AD626181B596EBE00AB8518 /* STLDuotoneConverter.m */, 1AD626061B596E6200AB8518 /* ViewController.h */, 1AD626071B596E6200AB8518 /* ViewController.m */, 1AD626091B596E6200AB8518 /* Main.storyboard */, @@ -84,6 +95,14 @@ name = "Supporting Files"; sourceTree = ""; }; + 68173DA63E8CE722B09891B6 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 67867A9C09B3552EA5F1C4AD /* Pods_Duotone.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -91,9 +110,11 @@ isa = PBXNativeTarget; buildConfigurationList = 1AD626141B596E6200AB8518 /* Build configuration list for PBXNativeTarget "Duotone" */; buildPhases = ( + 583CC95B7B42094E66707747 /* [CP] Check Pods Manifest.lock */, 1AD625F91B596E6200AB8518 /* Sources */, 1AD625FA1B596E6200AB8518 /* Frameworks */, 1AD625FB1B596E6200AB8518 /* Resources */, + 65899E3A0121E81DC33F578A /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -115,6 +136,7 @@ TargetAttributes = { 1AD625FC1B596E6200AB8518 = { CreatedOnToolsVersion = 7.0; + DevelopmentTeam = LLV33K3333; }; }; }; @@ -149,6 +171,45 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 583CC95B7B42094E66707747 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Duotone-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 65899E3A0121E81DC33F578A /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/Duotone-iOS/Duotone_iOS.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Duotone_iOS.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 1AD625F91B596E6200AB8518 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -156,7 +217,6 @@ files = ( 1AD626081B596E6200AB8518 /* ViewController.m in Sources */, 1AD626051B596E6200AB8518 /* AppDelegate.m in Sources */, - 1AD626191B596EBE00AB8518 /* STLDuotoneConverter.m in Sources */, 1AD626021B596E6200AB8518 /* main.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -265,8 +325,10 @@ }; 1AD626151B596E6200AB8518 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 4B761D1E0956A1FEFAF6D024 /* Pods-Duotone.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + DEVELOPMENT_TEAM = LLV33K3333; INFOPLIST_FILE = Duotone/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -277,8 +339,10 @@ }; 1AD626161B596E6200AB8518 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 26D1C1256899BF7BCC60DEC0 /* Pods-Duotone.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + DEVELOPMENT_TEAM = LLV33K3333; INFOPLIST_FILE = Duotone/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -306,6 +370,7 @@ 1AD626161B596E6200AB8518 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/Duotone.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Example/Duotone.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from Duotone.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Example/Duotone.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/Example/Duotone.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/Duotone.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Example/Duotone.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Example/Duotone.xcworkspace/contents.xcworkspacedata b/Example/Duotone.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..7689962 --- /dev/null +++ b/Example/Duotone.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Example/Duotone.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/Duotone.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Example/Duotone.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Duotone/AppDelegate.h b/Example/Duotone/AppDelegate.h similarity index 100% rename from Duotone/AppDelegate.h rename to Example/Duotone/AppDelegate.h diff --git a/Duotone/AppDelegate.m b/Example/Duotone/AppDelegate.m similarity index 100% rename from Duotone/AppDelegate.m rename to Example/Duotone/AppDelegate.m diff --git a/Duotone/Assets.xcassets/AppIcon.appiconset/App icon + D Copy 2.png b/Example/Duotone/Assets.xcassets/AppIcon.appiconset/App icon + D Copy 2.png similarity index 100% rename from Duotone/Assets.xcassets/AppIcon.appiconset/App icon + D Copy 2.png rename to Example/Duotone/Assets.xcassets/AppIcon.appiconset/App icon + D Copy 2.png diff --git a/Duotone/Assets.xcassets/AppIcon.appiconset/App icon + D Copy.png b/Example/Duotone/Assets.xcassets/AppIcon.appiconset/App icon + D Copy.png similarity index 100% rename from Duotone/Assets.xcassets/AppIcon.appiconset/App icon + D Copy.png rename to Example/Duotone/Assets.xcassets/AppIcon.appiconset/App icon + D Copy.png diff --git a/Duotone/Assets.xcassets/AppIcon.appiconset/Contents.json b/Example/Duotone/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Duotone/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Example/Duotone/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/Duotone/Assets.xcassets/Contents.json b/Example/Duotone/Assets.xcassets/Contents.json similarity index 100% rename from Duotone/Assets.xcassets/Contents.json rename to Example/Duotone/Assets.xcassets/Contents.json diff --git a/Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Contents.json b/Example/Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Contents.json similarity index 100% rename from Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Contents.json rename to Example/Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Contents.json diff --git a/Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Rectangle 1-1.png b/Example/Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Rectangle 1-1.png similarity index 100% rename from Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Rectangle 1-1.png rename to Example/Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Rectangle 1-1.png diff --git a/Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Rectangle 1-2.png b/Example/Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Rectangle 1-2.png similarity index 100% rename from Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Rectangle 1-2.png rename to Example/Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Rectangle 1-2.png diff --git a/Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Rectangle 1.png b/Example/Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Rectangle 1.png similarity index 100% rename from Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Rectangle 1.png rename to Example/Duotone/Assets.xcassets/LaunchScreenBackground.imageset/Rectangle 1.png diff --git a/Duotone/Assets.xcassets/Rihanna.imageset/Contents.json b/Example/Duotone/Assets.xcassets/Rihanna.imageset/Contents.json similarity index 100% rename from Duotone/Assets.xcassets/Rihanna.imageset/Contents.json rename to Example/Duotone/Assets.xcassets/Rihanna.imageset/Contents.json diff --git a/Duotone/Assets.xcassets/Rihanna.imageset/rihanna-bazaar-1.jpg b/Example/Duotone/Assets.xcassets/Rihanna.imageset/rihanna-bazaar-1.jpg similarity index 100% rename from Duotone/Assets.xcassets/Rihanna.imageset/rihanna-bazaar-1.jpg rename to Example/Duotone/Assets.xcassets/Rihanna.imageset/rihanna-bazaar-1.jpg diff --git a/Duotone/Assets.xcassets/Rihanna.imageset/rihanna-bazaar-2.jpg b/Example/Duotone/Assets.xcassets/Rihanna.imageset/rihanna-bazaar-2.jpg similarity index 100% rename from Duotone/Assets.xcassets/Rihanna.imageset/rihanna-bazaar-2.jpg rename to Example/Duotone/Assets.xcassets/Rihanna.imageset/rihanna-bazaar-2.jpg diff --git a/Duotone/Assets.xcassets/Rihanna.imageset/rihanna-bazaar-3.jpg b/Example/Duotone/Assets.xcassets/Rihanna.imageset/rihanna-bazaar-3.jpg similarity index 100% rename from Duotone/Assets.xcassets/Rihanna.imageset/rihanna-bazaar-3.jpg rename to Example/Duotone/Assets.xcassets/Rihanna.imageset/rihanna-bazaar-3.jpg diff --git a/Duotone/Base.lproj/LaunchScreen.storyboard b/Example/Duotone/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from Duotone/Base.lproj/LaunchScreen.storyboard rename to Example/Duotone/Base.lproj/LaunchScreen.storyboard diff --git a/Duotone/Base.lproj/Main.storyboard b/Example/Duotone/Base.lproj/Main.storyboard similarity index 100% rename from Duotone/Base.lproj/Main.storyboard rename to Example/Duotone/Base.lproj/Main.storyboard diff --git a/Duotone/Info.plist b/Example/Duotone/Info.plist similarity index 100% rename from Duotone/Info.plist rename to Example/Duotone/Info.plist diff --git a/Duotone/ViewController.h b/Example/Duotone/ViewController.h similarity index 100% rename from Duotone/ViewController.h rename to Example/Duotone/ViewController.h diff --git a/Duotone/ViewController.m b/Example/Duotone/ViewController.m similarity index 100% rename from Duotone/ViewController.m rename to Example/Duotone/ViewController.m diff --git a/Duotone/main.m b/Example/Duotone/main.m similarity index 100% rename from Duotone/main.m rename to Example/Duotone/main.m diff --git a/Example/Podfile b/Example/Podfile new file mode 100644 index 0000000..2d19a58 --- /dev/null +++ b/Example/Podfile @@ -0,0 +1,6 @@ +use_frameworks! + +target 'Duotone' do + pod 'Duotone-iOS', :path => '../' + +end diff --git a/Example/Podfile.lock b/Example/Podfile.lock new file mode 100644 index 0000000..6c92c1c --- /dev/null +++ b/Example/Podfile.lock @@ -0,0 +1,16 @@ +PODS: + - Duotone-iOS (0.1.0) + +DEPENDENCIES: + - Duotone-iOS (from `../`) + +EXTERNAL SOURCES: + Duotone-iOS: + :path: "../" + +SPEC CHECKSUMS: + Duotone-iOS: c64c5a5a3a3750f1da82718675586384d8cebd6f + +PODFILE CHECKSUM: 934ae438696342571ec1f29db315dd0bca04466f + +COCOAPODS: 1.5.3 diff --git a/Example/Pods/Local Podspecs/Duotone-iOS.podspec.json b/Example/Pods/Local Podspecs/Duotone-iOS.podspec.json new file mode 100644 index 0000000..f732737 --- /dev/null +++ b/Example/Pods/Local Podspecs/Duotone-iOS.podspec.json @@ -0,0 +1,22 @@ +{ + "name": "Duotone-iOS", + "version": "0.1.0", + "summary": "A short description of Duotone-iOS.", + "description": "TODO: Add long description of the pod here.", + "homepage": "https://github.com/QuentinArnault/Duotone-iOS", + "license": { + "type": "MIT", + "file": "LICENSE" + }, + "authors": { + "QuentinArnault": "quentin.arnault@gmail.com" + }, + "source": { + "git": "https://github.com/QuentinArnault/Duotone-iOS.git", + "tag": "0.1.0" + }, + "platforms": { + "ios": "8.0" + }, + "source_files": "Duotone-iOS/Classes/**/*" +} diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock new file mode 100644 index 0000000..6c92c1c --- /dev/null +++ b/Example/Pods/Manifest.lock @@ -0,0 +1,16 @@ +PODS: + - Duotone-iOS (0.1.0) + +DEPENDENCIES: + - Duotone-iOS (from `../`) + +EXTERNAL SOURCES: + Duotone-iOS: + :path: "../" + +SPEC CHECKSUMS: + Duotone-iOS: c64c5a5a3a3750f1da82718675586384d8cebd6f + +PODFILE CHECKSUM: 934ae438696342571ec1f29db315dd0bca04466f + +COCOAPODS: 1.5.3 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj new file mode 100644 index 0000000..6e8ed32 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,602 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 062F335A103FF82B6C5AE54B89F04649 /* STLDuotoneConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 47DD8AC768A7DB1C68CEEE572AF3CAB8 /* STLDuotoneConverter.m */; }; + 0E1EBC36823FD659EEE3608067C1B6E3 /* STLDuotoneConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = B77268AAD5F34692425CBB4AEDD01BA9 /* STLDuotoneConverter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 611BE16D6AC29784BAFF5DF3F5605A9B /* Pods-Duotone-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D6E812FDAB617B64FD039607D386BFA /* Pods-Duotone-dummy.m */; }; + 6EA5566A90C3175B55966AE5B375A65F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */; }; + 9EA696F3596D08F2E4B931CC442F48BB /* Pods-Duotone-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 40727920B836A6386AABB5556A1E915C /* Pods-Duotone-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A9FE7D51D86679EA84E50D0A9B23C1AE /* Duotone-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C7A3AF21335C06CB632A3ACBDEC9BE5D /* Duotone-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA5496E85231A781659F5432E5F7E83C /* Duotone-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7617DFB33C483A3E41D3070A4FB22D43 /* Duotone-iOS-dummy.m */; }; + F09DEAECA46FED0DB665B55CAEE5A15C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 27495624A311B5CD3F7C77D2F3010241 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 7D09F6C97D3DF386192738A155700B18; + remoteInfo = "Duotone-iOS"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 08A4DB71C6FCB613B680F53084DFD0B5 /* Pods-Duotone-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Duotone-acknowledgements.plist"; sourceTree = ""; }; + 0AE340D8FC0F2E3810482B21B2244509 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 1321576453E489C006B65824A111E50E /* Pods-Duotone-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Duotone-frameworks.sh"; sourceTree = ""; }; + 15F64D254E518A00F06067CF0A77B6BE /* Pods-Duotone.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Duotone.debug.xcconfig"; sourceTree = ""; }; + 1CB42F5F087EB9100E6B5FB60BB3473C /* Duotone_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Duotone_iOS.framework; path = "Duotone-iOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 1D6E812FDAB617B64FD039607D386BFA /* Pods-Duotone-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Duotone-dummy.m"; sourceTree = ""; }; + 2134DDF72F6439C7088022539087EF7E /* Pods_Duotone.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_Duotone.framework; path = "Pods-Duotone.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2A4B46D2665075E1783A542685D8823F /* Duotone-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Duotone-iOS-prefix.pch"; sourceTree = ""; }; + 3EE51C96B8455A17C577B5E52840D391 /* Duotone-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Duotone-iOS.xcconfig"; sourceTree = ""; }; + 40727920B836A6386AABB5556A1E915C /* Pods-Duotone-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Duotone-umbrella.h"; sourceTree = ""; }; + 415F8DDBADCD19A5AC5FBC15861C3E08 /* Pods-Duotone-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Duotone-resources.sh"; sourceTree = ""; }; + 47DD8AC768A7DB1C68CEEE572AF3CAB8 /* STLDuotoneConverter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = STLDuotoneConverter.m; path = "Duotone-iOS/Classes/STLDuotoneConverter.m"; sourceTree = ""; }; + 4DC76859B79F22D7F7DCEC4890EFDD97 /* Duotone-iOS.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = "Duotone-iOS.podspec"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 59D72FBAFCDCC76C4C4AD72308362DB1 /* Pods-Duotone-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Duotone-acknowledgements.markdown"; sourceTree = ""; }; + 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 7617DFB33C483A3E41D3070A4FB22D43 /* Duotone-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Duotone-iOS-dummy.m"; sourceTree = ""; }; + 7E5773894DCB8EDDCE9A0BFBD975D635 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 9FF6CEE9F92B803BEA85BE86C9EC348E /* Pods-Duotone.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Duotone.modulemap"; sourceTree = ""; }; + A43E17B19F58E7404106C037930B5A93 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B77268AAD5F34692425CBB4AEDD01BA9 /* STLDuotoneConverter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = STLDuotoneConverter.h; path = "Duotone-iOS/Classes/STLDuotoneConverter.h"; sourceTree = ""; }; + B9583338085C0462770593D00FBDCCAE /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + C7A3AF21335C06CB632A3ACBDEC9BE5D /* Duotone-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Duotone-iOS-umbrella.h"; sourceTree = ""; }; + E16692E8903C95DACA15FAA4121AD383 /* Pods-Duotone.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Duotone.release.xcconfig"; sourceTree = ""; }; + F85E2462AADCDBCB727F995438755336 /* Duotone-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Duotone-iOS.modulemap"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 4A9BB2E07C7315BC50EB83345D659EA1 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 6EA5566A90C3175B55966AE5B375A65F /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 936A8D6D831569D03A789CAAAF9E9B65 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F09DEAECA46FED0DB665B55CAEE5A15C /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 4BF0E876334DFE66174524B083915853 /* Products */ = { + isa = PBXGroup; + children = ( + 1CB42F5F087EB9100E6B5FB60BB3473C /* Duotone_iOS.framework */, + 2134DDF72F6439C7088022539087EF7E /* Pods_Duotone.framework */, + ); + name = Products; + sourceTree = ""; + }; + 5E0D919E635D23B70123790B8308F8EF /* iOS */ = { + isa = PBXGroup; + children = ( + 5A16F4CFC63FAC439D7A04994F579A03 /* Foundation.framework */, + ); + name = iOS; + sourceTree = ""; + }; + 74CBA7457149644BEB35CBD0DAA701B4 /* Pod */ = { + isa = PBXGroup; + children = ( + 4DC76859B79F22D7F7DCEC4890EFDD97 /* Duotone-iOS.podspec */, + B9583338085C0462770593D00FBDCCAE /* LICENSE */, + 7E5773894DCB8EDDCE9A0BFBD975D635 /* README.md */, + ); + name = Pod; + sourceTree = ""; + }; + 7DB346D0F39D3F0E887471402A8071AB = { + isa = PBXGroup; + children = ( + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, + DB2951A93F884A76EF773055F85ACB44 /* Development Pods */, + BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, + 4BF0E876334DFE66174524B083915853 /* Products */, + BAEF98F974ACFD9C5E56AE6DB9C938F5 /* Targets Support Files */, + ); + sourceTree = ""; + }; + AF0128A639C8635DEC7C7C2013215851 /* Support Files */ = { + isa = PBXGroup; + children = ( + F85E2462AADCDBCB727F995438755336 /* Duotone-iOS.modulemap */, + 3EE51C96B8455A17C577B5E52840D391 /* Duotone-iOS.xcconfig */, + 7617DFB33C483A3E41D3070A4FB22D43 /* Duotone-iOS-dummy.m */, + 2A4B46D2665075E1783A542685D8823F /* Duotone-iOS-prefix.pch */, + C7A3AF21335C06CB632A3ACBDEC9BE5D /* Duotone-iOS-umbrella.h */, + A43E17B19F58E7404106C037930B5A93 /* Info.plist */, + ); + name = "Support Files"; + path = "Example/Pods/Target Support Files/Duotone-iOS"; + sourceTree = ""; + }; + B61391003381D342F007B827D50FC917 /* Pods-Duotone */ = { + isa = PBXGroup; + children = ( + 0AE340D8FC0F2E3810482B21B2244509 /* Info.plist */, + 9FF6CEE9F92B803BEA85BE86C9EC348E /* Pods-Duotone.modulemap */, + 59D72FBAFCDCC76C4C4AD72308362DB1 /* Pods-Duotone-acknowledgements.markdown */, + 08A4DB71C6FCB613B680F53084DFD0B5 /* Pods-Duotone-acknowledgements.plist */, + 1D6E812FDAB617B64FD039607D386BFA /* Pods-Duotone-dummy.m */, + 1321576453E489C006B65824A111E50E /* Pods-Duotone-frameworks.sh */, + 415F8DDBADCD19A5AC5FBC15861C3E08 /* Pods-Duotone-resources.sh */, + 40727920B836A6386AABB5556A1E915C /* Pods-Duotone-umbrella.h */, + 15F64D254E518A00F06067CF0A77B6BE /* Pods-Duotone.debug.xcconfig */, + E16692E8903C95DACA15FAA4121AD383 /* Pods-Duotone.release.xcconfig */, + ); + name = "Pods-Duotone"; + path = "Target Support Files/Pods-Duotone"; + sourceTree = ""; + }; + BAEF98F974ACFD9C5E56AE6DB9C938F5 /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + B61391003381D342F007B827D50FC917 /* Pods-Duotone */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; + BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { + isa = PBXGroup; + children = ( + 5E0D919E635D23B70123790B8308F8EF /* iOS */, + ); + name = Frameworks; + sourceTree = ""; + }; + C166ED609C4F0CF6172F7DC8D814CAAD /* Duotone-iOS */ = { + isa = PBXGroup; + children = ( + B77268AAD5F34692425CBB4AEDD01BA9 /* STLDuotoneConverter.h */, + 47DD8AC768A7DB1C68CEEE572AF3CAB8 /* STLDuotoneConverter.m */, + 74CBA7457149644BEB35CBD0DAA701B4 /* Pod */, + AF0128A639C8635DEC7C7C2013215851 /* Support Files */, + ); + name = "Duotone-iOS"; + path = ../..; + sourceTree = ""; + }; + DB2951A93F884A76EF773055F85ACB44 /* Development Pods */ = { + isa = PBXGroup; + children = ( + C166ED609C4F0CF6172F7DC8D814CAAD /* Duotone-iOS */, + ); + name = "Development Pods"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8F873ABDD6CD9D554C0084FC93A57016 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + A9FE7D51D86679EA84E50D0A9B23C1AE /* Duotone-iOS-umbrella.h in Headers */, + 0E1EBC36823FD659EEE3608067C1B6E3 /* STLDuotoneConverter.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B85E7805569E68933DE2943816C71EA8 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 9EA696F3596D08F2E4B931CC442F48BB /* Pods-Duotone-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 7D09F6C97D3DF386192738A155700B18 /* Duotone-iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = ED645875C27EA864E91F8918E3140A09 /* Build configuration list for PBXNativeTarget "Duotone-iOS" */; + buildPhases = ( + 8F873ABDD6CD9D554C0084FC93A57016 /* Headers */, + 5F4F867F31BD7362718D2CDC5DB35BB0 /* Sources */, + 4A9BB2E07C7315BC50EB83345D659EA1 /* Frameworks */, + AAE336FA44955F95A0FF7B27179F1B50 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Duotone-iOS"; + productName = "Duotone-iOS"; + productReference = 1CB42F5F087EB9100E6B5FB60BB3473C /* Duotone_iOS.framework */; + productType = "com.apple.product-type.framework"; + }; + FC153D74B91A5109DCFC6ACD720F1E96 /* Pods-Duotone */ = { + isa = PBXNativeTarget; + buildConfigurationList = F582A4826981B77772F8FECA470EA29F /* Build configuration list for PBXNativeTarget "Pods-Duotone" */; + buildPhases = ( + B85E7805569E68933DE2943816C71EA8 /* Headers */, + 4EC76425B55DA7361DE50C445857CAF5 /* Sources */, + 936A8D6D831569D03A789CAAAF9E9B65 /* Frameworks */, + BDAD5440808B6EAD7779D1BC6CB90157 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 7295305A7122D48E6387418E7DBC9FC2 /* PBXTargetDependency */, + ); + name = "Pods-Duotone"; + productName = "Pods-Duotone"; + productReference = 2134DDF72F6439C7088022539087EF7E /* Pods_Duotone.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0930; + LastUpgradeCheck = 0930; + }; + buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 7DB346D0F39D3F0E887471402A8071AB; + productRefGroup = 4BF0E876334DFE66174524B083915853 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 7D09F6C97D3DF386192738A155700B18 /* Duotone-iOS */, + FC153D74B91A5109DCFC6ACD720F1E96 /* Pods-Duotone */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + AAE336FA44955F95A0FF7B27179F1B50 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BDAD5440808B6EAD7779D1BC6CB90157 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 4EC76425B55DA7361DE50C445857CAF5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 611BE16D6AC29784BAFF5DF3F5605A9B /* Pods-Duotone-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5F4F867F31BD7362718D2CDC5DB35BB0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DA5496E85231A781659F5432E5F7E83C /* Duotone-iOS-dummy.m in Sources */, + 062F335A103FF82B6C5AE54B89F04649 /* STLDuotoneConverter.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 7295305A7122D48E6387418E7DBC9FC2 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Duotone-iOS"; + target = 7D09F6C97D3DF386192738A155700B18 /* Duotone-iOS */; + targetProxy = 27495624A311B5CD3F7C77D2F3010241 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 15BEFC887416370D1A1CAFC706E173D0 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E16692E8903C95DACA15FAA4121AD383 /* Pods-Duotone.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-Duotone/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-Duotone/Pods-Duotone.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 4BD8CE6C18CBFCC87A7AC5A440074A2A /* 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; + CODE_SIGNING_ALLOWED = NO; + CODE_SIGNING_REQUIRED = NO; + 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 = 8.4; + 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; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; + 9ECCEEAB96890374F8C9372915A9D25E /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 15F64D254E518A00F06067CF0A77B6BE /* Pods-Duotone.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-Duotone/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-Duotone/Pods-Duotone.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + C7D9CE85C750907D3A8E2C7CCFBF63AD /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3EE51C96B8455A17C577B5E52840D391 /* Duotone-iOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Duotone-iOS/Duotone-iOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Duotone-iOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Duotone-iOS/Duotone-iOS.modulemap"; + PRODUCT_MODULE_NAME = Duotone_iOS; + PRODUCT_NAME = Duotone_iOS; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + C86224D9FCFCDC6E6B3E31458F146187 /* 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; + CODE_SIGNING_ALLOWED = NO; + CODE_SIGNING_REQUIRED = NO; + 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 = 8.4; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; + C91CEB44A967F9EB2DFAFE511C77E0E2 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3EE51C96B8455A17C577B5E52840D391 /* Duotone-iOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Duotone-iOS/Duotone-iOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Duotone-iOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Duotone-iOS/Duotone-iOS.modulemap"; + PRODUCT_MODULE_NAME = Duotone_iOS; + PRODUCT_NAME = Duotone_iOS; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4BD8CE6C18CBFCC87A7AC5A440074A2A /* Debug */, + C86224D9FCFCDC6E6B3E31458F146187 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + ED645875C27EA864E91F8918E3140A09 /* Build configuration list for PBXNativeTarget "Duotone-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C91CEB44A967F9EB2DFAFE511C77E0E2 /* Debug */, + C7D9CE85C750907D3A8E2C7CCFBF63AD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F582A4826981B77772F8FECA470EA29F /* Build configuration list for PBXNativeTarget "Pods-Duotone" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9ECCEEAB96890374F8C9372915A9D25E /* Debug */, + 15BEFC887416370D1A1CAFC706E173D0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; +} diff --git a/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS-dummy.m b/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS-dummy.m new file mode 100644 index 0000000..98deeef --- /dev/null +++ b/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Duotone_iOS : NSObject +@end +@implementation PodsDummy_Duotone_iOS +@end diff --git a/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS-prefix.pch b/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS-prefix.pch @@ -0,0 +1,12 @@ +#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/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS-umbrella.h b/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS-umbrella.h new file mode 100644 index 0000000..1e386b5 --- /dev/null +++ b/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS-umbrella.h @@ -0,0 +1,17 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "STLDuotoneConverter.h" + +FOUNDATION_EXPORT double Duotone_iOSVersionNumber; +FOUNDATION_EXPORT const unsigned char Duotone_iOSVersionString[]; + diff --git a/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS.modulemap b/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS.modulemap new file mode 100644 index 0000000..dc649a9 --- /dev/null +++ b/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS.modulemap @@ -0,0 +1,6 @@ +framework module Duotone_iOS { + umbrella header "Duotone-iOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS.xcconfig b/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS.xcconfig new file mode 100644 index 0000000..75319a8 --- /dev/null +++ b/Example/Pods/Target Support Files/Duotone-iOS/Duotone-iOS.xcconfig @@ -0,0 +1,8 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Duotone-iOS +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +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 diff --git a/Example/Pods/Target Support Files/Duotone-iOS/Info.plist b/Example/Pods/Target Support Files/Duotone-iOS/Info.plist new file mode 100644 index 0000000..161a9d3 --- /dev/null +++ b/Example/Pods/Target Support Files/Duotone-iOS/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 0.1.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/Pods-Duotone/Info.plist b/Example/Pods/Target Support Files/Pods-Duotone/Info.plist new file mode 100644 index 0000000..2243fe6 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Duotone/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-acknowledgements.markdown new file mode 100644 index 0000000..429b09c --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-acknowledgements.markdown @@ -0,0 +1,26 @@ +# Acknowledgements +This application makes use of the following third party libraries: + +## Duotone-iOS + +Copyright (c) 2018 QuentinArnault + +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. + +Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-acknowledgements.plist new file mode 100644 index 0000000..2bc6e2e --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-acknowledgements.plist @@ -0,0 +1,58 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2018 QuentinArnault <quentin.arnault@gmail.com> + +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. + + License + MIT + Title + Duotone-iOS + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-dummy.m b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-dummy.m new file mode 100644 index 0000000..611c1e8 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_Duotone : NSObject +@end +@implementation PodsDummy_Pods_Duotone +@end diff --git a/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-frameworks.sh b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-frameworks.sh new file mode 100755 index 0000000..28bcb30 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-frameworks.sh @@ -0,0 +1,153 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" +SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" + +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# 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 .*.??????") + +# Copies and strips a vendored framework +install_framework() +{ + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + elif [ -r "$1" ]; then + local source="$1" + fi + + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + + if [ -L "${source}" ]; then + echo "Symlinked..." + source="$(readlink "${source}")" + fi + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + + # Resign the code if required by the build settings to avoid unstable apps + code_sign_if_enabled "${destination}/$(basename "$1")" + + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi +} + +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + if [ -r "$source" ]; then + # Copy the dSYM into a the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .framework.dSYM "$source")" + binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then + strip_invalid_archs "$binary" + fi + + if [[ $STRIP_BINARY_RETVAL == 1 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" + fi + fi +} + +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identitiy + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} + +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + STRIP_BINARY_RETVAL=0 + return + fi + stripped="" + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" || exit 1 + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi + STRIP_BINARY_RETVAL=1 +} + + +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/Duotone-iOS/Duotone_iOS.framework" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/Duotone-iOS/Duotone_iOS.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait +fi diff --git a/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-resources.sh b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-resources.sh new file mode 100755 index 0000000..345301f --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-resources.sh @@ -0,0 +1,118 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +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 +} + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi +rm -f "$RESOURCES_TO_COPY" + +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] +then + # Find all other xcassets (this unfortunately includes those of path pods and other targets). + OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) + while read line; do + if [[ $line != "${PODS_ROOT}*" ]]; then + XCASSET_FILES+=("$line") + fi + done <<<"$OTHER_XCASSETS" + + 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/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-umbrella.h b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-umbrella.h new file mode 100644 index 0000000..680f8f5 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone-umbrella.h @@ -0,0 +1,16 @@ +#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_DuotoneVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_DuotoneVersionString[]; + diff --git a/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone.debug.xcconfig b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone.debug.xcconfig new file mode 100644 index 0000000..1fe7399 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone.debug.xcconfig @@ -0,0 +1,9 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Duotone-iOS" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Duotone-iOS/Duotone_iOS.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Duotone_iOS" +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 diff --git a/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone.modulemap b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone.modulemap new file mode 100644 index 0000000..c19191a --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone.modulemap @@ -0,0 +1,6 @@ +framework module Pods_Duotone { + umbrella header "Pods-Duotone-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone.release.xcconfig b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone.release.xcconfig new file mode 100644 index 0000000..1fe7399 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Duotone/Pods-Duotone.release.xcconfig @@ -0,0 +1,9 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Duotone-iOS" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Duotone-iOS/Duotone_iOS.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "Duotone_iOS" +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 diff --git a/Example/Tests/Tests-Info.plist b/Example/Tests/Tests-Info.plist new file mode 100644 index 0000000..169b6f7 --- /dev/null +++ b/Example/Tests/Tests-Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/Example/Tests/Tests-Prefix.pch b/Example/Tests/Tests-Prefix.pch new file mode 100644 index 0000000..0bfb741 --- /dev/null +++ b/Example/Tests/Tests-Prefix.pch @@ -0,0 +1,7 @@ +// The contents of this file are implicitly included at the beginning of every test case source file. + +#ifdef __OBJC__ + + + +#endif diff --git a/Example/Tests/Tests.m b/Example/Tests/Tests.m new file mode 100644 index 0000000..714ddac --- /dev/null +++ b/Example/Tests/Tests.m @@ -0,0 +1,35 @@ +// +// Duotone-iOSTests.m +// Duotone-iOSTests +// +// Created by QuentinArnault on 11/06/2018. +// Copyright (c) 2018 QuentinArnault. All rights reserved. +// + +@import XCTest; + +@interface Tests : XCTestCase + +@end + +@implementation Tests + +- (void)setUp +{ + [super setUp]; + // Put setup code here. This method is called before the invocation of each test method in the class. +} + +- (void)tearDown +{ + // Put teardown code here. This method is called after the invocation of each test method in the class. + [super tearDown]; +} + +- (void)testExample +{ + XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__); +} + +@end + diff --git a/Example/Tests/en.lproj/InfoPlist.strings b/Example/Tests/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/Example/Tests/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..185229a --- /dev/null +++ b/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2018 QuentinArnault + +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. diff --git a/_Pods.xcodeproj b/_Pods.xcodeproj new file mode 120000 index 0000000..3c5a8e7 --- /dev/null +++ b/_Pods.xcodeproj @@ -0,0 +1 @@ +Example/Pods/Pods.xcodeproj \ No newline at end of file