diff --git a/Example/Media.xcassets/checkBox.imageset/Contents.json b/Example/Media.xcassets/checkBox.imageset/Contents.json new file mode 100644 index 0000000..b2f07a0 --- /dev/null +++ b/Example/Media.xcassets/checkBox.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "checkBox.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "checkBox@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "checkBox@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Media.xcassets/checkBox.imageset/checkBox.png b/Example/Media.xcassets/checkBox.imageset/checkBox.png new file mode 100644 index 0000000..caa4fec Binary files /dev/null and b/Example/Media.xcassets/checkBox.imageset/checkBox.png differ diff --git a/Example/Media.xcassets/checkBox.imageset/checkBox@2x.png b/Example/Media.xcassets/checkBox.imageset/checkBox@2x.png new file mode 100644 index 0000000..13cd7b2 Binary files /dev/null and b/Example/Media.xcassets/checkBox.imageset/checkBox@2x.png differ diff --git a/Example/Media.xcassets/checkBox.imageset/checkBox@3x.png b/Example/Media.xcassets/checkBox.imageset/checkBox@3x.png new file mode 100644 index 0000000..3428600 Binary files /dev/null and b/Example/Media.xcassets/checkBox.imageset/checkBox@3x.png differ diff --git a/Example/Media.xcassets/checkBoxSelected.imageset/Contents.json b/Example/Media.xcassets/checkBoxSelected.imageset/Contents.json new file mode 100644 index 0000000..3c3fa8c --- /dev/null +++ b/Example/Media.xcassets/checkBoxSelected.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "checkBoxSelected.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "checkBoxSelected@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "checkBoxSelected@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Media.xcassets/checkBoxSelected.imageset/checkBoxSelected.png b/Example/Media.xcassets/checkBoxSelected.imageset/checkBoxSelected.png new file mode 100644 index 0000000..832196f Binary files /dev/null and b/Example/Media.xcassets/checkBoxSelected.imageset/checkBoxSelected.png differ diff --git a/Example/Media.xcassets/checkBoxSelected.imageset/checkBoxSelected@2x.png b/Example/Media.xcassets/checkBoxSelected.imageset/checkBoxSelected@2x.png new file mode 100644 index 0000000..520ae5d Binary files /dev/null and b/Example/Media.xcassets/checkBoxSelected.imageset/checkBoxSelected@2x.png differ diff --git a/Example/Media.xcassets/checkBoxSelected.imageset/checkBoxSelected@3x.png b/Example/Media.xcassets/checkBoxSelected.imageset/checkBoxSelected@3x.png new file mode 100644 index 0000000..4830ba2 Binary files /dev/null and b/Example/Media.xcassets/checkBoxSelected.imageset/checkBoxSelected@3x.png differ diff --git a/Example/Podfile.lock b/Example/Podfile.lock index f9c6e60..81fbdb8 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,7 +1,11 @@ PODS: - - pop (1.0.7) - - PureLayout (3.0.0) - - TabBarPicker (0.3.0) + - pop (1.0.8) + - PureLayout (3.0.1) + - TabBarPicker (0.3.0): + - PureLayout + - UIActionSheet-Blocks + - UIAlertViewBlockExtension + - UIView-Overlay - UIActionSheet-Blocks (1.0.1) - UIAlertViewBlockExtension (1.0.1) - UIView-Overlay (0.1) @@ -16,14 +20,14 @@ DEPENDENCIES: EXTERNAL SOURCES: TabBarPicker: - :path: ../ + :path: "../" SPEC CHECKSUMS: - pop: 628ffc631644601567ee8bfaaaea493ebd7d0923 - PureLayout: 270dfee2236f697ab1d5e2771c2e5c248495fa0d - TabBarPicker: 4f6e765ac6ee7b07ef46ac3f98e6d5ec0999d847 + pop: bb773ae2c791ca2629de13b347e7a8b450fa6a57 + PureLayout: f35f5384c9c4e4479df041dbe33ad7577b71ddfb + TabBarPicker: 67402456b73594ea28a59fb4fb726c5ef3057090 UIActionSheet-Blocks: a5781709d4c7e1bf81e0498caf187ab0535e5caf UIAlertViewBlockExtension: b4b0a1e62c94170bacce519a2b16afbc81673714 UIView-Overlay: 95e42e733f6fdcfca523a399ba7907d0ca4570a0 -COCOAPODS: 0.38.2 +COCOAPODS: 0.39.0 diff --git a/Example/Pods/Headers/Private/TabBarPicker/AADatePicker.h b/Example/Pods/Headers/Private/TabBarPicker/AADatePicker.h new file mode 120000 index 0000000..8c6016b --- /dev/null +++ b/Example/Pods/Headers/Private/TabBarPicker/AADatePicker.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Vendor/AADatePicker/AADatePicker.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/TabBarPicker/ToucheableScrollView.h b/Example/Pods/Headers/Private/TabBarPicker/ToucheableScrollView.h new file mode 120000 index 0000000..1a7ad3e --- /dev/null +++ b/Example/Pods/Headers/Private/TabBarPicker/ToucheableScrollView.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.h \ No newline at end of file diff --git a/Example/Pods/Local Podspecs/TabBarPicker.podspec.json b/Example/Pods/Local Podspecs/TabBarPicker.podspec.json index e6a0045..6c8b2e9 100644 --- a/Example/Pods/Local Podspecs/TabBarPicker.podspec.json +++ b/Example/Pods/Local Podspecs/TabBarPicker.podspec.json @@ -20,5 +20,19 @@ "TabBarPicker": [ "Pod/Assets/*.png" ] + }, + "dependencies": { + "PureLayout": [ + + ], + "UIView-Overlay": [ + + ], + "UIActionSheet-Blocks": [ + + ], + "UIAlertViewBlockExtension": [ + + ] } } diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index f9c6e60..81fbdb8 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,7 +1,11 @@ PODS: - - pop (1.0.7) - - PureLayout (3.0.0) - - TabBarPicker (0.3.0) + - pop (1.0.8) + - PureLayout (3.0.1) + - TabBarPicker (0.3.0): + - PureLayout + - UIActionSheet-Blocks + - UIAlertViewBlockExtension + - UIView-Overlay - UIActionSheet-Blocks (1.0.1) - UIAlertViewBlockExtension (1.0.1) - UIView-Overlay (0.1) @@ -16,14 +20,14 @@ DEPENDENCIES: EXTERNAL SOURCES: TabBarPicker: - :path: ../ + :path: "../" SPEC CHECKSUMS: - pop: 628ffc631644601567ee8bfaaaea493ebd7d0923 - PureLayout: 270dfee2236f697ab1d5e2771c2e5c248495fa0d - TabBarPicker: 4f6e765ac6ee7b07ef46ac3f98e6d5ec0999d847 + pop: bb773ae2c791ca2629de13b347e7a8b450fa6a57 + PureLayout: f35f5384c9c4e4479df041dbe33ad7577b71ddfb + TabBarPicker: 67402456b73594ea28a59fb4fb726c5ef3057090 UIActionSheet-Blocks: a5781709d4c7e1bf81e0498caf187ab0535e5caf UIAlertViewBlockExtension: b4b0a1e62c94170bacce519a2b16afbc81673714 UIView-Overlay: 95e42e733f6fdcfca523a399ba7907d0ca4570a0 -COCOAPODS: 0.38.2 +COCOAPODS: 0.39.0 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 67fd8a6..3f5957a 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,505 +7,602 @@ objects = { /* Begin PBXBuildFile section */ - 03208AEB6A03CCA0C77A5DA3A79BD522 /* POPVector.h in Headers */ = {isa = PBXBuildFile; fileRef = 93687FABCF55D0A5D679C928BA78DAB4 /* POPVector.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 060E7DD819F53729654E36495DF47426 /* FloatConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = E44E0425616E7E04E1AB9E751AA6AE53 /* FloatConversion.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 07501B134439D43A603B50365BAB8C36 /* NSString+HexColor.m in Sources */ = {isa = PBXBuildFile; fileRef = ED289C824091E9CC3700069DEB5B7133 /* NSString+HexColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 09D38304BB76CB9194061FF21B54687F /* UIAlertViewBlockExtension-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C4CA99AF612C24DED5E74B745FC1344 /* UIAlertViewBlockExtension-dummy.m */; }; - 0BFE7C394E8150EF5FD76D3675116D48 /* POPBasicAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 2ADFB66E931B6A5F3701C265EBC50E57 /* POPBasicAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0EAB569A3E1579E852A97E70B2A52B19 /* UIView+Overlay.h in Headers */ = {isa = PBXBuildFile; fileRef = B861FEB396B49AFBE01AC2B10E0ACAB5 /* UIView+Overlay.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0F7B5941BC1A4A320845B9B863551176 /* pop-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 407457717814B9F748F29AC5BADC4CE8 /* pop-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 141AA641914936AB790CE6FCB178B1D7 /* MMCPSScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = E74ECC4D12B3ABD32F0D9603ABE541B8 /* MMCPSScrollView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 15EBB865A82DF72209B0E02819463060 /* POPAnimatableProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 0265183A5C6854D378BE13ADD62DF5D0 /* POPAnimatableProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 15EEB9A75A38BB0F7C3B2448A705AD83 /* UnitBezier.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A5E9FAC402EFB3AA4E84A2D8D436956 /* UnitBezier.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 19022D54C183B386CBCC3929AB78ED45 /* POPAnimationRuntime.mm in Sources */ = {isa = PBXBuildFile; fileRef = 79BC08E450E450A6BB7385AAE26BD967 /* POPAnimationRuntime.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1904012DCB9E2E0F904199387E995946 /* UIAlertView+BlockExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 58277D5C8D6A027E9F83DA57FD4CD4C4 /* UIAlertView+BlockExtension.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1F507AB6238183B539DD9E8D6886BDED /* POPAnimationTracer.mm in Sources */ = {isa = PBXBuildFile; fileRef = A959F8AA2353F159B247BFFC208D79AE /* POPAnimationTracer.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 203E916178B206E4760E275D94B537FA /* POPAnimationRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = FBE55426C8613986F9DE17C08EC4E7CF /* POPAnimationRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 242683D9189D01DB10D327BD4807ADF2 /* POPAnimatorPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EF1BD1588AB81241629165EFEB77F71 /* POPAnimatorPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 242F2CEE058E9AFB0886BC75D30F5897 /* POPAnimationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = EF2A7544C3995B3943AA4BC07DAB51D1 /* POPAnimationPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 27612C6A0F69DAD74E0FEB17816B9E15 /* TabBarPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 892712A2B0521F4472AE53DB17FFA5ED /* TabBarPicker.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2773E86D775C65479A4FC871ECCF322B /* UIActionSheet-Blocks-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A8FFBDEB63199AE8279A19F0D250C8E /* UIActionSheet-Blocks-dummy.m */; }; - 29B97DBB30EE19D048BEC6E25E9F9F14 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; - 2A65286B5726E4AF0A5395E6B035F614 /* NSString+HexColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 5198D727327607E4FCEA3F8B223AE56C /* NSString+HexColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2B787FFB562C10AD02FE1C9005365F43 /* NSLayoutConstraint+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 090ED9CFCA52EB517831504E40655C5E /* NSLayoutConstraint+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2D696A7493C3B7A7DC34C3857719B884 /* SharedLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C4407C962E1D98312FB510D7F5BA8D7 /* SharedLocationManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 30BE2AA9FA254A8A54B20C5D1C439CED /* UIView-Overlay-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 967EC1A8094613A64436935A32CE393E /* UIView-Overlay-dummy.m */; }; - 34EC1894BF64A676F556AE2782F2E2A6 /* POPGeometry.mm in Sources */ = {isa = PBXBuildFile; fileRef = C860C342641452046FDF204ED4FB25D3 /* POPGeometry.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3515851F45C9BB3FFDDD122095FF7797 /* Pods-TabBarPicker_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8799FDC6BF3E75DA73CA794715159657 /* Pods-TabBarPicker_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 384CE5874312610CF1414126D6E41435 /* POPAnimationEventInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 16F3CE6BFFF06C74BF585D45BFB7E170 /* POPAnimationEventInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 38792B4D4276C59B21ACF9B4DE6ED4F5 /* PureLayout+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFA4BCE4B185A782DD016F84B3BE0CF /* PureLayout+Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 399306C358953571B5B236714BAC0F0B /* SharedLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A66B68532816A729F8D7B45A344A3D /* SharedLocationManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3C2F3F5F1497E202882DF7598F703088 /* POPAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6805F6C4A24C2AAAB6A33C0A97652E03 /* POPAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 48D0C42EEA0F59047616F9D4F51FBD10 /* NSArray+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = C37744310F9F865551677E6AC8149112 /* NSArray+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4A629B0B3B3C72CBCC07FC57FEB9FFB5 /* POPSpringAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 91AC81FCA64DB06998A2D6C93292E3D0 /* POPSpringAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4BD95F156CB439EB08218A9B1BC10F87 /* TransformationMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFA088A284A23B3AC39221F16A6CB0D9 /* TransformationMatrix.cpp */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 50E1538F1556D387C5164A072FC23570 /* UIActionSheet+Blocks.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C0C90B45384C64964081948268EA1CF /* UIActionSheet+Blocks.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5399D919350C1DA1537C5307762FC7D4 /* UIActionSheet+Blocks.m in Sources */ = {isa = PBXBuildFile; fileRef = BFA0253EFF494DE91B9188C8142F6460 /* UIActionSheet+Blocks.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5408B931355E2EB35B43B6E44EC7075C /* POPAnimator.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9B6EE12FEF6DED0AB56B1443E7B346F0 /* POPAnimator.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5894F10E4EE16E60EFEA6CAF8F39BEAC /* TabBarPicker-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B8B993D010B7CF17F9E9291557AF882E /* TabBarPicker-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5D0EB7072D641D8EBF0FF6E2866DAF7B /* POPBasicAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = B51C1620215D22739C0E7668D0FCFA91 /* POPBasicAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5E9A8D95ECF3F7371BCEA9B70C879960 /* POPPropertyAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 76962B10AC94EB35A7FEA32B4946FD52 /* POPPropertyAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 60616CBC5FED53D41E314BD96036FCA0 /* POPAnimationTracerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = DB1EE7FB0A32127BFDF50BF82107F0F4 /* POPAnimationTracerInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 610E3F00DD9A11CF2B3AB4ACDF9F2C88 /* ALView+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F1993462D9F57783E626EE12A22DA6E /* ALView+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6115D515692E38D8D809451232B83C52 /* TabBarPickerSubItemsView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDFBF8EAD1D91F7F7C98AE097F6AD54 /* TabBarPickerSubItemsView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 62AF98DE098B6AE453132CE1AA19765E /* POPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = EB6215B243DFD151285F9B12CE2368A2 /* POPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6354BF1C514445C33F9B65DD18205535 /* NSArray+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 913E7306AD4E255661D418473382CF54 /* NSArray+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 64936125353B370402AC7A2390B2319B /* Pods-TabBarPicker_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BCC05ECC95382C9EF2ACC119EFA5E28 /* Pods-TabBarPicker_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6821181ABC8D74220E7B8667CA488482 /* UIActionSheet-Blocks-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8ADAF2F396F7D8A76FB8CD61DF2B3570 /* UIActionSheet-Blocks-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6BFFC7205011A11472F6457F6D6B489C /* POPAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 24FD90CF8C651053BFFF6A3EAF117125 /* POPAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6C4B81E2699A8266AAB7C85824999897 /* POPSpringAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = A103939D06A87FED0BE43F0CF5F5056A /* POPSpringAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6DBFBBAB5805C21D1665893E655EA4FD /* POPDecayAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0092F18589478DBE2AE13D966D9CCD17 /* POPDecayAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 728A5FCB02E1760C95DEA5ED83A2C1C5 /* POPSpringSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = CE0D5C46DAC6E6475ADEE87A8601A25F /* POPSpringSolver.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 73F5A493933876566BFE1C7557D058E0 /* POPCGUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = B7C7853AD5F572083A52914090850AD2 /* POPCGUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 758F4837B21699E995B3DA7873BE5AB9 /* POPDecayAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F5618A4CE99E55855B1013DEF653BF8 /* POPDecayAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 761477C8633300B1495BAA4EBF93527A /* AlertViewActionDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F326ECBD421558567D7D4D6DE746A2 /* AlertViewActionDispatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7635805E27D4F352CC4AC4F3E0B2228C /* POPDecayAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = A2FCF37642A72A24ECA53BF3ECE2C522 /* POPDecayAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7687E83DA7BAC649B3BFB96A702B8EF7 /* POPBasicAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A1099449FD06DCA3B85854337EBB014 /* POPBasicAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7722493DFDD6EC5317378CCA6C5F6C5B /* AlertViewActionDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 29089DD2B4691C6A338790862F97B2EC /* AlertViewActionDispatcher.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7997BBF6E3FBC7DF5295ABF7224B89A4 /* POPVector.mm in Sources */ = {isa = PBXBuildFile; fileRef = F47C77B6247FFF4294E595C4EBF035F5 /* POPVector.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7BE5B65C18977D405062ACF22B6EF38C /* POPMath.mm in Sources */ = {isa = PBXBuildFile; fileRef = 18127D4692F3B261AE3BC9F683442BE0 /* POPMath.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7C632502864E8AE6F403AE489B593056 /* POPAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D90E0DD88BBD1478B0E18109767F8FA /* POPAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7C6672FF5BC14E5A632F38FBCF4D84F6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; - 7D895EB8CC992C0E734A1AC7E73F7D41 /* POPAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AB9A4F96F4D3194C37C06DB13F00F1E /* POPAction.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7DCA23DE188D729056E041F49C521C1B /* POPLayerExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = DAE0AEB7B6CD1ED86E0DB49046266B5D /* POPLayerExtras.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 800AE2604DB4E050529B32FB08E5D2CF /* POPAnimationEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = 033ADB81C6199DE3DFA0C0515F6D0787 /* POPAnimationEvent.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8307CAD078138F1D1381C26992A80FE5 /* Pods-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F343D98F46F354D1807A1F52E6E36AD /* Pods-dummy.m */; }; - 85005EF9A1EFBDE7B923C85541044847 /* POPAnimatableProperty.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8C843EFA8C32E452322B0ECA1629290A /* POPAnimatableProperty.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8684DD0504E7EC38B91A22B510C6A01D /* TabBarPicker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 904079A84D927539A414BED833C527E3 /* TabBarPicker-dummy.m */; }; - 870316C705D226E9990777155D6AC4EC /* POPAnimationEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 7469EB00631C681CEE752F2D41DAD63C /* POPAnimationEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8B9B75C7523CEBCAF2D86154DDFA98AD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; - 8E2CDC7269B59EAC84AEA46D5E28B826 /* POP.h in Headers */ = {isa = PBXBuildFile; fileRef = EE3EC944F1DABE1BFA56ABCC8CE2A9F7 /* POP.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8FB29797E35802BE65A888432368F471 /* PureLayout-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 17DA7E900B1E7945C8B8CE59D225F706 /* PureLayout-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 90129E00295631C4089C9A8A1EE6519F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; - 916A29561C3E959D2829BCE7E31BC5DE /* UIAlertView+BlockExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 83921BCA321A4BCC93EA3DD5832C85BE /* UIAlertView+BlockExtension.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 93F5920F69AC785B428577FC0BE0882B /* POPLayerExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 63FCE3E65371359592CB606E1790BC86 /* POPLayerExtras.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 96D7ABD08A98128E60E0F50069359FC0 /* TabBarPicker.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */; }; - 987758B8CC9AE1B9722212C159E99125 /* Pods-TabBarPicker_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B2C8FC99E26E968A362BE3183813868F /* Pods-TabBarPicker_Tests-dummy.m */; }; - 9891293FB5D8A4C867C6FE6108C67500 /* UIImage+Color.m in Sources */ = {isa = PBXBuildFile; fileRef = BAC2E2B2AD148D2E4BBC115DDA61EFD5 /* UIImage+Color.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 98DE61629DE81688A6D460FF03DD172A /* PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E05779740DB7A4882324BB0CC77FE83 /* PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A1A922D53B283BE53F75515F470D2755 /* TabBarSubItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 6194B637DF6CFA16E42BCABF5348C38B /* TabBarSubItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A30219FCF9EC37ABE44DC610005C2595 /* UIView-Overlay-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A6809F9933FBA0B384C97E424F36A254 /* UIView-Overlay-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A7A6A047CA9F0ADFA09FA3F58E8DA1E3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; - AE112AF4A8298C9DA2C4D87F2FD0B06E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; - AEB41D63ACB6BAF7B6DA8EAB5DBFDFEF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; - B2E46B8E61B80795CD4E94081F3A51C2 /* POPAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E99C094867FA40E6CAACB3552C51A71 /* POPAnimator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B373D36B22355D41ABB9B75F3EA0BBF2 /* POPCustomAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 34D6F57DE4FC243021043F443C43B2E7 /* POPCustomAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B4DBAE098AA6F80CDCDFB1BFB6F6A7AE /* POPAnimationExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = C63094D0493DD4114649FBDA3A330311 /* POPAnimationExtras.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B65A29FBEECF62A70B2A981ED1AE3BC9 /* UIButton+BackgroundColor.h in Headers */ = {isa = PBXBuildFile; fileRef = EBE7CFA8B928239B1CC73E2FC274AB17 /* UIButton+BackgroundColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B807414C5B82738C9AE261FC4BD35633 /* UIButton+BackgroundColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 151D476EC8A8F451EAA5F3E69FC4757F /* UIButton+BackgroundColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B80B8212180CFDFFDCA9568F41595AE0 /* TabBarSubItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 89F770FF888D56EB719C45BF38EB5479 /* TabBarSubItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B86832123B4DFE5CE180B18C4CAF0C8E /* Pods-TabBarPicker_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E6071A8A1FC882289A416D3DCB73BF9C /* Pods-TabBarPicker_Example-dummy.m */; }; - BA97F812224F556023C97037E1B9B768 /* TabBarItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ADAE502D9B0B386DFB546F956BC81BA /* TabBarItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BCFE039CCE625E616A25871D8BB2601D /* UIView+Overlay.m in Sources */ = {isa = PBXBuildFile; fileRef = CBF36C9DEBBB22EE208BC6986E44F18B /* UIView+Overlay.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BE8FD01BD558BC524643D9691934BCDF /* PureLayout-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 574DA8A9A0215386DE1A03D64F9ABA59 /* PureLayout-dummy.m */; }; - C07804D5CAE775845193B0BDEAE8153A /* ALView+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 13DC162AF7BEBCA584CAF9D9CEAD8319 /* ALView+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C3B4357DC8723B40B75036643935EBD7 /* MMCPSScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = C0AB0659065645807D7D24A071F9C843 /* MMCPSScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CBC724E48D4294B56D03568A11D05FF1 /* UIImage+Color.h in Headers */ = {isa = PBXBuildFile; fileRef = 84377DDAEA9C569BF6EBCF717BDE81E7 /* UIImage+Color.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CCBEA17C33C968D4115035DFD75D03C7 /* TabBarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = E1272C77ED4CCB0F280E4DFB2B75B7E1 /* TabBarItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CD4768AAB960B0210D029E470E5D4640 /* Pods-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 675CC0337FE68D69EEB51AF67E30F8E3 /* Pods-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D905A57ED65F1E5DFD546AA26BBA6632 /* POPAnimationTracer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C5952D2A0EA0D05DC8D692098AC51A7 /* POPAnimationTracer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E01D81DAECC949E0D350DEF8A8DEF9DA /* POPMath.h in Headers */ = {isa = PBXBuildFile; fileRef = D59AE80D8F830B2B594F27731251395F /* POPMath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E0C2B1971770264E2BC030EBFA522C67 /* POPPropertyAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6474C99DA6F95FB4A031EA234BA3CF12 /* POPPropertyAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E0D2D54F5DF6C392E767E2AF1129BBD0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; - E2B4468A72DF980C1B77E6CC18DC82F5 /* POPAnimationExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4DE3F30E099AB50F0BB210A7F6B6ED1A /* POPAnimationExtras.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E51881B12C8967AC6332B313DA6FBF5F /* UIAlertViewBlockExtension-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 01275C738EEBB0C959DF5D5840BBF280 /* UIAlertViewBlockExtension-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E822E9813D45FF34F11862731B65F4D7 /* NSLayoutConstraint+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CD3AB8195F74BFC43D6997F61F6F298 /* NSLayoutConstraint+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ECAD2632FB8BE957B3FB21096943B3FE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */; }; - ED5C0B5FD3B73C3015AC56C9E5FACA48 /* TransformationMatrix.h in Headers */ = {isa = PBXBuildFile; fileRef = C3C90B76A43FA38EA58794A9C84FD81D /* TransformationMatrix.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EDC72938DF5998BBBC017B2FE8B20768 /* POPCustomAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 33A75E30986D83691C56B0833666F7CA /* POPCustomAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F3A5427CD0560096A6A82144B8B59C70 /* pop-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E9B49BE5CA6EA26F192340AE3F2471BF /* pop-dummy.m */; }; - F6440C1C9D4ADB1F5FE7CB2B1D54E343 /* TabBarPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 848C982AABCEC351952AA25A9E612B3B /* TabBarPicker.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F7D70C0E25A8123CCE6495EF0CF7FB85 /* POPSpringAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = C23A73774E96D3E6946E0D8F33A031C8 /* POPSpringAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F80CE9A6A3DFE7A013E36693BEE14EAE /* POPGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = 61276C8A6D4336801FA57D715D633F8A /* POPGeometry.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F959AAD4573A311BB8F79F1AF6BF166E /* TabBarPickerSubItemsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6682B426E85C9170F1FA5919B0BD809D /* TabBarPickerSubItemsView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F983A03430606378AE8DC27E4BF8436A /* POPPropertyAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A6B4950E1673296D328FFBED288D4CB /* POPPropertyAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F9A3864238BEAF7F67E75EF7417D7AF4 /* PureLayoutDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FBC3E333821E19620FAC1463F61C533 /* PureLayoutDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FA42222184104F516C9AF6AB85A48787 /* POPCGUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = F628DCE86E47F4C94CFDEB115F7A6469 /* POPCGUtils.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 01A17A3560CFC6025AE538983192261B /* POPDecayAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 01F8924CEA5606F77EA570265F06F6D7 /* POPDecayAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 020F00C753EE276EA60B1E91F90B8410 /* ALView+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = D1E6B2943A55BF51EE7262BA2155A4FA /* ALView+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 06FC09DB83C624F3ED1F17E5C4417BB9 /* TabBarPicker-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 299B03DA7176922601D7855C3245292D /* TabBarPicker-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 088F93C0B79B1C44AD9C958D7A3A52B6 /* UIActionSheet-Blocks-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 26369E0FCEB5B5F4123CB873BB5E11D4 /* UIActionSheet-Blocks-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 08EE42522CB0B4EB017A2B20134BE7CD /* UIAlertView+BlockExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = E0C7616C5C625244BD1B937A8739F1EB /* UIAlertView+BlockExtension.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 09A3D7B8512F6203ECA31785B3AE69C5 /* SharedLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AF9F4BB54569DDF705861FB1BE6639A3 /* SharedLocationManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0C2B9B19494A9D155F70C253973405BC /* POPAnimationExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7B99E9681FF12E250E5E1F2037A665F4 /* POPAnimationExtras.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0DF7E9CAB3EF4EE5816D6E11CA768152 /* POPDecayAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABF4B5C0C5B2A57C2F2253B9E6D25C7A /* POPDecayAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 16763A9CAFE6AD5F6827D9D480E75B5B /* POPBasicAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 29F58FD03405FEEA4AEACE0C5ECCF824 /* POPBasicAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 173A688EC1D10D50C68A8E868D2A3F23 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 55FE072806E250E96882A22C019D54D2 /* Foundation.framework */; }; + 1800D5546C72A3A8FB3041C3DA36BA86 /* Pods-TabBarPicker_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C8BC300F38B6226F15DE3505B8E0AF1 /* Pods-TabBarPicker_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 19998E75ABC48763390A67980A7EE248 /* POPDecayAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 279A1C091380206F917F31DBD8FB0EB5 /* POPDecayAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1BE45D363F29CF53E49F519E9F09B8CB /* Pods-TabBarPicker_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = ADF3F4B17F611A14FB4C43824561CE0A /* Pods-TabBarPicker_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1C810387047E9800CF27F0B5B122E5B9 /* Pods-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 740E45A722DF8B2DCE7499E78C436267 /* Pods-dummy.m */; }; + 20184C705D6B7B060B709F760C9561B4 /* UIActionSheet+Blocks.m in Sources */ = {isa = PBXBuildFile; fileRef = E25EF1DFE2EF042A5144A5ADAEA0E5FE /* UIActionSheet+Blocks.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2092DA96D033866C25EFA25A57C2D027 /* POPPropertyAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A8E79163569B2099E7A2999D0D66912 /* POPPropertyAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 25B9483D26DC7E3158D9AC2AB957EC80 /* POPSpringSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = 31C7C9603D5C053A6685FFD1ED7AB0C2 /* POPSpringSolver.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 278733C1DF79C42F4ACD3F78148109F8 /* POPAnimationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = BEE5DC78E1FB8022B83E73EB37A1C32F /* POPAnimationPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2AA358B1EE387BC987A3E89D885AC7AE /* POPBasicAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4D44D0B9FEFE753D119E95F295461EB5 /* POPBasicAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2CA7A26C780B4D2CF1549777013FD5E9 /* UIAlertViewBlockExtension-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 77BADA29B0CA8C7BA8F3D9B1C1A3E1D5 /* UIAlertViewBlockExtension-dummy.m */; }; + 2DC0975DD943F4276D406D31910AE084 /* TabBarPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = FC03F319B1C2812107DDE4DF04C52D78 /* TabBarPicker.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2E69563E86A714D3DE44ECC30FD5DB6E /* POPAnimationExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 43B8C4D87F3ED3FAF8975F733C178181 /* POPAnimationExtras.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2EE5C913CFF1018C5FDF66868218F3CB /* POPAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = DB31AD0DD5C90976B1BEF3D743D701A0 /* POPAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2FB1C7E3338B29AEB66AC21D7307DFC9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 55FE072806E250E96882A22C019D54D2 /* Foundation.framework */; }; + 3148AF12680D3C3F410FDBE77935B045 /* POPAnimationEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 000B05A634204AA9C6F2B672D62EBCF4 /* POPAnimationEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3545DA78196F670E3FBA955F32E403C3 /* POPAnimationTracer.h in Headers */ = {isa = PBXBuildFile; fileRef = CD5AE21AF545C1C9E699D8EEFD50F865 /* POPAnimationTracer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 35E2ED4D1B070F6011D5428CBE05307F /* POPSpringAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = E38CBE569356333FAE1DFD5710C588F2 /* POPSpringAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 378E52A1215F9CF5D66F9CAA8C43F887 /* PureLayout+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 9429AD9F75EB8B378B105C44F4E1AAB2 /* PureLayout+Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3AC5AB2C9864183361A3B7DF78372D61 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 55FE072806E250E96882A22C019D54D2 /* Foundation.framework */; }; + 3B5F04FB786EB57F609BC94455E86B73 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 55FE072806E250E96882A22C019D54D2 /* Foundation.framework */; }; + 3C889D3757899EBF7EFB253F6E344838 /* SharedLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 17DF88BEAAE716EBAE1DFDD48C408963 /* SharedLocationManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4069A9DA4605A44F29EC8AFD136C5216 /* POPLayerExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BA3CE2BACE6A58193DB030815FD0612 /* POPLayerExtras.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 43BEB250FF518B6A7D7EB036F2A5304D /* TabBarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CEB12F02DC0F02D4D157AB72670350C /* TabBarItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 446E2B044AA01BFF76462ADB4F9B4DDC /* pop-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D65738468D0E72D161AF68BE49100FF0 /* pop-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 45F7FBEB7970CBB135B37A3108515832 /* MMCPSScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A3A3FDD3DCEB4A9427257C859083BB2 /* MMCPSScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4643BF0DBEBB82BC4A7AFCA99B813786 /* Pods-TabBarPicker_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F46D293682D390EE38E173BE8D0A72C /* Pods-TabBarPicker_Tests-dummy.m */; }; + 46AB1DA8028084B616CA19C8860CD6CE /* UIView+Overlay.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C88EE4B2406D3AA24F98F63CCB07DD7 /* UIView+Overlay.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 478B2A8F521F7F4301076A7E5F886BD3 /* POPAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = CC16160B51F7A16045947DA3991D19A7 /* POPAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4BB596BA7630F7B4B3CB001A88C05556 /* UIActionSheet-Blocks-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DD9893FB3DDD273CB4A6EAE418B0C7A /* UIActionSheet-Blocks-dummy.m */; }; + 4BC80052D3943EE5BCD55804AA0D03F0 /* POPSpringAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 12E82CCE60FFDD44D0D5FE4AD6AF0576 /* POPSpringAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4FC1EC70BD5E293AA39523F7864887ED /* UIImage+Color.h in Headers */ = {isa = PBXBuildFile; fileRef = 1387424549E6983BD2A48B3C6D63CC0B /* UIImage+Color.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5047182A501A560BEE00F8844FB33814 /* POPVector.mm in Sources */ = {isa = PBXBuildFile; fileRef = D470525507044D4949C6E15849C9DE5C /* POPVector.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 56182EEA3F19B046B78DE79DDA7183F2 /* POPCustomAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8ADF06FAE311BA12C8F83900BE2F3636 /* POPCustomAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5633844D0D947CF361417046E7AE1A37 /* POPAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B77D7E9D2D93F9BEE05C468E372C9CA /* POPAction.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 56AFD301CC62E97C9870C201B2EC7461 /* ToucheableScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = E4FA43840DD706977F1E3A710C5AC8B3 /* ToucheableScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 570A477FAA0A761A16BF610ED1B87939 /* POPCGUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EC23DEA9198698877182AE37FEEE512 /* POPCGUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 58B2DDCA0E4FDF9CDCDDFAD53B59EFCE /* POPAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EE44B283E1584627A8B210E37F8E39E /* POPAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 58CCAF82530DCCA0B3CDAC6B48B9D299 /* UIButton+BackgroundColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 32B06D2C3E2EADCF43BAF301EB91FBDD /* UIButton+BackgroundColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5B534CD3C5F1B540F8B2911346B6220A /* POPAnimationRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = F68B3D2C2ECFC5640DEC8A3C6A2B9318 /* POPAnimationRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5BD299B768B779E2594E84F1416EAFC3 /* POPSpringAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E23FBC74F0967D9A81DA38E38B00DE1 /* POPSpringAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5D0478681713CD82489F47EAEBD2A0B8 /* TabBarPicker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EBE700BA095A486DF0753B153A2B2C10 /* TabBarPicker-dummy.m */; }; + 60D9CC4831B83B02785F8C6A7EC62045 /* UIAlertViewBlockExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B22CF836CB81C091C12AB69537A00BC5 /* UIAlertViewBlockExtension.framework */; }; + 6153A22EB5615E6E0A9CF33CDF66025E /* AlertViewActionDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D4D69F9646FE2395A1CACB9503A817B /* AlertViewActionDispatcher.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 63E20435B4319DA58EFE8D15B4CCAA64 /* TransformationMatrix.h in Headers */ = {isa = PBXBuildFile; fileRef = E02911DED2E29D4D38C48FCA057FD731 /* TransformationMatrix.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 683A03151BE1921E00175B04 /* NSDate+NSDate_Util.h in Headers */ = {isa = PBXBuildFile; fileRef = 683A03131BE1921E00175B04 /* NSDate+NSDate_Util.h */; }; + 683A03161BE1921E00175B04 /* NSDate+NSDate_Util.m in Sources */ = {isa = PBXBuildFile; fileRef = 683A03141BE1921E00175B04 /* NSDate+NSDate_Util.m */; }; + 6B0E37B385075A05E56C9A303C9D8B19 /* ALView+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = E75EB3F3C6A4DCD22506B9171FE6AE1D /* ALView+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6D6F450A307E08E6566516A86F1A7705 /* NSArray+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = D2C8A0F1A696C1E83CAF9D0B180A6B22 /* NSArray+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6E8B38DB49B4F063A166C779CAA4EE2B /* POPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 21F37D40C11B85E3EF6DB017FE271D3D /* POPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6EF94ABF9AAA9F35BE12BD84787B4BEE /* UIView_Overlay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 135A97B2F58BCE0A456223D56BDBA79D /* UIView_Overlay.framework */; }; + 7184B49F9D5643C1B32512DC49EE2665 /* NSLayoutConstraint+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 168FF76287452FBF7ADF8863D2BDC419 /* NSLayoutConstraint+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 737B72D3EDE76C6202A0DE74073BA95E /* POPAnimator.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3CA99DBCF9D345558DA97E818C4DF4F3 /* POPAnimator.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 738DDDC89FE0065582B8A3735E6AC200 /* TabBarPickerSubItemsView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AFCAEF27DBA07D7481277E6D98AA54F /* TabBarPickerSubItemsView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 741B7FE777785A385634B53952BF4EB9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 55FE072806E250E96882A22C019D54D2 /* Foundation.framework */; }; + 7595C590811C6DD13845A31879B5AA0B /* POPBasicAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 22194E4985035A3CE21CCD944C91B07D /* POPBasicAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 76636DEF32D0A1494EA1BDF331BEA259 /* TransformationMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36A905A30B0E3058DF33DB5D5940204B /* TransformationMatrix.cpp */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 78B7CB39446EE2B49A0BD45B98AE1147 /* UIButton+BackgroundColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 86B2FE0BBF75E7813D4488568CB0FE7C /* UIButton+BackgroundColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 79CC3932218285A605596C2B04DFCCC2 /* NSArray+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 473CE5D435657BAFFEF9395A69A37951 /* NSArray+PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 81713F1137699370C138DAC89331F474 /* POP.h in Headers */ = {isa = PBXBuildFile; fileRef = D74D9AD47AAB578B5159F3DF1D0096E5 /* POP.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83128C827C23F33F91FC58C9218F1CD4 /* TabBarItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 062639F1501D14599E24AE57ED9A773B /* TabBarItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 84AE1D88649FA97B8244D204A4D71B85 /* POPMath.mm in Sources */ = {isa = PBXBuildFile; fileRef = AD675A448C75B4CFB27B77A3EA328F7A /* POPMath.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8820E5EC0E7DE5077B3B884F35C54537 /* TabBarSubItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 5072368CD39042BD768B85CBCA94F43A /* TabBarSubItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 88436ECF06568376C975035C4C0F2FD1 /* Pods-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 670A619D444D4272D6930B77992641D5 /* Pods-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8AA80FEEDBE17402A8AC11022F24EA2E /* TabBarSubItem.m in Sources */ = {isa = PBXBuildFile; fileRef = C0D20EC06FA47EA545FAFB412DBECD63 /* TabBarSubItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 90D86C3134AEBAE69E28713D8160CF27 /* TabBarPicker.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D679E457F381CFAE1B48C3C5258F72A4 /* TabBarPicker.bundle */; }; + 91537A2C2810924C5362B5D536C1D3E7 /* pop-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CE8BA8549F744CE0855D1C3147A8D8AA /* pop-dummy.m */; }; + 91FD031FA6AB365E365D2C33ADD43127 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 55FE072806E250E96882A22C019D54D2 /* Foundation.framework */; }; + 9474719828021BDBC199947439363181 /* NSLayoutConstraint+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DEF9884A0326703FBDF52D34E852771 /* NSLayoutConstraint+PureLayout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 971D907838F0DBE69F6E3CC43FB14AA0 /* POPPropertyAnimation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 98AD4FCE7D65CE6A7505C538C1BA3573 /* POPPropertyAnimation.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 97BA301A4FD1F3E947F309B92DF0AE06 /* POPAnimationRuntime.mm in Sources */ = {isa = PBXBuildFile; fileRef = CC6D03A20E291CEEFE6C3E26866F5174 /* POPAnimationRuntime.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 980F4F854A381862BCC15025A459D556 /* AADatePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D5E551388D31096509A4589EC08F79E /* AADatePicker.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9FB927B1D51029C48EF5185713DCB022 /* TabBarPickerSubItemsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 22BF2BEDC7B2D3BAE167EE195D546E09 /* TabBarPickerSubItemsView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A04FD6F5CA9D5F013B9B3CAEC05CB769 /* ToucheableScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = B686B9D65E191F72D2B2A91402F91203 /* ToucheableScrollView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A0FAEDF0EE64D5445B76DF277F2853F0 /* UIActionSheet_Blocks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F751FC848C5AEEE5FF840B467195C8 /* UIActionSheet_Blocks.framework */; }; + A2134FECEE3F7C515A4F32BCB8EFCBFF /* NSString+HexColor.m in Sources */ = {isa = PBXBuildFile; fileRef = C36834EF5B4EE57849112AE2962D5A8F /* NSString+HexColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A251D1A6027D0B7B3827378B9BD7F665 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 55FE072806E250E96882A22C019D54D2 /* Foundation.framework */; }; + A5F54D64B3D9AC3AEA640B22DB7D1563 /* POPAnimationEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = 354CADE78EC328C68EE8A04604AC6B95 /* POPAnimationEvent.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A78209677AC1CDC16DCB21BB1A241643 /* FloatConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = E98C6A134C947C270F89928320695980 /* FloatConversion.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AF50FD4F55AE7551EE45DF1F20503AA4 /* POPAnimatableProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = DB1BF4AB3C02E27B00226C118F3E76E0 /* POPAnimatableProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B8FFC67E6F6ED29F7DA4B069CD3214E3 /* AADatePicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D23215C89BC6C6E0CE68348A32A9E2A /* AADatePicker.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B951CCBB5E4A00FDA7DB5CB061B86C00 /* NSString+HexColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8784023D4A174B67EEF4A3D11AA4A903 /* NSString+HexColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BC5C74E037881900C0BA01B17447BA2E /* MMCPSScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 29437E688BE58E95C9AA395E14FE7A16 /* MMCPSScrollView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BD1EE30F522E2A0C267DE8E8F64ABF17 /* POPMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 135CF7BF37498172369950D87175CCA8 /* POPMath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C0CCB4854D3D91219DC243E79AD7DF5F /* POPAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E7CDBD516916CE2BF50F67FF45A88A4 /* POPAnimator.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C5B765D447F5797497EE2383200AEF8C /* UIView-Overlay-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 24DDFF7AC3AE994E408CFFECB6B2166A /* UIView-Overlay-dummy.m */; }; + CBD9A6CAD05B4DE81787CF9FE3B32126 /* POPCGUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3B7B94E6BF80EFAFCB60122333B8C4C7 /* POPCGUtils.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CDAF5D56D26A535369549BC170302D95 /* PureLayoutDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = D5E0974B15C59E97EFD7A8604EC4D613 /* PureLayoutDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CDB4EAA97689638A2FB1A344086F4CB2 /* UIActionSheet+Blocks.h in Headers */ = {isa = PBXBuildFile; fileRef = 62270DDD85FF57D0452DB3E8D33B5DA5 /* UIActionSheet+Blocks.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CF13FCA6A44832B7E3B22970BB4B5A83 /* POPAnimationTracer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 812DA1DC2624346011954A47727B6F40 /* POPAnimationTracer.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D142764135A5F7619BC50E19682B6F14 /* POPCustomAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = CEC73195F9FEAAEED0CA81F34758046B /* POPCustomAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D40BB075C59C55DB5276935D16699EFF /* POPVector.h in Headers */ = {isa = PBXBuildFile; fileRef = 5592A1BB7FD71F49A55B05C2716B50C5 /* POPVector.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D4C4AFCDD2BB531DFB087F7852180F0E /* PureLayout-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 235B0B4B46B71262AD7BE4F10B80C676 /* PureLayout-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D56D034A1FEE8AF45776BC3DD04971CF /* Pods-TabBarPicker_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 59E962B208E6852AC6A9E9CDC3723306 /* Pods-TabBarPicker_Example-dummy.m */; }; + D5F9CCA7559B7FC260997615AC3D6A48 /* UIAlertView+BlockExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 06A9BC158985498417004D319E8517C6 /* UIAlertView+BlockExtension.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D67703BD7CCA637B11DF1163990881EB /* POPAnimationEventInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DDD7E43333D8048D9AEFA372BF2FBBF /* POPAnimationEventInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DA014E67A80AD446E3C25B8D652ABF6E /* POPGeometry.mm in Sources */ = {isa = PBXBuildFile; fileRef = A6176AC0EE4A0494FE5B0CB383024657 /* POPGeometry.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DAA82FEC29903FECDFCB638AF4AE9154 /* PureLayout.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FFB6CA1017BA9BB59B8808B624E3D /* PureLayout.framework */; }; + DB16E7F028CC20E02C6804644FFCD8F0 /* POPAnimatorPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E3E5AC55B54F9CC2806A3659EB06D78 /* POPAnimatorPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DBC55A57BB786C321D8DAA823600C07B /* POPLayerExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6E5BA8571752263CED9377BFBB7EFBE9 /* POPLayerExtras.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DF88E4521D67A78815F0AB8EC5D8322C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 55FE072806E250E96882A22C019D54D2 /* Foundation.framework */; }; + E2D4B62D816846340C7119EF56ED1544 /* UIView-Overlay-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1112A9123534C0C50268E507324BC537 /* UIView-Overlay-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E301E201C6F0860AD9AFBEAA7A1F99BB /* POPGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = 40F21C637AF6FCB7D37FB38B02D4E310 /* POPGeometry.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E465FFF798881158C0BE9F6AB72E4E77 /* UIAlertViewBlockExtension-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E35943ACCC1156006EC6D02B7478DB1 /* UIAlertViewBlockExtension-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E8D7CD14D46DB2D761E86793A030F44E /* TabBarPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A8C00BA8EC48C99F04FCCA38711DA1F /* TabBarPicker.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EBA2BF907D9241F97252BDCB2348A2CF /* PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = EE1847E970F26F4BD32CB5F1FEF751F9 /* PureLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F1DF02B83E3071A731C151AB02F831FF /* PureLayout-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9966AD192E41B700423B55A704A287EA /* PureLayout-dummy.m */; }; + F759CA324FE911681F1572526FBFEE91 /* POPAnimatableProperty.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2F205F78EC53D3A58EDB96F0C5402A54 /* POPAnimatableProperty.mm */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F9373C376DE6374A50A5A010945960A9 /* POPPropertyAnimationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 58788200EE48EA2D50362411A2C3F739 /* POPPropertyAnimationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F94E243FAE8E3E0EA60C9016A538C14C /* UIImage+Color.m in Sources */ = {isa = PBXBuildFile; fileRef = 48AD6DF51117EAFB31B38C82E17E0989 /* UIImage+Color.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FB29ACD9C06F0DEEF1CFF20A60B0D8BD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 55FE072806E250E96882A22C019D54D2 /* Foundation.framework */; }; + FDCE9E6C4DD8C12936438452854724D3 /* AlertViewActionDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = AD5ACFC1F3CF7D035AF27A6A783298DB /* AlertViewActionDispatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FEF1C1F79F0E9C85AF69143A9C251D7B /* UIView+Overlay.h in Headers */ = {isa = PBXBuildFile; fileRef = 249697AC4603EEE893DD451DA1C2D31D /* UIView+Overlay.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FF66C2C42DD23F4BFFFF08A4667EF2B7 /* POPAnimationTracerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = C0385B1EEA934D2080ACE82953CF43AA /* POPAnimationTracerInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FFDD74B864843A709EEFD34DE8334E19 /* UnitBezier.h in Headers */ = {isa = PBXBuildFile; fileRef = 44F7B30CACC643F98AD597B7977A5B40 /* UnitBezier.h */; settings = {ATTRIBUTES = (Project, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 1A0216D5A68EF18925A58D8898A40500 /* PBXContainerItemProxy */ = { + 06AD47B94F4FB3D3BF081015AA5954C1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 8240A687A12B3496C485DFBEB80E79E2; - remoteInfo = PureLayout; - }; - 231D11EE05A157B50E61C08A50D562F4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3DA374BB5346C86BB9E37D7D8A3F9705; - remoteInfo = pop; - }; - 4A7AF9BC946B50A8BC2CFF1204DF7D78 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0B43C8BA292D04592FCAA7AB434DD80C; - remoteInfo = TabBarPicker; - }; - 58B8312D7E70A13FF744582A9D5C33C8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8240A687A12B3496C485DFBEB80E79E2; - remoteInfo = PureLayout; - }; - 59634A5E02FA6D19A93D2EA7FFD61980 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = C0BF957FAF71CC8A3C616196CE12BE11; - remoteInfo = UIAlertViewBlockExtension; - }; - 765E5A6C7EC62062C86499C436755122 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 31D04736AA8F72A7EDD28D5A60339B0F; - remoteInfo = "UIView-Overlay"; - }; - A095472E80FEC47D8D83667BA570A9BE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = C0BF957FAF71CC8A3C616196CE12BE11; - remoteInfo = UIAlertViewBlockExtension; - }; - AC84369D6321CD0D64AF72BB47BA0620 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = B8AFD9D9A9DD2282FC523C9360E3FD0B; + remoteGlobalIDString = 9EBE8BA9F108B1A455FCC07818D6558C; remoteInfo = "UIActionSheet-Blocks"; }; - C4614558DC5479A4A33C81C2E8C6ACB7 /* PBXContainerItemProxy */ = { + 1E397BFA58E597F9B0101D60833D5A2B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 3DA374BB5346C86BB9E37D7D8A3F9705; - remoteInfo = pop; - }; - C52BF0121E5E9F1BC77EDB06E5CF5950 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0B43C8BA292D04592FCAA7AB434DD80C; - remoteInfo = TabBarPicker; - }; - D56F9AD6AF62022E3E46DDCE1873D53E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = A3EDD948F9BE0382C98E8FCC6F145936; + remoteGlobalIDString = 70CC4EECF738D35AD5DA0CE240EDED99; remoteInfo = "TabBarPicker-TabBarPicker"; }; - D59F622049A0852987C8BF21FA82F520 /* PBXContainerItemProxy */ = { + 20F29C5CEE06E9BA4DF6639ED097B0E2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = B8AFD9D9A9DD2282FC523C9360E3FD0B; + remoteGlobalIDString = 4B43054A18B0C0AE955BDD2755CE4064; + remoteInfo = "UIView-Overlay"; + }; + 32185622542F7A3D627FDD86C56B1E1D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6BA6D9CD89FCB39974065ABF3952FF4B; + remoteInfo = UIAlertViewBlockExtension; + }; + 370D127272E6C0A03F2006CDB67CD9DA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = FD3993CF6295F990414755FE28D52230; + remoteInfo = PureLayout; + }; + 456D251EE4706D56E48F34250EAE29E0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 7C6FF6FFAB03290C11FCAFF6849403E2; + remoteInfo = pop; + }; + 516ED8BCAA5D529C5880316175270229 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = FD3993CF6295F990414755FE28D52230; + remoteInfo = PureLayout; + }; + 618F39D0588F945E9FED845B7B702B76 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6BA6D9CD89FCB39974065ABF3952FF4B; + remoteInfo = UIAlertViewBlockExtension; + }; + 6272D450A3CD0F6F33FDE51C13FB8D87 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4B43054A18B0C0AE955BDD2755CE4064; + remoteInfo = "UIView-Overlay"; + }; + 96B33D7B4B1E990AB1DB220FAC3997D7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9EBE8BA9F108B1A455FCC07818D6558C; remoteInfo = "UIActionSheet-Blocks"; }; + A2F0DE594388E1A693DC936FD62E1B1A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6BA6D9CD89FCB39974065ABF3952FF4B; + remoteInfo = UIAlertViewBlockExtension; + }; + AAEA9E7ABA3997B7E87C925A09F3128B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9EBE8BA9F108B1A455FCC07818D6558C; + remoteInfo = "UIActionSheet-Blocks"; + }; + B6344B6A163C8CF205A167F81F132592 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6BA6D9CD89FCB39974065ABF3952FF4B; + remoteInfo = UIAlertViewBlockExtension; + }; + B7EF751A44D43C9ECCEE40FD32DC3789 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = BD7FB1492BD1E0AE4ACA126CFCD5A5D6; + remoteInfo = TabBarPicker; + }; + BF0274CAAE2E112A87C855485552C4F2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = FD3993CF6295F990414755FE28D52230; + remoteInfo = PureLayout; + }; + C1885F3FA30C445FECB54A6F4DE4EA5A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 7C6FF6FFAB03290C11FCAFF6849403E2; + remoteInfo = pop; + }; + CF3681DBB952C7417403EE144931C96C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9EBE8BA9F108B1A455FCC07818D6558C; + remoteInfo = "UIActionSheet-Blocks"; + }; + E3972A55D37027CAF450B8EB038804AE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4B43054A18B0C0AE955BDD2755CE4064; + remoteInfo = "UIView-Overlay"; + }; + EA6849FF300475A5DCB56D0C1A4EF40A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = FD3993CF6295F990414755FE28D52230; + remoteInfo = PureLayout; + }; + F975C93B6CE31A1A8B5158F9D8DB4965 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = BD7FB1492BD1E0AE4ACA126CFCD5A5D6; + remoteInfo = TabBarPicker; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0092F18589478DBE2AE13D966D9CCD17 /* POPDecayAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDecayAnimationInternal.h; path = pop/POPDecayAnimationInternal.h; sourceTree = ""; }; - 01275C738EEBB0C959DF5D5840BBF280 /* UIAlertViewBlockExtension-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIAlertViewBlockExtension-umbrella.h"; sourceTree = ""; }; - 0265183A5C6854D378BE13ADD62DF5D0 /* POPAnimatableProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimatableProperty.h; path = pop/POPAnimatableProperty.h; sourceTree = ""; }; - 033ADB81C6199DE3DFA0C0515F6D0787 /* POPAnimationEvent.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationEvent.mm; path = pop/POPAnimationEvent.mm; sourceTree = ""; }; - 057958F38FCC99BBECF2AFCFE6C77BF0 /* pop.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = pop.xcconfig; sourceTree = ""; }; + 000B05A634204AA9C6F2B672D62EBCF4 /* POPAnimationEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationEvent.h; path = pop/POPAnimationEvent.h; sourceTree = ""; }; + 01F8924CEA5606F77EA570265F06F6D7 /* POPDecayAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDecayAnimationInternal.h; path = pop/POPDecayAnimationInternal.h; sourceTree = ""; }; + 062639F1501D14599E24AE57ED9A773B /* TabBarItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarItem.h; sourceTree = ""; }; + 06A9BC158985498417004D319E8517C6 /* UIAlertView+BlockExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIAlertView+BlockExtension.h"; path = "AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.h"; sourceTree = ""; }; 06FE8FFCBA729815B9AF16CB892A8708 /* Pods-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-frameworks.sh"; sourceTree = ""; }; 08BA99EE1EB2BCFFBB80871284FBB089 /* Pods-TabBarPicker_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TabBarPicker_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 0904674A54C7A3F9B5ECCED4CE5462CA /* UIView-Overlay.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "UIView-Overlay.modulemap"; sourceTree = ""; }; - 090ED9CFCA52EB517831504E40655C5E /* NSLayoutConstraint+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+PureLayout.m"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m"; sourceTree = ""; }; - 09F0104F4C8F308E96ECD6870B17F847 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 0A711227966BA949140D7F5462CB2606 /* UIAlertViewBlockExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UIAlertViewBlockExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 0C4CA99AF612C24DED5E74B745FC1344 /* UIAlertViewBlockExtension-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIAlertViewBlockExtension-dummy.m"; sourceTree = ""; }; - 0E839404844309F95E6F89FA7F86A7C4 /* UIView-Overlay-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView-Overlay-prefix.pch"; sourceTree = ""; }; - 0FBC3E333821E19620FAC1463F61C533 /* PureLayoutDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayoutDefines.h; path = PureLayout/PureLayout/PureLayoutDefines.h; sourceTree = ""; }; - 1245B4499EA33CBEE1C8AF99C76BA7E7 /* UIActionSheet-Blocks-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIActionSheet-Blocks-prefix.pch"; sourceTree = ""; }; - 13DC162AF7BEBCA584CAF9D9CEAD8319 /* ALView+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ALView+PureLayout.h"; path = "PureLayout/PureLayout/ALView+PureLayout.h"; sourceTree = ""; }; - 151D476EC8A8F451EAA5F3E69FC4757F /* UIButton+BackgroundColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIButton+BackgroundColor.m"; sourceTree = ""; }; - 16F3CE6BFFF06C74BF585D45BFB7E170 /* POPAnimationEventInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationEventInternal.h; path = pop/POPAnimationEventInternal.h; sourceTree = ""; }; - 17DA7E900B1E7945C8B8CE59D225F706 /* PureLayout-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-umbrella.h"; sourceTree = ""; }; - 17F13764CB2CA131B25559F8C59ADD62 /* pop.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = pop.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 18127D4692F3B261AE3BC9F683442BE0 /* POPMath.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPMath.mm; path = pop/POPMath.mm; sourceTree = ""; }; - 1ADAE502D9B0B386DFB546F956BC81BA /* TabBarItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarItem.h; sourceTree = ""; }; - 1E99C094867FA40E6CAACB3552C51A71 /* POPAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimator.h; path = pop/POPAnimator.h; sourceTree = ""; }; - 1F1993462D9F57783E626EE12A22DA6E /* ALView+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ALView+PureLayout.m"; path = "PureLayout/PureLayout/ALView+PureLayout.m"; sourceTree = ""; }; - 24FD90CF8C651053BFFF6A3EAF117125 /* POPAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimation.mm; path = pop/POPAnimation.mm; sourceTree = ""; }; - 29089DD2B4691C6A338790862F97B2EC /* AlertViewActionDispatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AlertViewActionDispatcher.m; path = AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.m; sourceTree = ""; }; - 2AA71E3B0198B726B6ACF8717C003825 /* PureLayout-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-prefix.pch"; sourceTree = ""; }; - 2ADFB66E931B6A5F3701C265EBC50E57 /* POPBasicAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPBasicAnimation.h; path = pop/POPBasicAnimation.h; sourceTree = ""; }; - 2B28537792C819C671A3C1B784BBD2E1 /* UIAlertViewBlockExtension-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIAlertViewBlockExtension-prefix.pch"; sourceTree = ""; }; - 2BDFBF8EAD1D91F7F7C98AE097F6AD54 /* TabBarPickerSubItemsView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarPickerSubItemsView.h; sourceTree = ""; }; - 2C0C90B45384C64964081948268EA1CF /* UIActionSheet+Blocks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIActionSheet+Blocks.h"; sourceTree = ""; }; + 0A012F57377BC9139931254111E85B58 /* PureLayout.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PureLayout.xcconfig; sourceTree = ""; }; + 0A8C00BA8EC48C99F04FCCA38711DA1F /* TabBarPicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarPicker.h; sourceTree = ""; }; + 0C24C046799BC5073CD20B222C406C2E /* UIView_Overlay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UIView_Overlay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0DF32AF94F033C9401BF4B36A767580E /* pop.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = pop.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1112A9123534C0C50268E507324BC537 /* UIView-Overlay-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView-Overlay-umbrella.h"; sourceTree = ""; }; + 12E82CCE60FFDD44D0D5FE4AD6AF0576 /* POPSpringAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringAnimation.h; path = pop/POPSpringAnimation.h; sourceTree = ""; }; + 135A97B2F58BCE0A456223D56BDBA79D /* UIView_Overlay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UIView_Overlay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 135CF7BF37498172369950D87175CCA8 /* POPMath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPMath.h; path = pop/POPMath.h; sourceTree = ""; }; + 1387424549E6983BD2A48B3C6D63CC0B /* UIImage+Color.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+Color.h"; sourceTree = ""; }; + 139FFB6CA1017BA9BB59B8808B624E3D /* PureLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PureLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 168FF76287452FBF7ADF8863D2BDC419 /* NSLayoutConstraint+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+PureLayout.h"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h"; sourceTree = ""; }; + 17DF88BEAAE716EBAE1DFDD48C408963 /* SharedLocationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SharedLocationManager.m; sourceTree = ""; }; + 19F751FC848C5AEEE5FF840B467195C8 /* UIActionSheet_Blocks.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UIActionSheet_Blocks.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1BEDA8761A83E1C2D6938C4C740F0195 /* Pods-TabBarPicker_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Tests.debug.xcconfig"; sourceTree = ""; }; + 1D5E551388D31096509A4589EC08F79E /* AADatePicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = AADatePicker.m; sourceTree = ""; }; + 21F37D40C11B85E3EF6DB017FE271D3D /* POPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDefines.h; path = pop/POPDefines.h; sourceTree = ""; }; + 22194E4985035A3CE21CCD944C91B07D /* POPBasicAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPBasicAnimationInternal.h; path = pop/POPBasicAnimationInternal.h; sourceTree = ""; }; + 2230DAA42F7A564CBF0F692DDF96E721 /* Pods_TabBarPicker_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TabBarPicker_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 22BF2BEDC7B2D3BAE167EE195D546E09 /* TabBarPickerSubItemsView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPickerSubItemsView.m; sourceTree = ""; }; + 235B0B4B46B71262AD7BE4F10B80C676 /* PureLayout-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-umbrella.h"; sourceTree = ""; }; + 249697AC4603EEE893DD451DA1C2D31D /* UIView+Overlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+Overlay.h"; sourceTree = ""; }; + 24DDFF7AC3AE994E408CFFECB6B2166A /* UIView-Overlay-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView-Overlay-dummy.m"; sourceTree = ""; }; + 26369E0FCEB5B5F4123CB873BB5E11D4 /* UIActionSheet-Blocks-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIActionSheet-Blocks-umbrella.h"; sourceTree = ""; }; + 279540B9BA6850992D0438085B700430 /* UIView-Overlay.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "UIView-Overlay.modulemap"; sourceTree = ""; }; + 279A1C091380206F917F31DBD8FB0EB5 /* POPDecayAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDecayAnimation.h; path = pop/POPDecayAnimation.h; sourceTree = ""; }; + 29437E688BE58E95C9AA395E14FE7A16 /* MMCPSScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MMCPSScrollView.m; sourceTree = ""; }; + 299B03DA7176922601D7855C3245292D /* TabBarPicker-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TabBarPicker-umbrella.h"; sourceTree = ""; }; + 29F58FD03405FEEA4AEACE0C5ECCF824 /* POPBasicAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPBasicAnimation.h; path = pop/POPBasicAnimation.h; sourceTree = ""; }; + 2A27509D0A9EF096A6F84B387950E57C /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 2A3A3FDD3DCEB4A9427257C859083BB2 /* MMCPSScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MMCPSScrollView.h; sourceTree = ""; }; + 2C8BC300F38B6226F15DE3505B8E0AF1 /* Pods-TabBarPicker_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Tests-umbrella.h"; sourceTree = ""; }; + 2D23215C89BC6C6E0CE68348A32A9E2A /* AADatePicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = AADatePicker.h; sourceTree = ""; }; 2D4A93EFD78DA51324BCEB8E21CF837C /* Pods-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-acknowledgements.plist"; sourceTree = ""; }; - 333488D10B952CEE843D891B0FD86586 /* Pods-TabBarPicker_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example.debug.xcconfig"; sourceTree = ""; }; - 33A75E30986D83691C56B0833666F7CA /* POPCustomAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPCustomAnimation.h; path = pop/POPCustomAnimation.h; sourceTree = ""; }; - 34BE0BA12096455AB6760CFDF1005D58 /* PureLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PureLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 34D6F57DE4FC243021043F443C43B2E7 /* POPCustomAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPCustomAnimation.mm; path = pop/POPCustomAnimation.mm; sourceTree = ""; }; - 3A6B4950E1673296D328FFBED288D4CB /* POPPropertyAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPPropertyAnimationInternal.h; path = pop/POPPropertyAnimationInternal.h; sourceTree = ""; }; - 3C16B835C951C428E453293C841C3377 /* TabBarPicker.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TabBarPicker.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2F205F78EC53D3A58EDB96F0C5402A54 /* POPAnimatableProperty.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimatableProperty.mm; path = pop/POPAnimatableProperty.mm; sourceTree = ""; }; + 31C7C9603D5C053A6685FFD1ED7AB0C2 /* POPSpringSolver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringSolver.h; path = pop/POPSpringSolver.h; sourceTree = ""; }; + 32B06D2C3E2EADCF43BAF301EB91FBDD /* UIButton+BackgroundColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIButton+BackgroundColor.m"; sourceTree = ""; }; + 33C5C0B9A65422513E3C98A8F4FB9393 /* UIActionSheet_Blocks.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UIActionSheet_Blocks.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 354CADE78EC328C68EE8A04604AC6B95 /* POPAnimationEvent.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationEvent.mm; path = pop/POPAnimationEvent.mm; sourceTree = ""; }; + 36A905A30B0E3058DF33DB5D5940204B /* TransformationMatrix.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; name = TransformationMatrix.cpp; path = pop/WebCore/TransformationMatrix.cpp; sourceTree = ""; }; + 3884644FD864BF538351E178CBD7D84F /* TabBarPicker-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TabBarPicker-prefix.pch"; sourceTree = ""; }; + 3AC15EBB5278B09BA13157D19C5C6708 /* pop.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = pop.modulemap; sourceTree = ""; }; + 3AFCAEF27DBA07D7481277E6D98AA54F /* TabBarPickerSubItemsView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarPickerSubItemsView.h; sourceTree = ""; }; + 3B77D7E9D2D93F9BEE05C468E372C9CA /* POPAction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAction.h; path = pop/POPAction.h; sourceTree = ""; }; + 3B7B94E6BF80EFAFCB60122333B8C4C7 /* POPCGUtils.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPCGUtils.mm; path = pop/POPCGUtils.mm; sourceTree = ""; }; 3C3F2CC5BA61A83A08179F1B5E6EC8EE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 3C5952D2A0EA0D05DC8D692098AC51A7 /* POPAnimationTracer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationTracer.h; path = pop/POPAnimationTracer.h; sourceTree = ""; }; - 3D833E7748B3655AA714241999C94DC4 /* Pods_TabBarPicker_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TabBarPicker_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3EF1BD1588AB81241629165EFEB77F71 /* POPAnimatorPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimatorPrivate.h; path = pop/POPAnimatorPrivate.h; sourceTree = ""; }; - 406E546B7EE79DC9406C0B0D50DCE847 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.debug.xcconfig; sourceTree = ""; }; - 407457717814B9F748F29AC5BADC4CE8 /* pop-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "pop-umbrella.h"; sourceTree = ""; }; - 443DBE5EFC78E4DA3BA8009969AB82D3 /* Pods-TabBarPicker_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example.release.xcconfig"; sourceTree = ""; }; - 4470612A0D7507992168F3515906A198 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 46BFF97BA8EC2F3F88ADE5237D31312F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 4BCC05ECC95382C9EF2ACC119EFA5E28 /* Pods-TabBarPicker_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Example-umbrella.h"; sourceTree = ""; }; - 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TabBarPicker.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - 4DE3F30E099AB50F0BB210A7F6B6ED1A /* POPAnimationExtras.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationExtras.mm; path = pop/POPAnimationExtras.mm; sourceTree = ""; }; - 4E3A05FFC672571219996826F2422FC3 /* TabBarPicker.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TabBarPicker.xcconfig; sourceTree = ""; }; - 4EA156B9D7B45653F7D72F9AD9677C8D /* UIView-Overlay.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIView-Overlay.xcconfig"; sourceTree = ""; }; - 5198D727327607E4FCEA3F8B223AE56C /* NSString+HexColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+HexColor.h"; sourceTree = ""; }; - 52F326ECBD421558567D7D4D6DE746A2 /* AlertViewActionDispatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AlertViewActionDispatcher.h; path = AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.h; sourceTree = ""; }; - 574DA8A9A0215386DE1A03D64F9ABA59 /* PureLayout-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PureLayout-dummy.m"; sourceTree = ""; }; - 58277D5C8D6A027E9F83DA57FD4CD4C4 /* UIAlertView+BlockExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIAlertView+BlockExtension.h"; path = "AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.h"; sourceTree = ""; }; - 5A1099449FD06DCA3B85854337EBB014 /* POPBasicAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPBasicAnimationInternal.h; path = pop/POPBasicAnimationInternal.h; sourceTree = ""; }; - 5A5E9FAC402EFB3AA4E84A2D8D436956 /* UnitBezier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = UnitBezier.h; path = pop/WebCore/UnitBezier.h; sourceTree = ""; }; - 5C718BD2871FCA417AD91347C1E0D404 /* Pods-TabBarPicker_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Tests.debug.xcconfig"; sourceTree = ""; }; - 5D90E0DD88BBD1478B0E18109767F8FA /* POPAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationInternal.h; path = pop/POPAnimationInternal.h; sourceTree = ""; }; - 600FCA011088B2DF371E21218156A7F6 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 61276C8A6D4336801FA57D715D633F8A /* POPGeometry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPGeometry.h; path = pop/POPGeometry.h; sourceTree = ""; }; - 6194B637DF6CFA16E42BCABF5348C38B /* TabBarSubItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarSubItem.m; sourceTree = ""; }; + 3CA99DBCF9D345558DA97E818C4DF4F3 /* POPAnimator.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimator.mm; path = pop/POPAnimator.mm; sourceTree = ""; }; + 40F21C637AF6FCB7D37FB38B02D4E310 /* POPGeometry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPGeometry.h; path = pop/POPGeometry.h; sourceTree = ""; }; + 43B8C4D87F3ED3FAF8975F733C178181 /* POPAnimationExtras.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationExtras.h; path = pop/POPAnimationExtras.h; sourceTree = ""; }; + 44F7B30CACC643F98AD597B7977A5B40 /* UnitBezier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = UnitBezier.h; path = pop/WebCore/UnitBezier.h; sourceTree = ""; }; + 473CE5D435657BAFFEF9395A69A37951 /* NSArray+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+PureLayout.h"; path = "PureLayout/PureLayout/NSArray+PureLayout.h"; sourceTree = ""; }; + 48AD6DF51117EAFB31B38C82E17E0989 /* UIImage+Color.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+Color.m"; sourceTree = ""; }; + 4C88EE4B2406D3AA24F98F63CCB07DD7 /* UIView+Overlay.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+Overlay.m"; sourceTree = ""; }; + 4D44D0B9FEFE753D119E95F295461EB5 /* POPBasicAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPBasicAnimation.mm; path = pop/POPBasicAnimation.mm; sourceTree = ""; }; + 4D4D69F9646FE2395A1CACB9503A817B /* AlertViewActionDispatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AlertViewActionDispatcher.m; path = AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.m; sourceTree = ""; }; + 4E35943ACCC1156006EC6D02B7478DB1 /* UIAlertViewBlockExtension-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIAlertViewBlockExtension-umbrella.h"; sourceTree = ""; }; + 4F46D293682D390EE38E173BE8D0A72C /* Pods-TabBarPicker_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Tests-dummy.m"; sourceTree = ""; }; + 5072368CD39042BD768B85CBCA94F43A /* TabBarSubItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarSubItem.h; sourceTree = ""; }; + 507B2D12B6DBEDC51151767977154DDC /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.release.xcconfig; sourceTree = ""; }; + 5212AEFB9487CDD03BE755E6F35CE104 /* UIAlertViewBlockExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UIAlertViewBlockExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5592A1BB7FD71F49A55B05C2716B50C5 /* POPVector.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPVector.h; path = pop/POPVector.h; sourceTree = ""; }; + 55FE072806E250E96882A22C019D54D2 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 581028570F8C3BBD5926BB4C2CDDCBD5 /* UIView-Overlay-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView-Overlay-prefix.pch"; sourceTree = ""; }; + 58788200EE48EA2D50362411A2C3F739 /* POPPropertyAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPPropertyAnimationInternal.h; path = pop/POPPropertyAnimationInternal.h; sourceTree = ""; }; + 59E962B208E6852AC6A9E9CDC3723306 /* Pods-TabBarPicker_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Example-dummy.m"; sourceTree = ""; }; + 5B1719AA0DCE53714CE76C3E1B504894 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5B7DF92CC50DB131D9E256DD07B7891B /* PureLayout-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-prefix.pch"; sourceTree = ""; }; + 5DB89ADB76FFB9542E55A72397F232F9 /* UIActionSheet-Blocks.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "UIActionSheet-Blocks.modulemap"; sourceTree = ""; }; + 5DD9893FB3DDD273CB4A6EAE418B0C7A /* UIActionSheet-Blocks-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIActionSheet-Blocks-dummy.m"; sourceTree = ""; }; + 5E23FBC74F0967D9A81DA38E38B00DE1 /* POPSpringAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringAnimationInternal.h; path = pop/POPSpringAnimationInternal.h; sourceTree = ""; }; + 62270DDD85FF57D0452DB3E8D33B5DA5 /* UIActionSheet+Blocks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIActionSheet+Blocks.h"; sourceTree = ""; }; 633EE7D34BF44B52CE606FF762ECFDF4 /* Pods-TabBarPicker_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TabBarPicker_Example-acknowledgements.markdown"; sourceTree = ""; }; - 63FCE3E65371359592CB606E1790BC86 /* POPLayerExtras.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPLayerExtras.h; path = pop/POPLayerExtras.h; sourceTree = ""; }; - 6474C99DA6F95FB4A031EA234BA3CF12 /* POPPropertyAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPPropertyAnimation.h; path = pop/POPPropertyAnimation.h; sourceTree = ""; }; - 6682B426E85C9170F1FA5919B0BD809D /* TabBarPickerSubItemsView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPickerSubItemsView.m; sourceTree = ""; }; - 675CC0337FE68D69EEB51AF67E30F8E3 /* Pods-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-umbrella.h"; sourceTree = ""; }; - 6805F6C4A24C2AAAB6A33C0A97652E03 /* POPAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimation.h; path = pop/POPAnimation.h; sourceTree = ""; }; - 69A66B68532816A729F8D7B45A344A3D /* SharedLocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SharedLocationManager.h; sourceTree = ""; }; - 6C4407C962E1D98312FB510D7F5BA8D7 /* SharedLocationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = SharedLocationManager.m; sourceTree = ""; }; - 6E05779740DB7A4882324BB0CC77FE83 /* PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayout.h; path = PureLayout/PureLayout/PureLayout.h; sourceTree = ""; }; - 6F38C68DF8E83372339E86F5FA718023 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.release.xcconfig; sourceTree = ""; }; - 71B2C71E7FB812DD60E4B549ADCE1DAB /* pop-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "pop-prefix.pch"; sourceTree = ""; }; - 73CE6B07292175B9D39CBFFC0DB41A60 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 7469EB00631C681CEE752F2D41DAD63C /* POPAnimationEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationEvent.h; path = pop/POPAnimationEvent.h; sourceTree = ""; }; - 761704FFCAD0CB5CCD6B93F25AD6AA17 /* UIActionSheet-Blocks.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIActionSheet-Blocks.xcconfig"; sourceTree = ""; }; - 76962B10AC94EB35A7FEA32B4946FD52 /* POPPropertyAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPPropertyAnimation.mm; path = pop/POPPropertyAnimation.mm; sourceTree = ""; }; - 79BC08E450E450A6BB7385AAE26BD967 /* POPAnimationRuntime.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationRuntime.mm; path = pop/POPAnimationRuntime.mm; sourceTree = ""; }; + 670A619D444D4272D6930B77992641D5 /* Pods-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-umbrella.h"; sourceTree = ""; }; + 683A03131BE1921E00175B04 /* NSDate+NSDate_Util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+NSDate_Util.h"; sourceTree = ""; }; + 683A03141BE1921E00175B04 /* NSDate+NSDate_Util.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+NSDate_Util.m"; sourceTree = ""; }; + 6A8E79163569B2099E7A2999D0D66912 /* POPPropertyAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPPropertyAnimation.h; path = pop/POPPropertyAnimation.h; sourceTree = ""; }; + 6C9341A3CB1ACB5154E95D72CD5BBECB /* UIView-Overlay.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIView-Overlay.xcconfig"; sourceTree = ""; }; + 6E5BA8571752263CED9377BFBB7EFBE9 /* POPLayerExtras.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPLayerExtras.mm; path = pop/POPLayerExtras.mm; sourceTree = ""; }; + 6EC2CDEC45A7F2163A3032CD00811E97 /* TabBarPicker.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = TabBarPicker.modulemap; sourceTree = ""; }; + 6EE44B283E1584627A8B210E37F8E39E /* POPAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationInternal.h; path = pop/POPAnimationInternal.h; sourceTree = ""; }; + 740E45A722DF8B2DCE7499E78C436267 /* Pods-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-dummy.m"; sourceTree = ""; }; + 77BADA29B0CA8C7BA8F3D9B1C1A3E1D5 /* UIAlertViewBlockExtension-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIAlertViewBlockExtension-dummy.m"; sourceTree = ""; }; + 77E41E62035021432EB599D8C8B9F68F /* UIActionSheet-Blocks.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIActionSheet-Blocks.xcconfig"; sourceTree = ""; }; 79ED7F11B8B30282685F622BDF426547 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 7A8FFBDEB63199AE8279A19F0D250C8E /* UIActionSheet-Blocks-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIActionSheet-Blocks-dummy.m"; sourceTree = ""; }; - 7B047E646DE63EE4A046561F085AB400 /* UIAlertViewBlockExtension-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIAlertViewBlockExtension-Private.xcconfig"; sourceTree = ""; }; - 7F343D98F46F354D1807A1F52E6E36AD /* Pods-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-dummy.m"; sourceTree = ""; }; - 82DF04FACBE07C9562F9EDEF54676003 /* UIActionSheet-Blocks.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "UIActionSheet-Blocks.modulemap"; sourceTree = ""; }; - 83921BCA321A4BCC93EA3DD5832C85BE /* UIAlertView+BlockExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIAlertView+BlockExtension.m"; path = "AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.m"; sourceTree = ""; }; - 84377DDAEA9C569BF6EBCF717BDE81E7 /* UIImage+Color.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+Color.h"; sourceTree = ""; }; - 848C982AABCEC351952AA25A9E612B3B /* TabBarPicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarPicker.h; sourceTree = ""; }; - 8799FDC6BF3E75DA73CA794715159657 /* Pods-TabBarPicker_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Tests-umbrella.h"; sourceTree = ""; }; - 892712A2B0521F4472AE53DB17FFA5ED /* TabBarPicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPicker.m; sourceTree = ""; }; - 89F770FF888D56EB719C45BF38EB5479 /* TabBarSubItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = TabBarSubItem.h; sourceTree = ""; }; - 8AB9A4F96F4D3194C37C06DB13F00F1E /* POPAction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAction.h; path = pop/POPAction.h; sourceTree = ""; }; - 8ADAF2F396F7D8A76FB8CD61DF2B3570 /* UIActionSheet-Blocks-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIActionSheet-Blocks-umbrella.h"; sourceTree = ""; }; - 8C843EFA8C32E452322B0ECA1629290A /* POPAnimatableProperty.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimatableProperty.mm; path = pop/POPAnimatableProperty.mm; sourceTree = ""; }; - 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "TabBarPicker-Private.xcconfig"; sourceTree = ""; }; + 7B99E9681FF12E250E5E1F2037A665F4 /* POPAnimationExtras.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationExtras.mm; path = pop/POPAnimationExtras.mm; sourceTree = ""; }; + 7BA3CE2BACE6A58193DB030815FD0612 /* POPLayerExtras.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPLayerExtras.h; path = pop/POPLayerExtras.h; sourceTree = ""; }; + 812DA1DC2624346011954A47727B6F40 /* POPAnimationTracer.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationTracer.mm; path = pop/POPAnimationTracer.mm; sourceTree = ""; }; + 86A52C33DCB600DC6CB60D01DFCDCD4E /* TabBarPicker.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TabBarPicker.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 86B2FE0BBF75E7813D4488568CB0FE7C /* UIButton+BackgroundColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIButton+BackgroundColor.h"; sourceTree = ""; }; + 8784023D4A174B67EEF4A3D11AA4A903 /* NSString+HexColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+HexColor.h"; sourceTree = ""; }; + 8ADF06FAE311BA12C8F83900BE2F3636 /* POPCustomAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPCustomAnimation.mm; path = pop/POPCustomAnimation.mm; sourceTree = ""; }; + 8CEB12F02DC0F02D4D157AB72670350C /* TabBarItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarItem.m; sourceTree = ""; }; + 8DEF9884A0326703FBDF52D34E852771 /* NSLayoutConstraint+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+PureLayout.m"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m"; sourceTree = ""; }; + 8E3E5AC55B54F9CC2806A3659EB06D78 /* POPAnimatorPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimatorPrivate.h; path = pop/POPAnimatorPrivate.h; sourceTree = ""; }; + 8EC23DEA9198698877182AE37FEEE512 /* POPCGUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPCGUtils.h; path = pop/POPCGUtils.h; sourceTree = ""; }; 8ECA1560097ECE6BE55C9A9F8FE9A481 /* Pods-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-resources.sh"; sourceTree = ""; }; - 8F5618A4CE99E55855B1013DEF653BF8 /* POPDecayAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDecayAnimation.h; path = pop/POPDecayAnimation.h; sourceTree = ""; }; - 904079A84D927539A414BED833C527E3 /* TabBarPicker-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TabBarPicker-dummy.m"; sourceTree = ""; }; - 913E7306AD4E255661D418473382CF54 /* NSArray+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+PureLayout.h"; path = "PureLayout/PureLayout/NSArray+PureLayout.h"; sourceTree = ""; }; - 91AC81FCA64DB06998A2D6C93292E3D0 /* POPSpringAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPSpringAnimation.mm; path = pop/POPSpringAnimation.mm; sourceTree = ""; }; - 91FA5CA09CACBC560BDE8C375A8ECF48 /* UIActionSheet_Blocks.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UIActionSheet_Blocks.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 93687FABCF55D0A5D679C928BA78DAB4 /* POPVector.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPVector.h; path = pop/POPVector.h; sourceTree = ""; }; - 967EC1A8094613A64436935A32CE393E /* UIView-Overlay-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView-Overlay-dummy.m"; sourceTree = ""; }; - 9690E74815183E50D72844E517799F05 /* Pods_TabBarPicker_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TabBarPicker_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9B6EE12FEF6DED0AB56B1443E7B346F0 /* POPAnimator.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimator.mm; path = pop/POPAnimator.mm; sourceTree = ""; }; - 9CD3AB8195F74BFC43D6997F61F6F298 /* NSLayoutConstraint+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+PureLayout.h"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h"; sourceTree = ""; }; - 9DC406894CD352D5DAFB3D4071DB8955 /* TabBarPicker-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TabBarPicker-prefix.pch"; sourceTree = ""; }; - 9FF196DA16906822D150C60295CBB88E /* TabBarPicker.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = TabBarPicker.modulemap; sourceTree = ""; }; - A08C793E1F109494ED9A12FB0A0E9469 /* UIView_Overlay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UIView_Overlay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A103939D06A87FED0BE43F0CF5F5056A /* POPSpringAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringAnimation.h; path = pop/POPSpringAnimation.h; sourceTree = ""; }; - A2FCF37642A72A24ECA53BF3ECE2C522 /* POPDecayAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPDecayAnimation.mm; path = pop/POPDecayAnimation.mm; sourceTree = ""; }; + 9429AD9F75EB8B378B105C44F4E1AAB2 /* PureLayout+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PureLayout+Internal.h"; path = "PureLayout/PureLayout/PureLayout+Internal.h"; sourceTree = ""; }; + 95003B6C7E5F13C4B1F7EE87FD90527B /* UIAlertViewBlockExtension.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = UIAlertViewBlockExtension.modulemap; sourceTree = ""; }; + 98AD4FCE7D65CE6A7505C538C1BA3573 /* POPPropertyAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPPropertyAnimation.mm; path = pop/POPPropertyAnimation.mm; sourceTree = ""; }; + 9966AD192E41B700423B55A704A287EA /* PureLayout-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PureLayout-dummy.m"; sourceTree = ""; }; + 9A3DE0E44C7293D36DA3B526D1B026D5 /* UIActionSheet-Blocks-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIActionSheet-Blocks-prefix.pch"; sourceTree = ""; }; + 9DDD7E43333D8048D9AEFA372BF2FBBF /* POPAnimationEventInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationEventInternal.h; path = pop/POPAnimationEventInternal.h; sourceTree = ""; }; + 9E7CDBD516916CE2BF50F67FF45A88A4 /* POPAnimator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimator.h; path = pop/POPAnimator.h; sourceTree = ""; }; + 9FFDE1E9BA0576EC67DCADF844998C85 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + A1BCD5045A0E3F76805809266460257F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + A3E73907BA0D7903E3E892DD3C204FBF /* Pods-TabBarPicker_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example.debug.xcconfig"; sourceTree = ""; }; A4829611B42E013AE869D1D4399022C9 /* Pods-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-acknowledgements.markdown"; sourceTree = ""; }; - A51DD204C7AF95C0483EF1E8C2F5FB7F /* Pods-TabBarPicker_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Tests.release.xcconfig"; sourceTree = ""; }; A56413DB484A0F29380EE43337DA9DA8 /* Pods-TabBarPicker_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-TabBarPicker_Example.modulemap"; sourceTree = ""; }; - A6809F9933FBA0B384C97E424F36A254 /* UIView-Overlay-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView-Overlay-umbrella.h"; sourceTree = ""; }; - A959F8AA2353F159B247BFFC208D79AE /* POPAnimationTracer.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationTracer.mm; path = pop/POPAnimationTracer.mm; sourceTree = ""; }; + A6176AC0EE4A0494FE5B0CB383024657 /* POPGeometry.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPGeometry.mm; path = pop/POPGeometry.mm; sourceTree = ""; }; AB6C4481A0062CA32EB0EEFE44EE97B7 /* Pods-TabBarPicker_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Tests-resources.sh"; sourceTree = ""; }; - AD91FEA622F6A8F0C0B30214CAA1FC2F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + ABA905D4B509500937970B41BAC7DF66 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + ABF4B5C0C5B2A57C2F2253B9E6D25C7A /* POPDecayAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPDecayAnimation.mm; path = pop/POPDecayAnimation.mm; sourceTree = ""; }; + AD5ACFC1F3CF7D035AF27A6A783298DB /* AlertViewActionDispatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AlertViewActionDispatcher.h; path = AlertViewExamples/UIAlertViewBlockExtension/AlertViewActionDispatcher.h; sourceTree = ""; }; + AD675A448C75B4CFB27B77A3EA328F7A /* POPMath.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPMath.mm; path = pop/POPMath.mm; sourceTree = ""; }; + ADF3F4B17F611A14FB4C43824561CE0A /* Pods-TabBarPicker_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TabBarPicker_Example-umbrella.h"; sourceTree = ""; }; + AF9F4BB54569DDF705861FB1BE6639A3 /* SharedLocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = SharedLocationManager.h; sourceTree = ""; }; + B22CF836CB81C091C12AB69537A00BC5 /* UIAlertViewBlockExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UIAlertViewBlockExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B272664DCD146C22996C135571D9379B /* Pods-TabBarPicker_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TabBarPicker_Example-acknowledgements.plist"; sourceTree = ""; }; B2781EC2F90E0368E9A2C0DEAA9E2D8E /* Pods.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Pods.modulemap; sourceTree = ""; }; - B2C8FC99E26E968A362BE3183813868F /* Pods-TabBarPicker_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Tests-dummy.m"; sourceTree = ""; }; - B3CC14A2C07C0EC7200575FC791BE81F /* UIAlertViewBlockExtension.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = UIAlertViewBlockExtension.xcconfig; sourceTree = ""; }; - B51C1620215D22739C0E7668D0FCFA91 /* POPBasicAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPBasicAnimation.mm; path = pop/POPBasicAnimation.mm; sourceTree = ""; }; - B7C7853AD5F572083A52914090850AD2 /* POPCGUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPCGUtils.h; path = pop/POPCGUtils.h; sourceTree = ""; }; - B861FEB396B49AFBE01AC2B10E0ACAB5 /* UIView+Overlay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+Overlay.h"; sourceTree = ""; }; - B8B993D010B7CF17F9E9291557AF882E /* TabBarPicker-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TabBarPicker-umbrella.h"; sourceTree = ""; }; + B492948EF73FB7A38F678DCBEF3EC0E8 /* PureLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PureLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B5853061AE5E25539AF9F8C6B9277C6C /* pop.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = pop.xcconfig; sourceTree = ""; }; + B686B9D65E191F72D2B2A91402F91203 /* ToucheableScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = ToucheableScrollView.m; sourceTree = ""; }; + B932ED41385F18C75125A14654C41AC2 /* pop-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "pop-prefix.pch"; sourceTree = ""; }; BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - BAC2E2B2AD148D2E4BBC115DDA61EFD5 /* UIImage+Color.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+Color.m"; sourceTree = ""; }; - BFA0253EFF494DE91B9188C8142F6460 /* UIActionSheet+Blocks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIActionSheet+Blocks.m"; sourceTree = ""; }; - C0AB0659065645807D7D24A071F9C843 /* MMCPSScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MMCPSScrollView.h; sourceTree = ""; }; - C23A73774E96D3E6946E0D8F33A031C8 /* POPSpringAnimationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringAnimationInternal.h; path = pop/POPSpringAnimationInternal.h; sourceTree = ""; }; - C37744310F9F865551677E6AC8149112 /* NSArray+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+PureLayout.m"; path = "PureLayout/PureLayout/NSArray+PureLayout.m"; sourceTree = ""; }; - C3978B4F00206A1AE1010E30F106D1F7 /* UIView-Overlay-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIView-Overlay-Private.xcconfig"; sourceTree = ""; }; - C3C90B76A43FA38EA58794A9C84FD81D /* TransformationMatrix.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TransformationMatrix.h; path = pop/WebCore/TransformationMatrix.h; sourceTree = ""; }; - C63094D0493DD4114649FBDA3A330311 /* POPAnimationExtras.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationExtras.h; path = pop/POPAnimationExtras.h; sourceTree = ""; }; + BEAAB17331DF4239D3D0E6CD041860DE /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.debug.xcconfig; sourceTree = ""; }; + BEE5DC78E1FB8022B83E73EB37A1C32F /* POPAnimationPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationPrivate.h; path = pop/POPAnimationPrivate.h; sourceTree = ""; }; + C0385B1EEA934D2080ACE82953CF43AA /* POPAnimationTracerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationTracerInternal.h; path = pop/POPAnimationTracerInternal.h; sourceTree = ""; }; + C0D20EC06FA47EA545FAFB412DBECD63 /* TabBarSubItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarSubItem.m; sourceTree = ""; }; + C36834EF5B4EE57849112AE2962D5A8F /* NSString+HexColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+HexColor.m"; sourceTree = ""; }; C6BAA705428D5D2A736281C39E74E46F /* Pods-TabBarPicker_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Example-resources.sh"; sourceTree = ""; }; - C860C342641452046FDF204ED4FB25D3 /* POPGeometry.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPGeometry.mm; path = pop/POPGeometry.mm; sourceTree = ""; }; - C8B69475707149C2FE67DE55C7262439 /* PureLayout.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = PureLayout.modulemap; sourceTree = ""; }; - CBF36C9DEBBB22EE208BC6986E44F18B /* UIView+Overlay.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+Overlay.m"; sourceTree = ""; }; - CC4882E403503DE9288AF3969E260251 /* PureLayout-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "PureLayout-Private.xcconfig"; sourceTree = ""; }; - CE0D5C46DAC6E6475ADEE87A8601A25F /* POPSpringSolver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPSpringSolver.h; path = pop/POPSpringSolver.h; sourceTree = ""; }; + CC16160B51F7A16045947DA3991D19A7 /* POPAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimation.mm; path = pop/POPAnimation.mm; sourceTree = ""; }; + CC6D03A20E291CEEFE6C3E26866F5174 /* POPAnimationRuntime.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPAnimationRuntime.mm; path = pop/POPAnimationRuntime.mm; sourceTree = ""; }; + CD5AE21AF545C1C9E699D8EEFD50F865 /* POPAnimationTracer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationTracer.h; path = pop/POPAnimationTracer.h; sourceTree = ""; }; + CDDBD01B8874C27DD892F3AD66B87B15 /* UIAlertViewBlockExtension.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = UIAlertViewBlockExtension.xcconfig; sourceTree = ""; }; + CE8BA8549F744CE0855D1C3147A8D8AA /* pop-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "pop-dummy.m"; sourceTree = ""; }; + CEC73195F9FEAAEED0CA81F34758046B /* POPCustomAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPCustomAnimation.h; path = pop/POPCustomAnimation.h; sourceTree = ""; }; + CF316A32737FABA211C0097DAC845D7A /* Pods-TabBarPicker_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Tests.release.xcconfig"; sourceTree = ""; }; CF5420961A10DC2B4F9B46189C6E1001 /* Pods-TabBarPicker_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TabBarPicker_Tests-acknowledgements.plist"; sourceTree = ""; }; + D1E6B2943A55BF51EE7262BA2155A4FA /* ALView+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ALView+PureLayout.m"; path = "PureLayout/PureLayout/ALView+PureLayout.m"; sourceTree = ""; }; D29115C7B51D59AB9CFBBF927D069DAB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - D2D43A5A2C5C748416BA1C566EEC2930 /* pop-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "pop-Private.xcconfig"; sourceTree = ""; }; + D2C8A0F1A696C1E83CAF9D0B180A6B22 /* NSArray+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+PureLayout.m"; path = "PureLayout/PureLayout/NSArray+PureLayout.m"; sourceTree = ""; }; D2FCC54601ECBB62AE9A36A0D8BE3507 /* Pods-TabBarPicker_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Example-frameworks.sh"; sourceTree = ""; }; + D470525507044D4949C6E15849C9DE5C /* POPVector.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPVector.mm; path = pop/POPVector.mm; sourceTree = ""; }; D474B38CC3E00C0CBAD295F8A3FBA66E /* Pods-TabBarPicker_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TabBarPicker_Tests-frameworks.sh"; sourceTree = ""; }; - D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - D51458B8F46FD6C6746405B499E404C5 /* PureLayout.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PureLayout.xcconfig; sourceTree = ""; }; - D59AE80D8F830B2B594F27731251395F /* POPMath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPMath.h; path = pop/POPMath.h; sourceTree = ""; }; - DAE0AEB7B6CD1ED86E0DB49046266B5D /* POPLayerExtras.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPLayerExtras.mm; path = pop/POPLayerExtras.mm; sourceTree = ""; }; - DAFA4BCE4B185A782DD016F84B3BE0CF /* PureLayout+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PureLayout+Internal.h"; path = "PureLayout/PureLayout/PureLayout+Internal.h"; sourceTree = ""; }; - DB1EE7FB0A32127BFDF50BF82107F0F4 /* POPAnimationTracerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationTracerInternal.h; path = pop/POPAnimationTracerInternal.h; sourceTree = ""; }; - DCD7E6574C7C26950B644E13277596B9 /* UIActionSheet-Blocks-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIActionSheet-Blocks-Private.xcconfig"; sourceTree = ""; }; + D578DCF9577851BB444CC0B50CBEBAB4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D5E0974B15C59E97EFD7A8604EC4D613 /* PureLayoutDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayoutDefines.h; path = PureLayout/PureLayout/PureLayoutDefines.h; sourceTree = ""; }; + D65738468D0E72D161AF68BE49100FF0 /* pop-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "pop-umbrella.h"; sourceTree = ""; }; + D679E457F381CFAE1B48C3C5258F72A4 /* TabBarPicker.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TabBarPicker.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + D74D9AD47AAB578B5159F3DF1D0096E5 /* POP.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POP.h; path = pop/POP.h; sourceTree = ""; }; + DB1BF4AB3C02E27B00226C118F3E76E0 /* POPAnimatableProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimatableProperty.h; path = pop/POPAnimatableProperty.h; sourceTree = ""; }; + DB31AD0DD5C90976B1BEF3D743D701A0 /* POPAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimation.h; path = pop/POPAnimation.h; sourceTree = ""; }; + DD48521845818CAA29850EB56904A3DC /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; DEFCECEAD24242A4D391D84B7417A5F0 /* Pods-TabBarPicker_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-TabBarPicker_Tests.modulemap"; sourceTree = ""; }; - DFA088A284A23B3AC39221F16A6CB0D9 /* TransformationMatrix.cpp */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; name = TransformationMatrix.cpp; path = pop/WebCore/TransformationMatrix.cpp; sourceTree = ""; }; - E1272C77ED4CCB0F280E4DFB2B75B7E1 /* TabBarItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarItem.m; sourceTree = ""; }; - E44E0425616E7E04E1AB9E751AA6AE53 /* FloatConversion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FloatConversion.h; path = pop/WebCore/FloatConversion.h; sourceTree = ""; }; - E6071A8A1FC882289A416D3DCB73BF9C /* Pods-TabBarPicker_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TabBarPicker_Example-dummy.m"; sourceTree = ""; }; - E74ECC4D12B3ABD32F0D9603ABE541B8 /* MMCPSScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MMCPSScrollView.m; sourceTree = ""; }; - E9B49BE5CA6EA26F192340AE3F2471BF /* pop-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "pop-dummy.m"; sourceTree = ""; }; - EB6215B243DFD151285F9B12CE2368A2 /* POPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPDefines.h; path = pop/POPDefines.h; sourceTree = ""; }; - EBE7CFA8B928239B1CC73E2FC274AB17 /* UIButton+BackgroundColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIButton+BackgroundColor.h"; sourceTree = ""; }; - ED289C824091E9CC3700069DEB5B7133 /* NSString+HexColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+HexColor.m"; sourceTree = ""; }; - EDE812C1C1189EB9B917A0E59FB7C5F4 /* pop.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = pop.modulemap; sourceTree = ""; }; - EE3EC944F1DABE1BFA56ABCC8CE2A9F7 /* POP.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POP.h; path = pop/POP.h; sourceTree = ""; }; - EF2A7544C3995B3943AA4BC07DAB51D1 /* POPAnimationPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationPrivate.h; path = pop/POPAnimationPrivate.h; sourceTree = ""; }; - EFFF86131631ED94B1855A8DC9FADBC0 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F47C77B6247FFF4294E595C4EBF035F5 /* POPVector.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPVector.mm; path = pop/POPVector.mm; sourceTree = ""; }; - F628DCE86E47F4C94CFDEB115F7A6469 /* POPCGUtils.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPCGUtils.mm; path = pop/POPCGUtils.mm; sourceTree = ""; }; - FBE55426C8613986F9DE17C08EC4E7CF /* POPAnimationRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationRuntime.h; path = pop/POPAnimationRuntime.h; sourceTree = ""; }; - FC7511D42A46743BE371B7B01A6E89F3 /* UIAlertViewBlockExtension.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = UIAlertViewBlockExtension.modulemap; sourceTree = ""; }; + E02911DED2E29D4D38C48FCA057FD731 /* TransformationMatrix.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = TransformationMatrix.h; path = pop/WebCore/TransformationMatrix.h; sourceTree = ""; }; + E0C7616C5C625244BD1B937A8739F1EB /* UIAlertView+BlockExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIAlertView+BlockExtension.m"; path = "AlertViewExamples/UIAlertViewBlockExtension/UIAlertView+BlockExtension.m"; sourceTree = ""; }; + E25EF1DFE2EF042A5144A5ADAEA0E5FE /* UIActionSheet+Blocks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIActionSheet+Blocks.m"; sourceTree = ""; }; + E38CBE569356333FAE1DFD5710C588F2 /* POPSpringAnimation.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; name = POPSpringAnimation.mm; path = pop/POPSpringAnimation.mm; sourceTree = ""; }; + E3DA23324CDF75B9A89D461ABC497CF7 /* UIAlertViewBlockExtension-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIAlertViewBlockExtension-prefix.pch"; sourceTree = ""; }; + E4FA43840DD706977F1E3A710C5AC8B3 /* ToucheableScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = ToucheableScrollView.h; sourceTree = ""; }; + E75EB3F3C6A4DCD22506B9171FE6AE1D /* ALView+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ALView+PureLayout.h"; path = "PureLayout/PureLayout/ALView+PureLayout.h"; sourceTree = ""; }; + E98C6A134C947C270F89928320695980 /* FloatConversion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FloatConversion.h; path = pop/WebCore/FloatConversion.h; sourceTree = ""; }; + EBE700BA095A486DF0753B153A2B2C10 /* TabBarPicker-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TabBarPicker-dummy.m"; sourceTree = ""; }; + EE1847E970F26F4BD32CB5F1FEF751F9 /* PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayout.h; path = PureLayout/PureLayout/PureLayout.h; sourceTree = ""; }; + EF9CD8496210C39CCB0292A00C887581 /* PureLayout.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = PureLayout.modulemap; sourceTree = ""; }; + F3AB160643F3006958BCD5E14081957B /* TabBarPicker.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TabBarPicker.xcconfig; sourceTree = ""; }; + F52DF8BCB997097E4CE7B4855DB12327 /* Pods-TabBarPicker_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TabBarPicker_Example.release.xcconfig"; sourceTree = ""; }; + F68B3D2C2ECFC5640DEC8A3C6A2B9318 /* POPAnimationRuntime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = POPAnimationRuntime.h; path = pop/POPAnimationRuntime.h; sourceTree = ""; }; + FC03F319B1C2812107DDE4DF04C52D78 /* TabBarPicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = TabBarPicker.m; sourceTree = ""; }; + FCF66E6FDA0B00484D949D0149241E2F /* Pods_TabBarPicker_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TabBarPicker_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 49A0A96D50E26826AF840B79E450008C /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E0D2D54F5DF6C392E767E2AF1129BBD0 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8520A48E45E6B6DC9EC9C8F684889FCE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 90129E00295631C4089C9A8A1EE6519F /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D982826564F33040944F955F4866DBD /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 7C6672FF5BC14E5A632F38FBCF4D84F6 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9B02C87F42AF1C91A4A2F9339784DF7C /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 29B97DBB30EE19D048BEC6E25E9F9F14 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A91B8D6425530AC502B83B5E40CDE8BE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - AE112AF4A8298C9DA2C4D87F2FD0B06E /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - AAAAA4342085DEFE61C54EF9A4F0AC88 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8B9B75C7523CEBCAF2D86154DDFA98AD /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - AFD7844FFD6D5B623CA366A6697D1817 /* Frameworks */ = { + 5E64FABBAEB6145E53F1E5C5B2829D9D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - C55B4A380649C260F933655453406C98 /* Frameworks */ = { + 6EB75D18308D05E6EB9EEEE5B4CB44ED /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A7A6A047CA9F0ADFA09FA3F58E8DA1E3 /* Foundation.framework in Frameworks */, + FB29ACD9C06F0DEEF1CFF20A60B0D8BD /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E317655F4C92290FC793E268EDF9B38E /* Frameworks */ = { + 8CB498D69D9F3405BF78B901B1FC8D97 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - AEB41D63ACB6BAF7B6DA8EAB5DBFDFEF /* Foundation.framework in Frameworks */, + 173A688EC1D10D50C68A8E868D2A3F23 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - FE4BBC387732232A2FD5DB5386A8BEAE /* Frameworks */ = { + 9B24E683422A00C4DE1C04B0742BEA35 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - ECAD2632FB8BE957B3FB21096943B3FE /* Foundation.framework in Frameworks */, + 3B5F04FB786EB57F609BC94455E86B73 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A0B64072F563B621FB250212956F6120 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + A251D1A6027D0B7B3827378B9BD7F665 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C27791ACCDA503D5FA8ACD0EB4093612 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DF88E4521D67A78815F0AB8EC5D8322C /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C2A15EB7721AAF0FA93E8D4FAC008682 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 741B7FE777785A385634B53952BF4EB9 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D2D99977BF681A0160285F1FC793409C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 2FB1C7E3338B29AEB66AC21D7307DFC9 /* Foundation.framework in Frameworks */, + DAA82FEC29903FECDFCB638AF4AE9154 /* PureLayout.framework in Frameworks */, + A0FAEDF0EE64D5445B76DF277F2853F0 /* UIActionSheet_Blocks.framework in Frameworks */, + 60D9CC4831B83B02785F8C6A7EC62045 /* UIAlertViewBlockExtension.framework in Frameworks */, + 6EF94ABF9AAA9F35BE12BD84787B4BEE /* UIView_Overlay.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EA268707372D4669400F709A6ADB7DFD /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 91FD031FA6AB365E365D2C33ADD43127 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FB340A1F8BD4F1D35FBE908461EBAD49 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3AC5AB2C9864183361A3B7DF78372D61 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 00D522049767F38F11BB149EE4EB63C9 /* Support Files */ = { + 014508BB934AD9EE076FEA0AA7B0C8B8 /* UIView-Overlay */ = { isa = PBXGroup; children = ( - 73CE6B07292175B9D39CBFFC0DB41A60 /* Info.plist */, - 9FF196DA16906822D150C60295CBB88E /* TabBarPicker.modulemap */, - 4E3A05FFC672571219996826F2422FC3 /* TabBarPicker.xcconfig */, - 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */, - 904079A84D927539A414BED833C527E3 /* TabBarPicker-dummy.m */, - 9DC406894CD352D5DAFB3D4071DB8955 /* TabBarPicker-prefix.pch */, - B8B993D010B7CF17F9E9291557AF882E /* TabBarPicker-umbrella.h */, + 249697AC4603EEE893DD451DA1C2D31D /* UIView+Overlay.h */, + 4C88EE4B2406D3AA24F98F63CCB07DD7 /* UIView+Overlay.m */, + 438B37FB4FDDEE354982FBCBA27FE231 /* Support Files */, ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/TabBarPicker"; + path = "UIView-Overlay"; sourceTree = ""; }; - 0ED7E39EFF306913E4C3D8F946D84146 /* Support Files */ = { + 03712BC3053FECAD810BF061CDB8BA5C /* iOS */ = { isa = PBXGroup; children = ( - 600FCA011088B2DF371E21218156A7F6 /* Info.plist */, - EDE812C1C1189EB9B917A0E59FB7C5F4 /* pop.modulemap */, - 057958F38FCC99BBECF2AFCFE6C77BF0 /* pop.xcconfig */, - D2D43A5A2C5C748416BA1C566EEC2930 /* pop-Private.xcconfig */, - E9B49BE5CA6EA26F192340AE3F2471BF /* pop-dummy.m */, - 71B2C71E7FB812DD60E4B549ADCE1DAB /* pop-prefix.pch */, - 407457717814B9F748F29AC5BADC4CE8 /* pop-umbrella.h */, + 55FE072806E250E96882A22C019D54D2 /* Foundation.framework */, ); - name = "Support Files"; - path = "../Target Support Files/pop"; + name = iOS; sourceTree = ""; }; - 15F06DD8167DCF868A86BF895F4F1520 /* UIAlertViewBlockExtension */ = { + 149508D4A034D736ABA0346A75F014CA /* MMCPSScrollView */ = { isa = PBXGroup; children = ( - 52F326ECBD421558567D7D4D6DE746A2 /* AlertViewActionDispatcher.h */, - 29089DD2B4691C6A338790862F97B2EC /* AlertViewActionDispatcher.m */, - 58277D5C8D6A027E9F83DA57FD4CD4C4 /* UIAlertView+BlockExtension.h */, - 83921BCA321A4BCC93EA3DD5832C85BE /* UIAlertView+BlockExtension.m */, - D7B6B5E3E995D99D66EE07F8A17A1A97 /* Support Files */, + 2A3A3FDD3DCEB4A9427257C859083BB2 /* MMCPSScrollView.h */, + 29437E688BE58E95C9AA395E14FE7A16 /* MMCPSScrollView.m */, ); - path = UIAlertViewBlockExtension; + path = MMCPSScrollView; + sourceTree = ""; + }; + 1DF2385E379152ACC6E7CE7D20708F9C /* Support Files */ = { + isa = PBXGroup; + children = ( + 2A27509D0A9EF096A6F84B387950E57C /* Info.plist */, + 95003B6C7E5F13C4B1F7EE87FD90527B /* UIAlertViewBlockExtension.modulemap */, + CDDBD01B8874C27DD892F3AD66B87B15 /* UIAlertViewBlockExtension.xcconfig */, + 77BADA29B0CA8C7BA8F3D9B1C1A3E1D5 /* UIAlertViewBlockExtension-dummy.m */, + E3DA23324CDF75B9A89D461ABC497CF7 /* UIAlertViewBlockExtension-prefix.pch */, + 4E35943ACCC1156006EC6D02B7478DB1 /* UIAlertViewBlockExtension-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/UIAlertViewBlockExtension"; + sourceTree = ""; + }; + 2067EE121D9F095A682C4375AC588750 /* Classes */ = { + isa = PBXGroup; + children = ( + 062639F1501D14599E24AE57ED9A773B /* TabBarItem.h */, + 8CEB12F02DC0F02D4D157AB72670350C /* TabBarItem.m */, + 0A8C00BA8EC48C99F04FCCA38711DA1F /* TabBarPicker.h */, + FC03F319B1C2812107DDE4DF04C52D78 /* TabBarPicker.m */, + 3AFCAEF27DBA07D7481277E6D98AA54F /* TabBarPickerSubItemsView.h */, + 22BF2BEDC7B2D3BAE167EE195D546E09 /* TabBarPickerSubItemsView.m */, + 5072368CD39042BD768B85CBCA94F43A /* TabBarSubItem.h */, + C0D20EC06FA47EA545FAFB412DBECD63 /* TabBarSubItem.m */, + 4C70406FFD603A19726F6B0E9C169061 /* Vendor */, + ); + path = Classes; + sourceTree = ""; + }; + 23593082F1FE4D1158C88BC3FA2F6D4C /* Pod */ = { + isa = PBXGroup; + children = ( + 2067EE121D9F095A682C4375AC588750 /* Classes */, + ); + path = Pod; sourceTree = ""; }; 25D183D5D94938DF2CA9CB42E5B7EB3A /* Targets Support Files */ = { @@ -518,53 +615,100 @@ name = "Targets Support Files"; sourceTree = ""; }; - 2B50D3C0ACD825270CCC306CD51D20E7 /* MMCPSScrollView */ = { + 274562F8E95D1134EC3E3208B0D35FB6 /* SharedLocationManager */ = { isa = PBXGroup; children = ( - C0AB0659065645807D7D24A071F9C843 /* MMCPSScrollView.h */, - E74ECC4D12B3ABD32F0D9603ABE541B8 /* MMCPSScrollView.m */, + AF9F4BB54569DDF705861FB1BE6639A3 /* SharedLocationManager.h */, + 17DF88BEAAE716EBAE1DFDD48C408963 /* SharedLocationManager.m */, ); - path = MMCPSScrollView; + path = SharedLocationManager; sourceTree = ""; }; - 3D7E75279251F070480BBDB1BCBFA6BA /* Support Files */ = { + 429C7CF0FF2FA90D044CD6459E1AA501 /* PureLayout */ = { isa = PBXGroup; children = ( - 09F0104F4C8F308E96ECD6870B17F847 /* Info.plist */, - 82DF04FACBE07C9562F9EDEF54676003 /* UIActionSheet-Blocks.modulemap */, - 761704FFCAD0CB5CCD6B93F25AD6AA17 /* UIActionSheet-Blocks.xcconfig */, - DCD7E6574C7C26950B644E13277596B9 /* UIActionSheet-Blocks-Private.xcconfig */, - 7A8FFBDEB63199AE8279A19F0D250C8E /* UIActionSheet-Blocks-dummy.m */, - 1245B4499EA33CBEE1C8AF99C76BA7E7 /* UIActionSheet-Blocks-prefix.pch */, - 8ADAF2F396F7D8A76FB8CD61DF2B3570 /* UIActionSheet-Blocks-umbrella.h */, + E75EB3F3C6A4DCD22506B9171FE6AE1D /* ALView+PureLayout.h */, + D1E6B2943A55BF51EE7262BA2155A4FA /* ALView+PureLayout.m */, + 473CE5D435657BAFFEF9395A69A37951 /* NSArray+PureLayout.h */, + D2C8A0F1A696C1E83CAF9D0B180A6B22 /* NSArray+PureLayout.m */, + 168FF76287452FBF7ADF8863D2BDC419 /* NSLayoutConstraint+PureLayout.h */, + 8DEF9884A0326703FBDF52D34E852771 /* NSLayoutConstraint+PureLayout.m */, + EE1847E970F26F4BD32CB5F1FEF751F9 /* PureLayout.h */, + 9429AD9F75EB8B378B105C44F4E1AAB2 /* PureLayout+Internal.h */, + D5E0974B15C59E97EFD7A8604EC4D613 /* PureLayoutDefines.h */, + FE6BBD378447A4F84A8160E074510012 /* Support Files */, + ); + path = PureLayout; + sourceTree = ""; + }; + 438B37FB4FDDEE354982FBCBA27FE231 /* Support Files */ = { + isa = PBXGroup; + children = ( + D578DCF9577851BB444CC0B50CBEBAB4 /* Info.plist */, + 279540B9BA6850992D0438085B700430 /* UIView-Overlay.modulemap */, + 6C9341A3CB1ACB5154E95D72CD5BBECB /* UIView-Overlay.xcconfig */, + 24DDFF7AC3AE994E408CFFECB6B2166A /* UIView-Overlay-dummy.m */, + 581028570F8C3BBD5926BB4C2CDDCBD5 /* UIView-Overlay-prefix.pch */, + 1112A9123534C0C50268E507324BC537 /* UIView-Overlay-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/UIView-Overlay"; + sourceTree = ""; + }; + 46CFF96E5C107963EBE8D434641A7F0C /* UIButton+BackgroundColor */ = { + isa = PBXGroup; + children = ( + 683A03121BE1921E00175B04 /* NSDate+NSDate_Util */, + 86B2FE0BBF75E7813D4488568CB0FE7C /* UIButton+BackgroundColor.h */, + 32B06D2C3E2EADCF43BAF301EB91FBDD /* UIButton+BackgroundColor.m */, + 1387424549E6983BD2A48B3C6D63CC0B /* UIImage+Color.h */, + 48AD6DF51117EAFB31B38C82E17E0989 /* UIImage+Color.m */, + ); + path = "UIButton+BackgroundColor"; + sourceTree = ""; + }; + 4C70406FFD603A19726F6B0E9C169061 /* Vendor */ = { + isa = PBXGroup; + children = ( + C5E532C85864F95707D73D0DC6662FBF /* AADatePicker */, + 149508D4A034D736ABA0346A75F014CA /* MMCPSScrollView */, + CC4EA25160FA93A689B7FE5164735D0C /* NSString+HexColor */, + 274562F8E95D1134EC3E3208B0D35FB6 /* SharedLocationManager */, + F38E1C295D607FBC1399AC766D55F39F /* TouchableScrollView */, + 46CFF96E5C107963EBE8D434641A7F0C /* UIButton+BackgroundColor */, + ); + path = Vendor; + sourceTree = ""; + }; + 5A820547E4E07A080DDE28312DD40ADB /* Support Files */ = { + isa = PBXGroup; + children = ( + A1BCD5045A0E3F76805809266460257F /* Info.plist */, + 5DB89ADB76FFB9542E55A72397F232F9 /* UIActionSheet-Blocks.modulemap */, + 77E41E62035021432EB599D8C8B9F68F /* UIActionSheet-Blocks.xcconfig */, + 5DD9893FB3DDD273CB4A6EAE418B0C7A /* UIActionSheet-Blocks-dummy.m */, + 9A3DE0E44C7293D36DA3B526D1B026D5 /* UIActionSheet-Blocks-prefix.pch */, + 26369E0FCEB5B5F4123CB873BB5E11D4 /* UIActionSheet-Blocks-umbrella.h */, ); name = "Support Files"; path = "../Target Support Files/UIActionSheet-Blocks"; sourceTree = ""; }; - 43D2D8F6A1570E65EA8D2FD0D3CDF84C /* PureLayout */ = { + 61819A40E61CF62A42ACC6CCB8B58EAB /* Products */ = { isa = PBXGroup; children = ( - 13DC162AF7BEBCA584CAF9D9CEAD8319 /* ALView+PureLayout.h */, - 1F1993462D9F57783E626EE12A22DA6E /* ALView+PureLayout.m */, - 913E7306AD4E255661D418473382CF54 /* NSArray+PureLayout.h */, - C37744310F9F865551677E6AC8149112 /* NSArray+PureLayout.m */, - 9CD3AB8195F74BFC43D6997F61F6F298 /* NSLayoutConstraint+PureLayout.h */, - 090ED9CFCA52EB517831504E40655C5E /* NSLayoutConstraint+PureLayout.m */, - 6E05779740DB7A4882324BB0CC77FE83 /* PureLayout.h */, - DAFA4BCE4B185A782DD016F84B3BE0CF /* PureLayout+Internal.h */, - 0FBC3E333821E19620FAC1463F61C533 /* PureLayoutDefines.h */, - FB76E7FEC2ECF7409F45F54EF6097B77 /* Support Files */, + 5B1719AA0DCE53714CE76C3E1B504894 /* Pods.framework */, + FCF66E6FDA0B00484D949D0149241E2F /* Pods_TabBarPicker_Example.framework */, + 2230DAA42F7A564CBF0F692DDF96E721 /* Pods_TabBarPicker_Tests.framework */, + 0DF32AF94F033C9401BF4B36A767580E /* pop.framework */, + B492948EF73FB7A38F678DCBEF3EC0E8 /* PureLayout.framework */, + D679E457F381CFAE1B48C3C5258F72A4 /* TabBarPicker.bundle */, + 86A52C33DCB600DC6CB60D01DFCDCD4E /* TabBarPicker.framework */, + 33C5C0B9A65422513E3C98A8F4FB9393 /* UIActionSheet_Blocks.framework */, + 5212AEFB9487CDD03BE755E6F35CE104 /* UIAlertViewBlockExtension.framework */, + 0C24C046799BC5073CD20B222C406C2E /* UIView_Overlay.framework */, ); - path = PureLayout; - sourceTree = ""; - }; - 53F661C0CA7190D2CF05023FB33D61E4 /* iOS */ = { - isa = PBXGroup; - children = ( - D512E3B6436A1426D782F6DC1DFD3E7D /* Foundation.framework */, - ); - name = iOS; + name = Products; sourceTree = ""; }; 681B22ACA7F4FA8C65D80B162920ED45 /* Pods-TabBarPicker_Example */ = { @@ -574,26 +718,25 @@ A56413DB484A0F29380EE43337DA9DA8 /* Pods-TabBarPicker_Example.modulemap */, 633EE7D34BF44B52CE606FF762ECFDF4 /* Pods-TabBarPicker_Example-acknowledgements.markdown */, B272664DCD146C22996C135571D9379B /* Pods-TabBarPicker_Example-acknowledgements.plist */, - E6071A8A1FC882289A416D3DCB73BF9C /* Pods-TabBarPicker_Example-dummy.m */, + 59E962B208E6852AC6A9E9CDC3723306 /* Pods-TabBarPicker_Example-dummy.m */, D2FCC54601ECBB62AE9A36A0D8BE3507 /* Pods-TabBarPicker_Example-frameworks.sh */, C6BAA705428D5D2A736281C39E74E46F /* Pods-TabBarPicker_Example-resources.sh */, - 4BCC05ECC95382C9EF2ACC119EFA5E28 /* Pods-TabBarPicker_Example-umbrella.h */, - 333488D10B952CEE843D891B0FD86586 /* Pods-TabBarPicker_Example.debug.xcconfig */, - 443DBE5EFC78E4DA3BA8009969AB82D3 /* Pods-TabBarPicker_Example.release.xcconfig */, + ADF3F4B17F611A14FB4C43824561CE0A /* Pods-TabBarPicker_Example-umbrella.h */, + A3E73907BA0D7903E3E892DD3C204FBF /* Pods-TabBarPicker_Example.debug.xcconfig */, + F52DF8BCB997097E4CE7B4855DB12327 /* Pods-TabBarPicker_Example.release.xcconfig */, ); name = "Pods-TabBarPicker_Example"; path = "Target Support Files/Pods-TabBarPicker_Example"; sourceTree = ""; }; - 6F07576C2E19EA1A65B4E924DB9FD5C7 /* Vendor */ = { + 683A03121BE1921E00175B04 /* NSDate+NSDate_Util */ = { isa = PBXGroup; children = ( - 2B50D3C0ACD825270CCC306CD51D20E7 /* MMCPSScrollView */, - D32A21F857D4479FF01EE37CF833E9CD /* NSString+HexColor */, - 8AE381098F77067F0AD825096898C950 /* SharedLocationManager */, - C5E5D49215D38A6AA1E588A6676237A7 /* UIButton+BackgroundColor */, + 683A03131BE1921E00175B04 /* NSDate+NSDate_Util.h */, + 683A03141BE1921E00175B04 /* NSDate+NSDate_Util.m */, ); - path = Vendor; + name = "NSDate+NSDate_Util"; + path = "../NSDate+NSDate_Util"; sourceTree = ""; }; 7DB346D0F39D3F0E887471402A8071AB = { @@ -601,72 +744,124 @@ children = ( BA6428E9F66FD5A23C0A2E06ED26CD2F /* Podfile */, AFB4C340B813C5291DA6514C9847932B /* Development Pods */, - BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, - E69B7D7C8F8FD2E27AA620B8C522ED74 /* Pods */, - CCA510CFBEA2D207524CDA0D73C3B561 /* Products */, + E252F40905D1245BBD36A987B35308E4 /* Frameworks */, + B50C3FC6FBF6E38613394A9A27A827BB /* Pods */, + 61819A40E61CF62A42ACC6CCB8B58EAB /* Products */, 25D183D5D94938DF2CA9CB42E5B7EB3A /* Targets Support Files */, ); sourceTree = ""; }; - 8AE381098F77067F0AD825096898C950 /* SharedLocationManager */ = { + 8FA7D2B8BFDCFD7CEA88D73243FA6ADB /* UIActionSheet-Blocks */ = { isa = PBXGroup; children = ( - 69A66B68532816A729F8D7B45A344A3D /* SharedLocationManager.h */, - 6C4407C962E1D98312FB510D7F5BA8D7 /* SharedLocationManager.m */, - ); - path = SharedLocationManager; - sourceTree = ""; - }; - 9AC469C3421DF2E3B1A8A25A16BEAFB4 /* Classes */ = { - isa = PBXGroup; - children = ( - 1ADAE502D9B0B386DFB546F956BC81BA /* TabBarItem.h */, - E1272C77ED4CCB0F280E4DFB2B75B7E1 /* TabBarItem.m */, - 848C982AABCEC351952AA25A9E612B3B /* TabBarPicker.h */, - 892712A2B0521F4472AE53DB17FFA5ED /* TabBarPicker.m */, - 2BDFBF8EAD1D91F7F7C98AE097F6AD54 /* TabBarPickerSubItemsView.h */, - 6682B426E85C9170F1FA5919B0BD809D /* TabBarPickerSubItemsView.m */, - 89F770FF888D56EB719C45BF38EB5479 /* TabBarSubItem.h */, - 6194B637DF6CFA16E42BCABF5348C38B /* TabBarSubItem.m */, - 6F07576C2E19EA1A65B4E924DB9FD5C7 /* Vendor */, - ); - path = Classes; - sourceTree = ""; - }; - 9D1F2F50171AF08BB58ABE54836384D0 /* UIActionSheet-Blocks */ = { - isa = PBXGroup; - children = ( - 2C0C90B45384C64964081948268EA1CF /* UIActionSheet+Blocks.h */, - BFA0253EFF494DE91B9188C8142F6460 /* UIActionSheet+Blocks.m */, - 3D7E75279251F070480BBDB1BCBFA6BA /* Support Files */, + 62270DDD85FF57D0452DB3E8D33B5DA5 /* UIActionSheet+Blocks.h */, + E25EF1DFE2EF042A5144A5ADAEA0E5FE /* UIActionSheet+Blocks.m */, + 5A820547E4E07A080DDE28312DD40ADB /* Support Files */, ); path = "UIActionSheet-Blocks"; sourceTree = ""; }; - A342E6BAF3DBF5CC8764C5D2DFC3C713 /* TabBarPicker */ = { + AB1704F166E7A2DC878AE124A5C08881 /* TabBarPicker */ = { isa = PBXGroup; children = ( - F8F2526D81FAB6C81731BCF9D9B94F11 /* Pod */, - 00D522049767F38F11BB149EE4EB63C9 /* Support Files */, + 23593082F1FE4D1158C88BC3FA2F6D4C /* Pod */, + E319A51296B09C7A67700297740A1A9D /* Support Files */, ); name = TabBarPicker; path = ../..; sourceTree = ""; }; + AEEEFF00454ACAC6BDC27E4A340E7696 /* Support Files */ = { + isa = PBXGroup; + children = ( + ABA905D4B509500937970B41BAC7DF66 /* Info.plist */, + 3AC15EBB5278B09BA13157D19C5C6708 /* pop.modulemap */, + B5853061AE5E25539AF9F8C6B9277C6C /* pop.xcconfig */, + CE8BA8549F744CE0855D1C3147A8D8AA /* pop-dummy.m */, + B932ED41385F18C75125A14654C41AC2 /* pop-prefix.pch */, + D65738468D0E72D161AF68BE49100FF0 /* pop-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/pop"; + sourceTree = ""; + }; AFB4C340B813C5291DA6514C9847932B /* Development Pods */ = { isa = PBXGroup; children = ( - A342E6BAF3DBF5CC8764C5D2DFC3C713 /* TabBarPicker */, + AB1704F166E7A2DC878AE124A5C08881 /* TabBarPicker */, ); name = "Development Pods"; sourceTree = ""; }; - BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { + B0FC5C4068FC842B25E14D53D989D8A5 /* pop */ = { isa = PBXGroup; children = ( - 53F661C0CA7190D2CF05023FB33D61E4 /* iOS */, + E98C6A134C947C270F89928320695980 /* FloatConversion.h */, + D74D9AD47AAB578B5159F3DF1D0096E5 /* POP.h */, + 3B77D7E9D2D93F9BEE05C468E372C9CA /* POPAction.h */, + DB1BF4AB3C02E27B00226C118F3E76E0 /* POPAnimatableProperty.h */, + 2F205F78EC53D3A58EDB96F0C5402A54 /* POPAnimatableProperty.mm */, + DB31AD0DD5C90976B1BEF3D743D701A0 /* POPAnimation.h */, + CC16160B51F7A16045947DA3991D19A7 /* POPAnimation.mm */, + 000B05A634204AA9C6F2B672D62EBCF4 /* POPAnimationEvent.h */, + 354CADE78EC328C68EE8A04604AC6B95 /* POPAnimationEvent.mm */, + 9DDD7E43333D8048D9AEFA372BF2FBBF /* POPAnimationEventInternal.h */, + 43B8C4D87F3ED3FAF8975F733C178181 /* POPAnimationExtras.h */, + 7B99E9681FF12E250E5E1F2037A665F4 /* POPAnimationExtras.mm */, + 6EE44B283E1584627A8B210E37F8E39E /* POPAnimationInternal.h */, + BEE5DC78E1FB8022B83E73EB37A1C32F /* POPAnimationPrivate.h */, + F68B3D2C2ECFC5640DEC8A3C6A2B9318 /* POPAnimationRuntime.h */, + CC6D03A20E291CEEFE6C3E26866F5174 /* POPAnimationRuntime.mm */, + CD5AE21AF545C1C9E699D8EEFD50F865 /* POPAnimationTracer.h */, + 812DA1DC2624346011954A47727B6F40 /* POPAnimationTracer.mm */, + C0385B1EEA934D2080ACE82953CF43AA /* POPAnimationTracerInternal.h */, + 9E7CDBD516916CE2BF50F67FF45A88A4 /* POPAnimator.h */, + 3CA99DBCF9D345558DA97E818C4DF4F3 /* POPAnimator.mm */, + 8E3E5AC55B54F9CC2806A3659EB06D78 /* POPAnimatorPrivate.h */, + 29F58FD03405FEEA4AEACE0C5ECCF824 /* POPBasicAnimation.h */, + 4D44D0B9FEFE753D119E95F295461EB5 /* POPBasicAnimation.mm */, + 22194E4985035A3CE21CCD944C91B07D /* POPBasicAnimationInternal.h */, + 8EC23DEA9198698877182AE37FEEE512 /* POPCGUtils.h */, + 3B7B94E6BF80EFAFCB60122333B8C4C7 /* POPCGUtils.mm */, + CEC73195F9FEAAEED0CA81F34758046B /* POPCustomAnimation.h */, + 8ADF06FAE311BA12C8F83900BE2F3636 /* POPCustomAnimation.mm */, + 279A1C091380206F917F31DBD8FB0EB5 /* POPDecayAnimation.h */, + ABF4B5C0C5B2A57C2F2253B9E6D25C7A /* POPDecayAnimation.mm */, + 01F8924CEA5606F77EA570265F06F6D7 /* POPDecayAnimationInternal.h */, + 21F37D40C11B85E3EF6DB017FE271D3D /* POPDefines.h */, + 40F21C637AF6FCB7D37FB38B02D4E310 /* POPGeometry.h */, + A6176AC0EE4A0494FE5B0CB383024657 /* POPGeometry.mm */, + 7BA3CE2BACE6A58193DB030815FD0612 /* POPLayerExtras.h */, + 6E5BA8571752263CED9377BFBB7EFBE9 /* POPLayerExtras.mm */, + 135CF7BF37498172369950D87175CCA8 /* POPMath.h */, + AD675A448C75B4CFB27B77A3EA328F7A /* POPMath.mm */, + 6A8E79163569B2099E7A2999D0D66912 /* POPPropertyAnimation.h */, + 98AD4FCE7D65CE6A7505C538C1BA3573 /* POPPropertyAnimation.mm */, + 58788200EE48EA2D50362411A2C3F739 /* POPPropertyAnimationInternal.h */, + 12E82CCE60FFDD44D0D5FE4AD6AF0576 /* POPSpringAnimation.h */, + E38CBE569356333FAE1DFD5710C588F2 /* POPSpringAnimation.mm */, + 5E23FBC74F0967D9A81DA38E38B00DE1 /* POPSpringAnimationInternal.h */, + 31C7C9603D5C053A6685FFD1ED7AB0C2 /* POPSpringSolver.h */, + 5592A1BB7FD71F49A55B05C2716B50C5 /* POPVector.h */, + D470525507044D4949C6E15849C9DE5C /* POPVector.mm */, + 36A905A30B0E3058DF33DB5D5940204B /* TransformationMatrix.cpp */, + E02911DED2E29D4D38C48FCA057FD731 /* TransformationMatrix.h */, + 44F7B30CACC643F98AD597B7977A5B40 /* UnitBezier.h */, + AEEEFF00454ACAC6BDC27E4A340E7696 /* Support Files */, ); - name = Frameworks; + path = pop; + sourceTree = ""; + }; + B50C3FC6FBF6E38613394A9A27A827BB /* Pods */ = { + isa = PBXGroup; + children = ( + B0FC5C4068FC842B25E14D53D989D8A5 /* pop */, + 429C7CF0FF2FA90D044CD6459E1AA501 /* PureLayout */, + 8FA7D2B8BFDCFD7CEA88D73243FA6ADB /* UIActionSheet-Blocks */, + FFEFECCD69DE0896EA57C7357E328E30 /* UIAlertViewBlockExtension */, + 014508BB934AD9EE076FEA0AA7B0C8B8 /* UIView-Overlay */, + ); + name = Pods; sourceTree = ""; }; BCF417F30A01D14929B24BCF9E2958DB /* Pods-TabBarPicker_Tests */ = { @@ -676,94 +871,35 @@ DEFCECEAD24242A4D391D84B7417A5F0 /* Pods-TabBarPicker_Tests.modulemap */, 08BA99EE1EB2BCFFBB80871284FBB089 /* Pods-TabBarPicker_Tests-acknowledgements.markdown */, CF5420961A10DC2B4F9B46189C6E1001 /* Pods-TabBarPicker_Tests-acknowledgements.plist */, - B2C8FC99E26E968A362BE3183813868F /* Pods-TabBarPicker_Tests-dummy.m */, + 4F46D293682D390EE38E173BE8D0A72C /* Pods-TabBarPicker_Tests-dummy.m */, D474B38CC3E00C0CBAD295F8A3FBA66E /* Pods-TabBarPicker_Tests-frameworks.sh */, AB6C4481A0062CA32EB0EEFE44EE97B7 /* Pods-TabBarPicker_Tests-resources.sh */, - 8799FDC6BF3E75DA73CA794715159657 /* Pods-TabBarPicker_Tests-umbrella.h */, - 5C718BD2871FCA417AD91347C1E0D404 /* Pods-TabBarPicker_Tests.debug.xcconfig */, - A51DD204C7AF95C0483EF1E8C2F5FB7F /* Pods-TabBarPicker_Tests.release.xcconfig */, + 2C8BC300F38B6226F15DE3505B8E0AF1 /* Pods-TabBarPicker_Tests-umbrella.h */, + 1BEDA8761A83E1C2D6938C4C740F0195 /* Pods-TabBarPicker_Tests.debug.xcconfig */, + CF316A32737FABA211C0097DAC845D7A /* Pods-TabBarPicker_Tests.release.xcconfig */, ); name = "Pods-TabBarPicker_Tests"; path = "Target Support Files/Pods-TabBarPicker_Tests"; sourceTree = ""; }; - BFCAA1E6D10843057719E52727089A4E /* Support Files */ = { + C5E532C85864F95707D73D0DC6662FBF /* AADatePicker */ = { isa = PBXGroup; children = ( - EFFF86131631ED94B1855A8DC9FADBC0 /* Info.plist */, - 0904674A54C7A3F9B5ECCED4CE5462CA /* UIView-Overlay.modulemap */, - 4EA156B9D7B45653F7D72F9AD9677C8D /* UIView-Overlay.xcconfig */, - C3978B4F00206A1AE1010E30F106D1F7 /* UIView-Overlay-Private.xcconfig */, - 967EC1A8094613A64436935A32CE393E /* UIView-Overlay-dummy.m */, - 0E839404844309F95E6F89FA7F86A7C4 /* UIView-Overlay-prefix.pch */, - A6809F9933FBA0B384C97E424F36A254 /* UIView-Overlay-umbrella.h */, + 2D23215C89BC6C6E0CE68348A32A9E2A /* AADatePicker.h */, + 1D5E551388D31096509A4589EC08F79E /* AADatePicker.m */, ); - name = "Support Files"; - path = "../Target Support Files/UIView-Overlay"; + path = AADatePicker; sourceTree = ""; }; - C5E5D49215D38A6AA1E588A6676237A7 /* UIButton+BackgroundColor */ = { + CC4EA25160FA93A689B7FE5164735D0C /* NSString+HexColor */ = { isa = PBXGroup; children = ( - EBE7CFA8B928239B1CC73E2FC274AB17 /* UIButton+BackgroundColor.h */, - 151D476EC8A8F451EAA5F3E69FC4757F /* UIButton+BackgroundColor.m */, - 84377DDAEA9C569BF6EBCF717BDE81E7 /* UIImage+Color.h */, - BAC2E2B2AD148D2E4BBC115DDA61EFD5 /* UIImage+Color.m */, - ); - path = "UIButton+BackgroundColor"; - sourceTree = ""; - }; - CCA510CFBEA2D207524CDA0D73C3B561 /* Products */ = { - isa = PBXGroup; - children = ( - 4470612A0D7507992168F3515906A198 /* Pods.framework */, - 9690E74815183E50D72844E517799F05 /* Pods_TabBarPicker_Example.framework */, - 3D833E7748B3655AA714241999C94DC4 /* Pods_TabBarPicker_Tests.framework */, - 34BE0BA12096455AB6760CFDF1005D58 /* PureLayout.framework */, - 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */, - 3C16B835C951C428E453293C841C3377 /* TabBarPicker.framework */, - 91FA5CA09CACBC560BDE8C375A8ECF48 /* UIActionSheet_Blocks.framework */, - 0A711227966BA949140D7F5462CB2606 /* UIAlertViewBlockExtension.framework */, - A08C793E1F109494ED9A12FB0A0E9469 /* UIView_Overlay.framework */, - 17F13764CB2CA131B25559F8C59ADD62 /* pop.framework */, - ); - name = Products; - sourceTree = ""; - }; - D0E2FF8F9198BEC6A168786BD54C0161 /* UIView-Overlay */ = { - isa = PBXGroup; - children = ( - B861FEB396B49AFBE01AC2B10E0ACAB5 /* UIView+Overlay.h */, - CBF36C9DEBBB22EE208BC6986E44F18B /* UIView+Overlay.m */, - BFCAA1E6D10843057719E52727089A4E /* Support Files */, - ); - path = "UIView-Overlay"; - sourceTree = ""; - }; - D32A21F857D4479FF01EE37CF833E9CD /* NSString+HexColor */ = { - isa = PBXGroup; - children = ( - 5198D727327607E4FCEA3F8B223AE56C /* NSString+HexColor.h */, - ED289C824091E9CC3700069DEB5B7133 /* NSString+HexColor.m */, + 8784023D4A174B67EEF4A3D11AA4A903 /* NSString+HexColor.h */, + C36834EF5B4EE57849112AE2962D5A8F /* NSString+HexColor.m */, ); path = "NSString+HexColor"; sourceTree = ""; }; - D7B6B5E3E995D99D66EE07F8A17A1A97 /* Support Files */ = { - isa = PBXGroup; - children = ( - AD91FEA622F6A8F0C0B30214CAA1FC2F /* Info.plist */, - FC7511D42A46743BE371B7B01A6E89F3 /* UIAlertViewBlockExtension.modulemap */, - B3CC14A2C07C0EC7200575FC791BE81F /* UIAlertViewBlockExtension.xcconfig */, - 7B047E646DE63EE4A046561F085AB400 /* UIAlertViewBlockExtension-Private.xcconfig */, - 0C4CA99AF612C24DED5E74B745FC1344 /* UIAlertViewBlockExtension-dummy.m */, - 2B28537792C819C671A3C1B784BBD2E1 /* UIAlertViewBlockExtension-prefix.pch */, - 01275C738EEBB0C959DF5D5840BBF280 /* UIAlertViewBlockExtension-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/UIAlertViewBlockExtension"; - sourceTree = ""; - }; DB7A392AE20A92DE460668D10ACDC19F /* Pods */ = { isa = PBXGroup; children = ( @@ -771,267 +907,239 @@ B2781EC2F90E0368E9A2C0DEAA9E2D8E /* Pods.modulemap */, A4829611B42E013AE869D1D4399022C9 /* Pods-acknowledgements.markdown */, 2D4A93EFD78DA51324BCEB8E21CF837C /* Pods-acknowledgements.plist */, - 7F343D98F46F354D1807A1F52E6E36AD /* Pods-dummy.m */, + 740E45A722DF8B2DCE7499E78C436267 /* Pods-dummy.m */, 06FE8FFCBA729815B9AF16CB892A8708 /* Pods-frameworks.sh */, 8ECA1560097ECE6BE55C9A9F8FE9A481 /* Pods-resources.sh */, - 675CC0337FE68D69EEB51AF67E30F8E3 /* Pods-umbrella.h */, - 406E546B7EE79DC9406C0B0D50DCE847 /* Pods.debug.xcconfig */, - 6F38C68DF8E83372339E86F5FA718023 /* Pods.release.xcconfig */, + 670A619D444D4272D6930B77992641D5 /* Pods-umbrella.h */, + BEAAB17331DF4239D3D0E6CD041860DE /* Pods.debug.xcconfig */, + 507B2D12B6DBEDC51151767977154DDC /* Pods.release.xcconfig */, ); name = Pods; path = "Target Support Files/Pods"; sourceTree = ""; }; - E69B7D7C8F8FD2E27AA620B8C522ED74 /* Pods */ = { + E252F40905D1245BBD36A987B35308E4 /* Frameworks */ = { isa = PBXGroup; children = ( - 43D2D8F6A1570E65EA8D2FD0D3CDF84C /* PureLayout */, - 9D1F2F50171AF08BB58ABE54836384D0 /* UIActionSheet-Blocks */, - 15F06DD8167DCF868A86BF895F4F1520 /* UIAlertViewBlockExtension */, - D0E2FF8F9198BEC6A168786BD54C0161 /* UIView-Overlay */, - F926170430CF077216CC9DF35338E8A6 /* pop */, + 139FFB6CA1017BA9BB59B8808B624E3D /* PureLayout.framework */, + 19F751FC848C5AEEE5FF840B467195C8 /* UIActionSheet_Blocks.framework */, + B22CF836CB81C091C12AB69537A00BC5 /* UIAlertViewBlockExtension.framework */, + 135A97B2F58BCE0A456223D56BDBA79D /* UIView_Overlay.framework */, + 03712BC3053FECAD810BF061CDB8BA5C /* iOS */, ); - name = Pods; + name = Frameworks; sourceTree = ""; }; - F8F2526D81FAB6C81731BCF9D9B94F11 /* Pod */ = { + E319A51296B09C7A67700297740A1A9D /* Support Files */ = { isa = PBXGroup; children = ( - 9AC469C3421DF2E3B1A8A25A16BEAFB4 /* Classes */, + DD48521845818CAA29850EB56904A3DC /* Info.plist */, + 6EC2CDEC45A7F2163A3032CD00811E97 /* TabBarPicker.modulemap */, + F3AB160643F3006958BCD5E14081957B /* TabBarPicker.xcconfig */, + EBE700BA095A486DF0753B153A2B2C10 /* TabBarPicker-dummy.m */, + 3884644FD864BF538351E178CBD7D84F /* TabBarPicker-prefix.pch */, + 299B03DA7176922601D7855C3245292D /* TabBarPicker-umbrella.h */, ); - path = Pod; + name = "Support Files"; + path = "Example/Pods/Target Support Files/TabBarPicker"; sourceTree = ""; }; - F926170430CF077216CC9DF35338E8A6 /* pop */ = { + F38E1C295D607FBC1399AC766D55F39F /* TouchableScrollView */ = { isa = PBXGroup; children = ( - E44E0425616E7E04E1AB9E751AA6AE53 /* FloatConversion.h */, - EE3EC944F1DABE1BFA56ABCC8CE2A9F7 /* POP.h */, - 8AB9A4F96F4D3194C37C06DB13F00F1E /* POPAction.h */, - 0265183A5C6854D378BE13ADD62DF5D0 /* POPAnimatableProperty.h */, - 8C843EFA8C32E452322B0ECA1629290A /* POPAnimatableProperty.mm */, - 6805F6C4A24C2AAAB6A33C0A97652E03 /* POPAnimation.h */, - 24FD90CF8C651053BFFF6A3EAF117125 /* POPAnimation.mm */, - 7469EB00631C681CEE752F2D41DAD63C /* POPAnimationEvent.h */, - 033ADB81C6199DE3DFA0C0515F6D0787 /* POPAnimationEvent.mm */, - 16F3CE6BFFF06C74BF585D45BFB7E170 /* POPAnimationEventInternal.h */, - C63094D0493DD4114649FBDA3A330311 /* POPAnimationExtras.h */, - 4DE3F30E099AB50F0BB210A7F6B6ED1A /* POPAnimationExtras.mm */, - 5D90E0DD88BBD1478B0E18109767F8FA /* POPAnimationInternal.h */, - EF2A7544C3995B3943AA4BC07DAB51D1 /* POPAnimationPrivate.h */, - FBE55426C8613986F9DE17C08EC4E7CF /* POPAnimationRuntime.h */, - 79BC08E450E450A6BB7385AAE26BD967 /* POPAnimationRuntime.mm */, - 3C5952D2A0EA0D05DC8D692098AC51A7 /* POPAnimationTracer.h */, - A959F8AA2353F159B247BFFC208D79AE /* POPAnimationTracer.mm */, - DB1EE7FB0A32127BFDF50BF82107F0F4 /* POPAnimationTracerInternal.h */, - 1E99C094867FA40E6CAACB3552C51A71 /* POPAnimator.h */, - 9B6EE12FEF6DED0AB56B1443E7B346F0 /* POPAnimator.mm */, - 3EF1BD1588AB81241629165EFEB77F71 /* POPAnimatorPrivate.h */, - 2ADFB66E931B6A5F3701C265EBC50E57 /* POPBasicAnimation.h */, - B51C1620215D22739C0E7668D0FCFA91 /* POPBasicAnimation.mm */, - 5A1099449FD06DCA3B85854337EBB014 /* POPBasicAnimationInternal.h */, - B7C7853AD5F572083A52914090850AD2 /* POPCGUtils.h */, - F628DCE86E47F4C94CFDEB115F7A6469 /* POPCGUtils.mm */, - 33A75E30986D83691C56B0833666F7CA /* POPCustomAnimation.h */, - 34D6F57DE4FC243021043F443C43B2E7 /* POPCustomAnimation.mm */, - 8F5618A4CE99E55855B1013DEF653BF8 /* POPDecayAnimation.h */, - A2FCF37642A72A24ECA53BF3ECE2C522 /* POPDecayAnimation.mm */, - 0092F18589478DBE2AE13D966D9CCD17 /* POPDecayAnimationInternal.h */, - EB6215B243DFD151285F9B12CE2368A2 /* POPDefines.h */, - 61276C8A6D4336801FA57D715D633F8A /* POPGeometry.h */, - C860C342641452046FDF204ED4FB25D3 /* POPGeometry.mm */, - 63FCE3E65371359592CB606E1790BC86 /* POPLayerExtras.h */, - DAE0AEB7B6CD1ED86E0DB49046266B5D /* POPLayerExtras.mm */, - D59AE80D8F830B2B594F27731251395F /* POPMath.h */, - 18127D4692F3B261AE3BC9F683442BE0 /* POPMath.mm */, - 6474C99DA6F95FB4A031EA234BA3CF12 /* POPPropertyAnimation.h */, - 76962B10AC94EB35A7FEA32B4946FD52 /* POPPropertyAnimation.mm */, - 3A6B4950E1673296D328FFBED288D4CB /* POPPropertyAnimationInternal.h */, - A103939D06A87FED0BE43F0CF5F5056A /* POPSpringAnimation.h */, - 91AC81FCA64DB06998A2D6C93292E3D0 /* POPSpringAnimation.mm */, - C23A73774E96D3E6946E0D8F33A031C8 /* POPSpringAnimationInternal.h */, - CE0D5C46DAC6E6475ADEE87A8601A25F /* POPSpringSolver.h */, - 93687FABCF55D0A5D679C928BA78DAB4 /* POPVector.h */, - F47C77B6247FFF4294E595C4EBF035F5 /* POPVector.mm */, - DFA088A284A23B3AC39221F16A6CB0D9 /* TransformationMatrix.cpp */, - C3C90B76A43FA38EA58794A9C84FD81D /* TransformationMatrix.h */, - 5A5E9FAC402EFB3AA4E84A2D8D436956 /* UnitBezier.h */, - 0ED7E39EFF306913E4C3D8F946D84146 /* Support Files */, + E4FA43840DD706977F1E3A710C5AC8B3 /* ToucheableScrollView.h */, + B686B9D65E191F72D2B2A91402F91203 /* ToucheableScrollView.m */, ); - path = pop; + path = TouchableScrollView; sourceTree = ""; }; - FB76E7FEC2ECF7409F45F54EF6097B77 /* Support Files */ = { + FE6BBD378447A4F84A8160E074510012 /* Support Files */ = { isa = PBXGroup; children = ( - 46BFF97BA8EC2F3F88ADE5237D31312F /* Info.plist */, - C8B69475707149C2FE67DE55C7262439 /* PureLayout.modulemap */, - D51458B8F46FD6C6746405B499E404C5 /* PureLayout.xcconfig */, - CC4882E403503DE9288AF3969E260251 /* PureLayout-Private.xcconfig */, - 574DA8A9A0215386DE1A03D64F9ABA59 /* PureLayout-dummy.m */, - 2AA71E3B0198B726B6ACF8717C003825 /* PureLayout-prefix.pch */, - 17DA7E900B1E7945C8B8CE59D225F706 /* PureLayout-umbrella.h */, + 9FFDE1E9BA0576EC67DCADF844998C85 /* Info.plist */, + EF9CD8496210C39CCB0292A00C887581 /* PureLayout.modulemap */, + 0A012F57377BC9139931254111E85B58 /* PureLayout.xcconfig */, + 9966AD192E41B700423B55A704A287EA /* PureLayout-dummy.m */, + 5B7DF92CC50DB131D9E256DD07B7891B /* PureLayout-prefix.pch */, + 235B0B4B46B71262AD7BE4F10B80C676 /* PureLayout-umbrella.h */, ); name = "Support Files"; path = "../Target Support Files/PureLayout"; sourceTree = ""; }; + FFEFECCD69DE0896EA57C7357E328E30 /* UIAlertViewBlockExtension */ = { + isa = PBXGroup; + children = ( + AD5ACFC1F3CF7D035AF27A6A783298DB /* AlertViewActionDispatcher.h */, + 4D4D69F9646FE2395A1CACB9503A817B /* AlertViewActionDispatcher.m */, + 06A9BC158985498417004D319E8517C6 /* UIAlertView+BlockExtension.h */, + E0C7616C5C625244BD1B937A8739F1EB /* UIAlertView+BlockExtension.m */, + 1DF2385E379152ACC6E7CE7D20708F9C /* Support Files */, + ); + path = UIAlertViewBlockExtension; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 2C28C0C73535E30F239A7DBA44B9ACC2 /* Headers */ = { + 2F6B3A9211518D7952CDED59EB0DD43E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - CD4768AAB960B0210D029E470E5D4640 /* Pods-umbrella.h in Headers */, + FDCE9E6C4DD8C12936438452854724D3 /* AlertViewActionDispatcher.h in Headers */, + D5F9CCA7559B7FC260997615AC3D6A48 /* UIAlertView+BlockExtension.h in Headers */, + E465FFF798881158C0BE9F6AB72E4E77 /* UIAlertViewBlockExtension-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 681AFEB133F48BA93DA624F1391E3255 /* Headers */ = { + 45B973EFA1510EF5092ECEA5B2D8667B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 761477C8633300B1495BAA4EBF93527A /* AlertViewActionDispatcher.h in Headers */, - 1904012DCB9E2E0F904199387E995946 /* UIAlertView+BlockExtension.h in Headers */, - E51881B12C8967AC6332B313DA6FBF5F /* UIAlertViewBlockExtension-umbrella.h in Headers */, + 1800D5546C72A3A8FB3041C3DA36BA86 /* Pods-TabBarPicker_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9BE284D5E5171BB0CA0D43D14FAF010D /* Headers */ = { + 497D64F6C3807576D1C920B9B2A534DD /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 060E7DD819F53729654E36495DF47426 /* FloatConversion.h in Headers */, - 8E2CDC7269B59EAC84AEA46D5E28B826 /* POP.h in Headers */, - 7D895EB8CC992C0E734A1AC7E73F7D41 /* POPAction.h in Headers */, - 15EBB865A82DF72209B0E02819463060 /* POPAnimatableProperty.h in Headers */, - 3C2F3F5F1497E202882DF7598F703088 /* POPAnimation.h in Headers */, - 870316C705D226E9990777155D6AC4EC /* POPAnimationEvent.h in Headers */, - 384CE5874312610CF1414126D6E41435 /* POPAnimationEventInternal.h in Headers */, - B4DBAE098AA6F80CDCDFB1BFB6F6A7AE /* POPAnimationExtras.h in Headers */, - 7C632502864E8AE6F403AE489B593056 /* POPAnimationInternal.h in Headers */, - 242F2CEE058E9AFB0886BC75D30F5897 /* POPAnimationPrivate.h in Headers */, - 203E916178B206E4760E275D94B537FA /* POPAnimationRuntime.h in Headers */, - D905A57ED65F1E5DFD546AA26BBA6632 /* POPAnimationTracer.h in Headers */, - 60616CBC5FED53D41E314BD96036FCA0 /* POPAnimationTracerInternal.h in Headers */, - B2E46B8E61B80795CD4E94081F3A51C2 /* POPAnimator.h in Headers */, - 242683D9189D01DB10D327BD4807ADF2 /* POPAnimatorPrivate.h in Headers */, - 0BFE7C394E8150EF5FD76D3675116D48 /* POPBasicAnimation.h in Headers */, - 7687E83DA7BAC649B3BFB96A702B8EF7 /* POPBasicAnimationInternal.h in Headers */, - 73F5A493933876566BFE1C7557D058E0 /* POPCGUtils.h in Headers */, - EDC72938DF5998BBBC017B2FE8B20768 /* POPCustomAnimation.h in Headers */, - 758F4837B21699E995B3DA7873BE5AB9 /* POPDecayAnimation.h in Headers */, - 6DBFBBAB5805C21D1665893E655EA4FD /* POPDecayAnimationInternal.h in Headers */, - 62AF98DE098B6AE453132CE1AA19765E /* POPDefines.h in Headers */, - F80CE9A6A3DFE7A013E36693BEE14EAE /* POPGeometry.h in Headers */, - 93F5920F69AC785B428577FC0BE0882B /* POPLayerExtras.h in Headers */, - E01D81DAECC949E0D350DEF8A8DEF9DA /* POPMath.h in Headers */, - E0C2B1971770264E2BC030EBFA522C67 /* POPPropertyAnimation.h in Headers */, - F983A03430606378AE8DC27E4BF8436A /* POPPropertyAnimationInternal.h in Headers */, - 6C4B81E2699A8266AAB7C85824999897 /* POPSpringAnimation.h in Headers */, - F7D70C0E25A8123CCE6495EF0CF7FB85 /* POPSpringAnimationInternal.h in Headers */, - 728A5FCB02E1760C95DEA5ED83A2C1C5 /* POPSpringSolver.h in Headers */, - 03208AEB6A03CCA0C77A5DA3A79BD522 /* POPVector.h in Headers */, - ED5C0B5FD3B73C3015AC56C9E5FACA48 /* TransformationMatrix.h in Headers */, - 15EEB9A75A38BB0F7C3B2448A705AD83 /* UnitBezier.h in Headers */, - 0F7B5941BC1A4A320845B9B863551176 /* pop-umbrella.h in Headers */, + 88436ECF06568376C975035C4C0F2FD1 /* Pods-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - C8CDB2F71BF69BF321BBA4B599031218 /* Headers */ = { + 614A5F4BDE43283EE9DB9C94C0D45E47 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 64936125353B370402AC7A2390B2319B /* Pods-TabBarPicker_Example-umbrella.h in Headers */, + 6B0E37B385075A05E56C9A303C9D8B19 /* ALView+PureLayout.h in Headers */, + 79CC3932218285A605596C2B04DFCCC2 /* NSArray+PureLayout.h in Headers */, + 7184B49F9D5643C1B32512DC49EE2665 /* NSLayoutConstraint+PureLayout.h in Headers */, + 378E52A1215F9CF5D66F9CAA8C43F887 /* PureLayout+Internal.h in Headers */, + D4C4AFCDD2BB531DFB087F7852180F0E /* PureLayout-umbrella.h in Headers */, + EBA2BF907D9241F97252BDCB2348A2CF /* PureLayout.h in Headers */, + CDAF5D56D26A535369549BC170302D95 /* PureLayoutDefines.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - D00A1DFA85EA261569DB5E74C27FD88A /* Headers */ = { + 65BBE7C0DDA609012A57E569E7BC9E23 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - C3B4357DC8723B40B75036643935EBD7 /* MMCPSScrollView.h in Headers */, - 2A65286B5726E4AF0A5395E6B035F614 /* NSString+HexColor.h in Headers */, - 399306C358953571B5B236714BAC0F0B /* SharedLocationManager.h in Headers */, - BA97F812224F556023C97037E1B9B768 /* TabBarItem.h in Headers */, - 5894F10E4EE16E60EFEA6CAF8F39BEAC /* TabBarPicker-umbrella.h in Headers */, - F6440C1C9D4ADB1F5FE7CB2B1D54E343 /* TabBarPicker.h in Headers */, - 6115D515692E38D8D809451232B83C52 /* TabBarPickerSubItemsView.h in Headers */, - B80B8212180CFDFFDCA9568F41595AE0 /* TabBarSubItem.h in Headers */, - B65A29FBEECF62A70B2A981ED1AE3BC9 /* UIButton+BackgroundColor.h in Headers */, - CBC724E48D4294B56D03568A11D05FF1 /* UIImage+Color.h in Headers */, + 1BE45D363F29CF53E49F519E9F09B8CB /* Pods-TabBarPicker_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - D23B652DCFF352C90CB48E8F226C8C75 /* Headers */ = { + 8414C93D55607454BB4C9355C063559D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 50E1538F1556D387C5164A072FC23570 /* UIActionSheet+Blocks.h in Headers */, - 6821181ABC8D74220E7B8667CA488482 /* UIActionSheet-Blocks-umbrella.h in Headers */, + CDB4EAA97689638A2FB1A344086F4CB2 /* UIActionSheet+Blocks.h in Headers */, + 088F93C0B79B1C44AD9C958D7A3A52B6 /* UIActionSheet-Blocks-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - D6A8EB0B19838A8E6F05524B3A33BF15 /* Headers */ = { + 8ED769F7C4E333149B7D5A0F4F2E9B0F /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - C07804D5CAE775845193B0BDEAE8153A /* ALView+PureLayout.h in Headers */, - 6354BF1C514445C33F9B65DD18205535 /* NSArray+PureLayout.h in Headers */, - E822E9813D45FF34F11862731B65F4D7 /* NSLayoutConstraint+PureLayout.h in Headers */, - 38792B4D4276C59B21ACF9B4DE6ED4F5 /* PureLayout+Internal.h in Headers */, - 8FB29797E35802BE65A888432368F471 /* PureLayout-umbrella.h in Headers */, - 98DE61629DE81688A6D460FF03DD172A /* PureLayout.h in Headers */, - F9A3864238BEAF7F67E75EF7417D7AF4 /* PureLayoutDefines.h in Headers */, + FEF1C1F79F0E9C85AF69143A9C251D7B /* UIView+Overlay.h in Headers */, + E2D4B62D816846340C7119EF56ED1544 /* UIView-Overlay-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - F0288DFFBF6F8630F80825C0012E9422 /* Headers */ = { + A928FC2692F18F65D60E40084D0E5325 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 3515851F45C9BB3FFDDD122095FF7797 /* Pods-TabBarPicker_Tests-umbrella.h in Headers */, + A78209677AC1CDC16DCB21BB1A241643 /* FloatConversion.h in Headers */, + 446E2B044AA01BFF76462ADB4F9B4DDC /* pop-umbrella.h in Headers */, + 81713F1137699370C138DAC89331F474 /* POP.h in Headers */, + 5633844D0D947CF361417046E7AE1A37 /* POPAction.h in Headers */, + AF50FD4F55AE7551EE45DF1F20503AA4 /* POPAnimatableProperty.h in Headers */, + 2EE5C913CFF1018C5FDF66868218F3CB /* POPAnimation.h in Headers */, + 3148AF12680D3C3F410FDBE77935B045 /* POPAnimationEvent.h in Headers */, + D67703BD7CCA637B11DF1163990881EB /* POPAnimationEventInternal.h in Headers */, + 2E69563E86A714D3DE44ECC30FD5DB6E /* POPAnimationExtras.h in Headers */, + 58B2DDCA0E4FDF9CDCDDFAD53B59EFCE /* POPAnimationInternal.h in Headers */, + 278733C1DF79C42F4ACD3F78148109F8 /* POPAnimationPrivate.h in Headers */, + 5B534CD3C5F1B540F8B2911346B6220A /* POPAnimationRuntime.h in Headers */, + 3545DA78196F670E3FBA955F32E403C3 /* POPAnimationTracer.h in Headers */, + FF66C2C42DD23F4BFFFF08A4667EF2B7 /* POPAnimationTracerInternal.h in Headers */, + C0CCB4854D3D91219DC243E79AD7DF5F /* POPAnimator.h in Headers */, + DB16E7F028CC20E02C6804644FFCD8F0 /* POPAnimatorPrivate.h in Headers */, + 16763A9CAFE6AD5F6827D9D480E75B5B /* POPBasicAnimation.h in Headers */, + 7595C590811C6DD13845A31879B5AA0B /* POPBasicAnimationInternal.h in Headers */, + 570A477FAA0A761A16BF610ED1B87939 /* POPCGUtils.h in Headers */, + D142764135A5F7619BC50E19682B6F14 /* POPCustomAnimation.h in Headers */, + 19998E75ABC48763390A67980A7EE248 /* POPDecayAnimation.h in Headers */, + 01A17A3560CFC6025AE538983192261B /* POPDecayAnimationInternal.h in Headers */, + 6E8B38DB49B4F063A166C779CAA4EE2B /* POPDefines.h in Headers */, + E301E201C6F0860AD9AFBEAA7A1F99BB /* POPGeometry.h in Headers */, + 4069A9DA4605A44F29EC8AFD136C5216 /* POPLayerExtras.h in Headers */, + BD1EE30F522E2A0C267DE8E8F64ABF17 /* POPMath.h in Headers */, + 2092DA96D033866C25EFA25A57C2D027 /* POPPropertyAnimation.h in Headers */, + F9373C376DE6374A50A5A010945960A9 /* POPPropertyAnimationInternal.h in Headers */, + 4BC80052D3943EE5BCD55804AA0D03F0 /* POPSpringAnimation.h in Headers */, + 5BD299B768B779E2594E84F1416EAFC3 /* POPSpringAnimationInternal.h in Headers */, + 25B9483D26DC7E3158D9AC2AB957EC80 /* POPSpringSolver.h in Headers */, + D40BB075C59C55DB5276935D16699EFF /* POPVector.h in Headers */, + 63E20435B4319DA58EFE8D15B4CCAA64 /* TransformationMatrix.h in Headers */, + FFDD74B864843A709EEFD34DE8334E19 /* UnitBezier.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - F10C3CB6E24B23445DE9711A8BC29AE6 /* Headers */ = { + AD3B37DD96CE158FD48406AB56E6E6CC /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 0EAB569A3E1579E852A97E70B2A52B19 /* UIView+Overlay.h in Headers */, - A30219FCF9EC37ABE44DC610005C2595 /* UIView-Overlay-umbrella.h in Headers */, + B8FFC67E6F6ED29F7DA4B069CD3214E3 /* AADatePicker.h in Headers */, + 45F7FBEB7970CBB135B37A3108515832 /* MMCPSScrollView.h in Headers */, + B951CCBB5E4A00FDA7DB5CB061B86C00 /* NSString+HexColor.h in Headers */, + 09A3D7B8512F6203ECA31785B3AE69C5 /* SharedLocationManager.h in Headers */, + 83128C827C23F33F91FC58C9218F1CD4 /* TabBarItem.h in Headers */, + 06FC09DB83C624F3ED1F17E5C4417BB9 /* TabBarPicker-umbrella.h in Headers */, + E8D7CD14D46DB2D761E86793A030F44E /* TabBarPicker.h in Headers */, + 683A03151BE1921E00175B04 /* NSDate+NSDate_Util.h in Headers */, + 738DDDC89FE0065582B8A3735E6AC200 /* TabBarPickerSubItemsView.h in Headers */, + 8820E5EC0E7DE5077B3B884F35C54537 /* TabBarSubItem.h in Headers */, + 56AFD301CC62E97C9870C201B2EC7461 /* ToucheableScrollView.h in Headers */, + 78B7CB39446EE2B49A0BD45B98AE1147 /* UIButton+BackgroundColor.h in Headers */, + 4FC1EC70BD5E293AA39523F7864887ED /* UIImage+Color.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 0B43C8BA292D04592FCAA7AB434DD80C /* TabBarPicker */ = { + 26898CAA60ADD5E8875C18D038F87768 /* Pods */ = { isa = PBXNativeTarget; - buildConfigurationList = EA9B566CC07BD9C0890426A19B907D94 /* Build configuration list for PBXNativeTarget "TabBarPicker" */; + buildConfigurationList = 034F0CAF7A72A4AFB05C1C370E6AE334 /* Build configuration list for PBXNativeTarget "Pods" */; buildPhases = ( - C271834FA45F83107B54D32A95DCB323 /* Sources */, - AAAAA4342085DEFE61C54EF9A4F0AC88 /* Frameworks */, - DA9C3525A98CC766A7329A89399C38FC /* Resources */, - D00A1DFA85EA261569DB5E74C27FD88A /* Headers */, + C4398873B9282268C40BF973C03E828D /* Sources */, + 8CB498D69D9F3405BF78B901B1FC8D97 /* Frameworks */, + 497D64F6C3807576D1C920B9B2A534DD /* Headers */, ); buildRules = ( ); dependencies = ( - CF70228EECA89048ED837ACCE109E7E0 /* PBXTargetDependency */, + 53D9A4A0F2E3669008573A8872527D66 /* PBXTargetDependency */, + ECFBE7C78369523CA2C51B1B0CFCD6A4 /* PBXTargetDependency */, + B372D6EF7115A9BDFD83C6BE9A4F5A3C /* PBXTargetDependency */, + D3A3EF1B5CEAADD5387092F3250490D8 /* PBXTargetDependency */, ); - name = TabBarPicker; - productName = TabBarPicker; - productReference = 3C16B835C951C428E453293C841C3377 /* TabBarPicker.framework */; + name = Pods; + productName = Pods; + productReference = 5B1719AA0DCE53714CE76C3E1B504894 /* Pods.framework */; productType = "com.apple.product-type.framework"; }; - 31D04736AA8F72A7EDD28D5A60339B0F /* UIView-Overlay */ = { + 4B43054A18B0C0AE955BDD2755CE4064 /* UIView-Overlay */ = { isa = PBXNativeTarget; - buildConfigurationList = 24BE35686B3092A5E39AB603AB9548D8 /* Build configuration list for PBXNativeTarget "UIView-Overlay" */; + buildConfigurationList = 6609902865520A23F30C6953F5425738 /* Build configuration list for PBXNativeTarget "UIView-Overlay" */; buildPhases = ( - 2716DFA2350F3F9597E22BC02135F4DA /* Sources */, - 9B02C87F42AF1C91A4A2F9339784DF7C /* Frameworks */, - F10C3CB6E24B23445DE9711A8BC29AE6 /* Headers */, + F87E3435F0C2994C02394DCC3A80ED87 /* Sources */, + EA268707372D4669400F709A6ADB7DFD /* Frameworks */, + 8ED769F7C4E333149B7D5A0F4F2E9B0F /* Headers */, ); buildRules = ( ); @@ -1039,123 +1147,39 @@ ); name = "UIView-Overlay"; productName = "UIView-Overlay"; - productReference = A08C793E1F109494ED9A12FB0A0E9469 /* UIView_Overlay.framework */; + productReference = 0C24C046799BC5073CD20B222C406C2E /* UIView_Overlay.framework */; productType = "com.apple.product-type.framework"; }; - 32560F18B1ECECAEDFCE9D7F91247BDF /* Pods-TabBarPicker_Tests */ = { + 6440F69B7A52E4929162A766D4B8A24F /* Pods-TabBarPicker_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = 630E7CF328E5A22E649CE1101654AE09 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Tests" */; + buildConfigurationList = 102EFED969C47E1091566629ABC8361D /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example" */; buildPhases = ( - 0BF447AF96530267F6597C658445F48A /* Sources */, - C55B4A380649C260F933655453406C98 /* Frameworks */, - F0288DFFBF6F8630F80825C0012E9422 /* Headers */, + 37159C31AA3D58BF0B8F31056E922367 /* Sources */, + 6EB75D18308D05E6EB9EEEE5B4CB44ED /* Frameworks */, + 65BBE7C0DDA609012A57E569E7BC9E23 /* Headers */, ); buildRules = ( ); dependencies = ( - 985CF393361B86AC14EC54CED92CDBDD /* PBXTargetDependency */, + 674B54D63A0C87F910551DD8E47AAF2D /* PBXTargetDependency */, + 55F7ABA3BB2200CCDA2BF568D467410B /* PBXTargetDependency */, + 9F3C4D905B2DD17D6C2B73C73CCA1F5A /* PBXTargetDependency */, + 653F1C37AD4182CA392FAD0AD38A9932 /* PBXTargetDependency */, + 5B701411277715051E0C51E7955EF750 /* PBXTargetDependency */, + 8D46ED11BBB5B7EF31D9D8822D3D2E40 /* PBXTargetDependency */, ); - name = "Pods-TabBarPicker_Tests"; - productName = "Pods-TabBarPicker_Tests"; - productReference = 3D833E7748B3655AA714241999C94DC4 /* Pods_TabBarPicker_Tests.framework */; + name = "Pods-TabBarPicker_Example"; + productName = "Pods-TabBarPicker_Example"; + productReference = FCF66E6FDA0B00484D949D0149241E2F /* Pods_TabBarPicker_Example.framework */; productType = "com.apple.product-type.framework"; }; - 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */ = { + 6BA6D9CD89FCB39974065ABF3952FF4B /* UIAlertViewBlockExtension */ = { isa = PBXNativeTarget; - buildConfigurationList = 46ECFA57CB15AE0591893FA284A902AA /* Build configuration list for PBXNativeTarget "pop" */; + buildConfigurationList = AE83AA87F5003F8F877A9805EF0A38C2 /* Build configuration list for PBXNativeTarget "UIAlertViewBlockExtension" */; buildPhases = ( - 37FAC6BEBB39C393B15E857FE76D4914 /* Sources */, - E317655F4C92290FC793E268EDF9B38E /* Frameworks */, - 9BE284D5E5171BB0CA0D43D14FAF010D /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = pop; - productName = pop; - productReference = 17F13764CB2CA131B25559F8C59ADD62 /* pop.framework */; - productType = "com.apple.product-type.framework"; - }; - 4A6BFDA160089EECBB532DEF25DFFD46 /* Pods */ = { - isa = PBXNativeTarget; - buildConfigurationList = 175C1671DE8DF78A2BB701210E1279E8 /* Build configuration list for PBXNativeTarget "Pods" */; - buildPhases = ( - 96B6098F0DAB31B2F5FD2ED16EE2EF21 /* Sources */, - A91B8D6425530AC502B83B5E40CDE8BE /* Frameworks */, - 2C28C0C73535E30F239A7DBA44B9ACC2 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 13430F3531C3BB70CADAEC8CCE218411 /* PBXTargetDependency */, - 76F823F3A26A863473CF49898F5C57C5 /* PBXTargetDependency */, - F8F04722CA996F04C32D7A54C8128FBE /* PBXTargetDependency */, - E9D2A8229662994DDA79E21C477B05D0 /* PBXTargetDependency */, - ); - name = Pods; - productName = Pods; - productReference = 4470612A0D7507992168F3515906A198 /* Pods.framework */; - productType = "com.apple.product-type.framework"; - }; - 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */ = { - isa = PBXNativeTarget; - buildConfigurationList = 29946541803109559D5B69F86E5F2398 /* Build configuration list for PBXNativeTarget "PureLayout" */; - buildPhases = ( - F81A6CC9F7C1459BB6E1B159EB93EB03 /* Sources */, - 8D982826564F33040944F955F4866DBD /* Frameworks */, - D6A8EB0B19838A8E6F05524B3A33BF15 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = PureLayout; - productName = PureLayout; - productReference = 34BE0BA12096455AB6760CFDF1005D58 /* PureLayout.framework */; - productType = "com.apple.product-type.framework"; - }; - A3EDD948F9BE0382C98E8FCC6F145936 /* TabBarPicker-TabBarPicker */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3966147425507300FEC05A226BE2920D /* Build configuration list for PBXNativeTarget "TabBarPicker-TabBarPicker" */; - buildPhases = ( - 4DBEC0C05151203AA53BFE2A2B3389D4 /* Sources */, - AFD7844FFD6D5B623CA366A6697D1817 /* Frameworks */, - BAE690F24B9F8B27A81D68DD3BE79823 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "TabBarPicker-TabBarPicker"; - productName = "TabBarPicker-TabBarPicker"; - productReference = 4CD19F38BD35C5439EA45425BF343692 /* TabBarPicker.bundle */; - productType = "com.apple.product-type.bundle"; - }; - B8AFD9D9A9DD2282FC523C9360E3FD0B /* UIActionSheet-Blocks */ = { - isa = PBXNativeTarget; - buildConfigurationList = BD3F55213383B9BEE2D792B92C8444F3 /* Build configuration list for PBXNativeTarget "UIActionSheet-Blocks" */; - buildPhases = ( - D006587E6C0DA708CEC302059C451959 /* Sources */, - FE4BBC387732232A2FD5DB5386A8BEAE /* Frameworks */, - D23B652DCFF352C90CB48E8F226C8C75 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "UIActionSheet-Blocks"; - productName = "UIActionSheet-Blocks"; - productReference = 91FA5CA09CACBC560BDE8C375A8ECF48 /* UIActionSheet_Blocks.framework */; - productType = "com.apple.product-type.framework"; - }; - C0BF957FAF71CC8A3C616196CE12BE11 /* UIAlertViewBlockExtension */ = { - isa = PBXNativeTarget; - buildConfigurationList = 60057E35165E3A3DD5D4B7A745F8780E /* Build configuration list for PBXNativeTarget "UIAlertViewBlockExtension" */; - buildPhases = ( - 994089B93207B88DE067D1C8D98E0035 /* Sources */, - 8520A48E45E6B6DC9EC9C8F684889FCE /* Frameworks */, - 681AFEB133F48BA93DA624F1391E3255 /* Headers */, + 5809E51B302EA042E27D43298171BCF1 /* Sources */, + A0B64072F563B621FB250212956F6120 /* Frameworks */, + 2F6B3A9211518D7952CDED59EB0DD43E /* Headers */, ); buildRules = ( ); @@ -1163,30 +1187,120 @@ ); name = UIAlertViewBlockExtension; productName = UIAlertViewBlockExtension; - productReference = 0A711227966BA949140D7F5462CB2606 /* UIAlertViewBlockExtension.framework */; + productReference = 5212AEFB9487CDD03BE755E6F35CE104 /* UIAlertViewBlockExtension.framework */; productType = "com.apple.product-type.framework"; }; - D3633C837B833BC0E5216A998BCA1A83 /* Pods-TabBarPicker_Example */ = { + 70CC4EECF738D35AD5DA0CE240EDED99 /* TabBarPicker-TabBarPicker */ = { isa = PBXNativeTarget; - buildConfigurationList = 1D9AF43A7C3FCCA54B4626FE257768E9 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example" */; + buildConfigurationList = 89D0ACEC9FC84264F827933CA8FC46FF /* Build configuration list for PBXNativeTarget "TabBarPicker-TabBarPicker" */; buildPhases = ( - 435EADCFFDF6D06D2E076052B1A86634 /* Sources */, - 49A0A96D50E26826AF840B79E450008C /* Frameworks */, - C8CDB2F71BF69BF321BBA4B599031218 /* Headers */, + C4969973F1580DE20CA36583683385FE /* Sources */, + 5E64FABBAEB6145E53F1E5C5B2829D9D /* Frameworks */, + 96B2CFF833D52FC944C938CC549F5B13 /* Resources */, ); buildRules = ( ); dependencies = ( - 00B1CD5CB1F712D0A3C2AC2B6CB15398 /* PBXTargetDependency */, - 53286976D73B02A825AD63A3FDA29081 /* PBXTargetDependency */, - 0B4BE7FAA9223D5E4429CC1A682013E0 /* PBXTargetDependency */, - E63DCB444B52B76CB2992A8FE9FFCB1A /* PBXTargetDependency */, - A9FBB5ACB984B12F90B02DCEB67794CA /* PBXTargetDependency */, - F32978865DCDECDF3D2833024F6E7AD9 /* PBXTargetDependency */, ); - name = "Pods-TabBarPicker_Example"; - productName = "Pods-TabBarPicker_Example"; - productReference = 9690E74815183E50D72844E517799F05 /* Pods_TabBarPicker_Example.framework */; + name = "TabBarPicker-TabBarPicker"; + productName = "TabBarPicker-TabBarPicker"; + productReference = D679E457F381CFAE1B48C3C5258F72A4 /* TabBarPicker.bundle */; + productType = "com.apple.product-type.bundle"; + }; + 7C6FF6FFAB03290C11FCAFF6849403E2 /* pop */ = { + isa = PBXNativeTarget; + buildConfigurationList = F08B4EC4E60C15F3C510CB67F4DF1754 /* Build configuration list for PBXNativeTarget "pop" */; + buildPhases = ( + 55EF98A5FCEEC0D3A4AC82E6CB311A19 /* Sources */, + FB340A1F8BD4F1D35FBE908461EBAD49 /* Frameworks */, + A928FC2692F18F65D60E40084D0E5325 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = pop; + productName = pop; + productReference = 0DF32AF94F033C9401BF4B36A767580E /* pop.framework */; + productType = "com.apple.product-type.framework"; + }; + 87FB688FB53D3F3FDA49C7CAE9BD0B94 /* Pods-TabBarPicker_Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 08C6B6A530D3F0EBD264B9A4887030CF /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Tests" */; + buildPhases = ( + CE394B55A49B07A6B50472793CC86E13 /* Sources */, + C2A15EB7721AAF0FA93E8D4FAC008682 /* Frameworks */, + 45B973EFA1510EF5092ECEA5B2D8667B /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + 3783E270066E6E6A7208E7CB8685F037 /* PBXTargetDependency */, + DEC6E86A0DD39B75CB33C978E9E778A3 /* PBXTargetDependency */, + 648C7A06B2C3F5C00ED802C7E366EB39 /* PBXTargetDependency */, + 38FB17EB1F04282CB15B36293819693E /* PBXTargetDependency */, + 6816A3A6EA4C31EF660B1C22A798E696 /* PBXTargetDependency */, + ); + name = "Pods-TabBarPicker_Tests"; + productName = "Pods-TabBarPicker_Tests"; + productReference = 2230DAA42F7A564CBF0F692DDF96E721 /* Pods_TabBarPicker_Tests.framework */; + productType = "com.apple.product-type.framework"; + }; + 9EBE8BA9F108B1A455FCC07818D6558C /* UIActionSheet-Blocks */ = { + isa = PBXNativeTarget; + buildConfigurationList = FD824CE180663466873E8E9B2E7AA89D /* Build configuration list for PBXNativeTarget "UIActionSheet-Blocks" */; + buildPhases = ( + 9D6B0FA63E6CFC6E3E4CA03A508572F5 /* Sources */, + 9B24E683422A00C4DE1C04B0742BEA35 /* Frameworks */, + 8414C93D55607454BB4C9355C063559D /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "UIActionSheet-Blocks"; + productName = "UIActionSheet-Blocks"; + productReference = 33C5C0B9A65422513E3C98A8F4FB9393 /* UIActionSheet_Blocks.framework */; + productType = "com.apple.product-type.framework"; + }; + BD7FB1492BD1E0AE4ACA126CFCD5A5D6 /* TabBarPicker */ = { + isa = PBXNativeTarget; + buildConfigurationList = A2D8AE38515F7E22801C78E10152E565 /* Build configuration list for PBXNativeTarget "TabBarPicker" */; + buildPhases = ( + 317EF7C15837E4395ECF761F94412E05 /* Sources */, + D2D99977BF681A0160285F1FC793409C /* Frameworks */, + F96F82C6242FD008407D0890416DB650 /* Resources */, + AD3B37DD96CE158FD48406AB56E6E6CC /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + CE6FD09B11967D9923C9C63050ACC8D1 /* PBXTargetDependency */, + 484569F4B96C408295C9D476D4B8F28F /* PBXTargetDependency */, + 95C177A8538213581A174290BB6704A5 /* PBXTargetDependency */, + 172C44EB4625564B19B04577148D72C6 /* PBXTargetDependency */, + 2C799AAD009910165488194555F31356 /* PBXTargetDependency */, + ); + name = TabBarPicker; + productName = TabBarPicker; + productReference = 86A52C33DCB600DC6CB60D01DFCDCD4E /* TabBarPicker.framework */; + productType = "com.apple.product-type.framework"; + }; + FD3993CF6295F990414755FE28D52230 /* PureLayout */ = { + isa = PBXNativeTarget; + buildConfigurationList = 236C0129DBD6F33E42094D0CF5193FFC /* Build configuration list for PBXNativeTarget "PureLayout" */; + buildPhases = ( + CCCF4A14E9F48204792A150105F0F659 /* Sources */, + C27791ACCDA503D5FA8ACD0EB4093612 /* Frameworks */, + 614A5F4BDE43283EE9DB9C94C0D45E47 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = PureLayout; + productName = PureLayout; + productReference = B492948EF73FB7A38F678DCBEF3EC0E8 /* PureLayout.framework */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -1206,237 +1320,342 @@ en, ); mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = CCA510CFBEA2D207524CDA0D73C3B561 /* Products */; + productRefGroup = 61819A40E61CF62A42ACC6CCB8B58EAB /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 4A6BFDA160089EECBB532DEF25DFFD46 /* Pods */, - D3633C837B833BC0E5216A998BCA1A83 /* Pods-TabBarPicker_Example */, - 32560F18B1ECECAEDFCE9D7F91247BDF /* Pods-TabBarPicker_Tests */, - 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */, - 0B43C8BA292D04592FCAA7AB434DD80C /* TabBarPicker */, - A3EDD948F9BE0382C98E8FCC6F145936 /* TabBarPicker-TabBarPicker */, - B8AFD9D9A9DD2282FC523C9360E3FD0B /* UIActionSheet-Blocks */, - C0BF957FAF71CC8A3C616196CE12BE11 /* UIAlertViewBlockExtension */, - 31D04736AA8F72A7EDD28D5A60339B0F /* UIView-Overlay */, - 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */, + 26898CAA60ADD5E8875C18D038F87768 /* Pods */, + 6440F69B7A52E4929162A766D4B8A24F /* Pods-TabBarPicker_Example */, + 87FB688FB53D3F3FDA49C7CAE9BD0B94 /* Pods-TabBarPicker_Tests */, + 7C6FF6FFAB03290C11FCAFF6849403E2 /* pop */, + FD3993CF6295F990414755FE28D52230 /* PureLayout */, + BD7FB1492BD1E0AE4ACA126CFCD5A5D6 /* TabBarPicker */, + 70CC4EECF738D35AD5DA0CE240EDED99 /* TabBarPicker-TabBarPicker */, + 9EBE8BA9F108B1A455FCC07818D6558C /* UIActionSheet-Blocks */, + 6BA6D9CD89FCB39974065ABF3952FF4B /* UIAlertViewBlockExtension */, + 4B43054A18B0C0AE955BDD2755CE4064 /* UIView-Overlay */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - BAE690F24B9F8B27A81D68DD3BE79823 /* Resources */ = { + 96B2CFF833D52FC944C938CC549F5B13 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - DA9C3525A98CC766A7329A89399C38FC /* Resources */ = { + F96F82C6242FD008407D0890416DB650 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 96D7ABD08A98128E60E0F50069359FC0 /* TabBarPicker.bundle in Resources */, + 90D86C3134AEBAE69E28713D8160CF27 /* TabBarPicker.bundle in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 0BF447AF96530267F6597C658445F48A /* Sources */ = { + 317EF7C15837E4395ECF761F94412E05 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 987758B8CC9AE1B9722212C159E99125 /* Pods-TabBarPicker_Tests-dummy.m in Sources */, + 980F4F854A381862BCC15025A459D556 /* AADatePicker.m in Sources */, + BC5C74E037881900C0BA01B17447BA2E /* MMCPSScrollView.m in Sources */, + A2134FECEE3F7C515A4F32BCB8EFCBFF /* NSString+HexColor.m in Sources */, + 3C889D3757899EBF7EFB253F6E344838 /* SharedLocationManager.m in Sources */, + 43BEB250FF518B6A7D7EB036F2A5304D /* TabBarItem.m in Sources */, + 683A03161BE1921E00175B04 /* NSDate+NSDate_Util.m in Sources */, + 5D0478681713CD82489F47EAEBD2A0B8 /* TabBarPicker-dummy.m in Sources */, + 2DC0975DD943F4276D406D31910AE084 /* TabBarPicker.m in Sources */, + 9FB927B1D51029C48EF5185713DCB022 /* TabBarPickerSubItemsView.m in Sources */, + 8AA80FEEDBE17402A8AC11022F24EA2E /* TabBarSubItem.m in Sources */, + A04FD6F5CA9D5F013B9B3CAEC05CB769 /* ToucheableScrollView.m in Sources */, + 58CCAF82530DCCA0B3CDAC6B48B9D299 /* UIButton+BackgroundColor.m in Sources */, + F94E243FAE8E3E0EA60C9016A538C14C /* UIImage+Color.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2716DFA2350F3F9597E22BC02135F4DA /* Sources */ = { + 37159C31AA3D58BF0B8F31056E922367 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BCFE039CCE625E616A25871D8BB2601D /* UIView+Overlay.m in Sources */, - 30BE2AA9FA254A8A54B20C5D1C439CED /* UIView-Overlay-dummy.m in Sources */, + D56D034A1FEE8AF45776BC3DD04971CF /* Pods-TabBarPicker_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 37FAC6BEBB39C393B15E857FE76D4914 /* Sources */ = { + 55EF98A5FCEEC0D3A4AC82E6CB311A19 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 85005EF9A1EFBDE7B923C85541044847 /* POPAnimatableProperty.mm in Sources */, - 6BFFC7205011A11472F6457F6D6B489C /* POPAnimation.mm in Sources */, - 800AE2604DB4E050529B32FB08E5D2CF /* POPAnimationEvent.mm in Sources */, - E2B4468A72DF980C1B77E6CC18DC82F5 /* POPAnimationExtras.mm in Sources */, - 19022D54C183B386CBCC3929AB78ED45 /* POPAnimationRuntime.mm in Sources */, - 1F507AB6238183B539DD9E8D6886BDED /* POPAnimationTracer.mm in Sources */, - 5408B931355E2EB35B43B6E44EC7075C /* POPAnimator.mm in Sources */, - 5D0EB7072D641D8EBF0FF6E2866DAF7B /* POPBasicAnimation.mm in Sources */, - FA42222184104F516C9AF6AB85A48787 /* POPCGUtils.mm in Sources */, - B373D36B22355D41ABB9B75F3EA0BBF2 /* POPCustomAnimation.mm in Sources */, - 7635805E27D4F352CC4AC4F3E0B2228C /* POPDecayAnimation.mm in Sources */, - 34EC1894BF64A676F556AE2782F2E2A6 /* POPGeometry.mm in Sources */, - 7DCA23DE188D729056E041F49C521C1B /* POPLayerExtras.mm in Sources */, - 7BE5B65C18977D405062ACF22B6EF38C /* POPMath.mm in Sources */, - 5E9A8D95ECF3F7371BCEA9B70C879960 /* POPPropertyAnimation.mm in Sources */, - 4A629B0B3B3C72CBCC07FC57FEB9FFB5 /* POPSpringAnimation.mm in Sources */, - 7997BBF6E3FBC7DF5295ABF7224B89A4 /* POPVector.mm in Sources */, - 4BD95F156CB439EB08218A9B1BC10F87 /* TransformationMatrix.cpp in Sources */, - F3A5427CD0560096A6A82144B8B59C70 /* pop-dummy.m in Sources */, + 91537A2C2810924C5362B5D536C1D3E7 /* pop-dummy.m in Sources */, + F759CA324FE911681F1572526FBFEE91 /* POPAnimatableProperty.mm in Sources */, + 478B2A8F521F7F4301076A7E5F886BD3 /* POPAnimation.mm in Sources */, + A5F54D64B3D9AC3AEA640B22DB7D1563 /* POPAnimationEvent.mm in Sources */, + 0C2B9B19494A9D155F70C253973405BC /* POPAnimationExtras.mm in Sources */, + 97BA301A4FD1F3E947F309B92DF0AE06 /* POPAnimationRuntime.mm in Sources */, + CF13FCA6A44832B7E3B22970BB4B5A83 /* POPAnimationTracer.mm in Sources */, + 737B72D3EDE76C6202A0DE74073BA95E /* POPAnimator.mm in Sources */, + 2AA358B1EE387BC987A3E89D885AC7AE /* POPBasicAnimation.mm in Sources */, + CBD9A6CAD05B4DE81787CF9FE3B32126 /* POPCGUtils.mm in Sources */, + 56182EEA3F19B046B78DE79DDA7183F2 /* POPCustomAnimation.mm in Sources */, + 0DF7E9CAB3EF4EE5816D6E11CA768152 /* POPDecayAnimation.mm in Sources */, + DA014E67A80AD446E3C25B8D652ABF6E /* POPGeometry.mm in Sources */, + DBC55A57BB786C321D8DAA823600C07B /* POPLayerExtras.mm in Sources */, + 84AE1D88649FA97B8244D204A4D71B85 /* POPMath.mm in Sources */, + 971D907838F0DBE69F6E3CC43FB14AA0 /* POPPropertyAnimation.mm in Sources */, + 35E2ED4D1B070F6011D5428CBE05307F /* POPSpringAnimation.mm in Sources */, + 5047182A501A560BEE00F8844FB33814 /* POPVector.mm in Sources */, + 76636DEF32D0A1494EA1BDF331BEA259 /* TransformationMatrix.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 435EADCFFDF6D06D2E076052B1A86634 /* Sources */ = { + 5809E51B302EA042E27D43298171BCF1 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B86832123B4DFE5CE180B18C4CAF0C8E /* Pods-TabBarPicker_Example-dummy.m in Sources */, + 6153A22EB5615E6E0A9CF33CDF66025E /* AlertViewActionDispatcher.m in Sources */, + 08EE42522CB0B4EB017A2B20134BE7CD /* UIAlertView+BlockExtension.m in Sources */, + 2CA7A26C780B4D2CF1549777013FD5E9 /* UIAlertViewBlockExtension-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4DBEC0C05151203AA53BFE2A2B3389D4 /* Sources */ = { + 9D6B0FA63E6CFC6E3E4CA03A508572F5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 20184C705D6B7B060B709F760C9561B4 /* UIActionSheet+Blocks.m in Sources */, + 4BB596BA7630F7B4B3CB001A88C05556 /* UIActionSheet-Blocks-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C4398873B9282268C40BF973C03E828D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1C810387047E9800CF27F0B5B122E5B9 /* Pods-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C4969973F1580DE20CA36583683385FE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 96B6098F0DAB31B2F5FD2ED16EE2EF21 /* Sources */ = { + CCCF4A14E9F48204792A150105F0F659 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 8307CAD078138F1D1381C26992A80FE5 /* Pods-dummy.m in Sources */, + 020F00C753EE276EA60B1E91F90B8410 /* ALView+PureLayout.m in Sources */, + 6D6F450A307E08E6566516A86F1A7705 /* NSArray+PureLayout.m in Sources */, + 9474719828021BDBC199947439363181 /* NSLayoutConstraint+PureLayout.m in Sources */, + F1DF02B83E3071A731C151AB02F831FF /* PureLayout-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 994089B93207B88DE067D1C8D98E0035 /* Sources */ = { + CE394B55A49B07A6B50472793CC86E13 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7722493DFDD6EC5317378CCA6C5F6C5B /* AlertViewActionDispatcher.m in Sources */, - 916A29561C3E959D2829BCE7E31BC5DE /* UIAlertView+BlockExtension.m in Sources */, - 09D38304BB76CB9194061FF21B54687F /* UIAlertViewBlockExtension-dummy.m in Sources */, + 4643BF0DBEBB82BC4A7AFCA99B813786 /* Pods-TabBarPicker_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - C271834FA45F83107B54D32A95DCB323 /* Sources */ = { + F87E3435F0C2994C02394DCC3A80ED87 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 141AA641914936AB790CE6FCB178B1D7 /* MMCPSScrollView.m in Sources */, - 07501B134439D43A603B50365BAB8C36 /* NSString+HexColor.m in Sources */, - 2D696A7493C3B7A7DC34C3857719B884 /* SharedLocationManager.m in Sources */, - CCBEA17C33C968D4115035DFD75D03C7 /* TabBarItem.m in Sources */, - 8684DD0504E7EC38B91A22B510C6A01D /* TabBarPicker-dummy.m in Sources */, - 27612C6A0F69DAD74E0FEB17816B9E15 /* TabBarPicker.m in Sources */, - F959AAD4573A311BB8F79F1AF6BF166E /* TabBarPickerSubItemsView.m in Sources */, - A1A922D53B283BE53F75515F470D2755 /* TabBarSubItem.m in Sources */, - B807414C5B82738C9AE261FC4BD35633 /* UIButton+BackgroundColor.m in Sources */, - 9891293FB5D8A4C867C6FE6108C67500 /* UIImage+Color.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D006587E6C0DA708CEC302059C451959 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5399D919350C1DA1537C5307762FC7D4 /* UIActionSheet+Blocks.m in Sources */, - 2773E86D775C65479A4FC871ECCF322B /* UIActionSheet-Blocks-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F81A6CC9F7C1459BB6E1B159EB93EB03 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 610E3F00DD9A11CF2B3AB4ACDF9F2C88 /* ALView+PureLayout.m in Sources */, - 48D0C42EEA0F59047616F9D4F51FBD10 /* NSArray+PureLayout.m in Sources */, - 2B787FFB562C10AD02FE1C9005365F43 /* NSLayoutConstraint+PureLayout.m in Sources */, - BE8FD01BD558BC524643D9691934BCDF /* PureLayout-dummy.m in Sources */, + 46AB1DA8028084B616CA19C8860CD6CE /* UIView+Overlay.m in Sources */, + C5B765D447F5797497EE2383200AEF8C /* UIView-Overlay-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 00B1CD5CB1F712D0A3C2AC2B6CB15398 /* PBXTargetDependency */ = { + 172C44EB4625564B19B04577148D72C6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PureLayout; - target = 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */; - targetProxy = 1A0216D5A68EF18925A58D8898A40500 /* PBXContainerItemProxy */; + name = UIAlertViewBlockExtension; + target = 6BA6D9CD89FCB39974065ABF3952FF4B /* UIAlertViewBlockExtension */; + targetProxy = B6344B6A163C8CF205A167F81F132592 /* PBXContainerItemProxy */; }; - 0B4BE7FAA9223D5E4429CC1A682013E0 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "UIActionSheet-Blocks"; - target = B8AFD9D9A9DD2282FC523C9360E3FD0B /* UIActionSheet-Blocks */; - targetProxy = D59F622049A0852987C8BF21FA82F520 /* PBXContainerItemProxy */; - }; - 13430F3531C3BB70CADAEC8CCE218411 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = PureLayout; - target = 8240A687A12B3496C485DFBEB80E79E2 /* PureLayout */; - targetProxy = 58B8312D7E70A13FF744582A9D5C33C8 /* PBXContainerItemProxy */; - }; - 53286976D73B02A825AD63A3FDA29081 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = TabBarPicker; - target = 0B43C8BA292D04592FCAA7AB434DD80C /* TabBarPicker */; - targetProxy = 4A7AF9BC946B50A8BC2CFF1204DF7D78 /* PBXContainerItemProxy */; - }; - 76F823F3A26A863473CF49898F5C57C5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "UIActionSheet-Blocks"; - target = B8AFD9D9A9DD2282FC523C9360E3FD0B /* UIActionSheet-Blocks */; - targetProxy = AC84369D6321CD0D64AF72BB47BA0620 /* PBXContainerItemProxy */; - }; - 985CF393361B86AC14EC54CED92CDBDD /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = TabBarPicker; - target = 0B43C8BA292D04592FCAA7AB434DD80C /* TabBarPicker */; - targetProxy = C52BF0121E5E9F1BC77EDB06E5CF5950 /* PBXContainerItemProxy */; - }; - A9FBB5ACB984B12F90B02DCEB67794CA /* PBXTargetDependency */ = { + 2C799AAD009910165488194555F31356 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "UIView-Overlay"; - target = 31D04736AA8F72A7EDD28D5A60339B0F /* UIView-Overlay */; - targetProxy = 765E5A6C7EC62062C86499C436755122 /* PBXContainerItemProxy */; + target = 4B43054A18B0C0AE955BDD2755CE4064 /* UIView-Overlay */; + targetProxy = E3972A55D37027CAF450B8EB038804AE /* PBXContainerItemProxy */; }; - CF70228EECA89048ED837ACCE109E7E0 /* PBXTargetDependency */ = { + 3783E270066E6E6A7208E7CB8685F037 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = PureLayout; + target = FD3993CF6295F990414755FE28D52230 /* PureLayout */; + targetProxy = EA6849FF300475A5DCB56D0C1A4EF40A /* PBXContainerItemProxy */; + }; + 38FB17EB1F04282CB15B36293819693E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = UIAlertViewBlockExtension; + target = 6BA6D9CD89FCB39974065ABF3952FF4B /* UIAlertViewBlockExtension */; + targetProxy = 32185622542F7A3D627FDD86C56B1E1D /* PBXContainerItemProxy */; + }; + 484569F4B96C408295C9D476D4B8F28F /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "TabBarPicker-TabBarPicker"; - target = A3EDD948F9BE0382C98E8FCC6F145936 /* TabBarPicker-TabBarPicker */; - targetProxy = D56F9AD6AF62022E3E46DDCE1873D53E /* PBXContainerItemProxy */; + target = 70CC4EECF738D35AD5DA0CE240EDED99 /* TabBarPicker-TabBarPicker */; + targetProxy = 1E397BFA58E597F9B0101D60833D5A2B /* PBXContainerItemProxy */; }; - E63DCB444B52B76CB2992A8FE9FFCB1A /* PBXTargetDependency */ = { + 53D9A4A0F2E3669008573A8872527D66 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = PureLayout; + target = FD3993CF6295F990414755FE28D52230 /* PureLayout */; + targetProxy = 516ED8BCAA5D529C5880316175270229 /* PBXContainerItemProxy */; + }; + 55F7ABA3BB2200CCDA2BF568D467410B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = TabBarPicker; + target = BD7FB1492BD1E0AE4ACA126CFCD5A5D6 /* TabBarPicker */; + targetProxy = B7EF751A44D43C9ECCEE40FD32DC3789 /* PBXContainerItemProxy */; + }; + 5B701411277715051E0C51E7955EF750 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "UIView-Overlay"; + target = 4B43054A18B0C0AE955BDD2755CE4064 /* UIView-Overlay */; + targetProxy = 20F29C5CEE06E9BA4DF6639ED097B0E2 /* PBXContainerItemProxy */; + }; + 648C7A06B2C3F5C00ED802C7E366EB39 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "UIActionSheet-Blocks"; + target = 9EBE8BA9F108B1A455FCC07818D6558C /* UIActionSheet-Blocks */; + targetProxy = CF3681DBB952C7417403EE144931C96C /* PBXContainerItemProxy */; + }; + 653F1C37AD4182CA392FAD0AD38A9932 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = UIAlertViewBlockExtension; - target = C0BF957FAF71CC8A3C616196CE12BE11 /* UIAlertViewBlockExtension */; - targetProxy = A095472E80FEC47D8D83667BA570A9BE /* PBXContainerItemProxy */; + target = 6BA6D9CD89FCB39974065ABF3952FF4B /* UIAlertViewBlockExtension */; + targetProxy = A2F0DE594388E1A693DC936FD62E1B1A /* PBXContainerItemProxy */; }; - E9D2A8229662994DDA79E21C477B05D0 /* PBXTargetDependency */ = { + 674B54D63A0C87F910551DD8E47AAF2D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = PureLayout; + target = FD3993CF6295F990414755FE28D52230 /* PureLayout */; + targetProxy = BF0274CAAE2E112A87C855485552C4F2 /* PBXContainerItemProxy */; + }; + 6816A3A6EA4C31EF660B1C22A798E696 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "UIView-Overlay"; + target = 4B43054A18B0C0AE955BDD2755CE4064 /* UIView-Overlay */; + targetProxy = 6272D450A3CD0F6F33FDE51C13FB8D87 /* PBXContainerItemProxy */; + }; + 8D46ED11BBB5B7EF31D9D8822D3D2E40 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = pop; - target = 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */; - targetProxy = 231D11EE05A157B50E61C08A50D562F4 /* PBXContainerItemProxy */; + target = 7C6FF6FFAB03290C11FCAFF6849403E2 /* pop */; + targetProxy = 456D251EE4706D56E48F34250EAE29E0 /* PBXContainerItemProxy */; }; - F32978865DCDECDF3D2833024F6E7AD9 /* PBXTargetDependency */ = { + 95C177A8538213581A174290BB6704A5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = pop; - target = 3DA374BB5346C86BB9E37D7D8A3F9705 /* pop */; - targetProxy = C4614558DC5479A4A33C81C2E8C6ACB7 /* PBXContainerItemProxy */; + name = "UIActionSheet-Blocks"; + target = 9EBE8BA9F108B1A455FCC07818D6558C /* UIActionSheet-Blocks */; + targetProxy = 06AD47B94F4FB3D3BF081015AA5954C1 /* PBXContainerItemProxy */; }; - F8F04722CA996F04C32D7A54C8128FBE /* PBXTargetDependency */ = { + 9F3C4D905B2DD17D6C2B73C73CCA1F5A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "UIActionSheet-Blocks"; + target = 9EBE8BA9F108B1A455FCC07818D6558C /* UIActionSheet-Blocks */; + targetProxy = AAEA9E7ABA3997B7E87C925A09F3128B /* PBXContainerItemProxy */; + }; + B372D6EF7115A9BDFD83C6BE9A4F5A3C /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = UIAlertViewBlockExtension; - target = C0BF957FAF71CC8A3C616196CE12BE11 /* UIAlertViewBlockExtension */; - targetProxy = 59634A5E02FA6D19A93D2EA7FFD61980 /* PBXContainerItemProxy */; + target = 6BA6D9CD89FCB39974065ABF3952FF4B /* UIAlertViewBlockExtension */; + targetProxy = 618F39D0588F945E9FED845B7B702B76 /* PBXContainerItemProxy */; + }; + CE6FD09B11967D9923C9C63050ACC8D1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = PureLayout; + target = FD3993CF6295F990414755FE28D52230 /* PureLayout */; + targetProxy = 370D127272E6C0A03F2006CDB67CD9DA /* PBXContainerItemProxy */; + }; + D3A3EF1B5CEAADD5387092F3250490D8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = pop; + target = 7C6FF6FFAB03290C11FCAFF6849403E2 /* pop */; + targetProxy = C1885F3FA30C445FECB54A6F4DE4EA5A /* PBXContainerItemProxy */; + }; + DEC6E86A0DD39B75CB33C978E9E778A3 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = TabBarPicker; + target = BD7FB1492BD1E0AE4ACA126CFCD5A5D6 /* TabBarPicker */; + targetProxy = F975C93B6CE31A1A8B5158F9D8DB4965 /* PBXContainerItemProxy */; + }; + ECFBE7C78369523CA2C51B1B0CFCD6A4 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "UIActionSheet-Blocks"; + target = 9EBE8BA9F108B1A455FCC07818D6558C /* UIActionSheet-Blocks */; + targetProxy = 96B33D7B4B1E990AB1DB220FAC3997D7 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 12A8CF0DE46BF15B3D68E949F01AB750 /* Release */ = { + 11BAB1F81788B4762492E18AB6A353AA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6F38C68DF8E83372339E86F5FA718023 /* Pods.release.xcconfig */; + baseConfigurationReference = CDDBD01B8874C27DD892F3AD66B87B15 /* UIAlertViewBlockExtension.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/UIAlertViewBlockExtension/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/UIAlertViewBlockExtension/UIAlertViewBlockExtension.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = UIAlertViewBlockExtension; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 20E1284C45FDBBEEAE3CB117213805D3 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CDDBD01B8874C27DD892F3AD66B87B15 /* UIAlertViewBlockExtension.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/UIAlertViewBlockExtension/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/UIAlertViewBlockExtension/UIAlertViewBlockExtension.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = UIAlertViewBlockExtension; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 278F918F699509D3AAD014CEBBF51EF3 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = BEAAB17331DF4239D3D0E6CD041860DE /* Pods.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CURRENT_PROJECT_VERSION = 1; @@ -1449,8 +1668,9 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; MODULEMAP_FILE = "Target Support Files/Pods/Pods.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; + MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1461,77 +1681,11 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; - }; - 1C9FA543C94D156F43CEE8F23385C863 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7B047E646DE63EE4A046561F085AB400 /* UIAlertViewBlockExtension-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1.0.1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/UIAlertViewBlockExtension/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/UIAlertViewBlockExtension/UIAlertViewBlockExtension.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = UIAlertViewBlockExtension; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; name = Debug; }; - 24DECBB0590DD2AF1FCD1DD191E5B915 /* Release */ = { + 38CEC93AD8AD481FBF473B643F63E5BA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7B047E646DE63EE4A046561F085AB400 /* UIAlertViewBlockExtension-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1.0.1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/UIAlertViewBlockExtension/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/UIAlertViewBlockExtension/UIAlertViewBlockExtension.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = UIAlertViewBlockExtension; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 28EF43783794FD9B1568A9C35E9A162E /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */; - buildSettings = { - ENABLE_STRICT_OBJC_MSGSEND = YES; - PRODUCT_NAME = TabBarPicker; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - 2D8F5C3F965F0EBFF002EB0C9FC6208A /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5C718BD2871FCA417AD91347C1E0D404 /* Pods-TabBarPicker_Tests.debug.xcconfig */; + baseConfigurationReference = 0A012F57377BC9139931254111E85B58 /* PureLayout.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CURRENT_PROJECT_VERSION = 1; @@ -1540,62 +1694,6 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Tests/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/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_TabBarPicker_Tests; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 466F0FA8DF35DECA9BD6F7C593D53F72 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 0.3.0; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 0.3.0; - DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/TabBarPicker/TabBarPicker-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/TabBarPicker/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/TabBarPicker/TabBarPicker.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = TabBarPicker; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 4B0B1BF0388DEA06DE8DF1B21F4B00AB /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = CC4882E403503DE9288AF3969E260251 /* PureLayout-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 3.0.0; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 3; - DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; INFOPLIST_FILE = "Target Support Files/PureLayout/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1612,36 +1710,9 @@ }; name = Release; }; - 53E1187E7E2FC0CE81B4FEAA9D4DD937 /* Debug */ = { + 41E94C7465497D0E84756FBF88CEBC52 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DCD7E6574C7C26950B644E13277596B9 /* UIActionSheet-Blocks-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1.0.1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/UIActionSheet-Blocks/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/UIActionSheet-Blocks/UIActionSheet-Blocks.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = UIActionSheet_Blocks; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 5767727F4F38CBE1C9DD9C4FF2BD9A22 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 406E546B7EE79DC9406C0B0D50DCE847 /* Pods.debug.xcconfig */; + baseConfigurationReference = 507B2D12B6DBEDC51151767977154DDC /* Pods.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CURRENT_PROJECT_VERSION = 1; @@ -1654,8 +1725,9 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; MODULEMAP_FILE = "Target Support Files/Pods/Pods.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; + MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1666,17 +1738,86 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; + name = Release; + }; + 4282C6404B5F597B1E73194FF362A1E9 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F3AB160643F3006958BCD5E14081957B /* TabBarPicker.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + PRODUCT_NAME = TabBarPicker; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = bundle; + }; name = Debug; }; - 7120BF423EE62E1AB2D84AEBE846630C /* Release */ = { + 5B10B2DDC0F3CA2885FDF0E983D77096 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */; + baseConfigurationReference = CF316A32737FABA211C0097DAC845D7A /* Pods-TabBarPicker_Tests.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 0.3.0; + CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 0.3.0; - DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Tests/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_NAME = Pods_TabBarPicker_Tests; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 6C80452F15ACFC921C6F24A2C19B8DA1 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F3AB160643F3006958BCD5E14081957B /* TabBarPicker.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/TabBarPicker/TabBarPicker-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TabBarPicker/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/TabBarPicker/TabBarPicker.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = TabBarPicker; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 7B1227B18929EDE58CF3DA646C70E9FF /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F3AB160643F3006958BCD5E14081957B /* TabBarPicker.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_PREFIX_HEADER = "Target Support Files/TabBarPicker/TabBarPicker-prefix.pch"; @@ -1695,15 +1836,15 @@ }; name = Release; }; - 741C768B9D20203171F89E904F8DBA84 /* Release */ = { + 8532E4A569E72B4246EB3FA6C32FF6CD /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D2D43A5A2C5C748416BA1C566EEC2930 /* pop-Private.xcconfig */; + baseConfigurationReference = B5853061AE5E25539AF9F8C6B9277C6C /* pop.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1.0.7; + CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; + DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_PREFIX_HEADER = "Target Support Files/pop/pop-prefix.pch"; @@ -1722,15 +1863,42 @@ }; name = Release; }; - 74A43C5A7CCB36D57EB630315D3635D4 /* Debug */ = { + 86E073AFD79B789AA4A9D51A741714C6 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D2D43A5A2C5C748416BA1C566EEC2930 /* pop-Private.xcconfig */; + baseConfigurationReference = 77E41E62035021432EB599D8C8B9F68F /* UIActionSheet-Blocks.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1.0.7; + CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/UIActionSheet-Blocks/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/UIActionSheet-Blocks/UIActionSheet-Blocks.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = UIActionSheet_Blocks; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 87474DABE608B4A1BC24D350B8512AF5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B5853061AE5E25539AF9F8C6B9277C6C /* pop.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_PREFIX_HEADER = "Target Support Files/pop/pop-prefix.pch"; @@ -1749,59 +1917,35 @@ }; name = Debug; }; - 8626F2F2D2E77F074BA7C6308EA169EA /* Release */ = { + 8873734D9ED2A0F270B019E425DBC6F4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C3978B4F00206A1AE1010E30F106D1F7 /* UIView-Overlay-Private.xcconfig */; + baseConfigurationReference = 1BEDA8761A83E1C2D6938C4C740F0195 /* Pods-TabBarPicker_Tests.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 0.1.0; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 0.1.0; - DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/UIView-Overlay/UIView-Overlay-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/UIView-Overlay/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/UIView-Overlay/UIView-Overlay.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = UIView_Overlay; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - A3EA8BA3EEF5D8383449AD2308D07B46 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DCD7E6574C7C26950B644E13277596B9 /* UIActionSheet-Blocks-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1.0.1; + CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; + DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/UIActionSheet-Blocks/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Tests/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/UIActionSheet-Blocks/UIActionSheet-Blocks.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = UIActionSheet_Blocks; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_NAME = Pods_TabBarPicker_Tests; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; A70CDAD61F90AC503C7D04CC22DA2923 /* Debug */ = { isa = XCBuildConfiguration; @@ -1842,9 +1986,9 @@ }; name = Debug; }; - B158500711D7068A16E560952B6FDDB5 /* Release */ = { + B5DD4F6F0619E7AD3D967F0770DA0E3C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A51DD204C7AF95C0483EF1E8C2F5FB7F /* Pods-TabBarPicker_Tests.release.xcconfig */; + baseConfigurationReference = 6C9341A3CB1ACB5154E95D72CD5BBECB /* UIView-Overlay.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CURRENT_PROJECT_VERSION = 1; @@ -1853,16 +1997,14 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Tests/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/UIView-Overlay/UIView-Overlay-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/UIView-Overlay/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/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.modulemap"; + MODULEMAP_FILE = "Target Support Files/UIView-Overlay/UIView-Overlay.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_TabBarPicker_Tests; + PRODUCT_NAME = UIView_Overlay; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1871,9 +2013,9 @@ }; name = Release; }; - B1D559EFFEBE652B8570A7A9349AA9F7 /* Debug */ = { + B7AF100318A53AB0690B600E39E13EA1 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 333488D10B952CEE843D891B0FD86586 /* Pods-TabBarPicker_Example.debug.xcconfig */; + baseConfigurationReference = 77E41E62035021432EB599D8C8B9F68F /* UIActionSheet-Blocks.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CURRENT_PROJECT_VERSION = 1; @@ -1882,16 +2024,14 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; - INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Example/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/UIActionSheet-Blocks/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/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.modulemap"; + MODULEMAP_FILE = "Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_NAME = Pods_TabBarPicker_Example; + PRODUCT_NAME = UIActionSheet_Blocks; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1900,54 +2040,15 @@ }; name = Debug; }; - DB5C373F43D2E2027D3302E3EB9783D7 /* Debug */ = { + B883A67864EA9F0B7F3E2EE451601CCE /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CC4882E403503DE9288AF3969E260251 /* PureLayout-Private.xcconfig */; + baseConfigurationReference = 6C9341A3CB1ACB5154E95D72CD5BBECB /* UIView-Overlay.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 3.0.0; + CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 3; - DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/PureLayout/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/PureLayout/PureLayout.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = PureLayout; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - EAC45E7C968E7C99C6DDDCA7118C6046 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 8DB3F2E1C8B7BF5C0D77433F80F485E1 /* TabBarPicker-Private.xcconfig */; - buildSettings = { - ENABLE_STRICT_OBJC_MSGSEND = YES; - PRODUCT_NAME = TabBarPicker; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; - EBDFA5AD527D993FB3CC30409A575FDB /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C3978B4F00206A1AE1010E30F106D1F7 /* UIView-Overlay-Private.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 0.1.0; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 0.1.0; - DYLIB_CURRENT_VERSION = "$(CURRENT_PROJECT_VERSION)"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_PREFIX_HEADER = "Target Support Files/UIView-Overlay/UIView-Overlay-prefix.pch"; @@ -1966,9 +2067,48 @@ }; name = Debug; }; - ECF1A9B9D8C70242FB9C205AA8093EB1 /* Release */ = { + CEF167CFAADEB014BA0518A0805632CA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 443DBE5EFC78E4DA3BA8009969AB82D3 /* Pods-TabBarPicker_Example.release.xcconfig */; + baseConfigurationReference = F3AB160643F3006958BCD5E14081957B /* TabBarPicker.xcconfig */; + buildSettings = { + ENABLE_STRICT_OBJC_MSGSEND = YES; + PRODUCT_NAME = TabBarPicker; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; + DE070DF6DC7432EA381A3B9C00750715 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0A012F57377BC9139931254111E85B58 /* PureLayout.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/PureLayout/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/PureLayout/PureLayout.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = PureLayout; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + EA8CB1B54C94BD0D221CD2373EC2817F /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F52DF8BCB997097E4CE7B4855DB12327 /* Pods-TabBarPicker_Example.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CURRENT_PROJECT_VERSION = 1; @@ -1981,6 +2121,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; @@ -2029,41 +2170,71 @@ }; name = Release; }; + FFDF3ADC0CE61A2F7A53F9982FEE6EE0 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = A3E73907BA0D7903E3E892DD3C204FBF /* Pods-TabBarPicker_Example.debug.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + INFOPLIST_FILE = "Target Support Files/Pods-TabBarPicker_Example/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TabBarPicker_Example/Pods-TabBarPicker_Example.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_NAME = Pods_TabBarPicker_Example; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 175C1671DE8DF78A2BB701210E1279E8 /* Build configuration list for PBXNativeTarget "Pods" */ = { + 034F0CAF7A72A4AFB05C1C370E6AE334 /* Build configuration list for PBXNativeTarget "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5767727F4F38CBE1C9DD9C4FF2BD9A22 /* Debug */, - 12A8CF0DE46BF15B3D68E949F01AB750 /* Release */, + 278F918F699509D3AAD014CEBBF51EF3 /* Debug */, + 41E94C7465497D0E84756FBF88CEBC52 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 1D9AF43A7C3FCCA54B4626FE257768E9 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example" */ = { + 08C6B6A530D3F0EBD264B9A4887030CF /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - B1D559EFFEBE652B8570A7A9349AA9F7 /* Debug */, - ECF1A9B9D8C70242FB9C205AA8093EB1 /* Release */, + 8873734D9ED2A0F270B019E425DBC6F4 /* Debug */, + 5B10B2DDC0F3CA2885FDF0E983D77096 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 24BE35686B3092A5E39AB603AB9548D8 /* Build configuration list for PBXNativeTarget "UIView-Overlay" */ = { + 102EFED969C47E1091566629ABC8361D /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - EBDFA5AD527D993FB3CC30409A575FDB /* Debug */, - 8626F2F2D2E77F074BA7C6308EA169EA /* Release */, + FFDF3ADC0CE61A2F7A53F9982FEE6EE0 /* Debug */, + EA8CB1B54C94BD0D221CD2373EC2817F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 29946541803109559D5B69F86E5F2398 /* Build configuration list for PBXNativeTarget "PureLayout" */ = { + 236C0129DBD6F33E42094D0CF5193FFC /* Build configuration list for PBXNativeTarget "PureLayout" */ = { isa = XCConfigurationList; buildConfigurations = ( - DB5C373F43D2E2027D3302E3EB9783D7 /* Debug */, - 4B0B1BF0388DEA06DE8DF1B21F4B00AB /* Release */, + DE070DF6DC7432EA381A3B9C00750715 /* Debug */, + 38CEC93AD8AD481FBF473B643F63E5BA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2077,56 +2248,56 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3966147425507300FEC05A226BE2920D /* Build configuration list for PBXNativeTarget "TabBarPicker-TabBarPicker" */ = { + 6609902865520A23F30C6953F5425738 /* Build configuration list for PBXNativeTarget "UIView-Overlay" */ = { isa = XCConfigurationList; buildConfigurations = ( - 28EF43783794FD9B1568A9C35E9A162E /* Debug */, - EAC45E7C968E7C99C6DDDCA7118C6046 /* Release */, + B883A67864EA9F0B7F3E2EE451601CCE /* Debug */, + B5DD4F6F0619E7AD3D967F0770DA0E3C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 46ECFA57CB15AE0591893FA284A902AA /* Build configuration list for PBXNativeTarget "pop" */ = { + 89D0ACEC9FC84264F827933CA8FC46FF /* Build configuration list for PBXNativeTarget "TabBarPicker-TabBarPicker" */ = { isa = XCConfigurationList; buildConfigurations = ( - 74A43C5A7CCB36D57EB630315D3635D4 /* Debug */, - 741C768B9D20203171F89E904F8DBA84 /* Release */, + 4282C6404B5F597B1E73194FF362A1E9 /* Debug */, + CEF167CFAADEB014BA0518A0805632CA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 60057E35165E3A3DD5D4B7A745F8780E /* Build configuration list for PBXNativeTarget "UIAlertViewBlockExtension" */ = { + A2D8AE38515F7E22801C78E10152E565 /* Build configuration list for PBXNativeTarget "TabBarPicker" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1C9FA543C94D156F43CEE8F23385C863 /* Debug */, - 24DECBB0590DD2AF1FCD1DD191E5B915 /* Release */, + 6C80452F15ACFC921C6F24A2C19B8DA1 /* Debug */, + 7B1227B18929EDE58CF3DA646C70E9FF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 630E7CF328E5A22E649CE1101654AE09 /* Build configuration list for PBXNativeTarget "Pods-TabBarPicker_Tests" */ = { + AE83AA87F5003F8F877A9805EF0A38C2 /* Build configuration list for PBXNativeTarget "UIAlertViewBlockExtension" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2D8F5C3F965F0EBFF002EB0C9FC6208A /* Debug */, - B158500711D7068A16E560952B6FDDB5 /* Release */, + 11BAB1F81788B4762492E18AB6A353AA /* Debug */, + 20E1284C45FDBBEEAE3CB117213805D3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - BD3F55213383B9BEE2D792B92C8444F3 /* Build configuration list for PBXNativeTarget "UIActionSheet-Blocks" */ = { + F08B4EC4E60C15F3C510CB67F4DF1754 /* Build configuration list for PBXNativeTarget "pop" */ = { isa = XCConfigurationList; buildConfigurations = ( - 53E1187E7E2FC0CE81B4FEAA9D4DD937 /* Debug */, - A3EA8BA3EEF5D8383449AD2308D07B46 /* Release */, + 87474DABE608B4A1BC24D350B8512AF5 /* Debug */, + 8532E4A569E72B4246EB3FA6C32FF6CD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - EA9B566CC07BD9C0890426A19B907D94 /* Build configuration list for PBXNativeTarget "TabBarPicker" */ = { + FD824CE180663466873E8E9B2E7AA89D /* Build configuration list for PBXNativeTarget "UIActionSheet-Blocks" */ = { isa = XCConfigurationList; buildConfigurations = ( - 466F0FA8DF35DECA9BD6F7C593D53F72 /* Debug */, - 7120BF423EE62E1AB2D84AEBE846630C /* Release */, + B7AF100318A53AB0690B600E39E13EA1 /* Debug */, + 86E073AFD79B789AA4A9D51A741714C6 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-TabBarPicker_Example-TabBarPicker-TabBarPicker.xcscheme b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-TabBarPicker_Example-TabBarPicker-TabBarPicker.xcscheme index cc1ae45..ae1adf6 100644 --- a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-TabBarPicker_Example-TabBarPicker-TabBarPicker.xcscheme +++ b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-TabBarPicker_Example-TabBarPicker-TabBarPicker.xcscheme @@ -1,6 +1,6 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + + + + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + + + + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + + + + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + + + @@ -23,33 +23,42 @@ - - + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + + + @@ -23,4 +72,30 @@ 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. + +## UIView-Overlay + +The MIT License (MIT) + +Copyright (c) 2015 lanserxt + +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 - http://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-acknowledgements.plist index d45ca39..411037c 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-acknowledgements.plist @@ -12,6 +12,67 @@ Type PSGroupSpecifier + + FooterText + This code is distributed under the terms and conditions of the MIT license. + +Copyright (c) 2014-2015 Tyler Fox + +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. + + Title + PureLayout + Type + PSGroupSpecifier + + + FooterText + Copyright (C) 2013 Developed by Shai Mishali + +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. + + Title + UIActionSheet-Blocks + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2015 mangofever + +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. + + Title + UIAlertViewBlockExtension + Type + PSGroupSpecifier + FooterText Copyright (c) 2015 Giuseppe Nucifora <me@giuseppenucifora.com> @@ -39,6 +100,36 @@ THE SOFTWARE. Type PSGroupSpecifier + + FooterText + The MIT License (MIT) + +Copyright (c) 2015 lanserxt + +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. + + + Title + UIView-Overlay + Type + PSGroupSpecifier + FooterText Generated by CocoaPods - http://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-frameworks.sh b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-frameworks.sh index ed650a2..dc9e130 100755 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-frameworks.sh @@ -10,8 +10,10 @@ install_framework() { if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then local source="${BUILT_PRODUCTS_DIR}/$1" - else + 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="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" @@ -25,19 +27,31 @@ install_framework() echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + # Resign the code if required by the build settings to avoid unstable apps code_sign_if_enabled "${destination}/$(basename "$1")" - # Embed linked Swift runtime libraries - local basename - basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})" - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | 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 + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi } # Signs a framework with the provided identity @@ -50,10 +64,36 @@ code_sign_if_enabled() { fi } +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + # Get architectures for current file + archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" + stripped="" + for arch in $archs; do + if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" || exit 1 + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi +} + if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework 'Pods-TabBarPicker_Tests/TabBarPicker.framework' + install_framework "Pods-TabBarPicker_Tests/PureLayout.framework" + install_framework "Pods-TabBarPicker_Tests/UIActionSheet_Blocks.framework" + install_framework "Pods-TabBarPicker_Tests/UIAlertViewBlockExtension.framework" + install_framework "Pods-TabBarPicker_Tests/TabBarPicker.framework" + install_framework "Pods-TabBarPicker_Tests/UIView_Overlay.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework 'Pods-TabBarPicker_Tests/TabBarPicker.framework' + install_framework "Pods-TabBarPicker_Tests/PureLayout.framework" + install_framework "Pods-TabBarPicker_Tests/UIActionSheet_Blocks.framework" + install_framework "Pods-TabBarPicker_Tests/UIAlertViewBlockExtension.framework" + install_framework "Pods-TabBarPicker_Tests/TabBarPicker.framework" + install_framework "Pods-TabBarPicker_Tests/UIView_Overlay.framework" fi diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-resources.sh b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-resources.sh index ea685a2..16774fb 100755 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-resources.sh +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests-resources.sh @@ -60,7 +60,7 @@ install_resource() mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]]; then +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 diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.debug.xcconfig index 65904b3..03a58b7 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.debug.xcconfig @@ -1,6 +1,6 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/TabBarPicker.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "TabBarPicker" +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/TabBarPicker.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIActionSheet_Blocks.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIAlertViewBlockExtension.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIView_Overlay.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "PureLayout" -framework "TabBarPicker" -framework "UIActionSheet_Blocks" -framework "UIAlertViewBlockExtension" -framework "UIView_Overlay" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Tests PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.release.xcconfig index 65904b3..03a58b7 100644 --- a/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-TabBarPicker_Tests/Pods-TabBarPicker_Tests.release.xcconfig @@ -1,6 +1,6 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/TabBarPicker.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "TabBarPicker" +OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/TabBarPicker.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIActionSheet_Blocks.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIAlertViewBlockExtension.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIView_Overlay.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "PureLayout" -framework "TabBarPicker" -framework "UIActionSheet_Blocks" -framework "UIAlertViewBlockExtension" -framework "UIView_Overlay" PODS_FRAMEWORK_BUILD_PATH = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Pods-TabBarPicker_Tests PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods/Pods-frameworks.sh b/Example/Pods/Target Support Files/Pods/Pods-frameworks.sh index 53aa564..0d7574d 100755 --- a/Example/Pods/Target Support Files/Pods/Pods-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods/Pods-frameworks.sh @@ -10,8 +10,10 @@ install_framework() { if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then local source="${BUILT_PRODUCTS_DIR}/$1" - else + 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="${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" @@ -25,19 +27,31 @@ install_framework() echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + # Resign the code if required by the build settings to avoid unstable apps code_sign_if_enabled "${destination}/$(basename "$1")" - # Embed linked Swift runtime libraries - local basename - basename="$(basename "$1" | sed -E s/\\..+// && exit ${PIPESTATUS[0]})" - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/${basename}.framework/${basename}" | 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 + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi } # Signs a framework with the provided identity @@ -50,16 +64,34 @@ code_sign_if_enabled() { fi } +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + # Get architectures for current file + archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" + stripped="" + for arch in $archs; do + if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" || exit 1 + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi +} + if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework 'Pods/PureLayout.framework' - install_framework 'Pods/UIActionSheet_Blocks.framework' - install_framework 'Pods/UIAlertViewBlockExtension.framework' - install_framework 'Pods/pop.framework' + install_framework "Pods/PureLayout.framework" + install_framework "Pods/UIActionSheet_Blocks.framework" + install_framework "Pods/UIAlertViewBlockExtension.framework" + install_framework "Pods/pop.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework 'Pods/PureLayout.framework' - install_framework 'Pods/UIActionSheet_Blocks.framework' - install_framework 'Pods/UIAlertViewBlockExtension.framework' - install_framework 'Pods/pop.framework' + install_framework "Pods/PureLayout.framework" + install_framework "Pods/UIActionSheet_Blocks.framework" + install_framework "Pods/UIAlertViewBlockExtension.framework" + install_framework "Pods/pop.framework" fi diff --git a/Example/Pods/Target Support Files/Pods/Pods-resources.sh b/Example/Pods/Target Support Files/Pods/Pods-resources.sh index ea685a2..16774fb 100755 --- a/Example/Pods/Target Support Files/Pods/Pods-resources.sh +++ b/Example/Pods/Target Support Files/Pods/Pods-resources.sh @@ -60,7 +60,7 @@ install_resource() mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]]; then +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 diff --git a/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig b/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig index 232bc92..02dcde7 100644 --- a/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods/Pods.debug.xcconfig @@ -1,5 +1,3 @@ -CLANG_CXX_LANGUAGE_STANDARD = c++11 -CLANG_CXX_LIBRARY = libc++ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIActionSheet_Blocks.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIAlertViewBlockExtension.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/pop.framework/Headers" diff --git a/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig b/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig index 232bc92..02dcde7 100644 --- a/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods/Pods.release.xcconfig @@ -1,5 +1,3 @@ -CLANG_CXX_LANGUAGE_STANDARD = c++11 -CLANG_CXX_LIBRARY = libc++ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' OTHER_CFLAGS = $(inherited) -iquote "$CONFIGURATION_BUILD_DIR/PureLayout.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIActionSheet_Blocks.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/UIAlertViewBlockExtension.framework/Headers" -iquote "$CONFIGURATION_BUILD_DIR/pop.framework/Headers" diff --git a/Example/Pods/Target Support Files/PureLayout/Info.plist b/Example/Pods/Target Support Files/PureLayout/Info.plist index dc92af9..02c39b2 100644 --- a/Example/Pods/Target Support Files/PureLayout/Info.plist +++ b/Example/Pods/Target Support Files/PureLayout/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.0.0 + 3.0.1 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/PureLayout/PureLayout-Private.xcconfig b/Example/Pods/Target Support Files/PureLayout/PureLayout-Private.xcconfig deleted file mode 100644 index a7833f5..0000000 --- a/Example/Pods/Target Support Files/PureLayout/PureLayout-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "PureLayout.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PureLayout" "${PODS_ROOT}/Headers/Public" -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/PureLayout/PureLayout.xcconfig b/Example/Pods/Target Support Files/PureLayout/PureLayout.xcconfig index e69de29..af2df3c 100644 --- a/Example/Pods/Target Support Files/PureLayout/PureLayout.xcconfig +++ b/Example/Pods/Target Support Files/PureLayout/PureLayout.xcconfig @@ -0,0 +1,4 @@ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PureLayout" "${PODS_ROOT}/Headers/Public" +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-Private.xcconfig b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-Private.xcconfig deleted file mode 100644 index 8013a59..0000000 --- a/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "TabBarPicker.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/TabBarPicker" "${PODS_ROOT}/Headers/Public" -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-umbrella.h b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-umbrella.h index 98fa812..89a71bc 100644 --- a/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-umbrella.h +++ b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker-umbrella.h @@ -4,9 +4,11 @@ #import "TabBarPicker.h" #import "TabBarPickerSubItemsView.h" #import "TabBarSubItem.h" +#import "AADatePicker.h" #import "MMCPSScrollView.h" #import "NSString+HexColor.h" #import "SharedLocationManager.h" +#import "ToucheableScrollView.h" #import "UIButton+BackgroundColor.h" #import "UIImage+Color.h" diff --git a/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker.xcconfig b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker.xcconfig index e69de29..dc1b4f8 100644 --- a/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker.xcconfig +++ b/Example/Pods/Target Support Files/TabBarPicker/TabBarPicker.xcconfig @@ -0,0 +1,4 @@ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/TabBarPicker" "${PODS_ROOT}/Headers/Public" +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-Private.xcconfig b/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-Private.xcconfig deleted file mode 100644 index 4b41d9d..0000000 --- a/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "UIActionSheet-Blocks.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/UIActionSheet-Blocks" "${PODS_ROOT}/Headers/Public" -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks.xcconfig b/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks.xcconfig index e69de29..98973bd 100644 --- a/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks.xcconfig +++ b/Example/Pods/Target Support Files/UIActionSheet-Blocks/UIActionSheet-Blocks.xcconfig @@ -0,0 +1,4 @@ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/UIActionSheet-Blocks" "${PODS_ROOT}/Headers/Public" +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-Private.xcconfig b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-Private.xcconfig deleted file mode 100644 index a4929b0..0000000 --- a/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "UIAlertViewBlockExtension.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/UIAlertViewBlockExtension" "${PODS_ROOT}/Headers/Public" -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension.xcconfig b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension.xcconfig index e69de29..5f266cd 100644 --- a/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension.xcconfig +++ b/Example/Pods/Target Support Files/UIAlertViewBlockExtension/UIAlertViewBlockExtension.xcconfig @@ -0,0 +1,4 @@ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/UIAlertViewBlockExtension" "${PODS_ROOT}/Headers/Public" +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-Private.xcconfig b/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-Private.xcconfig deleted file mode 100644 index 6a3f985..0000000 --- a/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "UIView-Overlay.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/UIView-Overlay" "${PODS_ROOT}/Headers/Public" -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay.xcconfig b/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay.xcconfig index e69de29..91c7c21 100644 --- a/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay.xcconfig +++ b/Example/Pods/Target Support Files/UIView-Overlay/UIView-Overlay.xcconfig @@ -0,0 +1,4 @@ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/UIView-Overlay" "${PODS_ROOT}/Headers/Public" +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/pop/Info.plist b/Example/Pods/Target Support Files/pop/Info.plist index f3506fc..6891ced 100644 --- a/Example/Pods/Target Support Files/pop/Info.plist +++ b/Example/Pods/Target Support Files/pop/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.0.7 + 1.0.8 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/pop/pop-Private.xcconfig b/Example/Pods/Target Support Files/pop/pop-Private.xcconfig deleted file mode 100644 index 0661ca5..0000000 --- a/Example/Pods/Target Support Files/pop/pop-Private.xcconfig +++ /dev/null @@ -1,8 +0,0 @@ -#include "pop.xcconfig" -CLANG_CXX_LANGUAGE_STANDARD = ${POP_CLANG_CXX_LANGUAGE_STANDARD} -CLANG_CXX_LIBRARY = ${POP_CLANG_CXX_LIBRARY} -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/pop" "${PODS_ROOT}/Headers/Public" -OTHER_LDFLAGS = ${POP_OTHER_LDFLAGS} -PODS_ROOT = ${SRCROOT} -SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/Target Support Files/pop/pop.xcconfig b/Example/Pods/Target Support Files/pop/pop.xcconfig index d4a59ed..d4b5e95 100644 --- a/Example/Pods/Target Support Files/pop/pop.xcconfig +++ b/Example/Pods/Target Support Files/pop/pop.xcconfig @@ -1,3 +1,7 @@ -POP_CLANG_CXX_LANGUAGE_STANDARD = c++11 -POP_CLANG_CXX_LIBRARY = libc++ -POP_OTHER_LDFLAGS = -l"c++" \ No newline at end of file +CLANG_CXX_LANGUAGE_STANDARD = c++11 +CLANG_CXX_LIBRARY = libc++ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/pop" "${PODS_ROOT}/Headers/Public" +OTHER_LDFLAGS = -l"c++" +PODS_ROOT = ${SRCROOT} +SKIP_INSTALL = YES \ No newline at end of file diff --git a/Example/Pods/pop/README.md b/Example/Pods/pop/README.md index e8b0215..addb18a 100644 --- a/Example/Pods/pop/README.md +++ b/Example/Pods/pop/README.md @@ -11,6 +11,25 @@ Pop is available on [CocoaPods](http://cocoapods.org). Just add the following to ```ruby pod 'pop', '~> 1.0' ``` + +Bugs are first fixed in master and then made available via a designated release. If you tend to live on the bleeding edge, you can use Pop from master with the following Podfile entry: + +```ruby +pod 'pop', :git => 'https://github.com/facebook/pop.git' +``` + +## Non-CocoaPods Installation + +### iOS 8 Embedded Framework +By adding the project to your project and adding pop.embedded framework to the Embedded Binaries section on the General tab of your app's target, you can set up pop in seconds! This also enables `@import pop` syntax with header modules. + +**Note**: because of some awkward limitations with Xcode, embedded binaries must share the same name as the module and must have `.framework` as an extension. This means that you'll see two pop.frameworks when adding embedded binaries (one for OS X, and one for iOS). You'll need to be sure to add the iOS one, and since this list is populated in order of targets, it's safe to assume it's the second one. You can verify the correct one was chosen by checking the path next to the framework listed: `Debug-iphoneos`. + +![Embedded Binaries](Images/EmbeddedBinaries.png?raw=true) + +**Note 2**: this method does not currently play nicely with workspaces. For some unknown reason, Xcode simply rejects adding pop.framework as an embedded binary when pop.xcodeproj is placed in the workspace. This only works when pop.xcodeproj is added as a subproject to the current target's project. + +### Advanced Alternatively, you can add the project to your workspace and adopt the provided configuration files or manually copy the files under the pop subdirectory into your project. If installing manually, ensure the C++ standard library is also linked by including `-lc++` to your project linker flags. ## Usage @@ -21,6 +40,12 @@ Pop adopts the Core Animation explicit animation programming model. Use by inclu #import ``` +or if you're using the embedded framework: + +```objective-c +@import pop; +``` + ### Start, Stop & Update To start an animation, add it to the object you wish to animate: @@ -143,15 +168,22 @@ pod install Assuming CocoaPods is installed, this will include the necessary OCMock dependency to the unit test targets. +## SceneKit + +Due to SceneKit requiring iOS 8 and OS X 10.9, POP's SceneKit extensions aren't provided out of box. Unfortunately, [weakly linked frameworks](https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html) cannot be used due to issues mentioned in the [Xcode 6.1 Release Notes](https://developer.apple.com/library/ios/releasenotes/DeveloperTools/RN-Xcode/Chapters/xc6_release_notes.html). + +To remedy this, you can easily opt-in to use SceneKit! Simply add this to the Preprocessor Macros section of your Xcode Project: + +``` +POP_USE_SCENEKIT=1 +``` + ## Resources A collection of links to external resources that may prove valuable: * [AGGeometryKit+POP - Animating Quadrilaterals with Pop](https://github.com/hfossli/aggeometrykit-pop) * [Apple – Core Animation Programming Guide](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreAnimation_guide/Introduction/Introduction.html) -* [Codeplease – Bridging the gesture to animation gap](http://codeplease.io/playing-with-pop-ii/) -* [Codeplease – Playing with Pop (iii)](http://codeplease.io/playing-with-pop-iii/) -* [Codeplease – Adding a custom animatable property](http://codeplease.io/playing-with-pop-v/) * [iOS Development Tips – UIScrollView-like deceleration with Pop](http://iosdevtips.co/post/84571595353/replicating-uiscrollviews-deceleration-with-facebook) * [Pop Playground – Repository of Pop animation examples](https://github.com/callmeed/pop-playground) * [Pop Playground 2 – Playing with Facebook's framework](http://victorbaro.com/2014/05/pop-playground-playing-with-facebooks-framework/) @@ -161,6 +193,7 @@ A collection of links to external resources that may prove valuable: * [Tapity Tutorial – Getting Started with Pop](http://tapity.com/tutorial-getting-started-with-pop/) * [Tweaks – Easily adjust parameters for iOS apps in development](https://github.com/facebook/tweaks) * [POP Tutorial in 5 steps](https://github.com/maxmyers/FacebookPop) +* [VBFPopFlatButton – Flat animatable button, using Pop to transition between states](https://github.com/victorBaro/VBFPopFlatButton) ## Contributing See the CONTRIBUTING file for how to help out. diff --git a/Example/Pods/pop/pop/POP.h b/Example/Pods/pop/pop/POP.h index 90f4198..72adba7 100644 --- a/Example/Pods/pop/pop/POP.h +++ b/Example/Pods/pop/pop/POP.h @@ -10,6 +10,8 @@ #ifndef POP_POP_H #define POP_POP_H +#import + #import #import #import @@ -19,10 +21,9 @@ #import #import #import -#import #import +#import #import #import - #endif /* POP_POP_H */ diff --git a/Example/Pods/pop/pop/POPAction.h b/Example/Pods/pop/pop/POPAction.h index a98f394..85cca19 100644 --- a/Example/Pods/pop/pop/POPAction.h +++ b/Example/Pods/pop/pop/POPAction.h @@ -11,6 +11,7 @@ #define POPACTION_H #import + #import #ifdef __cplusplus diff --git a/Example/Pods/pop/pop/POPAnimatableProperty.h b/Example/Pods/pop/pop/POPAnimatableProperty.h index 640b780..1636783 100644 --- a/Example/Pods/pop/pop/POPAnimatableProperty.h +++ b/Example/Pods/pop/pop/POPAnimatableProperty.h @@ -8,8 +8,11 @@ */ #import + #import +#import + @class POPMutableAnimatableProperty; /** @@ -125,6 +128,7 @@ extern NSString * const kPOPShapeLayerStrokeStart; extern NSString * const kPOPShapeLayerStrokeEnd; extern NSString * const kPOPShapeLayerStrokeColor; extern NSString * const kPOPShapeLayerFillColor; +extern NSString * const kPOPShapeLayerLineWidth; /** Common NSLayoutConstraint property names. @@ -188,4 +192,58 @@ extern NSString * const kPOPTabBarBarTintColor; */ extern NSString * const kPOPLabelTextColor; +#else + +/** + Common NSView property names. + */ +extern NSString * const kPOPViewFrame; +extern NSString * const kPOPViewBounds; +extern NSString * const kPOPViewAlphaValue; +extern NSString * const kPOPViewFrameRotation; +extern NSString * const kPOPViewFrameCenterRotation; +extern NSString * const kPOPViewBoundsRotation; + +/** + Common NSWindow property names. + */ +extern NSString * const kPOPWindowFrame; +extern NSString * const kPOPWindowAlphaValue; +extern NSString * const kPOPWindowBackgroundColor; + +#endif + +#if SCENEKIT_SDK_AVAILABLE + +/** + Common SceneKit property names. + */ +extern NSString * const kPOPSCNNodePosition; +extern NSString * const kPOPSCNNodePositionX; +extern NSString * const kPOPSCNNodePositionY; +extern NSString * const kPOPSCNNodePositionZ; +extern NSString * const kPOPSCNNodeTranslation; +extern NSString * const kPOPSCNNodeTranslationX; +extern NSString * const kPOPSCNNodeTranslationY; +extern NSString * const kPOPSCNNodeTranslationZ; +extern NSString * const kPOPSCNNodeRotation; +extern NSString * const kPOPSCNNodeRotationX; +extern NSString * const kPOPSCNNodeRotationY; +extern NSString * const kPOPSCNNodeRotationZ; +extern NSString * const kPOPSCNNodeRotationW; +extern NSString * const kPOPSCNNodeEulerAngles; +extern NSString * const kPOPSCNNodeEulerAnglesX; +extern NSString * const kPOPSCNNodeEulerAnglesY; +extern NSString * const kPOPSCNNodeEulerAnglesZ; +extern NSString * const kPOPSCNNodeOrientation; +extern NSString * const kPOPSCNNodeOrientationX; +extern NSString * const kPOPSCNNodeOrientationY; +extern NSString * const kPOPSCNNodeOrientationZ; +extern NSString * const kPOPSCNNodeOrientationW; +extern NSString * const kPOPSCNNodeScale; +extern NSString * const kPOPSCNNodeScaleX; +extern NSString * const kPOPSCNNodeScaleY; +extern NSString * const kPOPSCNNodeScaleZ; +extern NSString * const kPOPSCNNodeScaleXY; + #endif diff --git a/Example/Pods/pop/pop/POPAnimatableProperty.mm b/Example/Pods/pop/pop/POPAnimatableProperty.mm index 7732465..c8b3130 100644 --- a/Example/Pods/pop/pop/POPAnimatableProperty.mm +++ b/Example/Pods/pop/pop/POPAnimatableProperty.mm @@ -8,18 +8,13 @@ */ #import "POPAnimatableProperty.h" -#import "POPCGUtils.h" -#import "POPAnimationRuntime.h" #import -#import - -#if TARGET_OS_IPHONE -#import -#else -#import -#endif +#import "POPAnimationRuntime.h" +#import "POPCGUtils.h" +#import "POPDefines.h" +#import "POPLayerExtras.h" // common threshold definitions static CGFloat const kPOPThresholdColor = 0.01; @@ -68,10 +63,13 @@ NSString * const kPOPShapeLayerStrokeStart = @"shapeLayer.strokeStart"; NSString * const kPOPShapeLayerStrokeEnd = @"shapeLayer.strokeEnd"; NSString * const kPOPShapeLayerStrokeColor = @"shapeLayer.strokeColor"; NSString * const kPOPShapeLayerFillColor = @"shapeLayer.fillColor"; +NSString * const kPOPShapeLayerLineWidth = @"shapeLayer.lineWidth"; // NSLayoutConstraint NSString * const kPOPLayoutConstraintConstant = @"layoutConstraint.constant"; +#if TARGET_OS_IPHONE + // UIView NSString * const kPOPViewAlpha = @"view.alpha"; NSString * const kPOPViewBackgroundColor = @"view.backgroundColor"; @@ -107,9 +105,59 @@ NSString * const kPOPToolbarBarTintColor = kPOPNavigationBarBarTintColor; // UITabBar NSString * const kPOPTabBarBarTintColor = kPOPNavigationBarBarTintColor; -//UILabel +// UILabel NSString * const kPOPLabelTextColor = @"label.textColor"; +#else + +// NSView +NSString * const kPOPViewFrame = @"view.frame"; +NSString * const kPOPViewBounds = @"view.bounds"; +NSString * const kPOPViewAlphaValue = @"view.alphaValue"; +NSString * const kPOPViewFrameRotation = @"view.frameRotation"; +NSString * const kPOPViewFrameCenterRotation = @"view.frameCenterRotation"; +NSString * const kPOPViewBoundsRotation = @"view.boundsRotation"; + +// NSWindow +NSString * const kPOPWindowFrame = @"window.frame"; +NSString * const kPOPWindowAlphaValue = @"window.alphaValue"; +NSString * const kPOPWindowBackgroundColor = @"window.backgroundColor"; + +#endif + +#if SCENEKIT_SDK_AVAILABLE + +// SceneKit +NSString * const kPOPSCNNodePosition = @"scnode.position"; +NSString * const kPOPSCNNodePositionX = @"scnnode.position.x"; +NSString * const kPOPSCNNodePositionY = @"scnnode.position.y"; +NSString * const kPOPSCNNodePositionZ = @"scnnode.position.z"; +NSString * const kPOPSCNNodeTranslation = @"scnnode.translation"; +NSString * const kPOPSCNNodeTranslationX = @"scnnode.translation.x"; +NSString * const kPOPSCNNodeTranslationY = @"scnnode.translation.y"; +NSString * const kPOPSCNNodeTranslationZ = @"scnnode.translation.z"; +NSString * const kPOPSCNNodeRotation = @"scnnode.rotation"; +NSString * const kPOPSCNNodeRotationX = @"scnnode.rotation.x"; +NSString * const kPOPSCNNodeRotationY = @"scnnode.rotation.y"; +NSString * const kPOPSCNNodeRotationZ = @"scnnode.rotation.z"; +NSString * const kPOPSCNNodeRotationW = @"scnnode.rotation.w"; +NSString * const kPOPSCNNodeEulerAngles = @"scnnode.eulerAngles"; +NSString * const kPOPSCNNodeEulerAnglesX = @"scnnode.eulerAngles.x"; +NSString * const kPOPSCNNodeEulerAnglesY = @"scnnode.eulerAngles.y"; +NSString * const kPOPSCNNodeEulerAnglesZ = @"scnnode.eulerAngles.z"; +NSString * const kPOPSCNNodeOrientation = @"scnnode.orientation"; +NSString * const kPOPSCNNodeOrientationX = @"scnnode.orientation.x"; +NSString * const kPOPSCNNodeOrientationY = @"scnnode.orientation.y"; +NSString * const kPOPSCNNodeOrientationZ = @"scnnode.orientation.z"; +NSString * const kPOPSCNNodeOrientationW = @"scnnode.orientation.w"; +NSString * const kPOPSCNNodeScale = @"scnnode.scale"; +NSString * const kPOPSCNNodeScaleX = @"scnnode.scale.x"; +NSString * const kPOPSCNNodeScaleY = @"scnnode.scale.y"; +NSString * const kPOPSCNNodeScaleZ = @"scnnode.scale.z"; +NSString * const kPOPSCNNodeScaleXY = @"scnnode.scale.xy"; + +#endif + /** State structure internal to static animatable property. */ @@ -489,6 +537,16 @@ static POPStaticAnimatablePropertyState _staticStates[] = kPOPThresholdColor }, + {kPOPShapeLayerLineWidth, + ^(CAShapeLayer *obj, CGFloat values[]) { + values[0] = obj.lineWidth; + }, + ^(CAShapeLayer *obj, const CGFloat values[]) { + obj.lineWidth = values[0]; + }, + 0.01 + }, + {kPOPLayoutConstraintConstant, ^(NSLayoutConstraint *obj, CGFloat values[]) { values[0] = obj.constant; @@ -652,6 +710,381 @@ static POPStaticAnimatablePropertyState _staticStates[] = kPOPThresholdColor }, +#else + + /* NSView */ + + {kPOPViewFrame, + ^(NSView *obj, CGFloat values[]) { + values_from_rect(values, NSRectToCGRect(obj.frame)); + }, + ^(NSView *obj, const CGFloat values[]) { + obj.frame = NSRectFromCGRect(values_to_rect(values)); + }, + kPOPThresholdPoint + }, + + {kPOPViewBounds, + ^(NSView *obj, CGFloat values[]) { + values_from_rect(values, NSRectToCGRect(obj.frame)); + }, + ^(NSView *obj, const CGFloat values[]) { + obj.bounds = NSRectFromCGRect(values_to_rect(values)); + }, + kPOPThresholdPoint + }, + + {kPOPViewAlphaValue, + ^(NSView *obj, CGFloat values[]) { + values[0] = obj.alphaValue; + }, + ^(NSView *obj, const CGFloat values[]) { + obj.alphaValue = values[0]; + }, + kPOPThresholdOpacity + }, + + {kPOPViewFrameRotation, + ^(NSView *obj, CGFloat values[]) { + values[0] = obj.frameRotation; + }, + ^(NSView *obj, const CGFloat values[]) { + obj.frameRotation = values[0]; + }, + kPOPThresholdRotation + }, + + {kPOPViewFrameCenterRotation, + ^(NSView *obj, CGFloat values[]) { + values[0] = obj.frameCenterRotation; + }, + ^(NSView *obj, const CGFloat values[]) { + obj.frameCenterRotation = values[0]; + }, + kPOPThresholdRotation + }, + + {kPOPViewBoundsRotation, + ^(NSView *obj, CGFloat values[]) { + values[0] = obj.boundsRotation; + }, + ^(NSView *obj, const CGFloat values[]) { + obj.boundsRotation = values[0]; + }, + kPOPThresholdRotation + }, + + /* NSWindow */ + + {kPOPWindowFrame, + ^(NSWindow *obj, CGFloat values[]) { + values_from_rect(values, NSRectToCGRect(obj.frame)); + }, + ^(NSWindow *obj, const CGFloat values[]) { + [obj setFrame:NSRectFromCGRect(values_to_rect(values)) display:YES]; + }, + kPOPThresholdPoint + }, + + {kPOPWindowAlphaValue, + ^(NSWindow *obj, CGFloat values[]) { + values[0] = obj.alphaValue; + }, + ^(NSWindow *obj, const CGFloat values[]) { + obj.alphaValue = values[0]; + }, + kPOPThresholdOpacity + }, + + {kPOPWindowBackgroundColor, + ^(NSWindow *obj, CGFloat values[]) { + POPNSColorGetRGBAComponents(obj.backgroundColor, values); + }, + ^(NSWindow *obj, const CGFloat values[]) { + obj.backgroundColor = POPNSColorRGBACreate(values); + }, + kPOPThresholdColor + }, + +#endif + +#if SCENEKIT_SDK_AVAILABLE + + /* SceneKit */ + + {kPOPSCNNodePosition, + ^(SCNNode *obj, CGFloat values[]) { + values_from_vec3(values, obj.position); + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.position = values_to_vec3(values); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodePositionX, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.position.x; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.position = SCNVector3Make(values[0], obj.position.y, obj.position.z); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodePositionY, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.position.y; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.position = SCNVector3Make(obj.position.x, values[0], obj.position.z); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodePositionZ, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.position.z; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.position = SCNVector3Make(obj.position.x, obj.position.y, values[0]); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeTranslation, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.transform.m41; + values[1] = obj.transform.m42; + values[2] = obj.transform.m43; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.transform = SCNMatrix4MakeTranslation(values[0], values[1], values[2]); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeTranslationX, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.transform.m41; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.transform = SCNMatrix4MakeTranslation(values[0], obj.transform.m42, obj.transform.m43); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeTranslationY, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.transform.m42; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.transform = SCNMatrix4MakeTranslation(obj.transform.m41, values[0], obj.transform.m43); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeTranslationY, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.transform.m43; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.transform = SCNMatrix4MakeTranslation(obj.transform.m41, obj.transform.m42, values[0]); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeRotation, + ^(SCNNode *obj, CGFloat values[]) { + values_from_vec4(values, obj.rotation); + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.rotation = values_to_vec4(values); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeRotationX, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.rotation.x; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.rotation = SCNVector4Make(1.0, obj.rotation.y, obj.rotation.z, values[0]); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeRotationY, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.rotation.y; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.rotation = SCNVector4Make(obj.rotation.x, 1.0, obj.rotation.z, values[0]); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeRotationZ, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.rotation.z; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.rotation = SCNVector4Make(obj.rotation.x, obj.rotation.y, 1.0, values[0]); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeRotationW, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.rotation.w; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.rotation = SCNVector4Make(obj.rotation.x, obj.rotation.y, obj.rotation.z, values[0]); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeEulerAngles, + ^(SCNNode *obj, CGFloat values[]) { + values_from_vec3(values, obj.eulerAngles); + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.eulerAngles = values_to_vec3(values); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeEulerAnglesX, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.eulerAngles.x; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.eulerAngles = SCNVector3Make(values[0], obj.eulerAngles.y, obj.eulerAngles.z); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeEulerAnglesY, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.eulerAngles.y; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.eulerAngles = SCNVector3Make(obj.eulerAngles.x, values[0], obj.eulerAngles.z); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeEulerAnglesZ, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.eulerAngles.z; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.eulerAngles = SCNVector3Make(obj.eulerAngles.x, obj.eulerAngles.y, values[0]); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeOrientation, + ^(SCNNode *obj, CGFloat values[]) { + values_from_vec4(values, obj.orientation); + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.orientation = values_to_vec4(values); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeOrientationX, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.orientation.x; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.orientation = SCNVector4Make(values[0], obj.orientation.y, obj.orientation.z, obj.orientation.w); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeOrientationY, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.orientation.y; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.orientation = SCNVector4Make(obj.orientation.x, values[0], obj.orientation.z, obj.orientation.w); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeOrientationZ, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.orientation.z; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.orientation = SCNVector4Make(obj.orientation.x, obj.orientation.y, values[0], obj.orientation.w); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeOrientationW, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.orientation.w; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.orientation = SCNVector4Make(obj.orientation.x, obj.orientation.y, obj.orientation.z, values[0]); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeScale, + ^(SCNNode *obj, CGFloat values[]) { + values_from_vec3(values, obj.scale); + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.scale = values_to_vec3(values); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeScaleX, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.scale.x; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.scale = SCNVector3Make(values[0], obj.scale.y, obj.scale.z); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeScaleY, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.scale.y; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.position = SCNVector3Make(obj.scale.x, values[0], obj.scale.z); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeScaleZ, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.scale.z; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.scale = SCNVector3Make(obj.scale.x, obj.scale.y, values[0]); + }, + kPOPThresholdScale + }, + + {kPOPSCNNodeScaleXY, + ^(SCNNode *obj, CGFloat values[]) { + values[0] = obj.scale.x; + values[1] = obj.scale.y; + }, + ^(SCNNode *obj, const CGFloat values[]) { + obj.scale = SCNVector3Make(values[0], values[1], obj.scale.z); + }, + kPOPThresholdScale + }, + #endif }; diff --git a/Example/Pods/pop/pop/POPAnimation.h b/Example/Pods/pop/pop/POPAnimation.h index a79bf17..3c710f2 100644 --- a/Example/Pods/pop/pop/POPAnimation.h +++ b/Example/Pods/pop/pop/POPAnimation.h @@ -44,11 +44,26 @@ */ @property (readonly, nonatomic) POPAnimationTracer *tracer; +/** + @abstract Optional block called on animation start. + */ +@property (copy, nonatomic) void (^animationDidStartBlock)(POPAnimation *anim); + +/** + @abstract Optional block called when value meets or exceeds to value. + */ +@property (copy, nonatomic) void (^animationDidReachToValueBlock)(POPAnimation *anim); + /** @abstract Optional block called on animation completion. */ @property (copy, nonatomic) void (^completionBlock)(POPAnimation *anim, BOOL finished); +/** + @abstract Optional block called each frame animation is applied. + */ +@property (copy, nonatomic) void (^animationDidApplyBlock)(POPAnimation *anim); + /** @abstract Flag indicating whether animation should be removed on completion. @discussion Setting to NO can facilitate animation reuse. Defaults to YES. @@ -160,3 +175,14 @@ When combined with the autoreverses property, a singular animation is effectivel - (id)pop_animationForKey:(NSString *)key; @end + +/** + * This implementation of NSCopying does not do any copying of animation's state, but only configuration. + * i.e. you cannot copy an animation and expect to apply it to a view and have the copied animation pick up where the original left off. + * Two common uses of copying animations: + * * you need to apply the same animation to multiple different views. + * * you need to absolutely ensure that the the caller of your function cannot mutate the animation once it's been passed in. + */ +@interface POPAnimation (NSCopying) + +@end diff --git a/Example/Pods/pop/pop/POPAnimation.mm b/Example/Pods/pop/pop/POPAnimation.mm index 99b0e8e..75bdeb1 100644 --- a/Example/Pods/pop/pop/POPAnimation.mm +++ b/Example/Pods/pop/pop/POPAnimation.mm @@ -7,15 +7,15 @@ of patent rights can be found in the PATENTS file in the same directory. */ +#import "POPAnimationExtras.h" #import "POPAnimationInternal.h" -#import "POPAnimationTracerInternal.h" #import -#import "POPAnimationExtras.h" -#import "POPAnimationRuntime.h" -#import "POPAnimatorPrivate.h" #import "POPAction.h" +#import "POPAnimationRuntime.h" +#import "POPAnimationTracerInternal.h" +#import "POPAnimatorPrivate.h" using namespace POP; @@ -118,7 +118,10 @@ using namespace POP; } FB_PROPERTY_GET(POPAnimationState, type, POPAnimationType); +DEFINE_RW_PROPERTY_OBJ_COPY(POPAnimationState, animationDidStartBlock, setAnimationDidStartBlock:, POPAnimationDidStartBlock); +DEFINE_RW_PROPERTY_OBJ_COPY(POPAnimationState, animationDidReachToValueBlock, setAnimationDidReachToValueBlock:, POPAnimationDidReachToValueBlock); DEFINE_RW_PROPERTY_OBJ_COPY(POPAnimationState, completionBlock, setCompletionBlock:, POPAnimationCompletionBlock); +DEFINE_RW_PROPERTY_OBJ_COPY(POPAnimationState, animationDidApplyBlock, setAnimationDidApplyBlock:, POPAnimationDidApplyBlock); DEFINE_RW_PROPERTY_OBJ_COPY(POPAnimationState, name, setName:, NSString*); DEFINE_RW_PROPERTY(POPAnimationState, beginTime, setBeginTime:, CFTimeInterval); DEFINE_RW_FLAG(POPAnimationState, removedOnCompletion, removedOnCompletion, setRemovedOnCompletion:); @@ -267,3 +270,34 @@ POPAnimationState *POPAnimationGetState(POPAnimation *a) } @end + +@implementation POPAnimation (NSCopying) + +- (instancetype)copyWithZone:(NSZone *)zone +{ + /* + * Must use [self class] instead of POPAnimation so that subclasses can call this via super. + * Even though POPAnimation and POPPropertyAnimation throw exceptions on init, + * it's safe to call it since you can only copy objects that have been successfully created. + */ + POPAnimation *copy = [[[self class] allocWithZone:zone] init]; + + if (copy) { + copy.name = self.name; + copy.beginTime = self.beginTime; + copy.delegate = self.delegate; + copy.animationDidStartBlock = self.animationDidStartBlock; + copy.animationDidReachToValueBlock = self.animationDidReachToValueBlock; + copy.completionBlock = self.completionBlock; + copy.animationDidApplyBlock = self.animationDidApplyBlock; + copy.removedOnCompletion = self.removedOnCompletion; + + copy.autoreverses = self.autoreverses; + copy.repeatCount = self.repeatCount; + copy.repeatForever = self.repeatForever; + } + + return copy; +} + +@end \ No newline at end of file diff --git a/Example/Pods/pop/pop/POPAnimationExtras.mm b/Example/Pods/pop/pop/POPAnimationExtras.mm index 941aaaf..0a6d6c9 100644 --- a/Example/Pods/pop/pop/POPAnimationExtras.mm +++ b/Example/Pods/pop/pop/POPAnimationExtras.mm @@ -8,18 +8,18 @@ */ #import "POPAnimationExtras.h" - #import "POPAnimationPrivate.h" -#import "POPMath.h" #if TARGET_OS_IPHONE #import #endif #if TARGET_IPHONE_SIMULATOR -UIKIT_EXTERN CGFloat UIAnimationDragCoefficient(); // UIKit private drag coeffient, use judiciously +UIKIT_EXTERN float UIAnimationDragCoefficient(); // UIKit private drag coeffient, use judiciously #endif +#import "POPMath.h" + CGFloat POPAnimationDragCoefficient() { #if TARGET_IPHONE_SIMULATOR diff --git a/Example/Pods/pop/pop/POPAnimationInternal.h b/Example/Pods/pop/pop/POPAnimationInternal.h index ecab1b6..317364f 100644 --- a/Example/Pods/pop/pop/POPAnimationInternal.h +++ b/Example/Pods/pop/pop/POPAnimationInternal.h @@ -7,13 +7,14 @@ of patent rights can be found in the PATENTS file in the same directory. */ +#import "POPAnimation.h" + #import -#import "POPAnimation.h" +#import "POPAction.h" #import "POPAnimationRuntime.h" #import "POPAnimationTracerInternal.h" #import "POPSpringSolver.h" -#import "POPAction.h" using namespace POP; @@ -34,7 +35,10 @@ typedef struct bool reached; } POPProgressMarker; +typedef void (^POPAnimationDidStartBlock)(POPAnimation *anim); +typedef void (^POPAnimationDidReachToValueBlock)(POPAnimation *anim); typedef void (^POPAnimationCompletionBlock)(POPAnimation *anim, BOOL finished); +typedef void (^POPAnimationDidApplyBlock)(POPAnimation *anim); @interface POPAnimation() - (instancetype)_init; @@ -199,7 +203,10 @@ struct _POPAnimationState CFTimeInterval startTime; CFTimeInterval lastTime; id __weak delegate; + POPAnimationDidStartBlock animationDidStartBlock; + POPAnimationDidReachToValueBlock animationDidReachToValueBlock; POPAnimationCompletionBlock completionBlock; + POPAnimationDidApplyBlock animationDidApplyBlock; NSMutableDictionary *dict; POPAnimationTracer *tracer; CGFloat progress; @@ -232,7 +239,10 @@ struct _POPAnimationState startTime(0), lastTime(0), delegate(nil), + animationDidStartBlock(nil), + animationDidReachToValueBlock(nil), completionBlock(nil), + animationDidApplyBlock(nil), dict(nil), tracer(nil), progress(0), @@ -258,7 +268,10 @@ struct _POPAnimationState name = nil; dict = nil; tracer = nil; + animationDidStartBlock = NULL; + animationDidReachToValueBlock = NULL; completionBlock = NULL; + animationDidApplyBlock = NULL; } bool isCustom() { @@ -364,6 +377,12 @@ struct _POPAnimationState ActionEnabler enabler; [delegate pop_animationDidStart:self]; } + + POPAnimationDidStartBlock block = animationDidStartBlock; + if (block != NULL) { + ActionEnabler enabler; + block(self); + } if (tracing) { [tracer didStart]; @@ -451,6 +470,12 @@ struct _POPAnimationState ActionEnabler enabler; [delegate pop_animationDidApply:self]; } + + POPAnimationDidApplyBlock block = animationDidApplyBlock; + if (block != NULL) { + ActionEnabler enabler; + block(self); + } } virtual void reset(bool all) { diff --git a/Example/Pods/pop/pop/POPAnimationRuntime.h b/Example/Pods/pop/pop/POPAnimationRuntime.h index 788c8c6..902c312 100644 --- a/Example/Pods/pop/pop/POPAnimationRuntime.h +++ b/Example/Pods/pop/pop/POPAnimationRuntime.h @@ -26,6 +26,8 @@ enum POPValueType kPOPValueTransform, kPOPValueRange, kPOPValueColor, + kPOPValueSCNVector3, + kPOPValueSCNVector4, }; using namespace POP; @@ -43,12 +45,12 @@ extern POPValueType POPSelectValueType(id obj, const POPValueType *types, size_t /** Array of all value types. */ -extern const POPValueType kPOPAnimatableAllTypes[10]; +extern const POPValueType kPOPAnimatableAllTypes[12]; /** Array of all value types supported for animation. */ -extern const POPValueType kPOPAnimatableSupportTypes[8]; +extern const POPValueType kPOPAnimatableSupportTypes[10]; /** Returns a string description of a value type. diff --git a/Example/Pods/pop/pop/POPAnimationRuntime.mm b/Example/Pods/pop/pop/POPAnimationRuntime.mm index af3f301..371e009 100644 --- a/Example/Pods/pop/pop/POPAnimationRuntime.mm +++ b/Example/Pods/pop/pop/POPAnimationRuntime.mm @@ -17,10 +17,10 @@ #import #endif -#import "POPVector.h" -#import "POPAnimationRuntime.h" #import "POPCGUtils.h" +#import "POPDefines.h" #import "POPGeometry.h" +#import "POPVector.h" static Boolean pointerEqual(const void *ptr1, const void *ptr2) { return ptr1 == ptr2; @@ -36,7 +36,7 @@ CFMutableDictionaryRef POPDictionaryCreateMutableWeakPointerToWeakPointer(NSUInt // weak, pointer keys kcb.retain = NULL; - kcb.retain = NULL; + kcb.release = NULL; kcb.equal = pointerEqual; kcb.hash = pointerHash; @@ -101,7 +101,7 @@ static bool FBCompareTypeEncoding(const char *objctype, POPValueType type) #else return false; #endif - + case kPOPValueAffineTransform: return strcmp(objctype, @encode(CGAffineTransform)) == 0; @@ -122,6 +122,21 @@ static bool FBCompareTypeEncoding(const char *objctype, POPValueType type) || strcmp(objctype, @encode(long long)) == 0 || strcmp(objctype, @encode(unsigned long long)) == 0 ); + + case kPOPValueSCNVector3: +#if SCENEKIT_SDK_AVAILABLE + return strcmp(objctype, @encode(SCNVector3)) == 0; +#else + return false; +#endif + + case kPOPValueSCNVector4: +#if SCENEKIT_SDK_AVAILABLE + return strcmp(objctype, @encode(SCNVector4)) == 0; +#else + return false; +#endif + default: return false; } @@ -148,9 +163,9 @@ POPValueType POPSelectValueType(id obj, const POPValueType *types, size_t length return kPOPValueUnknown; } -const POPValueType kPOPAnimatableAllTypes[10] = {kPOPValueInteger, kPOPValueFloat, kPOPValuePoint, kPOPValueSize, kPOPValueRect, kPOPValueEdgeInsets, kPOPValueAffineTransform, kPOPValueTransform, kPOPValueRange, kPOPValueColor}; +const POPValueType kPOPAnimatableAllTypes[12] = {kPOPValueInteger, kPOPValueFloat, kPOPValuePoint, kPOPValueSize, kPOPValueRect, kPOPValueEdgeInsets, kPOPValueAffineTransform, kPOPValueTransform, kPOPValueRange, kPOPValueColor, kPOPValueSCNVector3, kPOPValueSCNVector4}; -const POPValueType kPOPAnimatableSupportTypes[8] = {kPOPValueInteger, kPOPValueFloat, kPOPValuePoint, kPOPValueSize, kPOPValueRect, kPOPValueEdgeInsets, kPOPValueColor}; +const POPValueType kPOPAnimatableSupportTypes[10] = {kPOPValueInteger, kPOPValueFloat, kPOPValuePoint, kPOPValueSize, kPOPValueRect, kPOPValueEdgeInsets, kPOPValueColor, kPOPValueSCNVector3, kPOPValueSCNVector4}; NSString *POPValueTypeToString(POPValueType t) { @@ -177,6 +192,10 @@ NSString *POPValueTypeToString(POPValueType t) return @"CFRange"; case kPOPValueColor: return @"CGColorRef"; + case kPOPValueSCNVector3: + return @"SCNVector3"; + case kPOPValueSCNVector4: + return @"SCNVector4"; default: return nil; } @@ -210,6 +229,16 @@ id POPBox(VectorConstRef vec, POPValueType type, bool force) return (__bridge_transfer id)vec->cg_color(); break; } +#if SCENEKIT_SDK_AVAILABLE + case kPOPValueSCNVector3: { + return [NSValue valueWithSCNVector3:vec->scn_vector3()]; + break; + } + case kPOPValueSCNVector4: { + return [NSValue valueWithSCNVector4:vec->scn_vector4()]; + break; + } +#endif default: return force ? [NSValue valueWithCGPoint:vec->cg_point()] : nil; break; @@ -223,7 +252,11 @@ static VectorRef vectorize(id value, POPValueType type) switch (type) { case kPOPValueInteger: case kPOPValueFloat: +#if CGFLOAT_IS_DOUBLE + vec = Vector::new_cg_float([value doubleValue]); +#else vec = Vector::new_cg_float([value floatValue]); +#endif break; case kPOPValuePoint: vec = Vector::new_cg_point([value CGPointValue]); @@ -245,6 +278,14 @@ static VectorRef vectorize(id value, POPValueType type) case kPOPValueColor: vec = Vector::new_cg_color(POPCGColorWithColor(value)); break; +#if SCENEKIT_SDK_AVAILABLE + case kPOPValueSCNVector3: + vec = Vector::new_scn_vector3([value SCNVector3Value]); + break; + case kPOPValueSCNVector4: + vec = Vector::new_scn_vector4([value SCNVector4Value]); + break; +#endif default: break; } @@ -264,7 +305,7 @@ VectorRef POPUnbox(id value, POPValueType &animationType, NSUInteger &count, boo // handle unknown types if (kPOPValueUnknown == valueType) { - NSString *valueDesc = kPOPValueUnknown != valueType ? POPValueTypeToString(valueType) : [[value class] description]; + NSString *valueDesc = [[value class] description]; [NSException raise:@"Unsuported value" format:@"Animating %@ values is not supported", valueDesc]; } diff --git a/Example/Pods/pop/pop/POPAnimator.h b/Example/Pods/pop/pop/POPAnimator.h index 7d71d24..5310bed 100644 --- a/Example/Pods/pop/pop/POPAnimator.h +++ b/Example/Pods/pop/pop/POPAnimator.h @@ -7,7 +7,7 @@ of patent rights can be found in the PATENTS file in the same directory. */ -#import +#import @protocol POPAnimatorDelegate; diff --git a/Example/Pods/pop/pop/POPAnimator.mm b/Example/Pods/pop/pop/POPAnimator.mm index 2addfba..6b2a770 100644 --- a/Example/Pods/pop/pop/POPAnimator.mm +++ b/Example/Pods/pop/pop/POPAnimator.mm @@ -11,9 +11,14 @@ #import "POPAnimatorPrivate.h" #import -#import #import +#if !TARGET_OS_IPHONE +#import +#endif + +#import + #import #import "POPAnimation.h" @@ -82,6 +87,7 @@ static BOOL _disableBackgroundThread = YES; CADisplayLink *_displayLink; #else CVDisplayLinkRef _displayLink; + int32_t _enqueuedRender; #endif POPAnimatorItemList _list; CFMutableDictionaryRef _dict; @@ -106,9 +112,15 @@ static BOOL _disableBackgroundThread = YES; static CVReturn displayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeStamp *now, const CVTimeStamp *outputTime, CVOptionFlags flagsIn, CVOptionFlags *flagsOut, void *context) { if (_disableBackgroundThread) { + __unsafe_unretained POPAnimator *pa = (__bridge POPAnimator *)context; + int32_t* enqueuedRender = &pa->_enqueuedRender; + if (*enqueuedRender == 0) { + OSAtomicIncrement32(enqueuedRender); dispatch_async(dispatch_get_main_queue(), ^{ [(__bridge POPAnimator*)context render]; + OSAtomicDecrement32(enqueuedRender); }); + } } else { [(__bridge POPAnimator*)context render]; } @@ -429,8 +441,8 @@ static void stopAndCleanup(POPAnimator *self, POPAnimatorItemRef item, bool shou // unlock OSSpinLockUnlock(&_lock); } else { - // copy list into vectory - std::vector vector{ std::begin(items), std::end(items) }; + // copy list into vector + std::vector vector{ items.begin(), items.end() }; // unlock OSSpinLockUnlock(&_lock); diff --git a/Example/Pods/pop/pop/POPBasicAnimation.mm b/Example/Pods/pop/pop/POPBasicAnimation.mm index f53bba1..2843c99 100644 --- a/Example/Pods/pop/pop/POPBasicAnimation.mm +++ b/Example/Pods/pop/pop/POPBasicAnimation.mm @@ -88,3 +88,19 @@ DEFINE_RW_PROPERTY_OBJ(POPBasicAnimationState, timingFunction, setTimingFunction } @end + +@implementation POPBasicAnimation (NSCopying) + +- (instancetype)copyWithZone:(NSZone *)zone { + + POPBasicAnimation *copy = [super copyWithZone:zone]; + + if (copy) { + copy.duration = self.duration; + copy.timingFunction = self.timingFunction; // not a 'copy', but timing functions are publicly immutable. + } + + return copy; +} + +@end \ No newline at end of file diff --git a/Example/Pods/pop/pop/POPBasicAnimationInternal.h b/Example/Pods/pop/pop/POPBasicAnimationInternal.h index e274c3f..1027670 100644 --- a/Example/Pods/pop/pop/POPBasicAnimationInternal.h +++ b/Example/Pods/pop/pop/POPBasicAnimationInternal.h @@ -8,6 +8,7 @@ */ #import "POPBasicAnimation.h" + #import "POPPropertyAnimationInternal.h" // default animation duration diff --git a/Example/Pods/pop/pop/POPCGUtils.h b/Example/Pods/pop/pop/POPCGUtils.h index f754d66..c843947 100644 --- a/Example/Pods/pop/pop/POPCGUtils.h +++ b/Example/Pods/pop/pop/POPCGUtils.h @@ -8,13 +8,17 @@ */ #import -#if TARGET_OS_IPHONE -#import -#endif -#import "POPDefines.h" #if TARGET_OS_IPHONE -@class UIColor; +#import +#else +#import +#endif + +#import "POPDefines.h" + +#if SCENEKIT_SDK_AVAILABLE +#import #endif POP_EXTERN_C_BEGIN @@ -34,6 +38,18 @@ NS_INLINE CGRect values_to_rect(const CGFloat values[]) return CGRectMake(values[0], values[1], values[2], values[3]); } +#if SCENEKIT_SDK_AVAILABLE +NS_INLINE SCNVector3 values_to_vec3(const CGFloat values[]) +{ + return SCNVector3Make(values[0], values[1], values[2]); +} + +NS_INLINE SCNVector4 values_to_vec4(const CGFloat values[]) +{ + return SCNVector4Make(values[0], values[1], values[2], values[3]); +} +#endif + #if TARGET_OS_IPHONE NS_INLINE UIEdgeInsets values_to_edge_insets(const CGFloat values[]) @@ -63,6 +79,23 @@ NS_INLINE void values_from_rect(CGFloat values[], CGRect r) values[3] = r.size.height; } +#if SCENEKIT_SDK_AVAILABLE +NS_INLINE void values_from_vec3(CGFloat values[], SCNVector3 v) +{ + values[0] = v.x; + values[1] = v.y; + values[2] = v.z; +} + +NS_INLINE void values_from_vec4(CGFloat values[], SCNVector4 v) +{ + values[0] = v.x; + values[1] = v.y; + values[2] = v.z; + values[3] = v.w; +} +#endif + #if TARGET_OS_IPHONE NS_INLINE void values_from_edge_insets(CGFloat values[], UIEdgeInsets i) @@ -88,7 +121,7 @@ extern CGColorRef POPCGColorRGBACreate(const CGFloat components[]) CF_RETURNS_RE /** Takes a color reference and returns a CGColor. */ -extern CGColorRef POPCGColorWithColor(id color); +extern CGColorRef POPCGColorWithColor(id color) CF_RETURNS_NOT_RETAINED; #if TARGET_OS_IPHONE @@ -102,6 +135,18 @@ extern void POPUIColorGetRGBAComponents(UIColor *color, CGFloat components[]); */ extern UIColor *POPUIColorRGBACreate(const CGFloat components[]) NS_RETURNS_RETAINED; +#else + +/** + Takes a NSColor and converts it into RGBA components, if necessary. + */ +extern void POPNSColorGetRGBAComponents(NSColor *color, CGFloat components[]); + +/** + Takes RGBA components and returns a NSColor. + */ +extern NSColor *POPNSColorRGBACreate(const CGFloat components[]) NS_RETURNS_RETAINED; + #endif POP_EXTERN_C_END diff --git a/Example/Pods/pop/pop/POPCGUtils.mm b/Example/Pods/pop/pop/POPCGUtils.mm index c8a866a..72a2d36 100644 --- a/Example/Pods/pop/pop/POPCGUtils.mm +++ b/Example/Pods/pop/pop/POPCGUtils.mm @@ -9,42 +9,34 @@ #import "POPCGUtils.h" -#if TARGET_OS_IPHONE -#import -#else -#import -#endif +#import void POPCGColorGetRGBAComponents(CGColorRef color, CGFloat components[]) { - if (!color) { -#if TARGET_OS_IPHONE - color = [UIColor clearColor].CGColor; -#else - color = [NSColor clearColor].CGColor; -#endif - } - - const CGFloat *colors = CGColorGetComponents(color); - size_t count = CGColorGetNumberOfComponents(color); - - if (4 == count) { - // RGB colorspace - components[0] = colors[0]; - components[1] = colors[1]; - components[2] = colors[2]; - components[3] = colors[3]; - } else if (2 == count) { - // Grey colorspace - components[0] = components[1] = components[2] = colors[0]; - components[3] = colors[1]; + if (color) { + const CGFloat *colors = CGColorGetComponents(color); + size_t count = CGColorGetNumberOfComponents(color); + + if (4 == count) { + // RGB colorspace + components[0] = colors[0]; + components[1] = colors[1]; + components[2] = colors[2]; + components[3] = colors[3]; + } else if (2 == count) { + // Grey colorspace + components[0] = components[1] = components[2] = colors[0]; + components[3] = colors[1]; + } else { + // Use CI to convert + CIColor *ciColor = [CIColor colorWithCGColor:color]; + components[0] = ciColor.red; + components[1] = ciColor.green; + components[2] = ciColor.blue; + components[3] = ciColor.alpha; + } } else { - // Use CI to convert - CIColor *ciColor = [CIColor colorWithCGColor:color]; - components[0] = ciColor.red; - components[1] = ciColor.green; - components[2] = ciColor.blue; - components[3] = ciColor.alpha; + memset(components, 0, 4 * sizeof(components[0])); } } @@ -71,7 +63,44 @@ CGColorRef POPCGColorWithColor(id color) } #else else if ([color isKindOfClass:[NSColor class]]) { - return [color CGColor]; + // -[NSColor CGColor] is only supported since OSX 10.8+ + if ([color respondsToSelector:@selector(CGColor)]) { + return [color CGColor]; + } + + /* + * Otherwise create a CGColorRef manually. + * + * The original accessor is (or would be) declared as: + * @property(readonly) CGColorRef CGColor; + * - (CGColorRef)CGColor NS_RETURNS_INNER_POINTER CF_RETURNS_NOT_RETAINED; + * + * (Please note that OSX' accessor is atomic, while iOS' isn't.) + * + * The access to the NSColor object must thus be synchronized + * and the CGColorRef be stored as an associated object, + * to return a reference which doesn't need to be released manually. + */ + @synchronized(color) { + static const void* key = &key; + + CGColorRef colorRef = (__bridge CGColorRef)objc_getAssociatedObject(color, key); + + if (!colorRef) { + size_t numberOfComponents = [color numberOfComponents]; + CGFloat components[numberOfComponents]; + CGColorSpaceRef colorSpace = [[color colorSpace] CGColorSpace]; + + [color getComponents:components]; + + colorRef = CGColorCreate(colorSpace, components); + + objc_setAssociatedObject(color, key, (__bridge id)colorRef, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + CGColorRelease(colorRef); + } + + return colorRef; + } } #endif return nil; @@ -81,7 +110,7 @@ CGColorRef POPCGColorWithColor(id color) void POPUIColorGetRGBAComponents(UIColor *color, CGFloat components[]) { - return POPCGColorGetRGBAComponents(color.CGColor, components); + return POPCGColorGetRGBAComponents(POPCGColorWithColor(color), components); } UIColor *POPUIColorRGBACreate(const CGFloat components[]) @@ -92,5 +121,30 @@ UIColor *POPUIColorRGBACreate(const CGFloat components[]) return color; } +#else + +void POPNSColorGetRGBAComponents(NSColor *color, CGFloat components[]) +{ + return POPCGColorGetRGBAComponents(POPCGColorWithColor(color), components); +} + +NSColor *POPNSColorRGBACreate(const CGFloat components[]) +{ + CGColorRef colorRef = POPCGColorRGBACreate(components); + NSColor *color = nil; + + if (colorRef) { + if ([NSColor respondsToSelector:@selector(colorWithCGColor:)]) { + color = [NSColor colorWithCGColor:colorRef]; + } else { + color = [NSColor colorWithCIColor:[CIColor colorWithCGColor:colorRef]]; + } + + CGColorRelease(colorRef); + } + + return color; +} + #endif diff --git a/Example/Pods/pop/pop/POPCustomAnimation.mm b/Example/Pods/pop/pop/POPCustomAnimation.mm index 20e361a..8cb7913 100644 --- a/Example/Pods/pop/pop/POPCustomAnimation.mm +++ b/Example/Pods/pop/pop/POPCustomAnimation.mm @@ -7,9 +7,10 @@ of patent rights can be found in the PATENTS file in the same directory. */ -#import "POPCustomAnimation.h" #import "POPAnimationInternal.h" +#import "POPCustomAnimation.h" + @interface POPCustomAnimation () @property (nonatomic, copy) POPCustomAnimationBlock animate; @end @@ -54,3 +55,21 @@ } @end + +/** + * Note that only the animate block is copied, but not the current/elapsed times + */ +@implementation POPCustomAnimation (NSCopying) + +- (instancetype)copyWithZone:(NSZone *)zone { + + POPCustomAnimation *copy = [super copyWithZone:zone]; + + if (copy) { + copy.animate = self.animate; + } + + return copy; +} + +@end \ No newline at end of file diff --git a/Example/Pods/pop/pop/POPDecayAnimation.mm b/Example/Pods/pop/pop/POPDecayAnimation.mm index 405c529..4698fd0 100644 --- a/Example/Pods/pop/pop/POPDecayAnimation.mm +++ b/Example/Pods/pop/pop/POPDecayAnimation.mm @@ -80,7 +80,11 @@ DEFINE_RW_PROPERTY(POPDecayAnimationState, deceleration, setDeceleration:, CGFlo POPValueType velocityType = POPSelectValueType(self.originalVelocity, supportedVelocityTypes, POP_ARRAY_COUNT(supportedVelocityTypes)); if (velocityType == kPOPValueFloat) { +#if CGFLOAT_IS_DOUBLE + CGFloat originalVelocityFloat = [(NSNumber *)self.originalVelocity doubleValue]; +#else CGFloat originalVelocityFloat = [(NSNumber *)self.originalVelocity floatValue]; +#endif NSNumber *negativeOriginalVelocityNumber = @(-originalVelocityFloat); reversedVelocity = negativeOriginalVelocityNumber; } else if (velocityType == kPOPValueInteger) { @@ -179,3 +183,21 @@ DEFINE_RW_PROPERTY(POPDecayAnimationState, deceleration, setDeceleration:, CGFlo } @end + +@implementation POPDecayAnimation (NSCopying) + +- (instancetype)copyWithZone:(NSZone *)zone { + + POPDecayAnimation *copy = [super copyWithZone:zone]; + + if (copy) { + // Set the velocity to the animation's original velocity, not its current. + copy.velocity = self.originalVelocity; + copy.deceleration = self.deceleration; + + } + + return copy; +} + +@end \ No newline at end of file diff --git a/Example/Pods/pop/pop/POPDecayAnimationInternal.h b/Example/Pods/pop/pop/POPDecayAnimationInternal.h index 6b2d854..c101761 100644 --- a/Example/Pods/pop/pop/POPDecayAnimationInternal.h +++ b/Example/Pods/pop/pop/POPDecayAnimationInternal.h @@ -8,6 +8,9 @@ */ #import "POPDecayAnimation.h" + +#import + #import "POPPropertyAnimationInternal.h" // minimal velocity factor before decay animation is considered complete, in units / s @@ -58,7 +61,7 @@ struct _POPDecayAnimationState : _POPPropertyAnimationState CGFloat f = dynamicsThreshold * kPOPAnimationDecayMinimalVelocityFactor; const CGFloat *velocityValues = vec_data(velocityVec); for (NSUInteger idx = 0; idx < valueCount; idx++) { - if (fabsf(velocityValues[idx]) >= f) + if (std::abs((velocityValues[idx])) >= f) return false; } return true; @@ -79,7 +82,7 @@ struct _POPDecayAnimationState : _POPPropertyAnimationState duration = MAX(MAX(MAX(log(fabs(vx)) / d, log(fabs(vy)) / d), log(fabs(vz)) / d), log(fabs(vw)) / d); // ensure velocity threshold is exceeded - if (isnan(duration) || duration < 0) { + if (std::isnan(duration) || duration < 0) { duration = 0; } } @@ -105,40 +108,6 @@ struct _POPDecayAnimationState : _POPPropertyAnimationState toVec = toValue; } - void computeDestinationValues() { - // to value assuming final velocity as a factor of dynamics threshold - // derived from v' = v * d^dt used in decay_position - // to compute the to value with maximal dt, p' = p + (v * d) / (1 - d) - VectorRef fromValue = NULL != currentVec ? currentVec : fromVec; - if (!fromValue) { - return; - } - - VectorRef toValue(Vector::new_vector(fromValue.get())); - - // compute duration till threshold velocity - Vector4r scaledVelocity = vector4(velocityVec) / 1000.; - - double k = dynamicsThreshold * kPOPAnimationDecayMinimalVelocityFactor / 1000.; - double vx = k / scaledVelocity.x; - double vy = k / scaledVelocity.y; - double vz = k / scaledVelocity.z; - double vw = k / scaledVelocity.w; - double d = log(deceleration) * 1000.; - duration = MAX(MAX(MAX(log(fabs(vx)) / d, log(fabs(vy)) / d), log(fabs(vz)) / d), log(fabs(vw)) / d); - - // ensure velocity threshold is exceeded - if (isnan(duration) || duration < 0) { - duration = 0; - } else { - // compute to value - Vector4r velocity = velocityVec->vector4r(); - decay_position(toValue->data(), velocity.data(), valueCount, duration, deceleration); - } - - toVec = toValue; - } - bool advance(CFTimeInterval time, CFTimeInterval dt, id obj) { // advance past not yet initialized animations if (NULL == currentVec) { diff --git a/Example/Pods/pop/pop/POPDefines.h b/Example/Pods/pop/pop/POPDefines.h index 92cf801..eb28781 100644 --- a/Example/Pods/pop/pop/POPDefines.h +++ b/Example/Pods/pop/pop/POPDefines.h @@ -10,6 +10,8 @@ #ifndef POP_POPDefines_h #define POP_POPDefines_h +#import + #ifdef __cplusplus # define POP_EXTERN_C_BEGIN extern "C" { # define POP_EXTERN_C_END } @@ -26,4 +28,10 @@ # define POP_NOTHROW #endif +#if TARGET_OS_MAC + #define SCENEKIT_SDK_AVAILABLE defined(POP_USE_SCENEKIT) +#elif TARGET_OS_IPHONE + #define SCENEKIT_SDK_AVAILABLE defined(POP_USE_SCENEKIT) +#endif + #endif diff --git a/Example/Pods/pop/pop/POPGeometry.mm b/Example/Pods/pop/pop/POPGeometry.mm index 29c75a4..41998b1 100644 --- a/Example/Pods/pop/pop/POPGeometry.mm +++ b/Example/Pods/pop/pop/POPGeometry.mm @@ -65,3 +65,30 @@ @end #endif + +#if TARGET_OS_IPHONE +#import "POPDefines.h" + +#if SCENEKIT_SDK_AVAILABLE +#import + +/** + Dirty hacks because iOS is weird and decided to define both SCNVector3's and SCNVector4's objCType as "t". However @encode(SCNVector3) and @encode(SCNVector4) both return the proper definition ("{SCNVector3=fff}" and "{SCNVector4=ffff}" respectively) + + [[NSValue valueWithSCNVector3:SCNVector3Make(0.0, 0.0, 0.0)] objcType] returns "t", whereas it should return "{SCNVector3=fff}". + + *flips table* + */ +@implementation NSValue (SceneKitFixes) + ++ (NSValue *)valueWithSCNVector3:(SCNVector3)vec3 { + return [NSValue valueWithBytes:&vec3 objCType:@encode(SCNVector3)]; +} + ++ (NSValue *)valueWithSCNVector4:(SCNVector4)vec4 { + return [NSValue valueWithBytes:&vec4 objCType:@encode(SCNVector4)]; +} + +@end +#endif +#endif diff --git a/Example/Pods/pop/pop/POPMath.h b/Example/Pods/pop/pop/POPMath.h index baba374..0c6f5e2 100644 --- a/Example/Pods/pop/pop/POPMath.h +++ b/Example/Pods/pop/pop/POPMath.h @@ -8,6 +8,7 @@ */ #import + #import #import "POPDefines.h" diff --git a/Example/Pods/pop/pop/POPMath.mm b/Example/Pods/pop/pop/POPMath.mm index 5dbfd7d..69a506a 100644 --- a/Example/Pods/pop/pop/POPMath.mm +++ b/Example/Pods/pop/pop/POPMath.mm @@ -8,8 +8,9 @@ */ #import "POPMath.h" -#import "UnitBezier.h" + #import "POPAnimationPrivate.h" +#import "UnitBezier.h" void POPInterpolateVector(NSUInteger count, CGFloat *dst, const CGFloat *from, const CGFloat *to, CGFloat f) { diff --git a/Example/Pods/pop/pop/POPPropertyAnimation.mm b/Example/Pods/pop/pop/POPPropertyAnimation.mm index 118e689..56a9e5c 100644 --- a/Example/Pods/pop/pop/POPPropertyAnimation.mm +++ b/Example/Pods/pop/pop/POPPropertyAnimation.mm @@ -103,3 +103,23 @@ DEFINE_RW_PROPERTY_OBJ_COPY(POPPropertyAnimationState, progressMarkers, setProgr } @end + +@implementation POPPropertyAnimation (NSCopying) + +- (instancetype)copyWithZone:(NSZone *)zone { + + POPPropertyAnimation *copy = [super copyWithZone:zone]; + + if (copy) { + copy.property = [self.property copyWithZone:zone]; + copy.fromValue = self.fromValue; + copy.toValue = self.toValue; + copy.roundingFactor = self.roundingFactor; + copy.clampMode = self.clampMode; + copy.additive = self.additive; + } + + return copy; +} + +@end \ No newline at end of file diff --git a/Example/Pods/pop/pop/POPPropertyAnimationInternal.h b/Example/Pods/pop/pop/POPPropertyAnimationInternal.h index a6758c8..9f2aee4 100644 --- a/Example/Pods/pop/pop/POPPropertyAnimationInternal.h +++ b/Example/Pods/pop/pop/POPPropertyAnimationInternal.h @@ -231,6 +231,12 @@ struct _POPPropertyAnimationState : _POPAnimationState [delegate pop_animationDidReachToValue:self]; } + POPAnimationDidReachToValueBlock block = animationDidReachToValueBlock; + if (block != NULL) { + ActionEnabler enabler; + block(self); + } + if (tracing) { [tracer didReachToValue:POPBox(currentValue(), valueType, true)]; } diff --git a/Example/Pods/pop/pop/POPSpringAnimation.h b/Example/Pods/pop/pop/POPSpringAnimation.h index 60916d4..a22cd5b 100644 --- a/Example/Pods/pop/pop/POPSpringAnimation.h +++ b/Example/Pods/pop/pop/POPSpringAnimation.h @@ -36,13 +36,13 @@ /** @abstract The effective bounciness. - @discussion Use in conjunction with 'springSpeed' to change animation effect. Values are converted into corresponding dynamics constants. Defined as a value in the range [0, 20]. Defaults to 4. + @discussion Use in conjunction with 'springSpeed' to change animation effect. Values are converted into corresponding dynamics constants. Higher values increase spring movement range resulting in more oscillations and springiness. Defined as a value in the range [0, 20]. Defaults to 4. */ @property (assign, nonatomic) CGFloat springBounciness; /** @abstract The effective speed. - @discussion Use in conjunction with 'springBounciness' to change animation effect. Values are converted into corresponding dynamics constants. Defined as a value in the range [0, 20]. Defaults to 12. + @discussion Use in conjunction with 'springBounciness' to change animation effect. Values are converted into corresponding dynamics constants. Higher values increase the dampening power of the spring resulting in a faster initial velocity and more rapid bounce slowdown. Defined as a value in the range [0, 20]. Defaults to 12. */ @property (assign, nonatomic) CGFloat springSpeed; diff --git a/Example/Pods/pop/pop/POPSpringAnimation.mm b/Example/Pods/pop/pop/POPSpringAnimation.mm index 10cb510..d299770 100644 --- a/Example/Pods/pop/pop/POPSpringAnimation.mm +++ b/Example/Pods/pop/pop/POPSpringAnimation.mm @@ -63,8 +63,10 @@ { POPPropertyAnimationState *s = __state; VectorRef vec = POPUnbox(aValue, s->valueType, s->valueCount, YES); + VectorRef origVec = POPUnbox(aValue, s->valueType, s->valueCount, YES); if (!vec_equal(vec, s->velocityVec)) { s->velocityVec = vec; + s->originalVelocityVec = origVec; if (s->tracing) { [s->tracer updateVelocity:aValue]; @@ -162,3 +164,29 @@ FB_PROPERTY_GET(POPSpringAnimationState, springBounciness, CGFloat); } @end + +@implementation POPSpringAnimation (NSCopying) + +- (instancetype)copyWithZone:(NSZone *)zone { + + POPSpringAnimation *copy = [super copyWithZone:zone]; + + if (copy) { + id velocity = POPBox(__state->originalVelocityVec, __state->valueType); + + // If velocity never gets set, then POPBox will return nil, messing up __state->valueCount. + if (velocity) { + copy.velocity = velocity; + } + + copy.springBounciness = self.springBounciness; + copy.springSpeed = self.springSpeed; + copy.dynamicsTension = self.dynamicsTension; + copy.dynamicsFriction = self.dynamicsFriction; + copy.dynamicsMass = self.dynamicsMass; + } + + return copy; +} + +@end \ No newline at end of file diff --git a/Example/Pods/pop/pop/POPSpringAnimationInternal.h b/Example/Pods/pop/pop/POPSpringAnimationInternal.h index 6d17c3c..6a72a43 100644 --- a/Example/Pods/pop/pop/POPSpringAnimationInternal.h +++ b/Example/Pods/pop/pop/POPSpringAnimationInternal.h @@ -7,6 +7,8 @@ of patent rights can be found in the PATENTS file in the same directory. */ +#import + #import "POPAnimationExtras.h" #import "POPPropertyAnimationInternal.h" @@ -46,7 +48,7 @@ struct _POPSpringAnimationState : _POPPropertyAnimationState const CGFloat *previous2Values = previous2Vec->data(); for (NSUInteger idx = 0; idx < count; idx++) { - if ((fabsf(toValues[idx] - previousValues[idx]) >= t) || (fabsf(previous2Values[idx] - previousValues[idx]) >= t)) { + if ((std::abs(toValues[idx] - previousValues[idx]) >= t) || (std::abs(previous2Values[idx] - previousValues[idx]) >= t)) { return false; } } diff --git a/Example/Pods/pop/pop/POPVector.h b/Example/Pods/pop/pop/POPVector.h index 12db46b..44d4e9f 100644 --- a/Example/Pods/pop/pop/POPVector.h +++ b/Example/Pods/pop/pop/POPVector.h @@ -13,11 +13,20 @@ #include #include -#import #import + +#import + +#import "POPDefines.h" + +#if SCENEKIT_SDK_AVAILABLE +#import +#endif + #if TARGET_OS_IPHONE #import #endif + #import "POPMath.h" namespace POP { @@ -336,6 +345,16 @@ namespace POP { // CGColorRef support CGColorRef cg_color() const CF_RETURNS_RETAINED; static Vector *new_cg_color(CGColorRef color); + +#if SCENEKIT_SDK_AVAILABLE + // SCNVector3 support + SCNVector3 scn_vector3() const; + static Vector *new_scn_vector3(const SCNVector3 &vec3); + + // SCNVector4 support + SCNVector4 scn_vector4() const; + static Vector *new_scn_vector4(const SCNVector4 &vec4); +#endif // operator overloads CGFloat &operator[](size_t i) const { diff --git a/Example/Pods/pop/pop/POPVector.mm b/Example/Pods/pop/pop/POPVector.mm index b9b6103..96cee24 100644 --- a/Example/Pods/pop/pop/POPVector.mm +++ b/Example/Pods/pop/pop/POPVector.mm @@ -8,6 +8,8 @@ */ #import "POPVector.h" + +#import "POPDefines.h" #import "POPCGUtils.h" namespace POP @@ -177,7 +179,7 @@ namespace POP { return _count < 4 ? CGRectZero : CGRectMake(_values[0], _values[1], _values[2], _values[3]); } - + Vector *Vector::new_cg_rect(const CGRect &r) { Vector *v = new Vector(4); @@ -250,6 +252,37 @@ namespace POP POPCGColorGetRGBAComponents(color, rgba); return new_vector(4, rgba); } + +#if SCENEKIT_SDK_AVAILABLE + SCNVector3 Vector::scn_vector3() const + { + return _count < 3 ? SCNVector3Make(0.0, 0.0, 0.0) : SCNVector3Make(_values[0], _values[1], _values[2]); + } + + Vector *Vector::new_scn_vector3(const SCNVector3 &vec3) + { + Vector *v = new Vector(3); + v->_values[0] = vec3.x; + v->_values[1] = vec3.y; + v->_values[2] = vec3.z; + return v; + } + + SCNVector4 Vector::scn_vector4() const + { + return _count < 4 ? SCNVector4Make(0.0, 0.0, 0.0, 0.0) : SCNVector4Make(_values[0], _values[1], _values[2], _values[3]); + } + + Vector *Vector::new_scn_vector4(const SCNVector4 &vec4) + { + Vector *v = new Vector(4); + v->_values[0] = vec4.x; + v->_values[1] = vec4.y; + v->_values[2] = vec4.z; + v->_values[3] = vec4.w; + return v; + } +#endif void Vector::subRound(CGFloat sub) { diff --git a/Example/Pods/pop/pop/WebCore/TransformationMatrix.cpp b/Example/Pods/pop/pop/WebCore/TransformationMatrix.cpp index cbfd701..7264ab5 100644 --- a/Example/Pods/pop/pop/WebCore/TransformationMatrix.cpp +++ b/Example/Pods/pop/pop/WebCore/TransformationMatrix.cpp @@ -25,9 +25,11 @@ */ #include "TransformationMatrix.h" -#include "FloatConversion.h" + #include +#include "FloatConversion.h" + inline double deg2rad(double d) { return d * M_PI / 180.0; } inline double rad2deg(double r) { return r * 180.0 / M_PI; } inline double deg2grad(double d) { return d * 400.0 / 360.0; } diff --git a/Example/Pods/pop/pop/WebCore/TransformationMatrix.h b/Example/Pods/pop/pop/WebCore/TransformationMatrix.h index 9dad2e9..b99ae89 100644 --- a/Example/Pods/pop/pop/WebCore/TransformationMatrix.h +++ b/Example/Pods/pop/pop/WebCore/TransformationMatrix.h @@ -27,7 +27,9 @@ #define TransformationMatrix_h #include //for memcpy + #include + #include namespace WebCore { diff --git a/Example/TabBarPicker.xcodeproj/project.pbxproj b/Example/TabBarPicker.xcodeproj/project.pbxproj index cf283ea..e4df3cd 100644 --- a/Example/TabBarPicker.xcodeproj/project.pbxproj +++ b/Example/TabBarPicker.xcodeproj/project.pbxproj @@ -7,8 +7,8 @@ objects = { /* Begin PBXBuildFile section */ - 0C82E12AA6B21B9923F1513B /* Pods.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF8391D3904F99D24AFC56B7 /* Pods.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; - 179C33542C5CE15556FFE8AB /* Pods_TabBarPicker_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB67354A0F6C45C1B502A65 /* Pods_TabBarPicker_Example.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; + 0C82E12AA6B21B9923F1513B /* Pods.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF8391D3904F99D24AFC56B7 /* Pods.framework */; }; + 179C33542C5CE15556FFE8AB /* Pods_TabBarPicker_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB67354A0F6C45C1B502A65 /* Pods_TabBarPicker_Example.framework */; }; 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; }; 6003F592195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; @@ -24,7 +24,7 @@ 6003F5BC195388D20070C39A /* Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5BB195388D20070C39A /* Tests.m */; }; 68934F521B579CC0000022DE /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 68934F511B579CC0000022DE /* Media.xcassets */; }; 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */; }; - C80475EA65AD1B9A0B206ACD /* Pods_TabBarPicker_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5AADF60077A50EEA12BCBBD1 /* Pods_TabBarPicker_Tests.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; + C80475EA65AD1B9A0B206ACD /* Pods_TabBarPicker_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5AADF60077A50EEA12BCBBD1 /* Pods_TabBarPicker_Tests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -251,7 +251,7 @@ isa = PBXProject; attributes = { CLASSPREFIX = TabBarPicker; - LastUpgradeCheck = 0510; + LastUpgradeCheck = 0710; ORGANIZATIONNAME = "Giuseppe Nucifora"; TargetAttributes = { 6003F5AD195388D20070C39A = { @@ -460,6 +460,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; @@ -525,6 +526,7 @@ INFOPLIST_FILE = "TabBarPicker/TabBarPicker-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; MODULE_NAME = ExampleApp; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -541,6 +543,7 @@ INFOPLIST_FILE = "TabBarPicker/TabBarPicker-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; MODULE_NAME = ExampleApp; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -563,6 +566,7 @@ "$(inherited)", ); INFOPLIST_FILE = "Tests/Tests-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TabBarPicker_Example.app/TabBarPicker_Example"; WRAPPER_EXTENSION = xctest; @@ -582,6 +586,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch"; INFOPLIST_FILE = "Tests/Tests-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TabBarPicker_Example.app/TabBarPicker_Example"; WRAPPER_EXTENSION = xctest; diff --git a/Example/TabBarPicker.xcodeproj/xcshareddata/xcschemes/TabBarPicker-Example.xcscheme b/Example/TabBarPicker.xcodeproj/xcshareddata/xcschemes/TabBarPicker-Example.xcscheme index b9884af..0869749 100644 --- a/Example/TabBarPicker.xcodeproj/xcshareddata/xcschemes/TabBarPicker-Example.xcscheme +++ b/Example/TabBarPicker.xcodeproj/xcshareddata/xcschemes/TabBarPicker-Example.xcscheme @@ -1,6 +1,6 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -48,15 +48,18 @@ ReferencedContainer = "container:TabBarPicker.xcodeproj"> + + @@ -72,10 +75,10 @@ diff --git a/Example/TabBarPicker/TabBarPicker-Info.plist b/Example/TabBarPicker/TabBarPicker-Info.plist index 9a6be83..20f0f33 100644 --- a/Example/TabBarPicker/TabBarPicker-Info.plist +++ b/Example/TabBarPicker/TabBarPicker-Info.plist @@ -9,7 +9,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/Example/TabBarPicker/TabBarPickerViewController.m b/Example/TabBarPicker/TabBarPickerViewController.m index 758cffe..118bf66 100644 --- a/Example/TabBarPicker/TabBarPickerViewController.m +++ b/Example/TabBarPicker/TabBarPickerViewController.m @@ -7,8 +7,8 @@ // #import "TabBarPickerViewController.h" -#import "TabBarPicker.h" #import +#import @interface TabBarPickerViewController () { TabBarPicker *tabbar; @@ -23,60 +23,106 @@ self = [super init]; if (self) { - - TabBarSubItem *subItem1 = [TabBarSubItem tabBarSubItemWithName:@"Peppe" andValue:@"Peppe"]; - TabBarSubItem *subItem2 = [TabBarSubItem tabBarSubItemWithName:@"Peppe1" andValue:@"Peppe1"]; - TabBarSubItem *subItem3 = [TabBarSubItem tabBarSubItemWithName:@"Peppe2" andValue:@"Peppe2"]; - TabBarSubItem *subItem4 = [TabBarSubItem tabBarSubItemWithName:@"Peppe3" andValue:@"Peppe3"]; - TabBarSubItem *subItem5 = [TabBarSubItem tabBarSubItemWithName:@"Peppe4" andValue:@"Peppe4"]; - TabBarSubItem *subItem6 = [TabBarSubItem tabBarSubItemWithName:@"Peppe5" andValue:@"Peppe5"]; - TabBarSubItem *subItem7 = [TabBarSubItem tabBarSubItemWithName:@"Peppe6" andValue:@"Peppe6"]; - TabBarPickerSubItemsView *locationSubview = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypeButtons subItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7] needsLocalization:YES]; + TabBarSubItem *subItem1 = [TabBarSubItem tabBarSubItemWithName:@"1 Km" value:[NSNumber numberWithInt:1] andReference:[NSNumber numberWithInt:1]]; + TabBarSubItem *subItem2 = [TabBarSubItem tabBarSubItemWithName:@"5 Km" value:[NSNumber numberWithInt:5] andReference:[NSNumber numberWithInt:5]]; + TabBarSubItem *subItem3 = [TabBarSubItem tabBarSubItemWithName:@"10 Km" value:[NSNumber numberWithInt:10] andReference:[NSNumber numberWithInt:10]]; + TabBarSubItem *subItem4 = [TabBarSubItem tabBarSubItemWithName:@"20 Km" value:[NSNumber numberWithInt:20] andReference:[NSNumber numberWithInt:20]]; + TabBarSubItem *subItem5 = [TabBarSubItem tabBarSubItemWithName:@"30 Km" value:[NSNumber numberWithInt:30] andReference:[NSNumber numberWithInt:30]]; + TabBarSubItem *subItem6 = [TabBarSubItem tabBarSubItemWithName:@"50 Km" value:[NSNumber numberWithInt:50] andReference:[NSNumber numberWithInt:50]]; + TabBarSubItem *subItem7 = [TabBarSubItem tabBarSubItemWithName:@"100 Km" value:[NSNumber numberWithInt:100] andReference:[NSNumber numberWithInt:100]]; + TabBarSubItem *subItem8 = [TabBarSubItem tabBarSubItemWithName:@"150 Km" value:[NSNumber numberWithInt:150] andReference:[NSNumber numberWithInt:150]]; + TabBarSubItem *subItem9 = [TabBarSubItem tabBarSubItemWithName:@"200 Km" value:[NSNumber numberWithInt:200] andReference:[NSNumber numberWithInt:200]]; + + TabBarPickerSubItemsView *locationSubview = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypeDistance subItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7,subItem8,subItem9] needsLocalization:YES]; TabBarItem *location = [[TabBarItem alloc] initWithSubItemView:locationSubview]; - [location setItemName:@"Location"]; + [location setItemName:NSLocalizedString(@"Distanza", @"")]; + [location setItemSearchKey:@"location"]; [location setImage:[UIImage imageNamed:@"location"]]; [location setSelectedImage:[UIImage imageNamed:@"location_selected"]]; [location setHighlightedImage:[UIImage imageNamed:@"location_highlighted"]]; - TabBarPickerSubItemsView *locationSubview1 = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypeButtons subItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7] needsLocalization:NO]; + TabBarPickerSubItemsView *calendarSubView = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypeDateAndTime subItems:nil]; - TabBarItem *location1 = [[TabBarItem alloc] initWithSubItemView:locationSubview1]; - [location1 setItemName:@"Location2"]; - [location1 setImage:[UIImage imageNamed:@"location"]]; - [location1 setSelectedImage:[UIImage imageNamed:@"location_selected"]]; - [location1 setHighlightedImage:[UIImage imageNamed:@"location_highlighted"]]; + TabBarItem *calendar = [[TabBarItem alloc] initWithSubItemView:calendarSubView]; + [calendar setItemName:NSLocalizedString(@"Data e ora", @"")]; + [calendar setItemSearchKey:@"reservationEndTime"]; + [calendar setImage:[UIImage imageNamed:@"location"]]; + [calendar setSelectedImage:[UIImage imageNamed:@"location_selected"]]; + [calendar setHighlightedImage:[UIImage imageNamed:@"location_highlighted"]]; - TabBarPickerSubItemsView *locationSubview2 = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypeButtons subItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7] needsLocalization:NO]; - TabBarItem *location2 = [[TabBarItem alloc] initWithSubItemView:locationSubview2]; - [location2 setItemName:@"Location3"]; - [location2 setImage:[UIImage imageNamed:@"location"]]; - [location2 setSelectedImage:[UIImage imageNamed:@"location_selected"]]; - [location2 setHighlightedImage:[UIImage imageNamed:@"location_highlighted"]]; + NSMutableArray *typesArray = [[NSMutableArray alloc] init]; - TabBarPickerSubItemsView *locationSubview3 = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypeButtons subItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7] needsLocalization:NO]; - TabBarItem *location3 = [[TabBarItem alloc] initWithSubItemView:locationSubview3]; - [location3 setItemName:@"Location4"]; - [location3 setImage:[UIImage imageNamed:@"location"]]; - [location3 setSelectedImage:[UIImage imageNamed:@"location_selected"]]; - [location3 setHighlightedImage:[UIImage imageNamed:@"location_highlighted"]]; + for (NSInteger i=0; i<100; i++) { + + TabBarSubItem *item = [TabBarSubItem tabBarSubItemWithName:[NSString stringWithFormat:@"Type %ld",i] value:[NSString stringWithFormat:@"Type %ld",i] andReference:@"Type %ld" forType:TabBarSubItemsViewTypeCheckBox]; + + [typesArray addObject:item]; + } - TabBarPickerSubItemsView *locationSubview4 = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypeButtons subItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7] needsLocalization:NO]; - TabBarItem *location4 = [[TabBarItem alloc] initWithSubItemView:locationSubview4]; - [location4 setItemName:@"Location5"]; - [location4 setImage:[UIImage imageNamed:@"location"]]; - [location4 setSelectedImage:[UIImage imageNamed:@"location_selected"]]; - [location4 setHighlightedImage:[UIImage imageNamed:@"location_highlighted"]]; + TabBarPickerSubItemsView *typeSubView = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypeCheckBox subItems:typesArray]; - tabbar = [[TabBarPicker alloc] initWithTabBarItems:@[location,location1,location2,location3,location4] forPosition:TabBarPickerPositionBottom]; + TabBarItem *type = [[TabBarItem alloc] initWithSubItemView:typeSubView]; + [type setItemName:NSLocalizedString(@"Custom Type", @"")]; + [type setItemSearchKey:@"custom"]; + [type setImage:[UIImage imageNamed:@"location"]]; + [type setSelectedImage:[UIImage imageNamed:@"location_selected"]]; + [type setHighlightedImage:[UIImage imageNamed:@"location_highlighted"]]; + + NSMutableArray *subItemsArray = [[NSMutableArray alloc] init]; + + for (int i =0; i< 30; i++) { + TabBarSubItem *item; + if (i < 30-1) { + item = [TabBarSubItem tabBarSubItemWithName:@"€" firstValue:[NSNumber numberWithInteger:i] secondValue:[NSNumber numberWithInteger:i+1] andReference:nil]; + + } + else { + item = [TabBarSubItem tabBarSubItemWithName:@"€" firstValue:[NSNumber numberWithInteger:i] secondValue:@"MAX" andReference:nil]; + [item setIsLast:YES]; + } + [subItemsArray addObject:item]; + } + + + TabBarPickerSubItemsView *priceSubView = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypePrice subItems:subItemsArray]; + + TabBarItem *price =[[TabBarItem alloc] initWithSubItemView:priceSubView]; + [price setItemName:NSLocalizedString(@"Prezzo", @"")]; + [price setItemSearchKey:@"price"]; + [price setImage:[UIImage imageNamed:@"location"]]; + [price setSelectedImage:[UIImage imageNamed:@"location_selected"]]; + [price setHighlightedImage:[UIImage imageNamed:@"location_highlighted"]]; + + + NSMutableArray *customsArray = [[NSMutableArray alloc] init]; + + + for (NSInteger i=0; i<100; i++) { + + TabBarSubItem *item = [TabBarSubItem tabBarSubItemWithName:[NSString stringWithFormat:@"Custom %ld",i] value:[NSString stringWithFormat:@"Custom %ld",i] andReference:@"Custom %ld"]; + + [customsArray addObject:item]; + } + + TabBarPickerSubItemsView *customSubView = [[TabBarPickerSubItemsView alloc] initWithType:TabBarPickerSubItemsViewTypeButton subItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7,subItem8,subItem9]]; + + TabBarItem *custom = [[TabBarItem alloc] initWithSubItemView:customSubView]; + [custom setItemName:NSLocalizedString(@"Custom", @"")]; + [custom setItemSearchKey:@"customs"]; + [custom setImage:[UIImage imageNamed:@"location"]]; + [custom setSelectedImage:[UIImage imageNamed:@"location_selected"]]; + [custom setHighlightedImage:[UIImage imageNamed:@"location_highlighted"]]; + + tabbar = [[TabBarPicker alloc] initWithTabBarItems:@[location,calendar,type,price,custom] forPosition:TabBarPickerPositionBottom]; [tabbar setItemSpacing:0]; [tabbar setBackgroundColor:[UIColor whiteColor]]; - //[tabbar addItem:allergen2]; + //[tabbar addItem:custom2]; } return self; } @@ -99,61 +145,11 @@ [super viewDidLoad]; //[self.view setBackgroundColor:[UIColor lightGrayColor]]; - // Do any additional setup after loading the view, typically from a nib. + // Do any additional setup after loading the view, typically from a nib. } - (void) viewDidAppear:(BOOL)animated { - - //[tabbar selectItem:0]; - - /*TabBarSubItem *subItem1 = [TabBarSubItem tabBarSubItemWithName:@"Peppe"]; - TabBarSubItem *subItem2 = [TabBarSubItem tabBarSubItemWithName:@"Peppe1"]; - TabBarSubItem *subItem3 = [TabBarSubItem tabBarSubItemWithName:@"Peppe2"]; - TabBarSubItem *subItem4 = [TabBarSubItem tabBarSubItemWithName:@"Peppe3"]; - TabBarSubItem *subItem5 = [TabBarSubItem tabBarSubItemWithName:@"Peppe4"]; - TabBarSubItem *subItem6 = [TabBarSubItem tabBarSubItemWithName:@"Peppe5"]; - TabBarSubItem *subItem7 = [TabBarSubItem tabBarSubItemWithName:@"Peppe6"]; - - TabBarItem *allergen = [[TabBarItem alloc] initWithSubItems:@[subItem1,subItem2,subItem3,subItem4,subItem5,subItem6,subItem7]]; - [allergen setItemName:@"Allergen"]; - [allergen setImage:[UIImage imageNamed:@"allergen"]]; - [allergen setSelectedImage:[UIImage imageNamed:@"allergen_selected"]]; - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [tabbar addItem:allergen]; - }); - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [tabbar show]; - }); - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(6 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [tabbar hide]; - }); - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(9 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [tabbar show]; - }); - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(12 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [tabbar hide]; - }); - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(15 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [tabbar show]; - }); - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(18 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [tabbar hide]; - }); - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(21 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [tabbar show]; - }); - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(24 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [tabbar hide]; - });*/ + [super viewDidAppear:animated]; } - (void)didReceiveMemoryWarning diff --git a/Example/Tests/Tests-Info.plist b/Example/Tests/Tests-Info.plist index 41520ed..169b6f7 100644 --- a/Example/Tests/Tests-Info.plist +++ b/Example/Tests/Tests-Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType diff --git a/Pod/Classes/TabBarItem.h b/Pod/Classes/TabBarItem.h index 2f8de4b..acaf452 100644 --- a/Pod/Classes/TabBarItem.h +++ b/Pod/Classes/TabBarItem.h @@ -47,6 +47,11 @@ */ @property (nonatomic, strong) NSString *itemName; +/** + * Represents the name of the item that can be shown in picker. + */ +@property (nonatomic, strong) NSString *itemSearchKey; + /** * Represents the sub items that appeare when you select the item in picker. */ @@ -74,4 +79,6 @@ - (void) setHighlighted:(BOOL) highlighted; +- (void) setSelected:(BOOL)selected; + @end diff --git a/Pod/Classes/TabBarItem.m b/Pod/Classes/TabBarItem.m index 5f77948..8827cab 100644 --- a/Pod/Classes/TabBarItem.m +++ b/Pod/Classes/TabBarItem.m @@ -12,7 +12,7 @@ #import "UIButton+BackgroundColor.h" #import -@interface TabBarItem() +@interface TabBarItem() @property (nonatomic, strong) UIButton *itemButton; @@ -39,20 +39,20 @@ _orientation = [[UIDevice currentDevice] orientation]; _itemSubView = itemSubView; - - _itemButton = [[UIButton alloc] initForAutoLayout]; + _highlightedColor = [@"ff4e50" colorFromHex]; + _itemButton = [UIButton newAutoLayoutView]; [_itemButton addTarget:self action:@selector(itemButtonTapped) forControlEvents:UIControlEventTouchUpInside]; - [_itemButton setBackgroundColor:[@"ff4e50" colorFromHex] forState:UIControlStateHighlighted]; + [_itemButton setBackgroundColor:_highlightedColor forState:UIControlStateHighlighted]; + [_itemButton setBackgroundColor:_highlightedColor forState:UIControlStateSelected|UIControlStateHighlighted]; [self addSubview:_itemButton]; - + } return self; } - (void) layoutSubviews { - //[_itemButton autoPinEdgesToSuperviewMargins]; if (!_didSetupConstraints) { [_itemButton autoCenterInSuperview]; [_itemButton autoSetDimension:ALDimensionHeight toSize:44]; @@ -62,6 +62,14 @@ } } +- (void) setTag:(NSInteger)tag { + [super setTag:tag]; + for (UIView *subView in self.subviews) { + [subView setTag:tag]; + } + [_itemSubView setTag:tag]; +} + - (void)deviceOrientationDidChange:(NSNotification *)notification { //Obtain current device orientation _orientation = [[UIDevice currentDevice] orientation]; @@ -76,29 +84,40 @@ - (void) setSelectedImage:(UIImage *)selectedImage { [_itemButton setImage:selectedImage forState:UIControlStateSelected]; - [_itemButton setImage:selectedImage forState:UIControlStateSelected|UIControlStateHighlighted]; + //[_itemButton setImage:selectedImage forState:UIControlStateSelected|UIControlStateHighlighted]; } - (void) setHighlightedImage:(UIImage *)highlightedImage { [_itemButton setImage:highlightedImage forState:UIControlStateHighlighted]; [_itemButton setImage:highlightedImage forState:UIControlStateHighlighted|UIControlStateNormal]; + [_itemButton setImage:highlightedImage forState:UIControlStateSelected|UIControlStateHighlighted]; } - (void) setHighlightedColor:(UIColor *)highlightedColor { _highlightedColor = highlightedColor; [_itemButton setBackgroundColor:_highlightedColor forState:UIControlStateHighlighted]; + } - (void) setHighlighted:(BOOL) highlighted { [_itemButton setHighlighted:highlighted]; } +- (void) setSelected:(BOOL)selected { + [_itemButton setSelected:selected]; +} + +- (void) setItemName:(NSString *)itemName { + [_itemSubView setItemName:itemName]; + _itemName = itemName; +} + - (void) itemButtonTapped { if (_delegate && [_delegate respondsToSelector:@selector(tabBarItemSelected:)]) { [_delegate tabBarItemSelected:self]; } - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.00001 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.000001 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [self setHighlighted:YES]; }); } diff --git a/Pod/Classes/TabBarPicker.h b/Pod/Classes/TabBarPicker.h index d18589d..323a9a8 100644 --- a/Pod/Classes/TabBarPicker.h +++ b/Pod/Classes/TabBarPicker.h @@ -11,6 +11,15 @@ #import "TabBarSubItem.h" #import "TabBarPickerSubItemsView.h" +@class TabBarPicker; + +@protocol TabBarPickerDelegate + +- (void) TabBarPicker:(TabBarPicker*) picker filtersDidChanges:(NSDictionary *) filtersEnabled; + +@end + + typedef NS_ENUM(NSInteger, TabBarPickerPosition) { // Informational TabBarPickerPositionLeft, @@ -31,6 +40,9 @@ typedef NS_ENUM(NSInteger, TabBarPickerPosition) { @property (nonatomic, readonly) CGFloat subItemHeight; @property (nonatomic) BOOL dimWhenShow; @property (nonatomic, strong) UIColor * dimColor; +@property (nonatomic, assign) id delegate; + +@property (nonatomic, strong,readonly) NSMutableDictionary *filtersEnabled; /** * Init TabBarPicker with items. When is selected an item the picher show down subitems. diff --git a/Pod/Classes/TabBarPicker.m b/Pod/Classes/TabBarPicker.m index 1ffc444..63df50d 100644 --- a/Pod/Classes/TabBarPicker.m +++ b/Pod/Classes/TabBarPicker.m @@ -10,10 +10,12 @@ #import #import "TabBarPickerSubItemsView.h" #import "MMCPSScrollView.h" -#import #import "NSString+HexColor.h" +#import -@interface TabBarPicker() +#define SUPERVIEW_TAG -9999 + +@interface TabBarPicker() @property (nonatomic) UIDeviceOrientation orientation; @property (nonatomic, strong) NSMutableArray *subItemSelectors; @@ -25,9 +27,15 @@ @property (nonatomic, strong) NSMutableArray *tabBarItemsConstraints; @property (nonatomic, strong) TabBarItem *selectedTabBarItem; +@property (nonatomic, strong) UIView *separator; @property (nonatomic, strong) UIView *tabBarView; @property (nonatomic, strong) MMCPSScrollView *subItemScrollView; +@property (nonatomic, strong) UIView* dimView; + + + + @end @implementation TabBarPicker @@ -49,6 +57,8 @@ self = [self initForAutoLayout]; if (self) { [self setUserInteractionEnabled:YES]; + + _filtersEnabled = [[NSMutableDictionary alloc] init]; _itemSpacing = 10; _layoutRelation = relation; _position = position; @@ -58,6 +68,10 @@ _subItemSelectorsConstraints = [[NSMutableArray alloc] init]; _dimColor = [[@"333333" colorFromHex] colorWithAlphaComponent: 0.5]; + _dimView = [UIView newAutoLayoutView]; + [_dimView setAlpha:0]; + [_dimView setBackgroundColor:_dimColor]; + [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; [[NSNotificationCenter defaultCenter] addObserver: self selector:@selector(deviceOrientationDidChange:) name:UIDeviceOrientationDidChangeNotification object: nil]; @@ -70,14 +84,19 @@ _tabBarItems = [[NSMutableArray alloc] init]; - _tabBarView = [[UIView alloc] initForAutoLayout]; + _tabBarView = [UIView newAutoLayoutView]; + + _separator = [UIView newAutoLayoutView]; + [_separator.layer setMasksToBounds:NO]; + [_separator setBackgroundColor:[[UIColor lightGrayColor] colorWithAlphaComponent:0.3]]; + - [self addSubview:_tabBarView]; for (NSObject *item in items) { if (item && [item isKindOfClass:[TabBarItem class]]) { TabBarItem *_item = (TabBarItem*)item; + [_item setTag:SUPERVIEW_TAG];; [_tabBarItems addObject:_item]; [(TabBarItem*)_item setDelegate:self]; @@ -85,7 +104,7 @@ } } - _subItemScrollView = [[MMCPSScrollView alloc] initForAutoLayout]; + _subItemScrollView = [MMCPSScrollView newAutoLayoutView]; [_subItemScrollView setPagingEnabled:YES]; [_subItemScrollView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; [_subItemScrollView setUserInteractionEnabled:YES]; @@ -93,6 +112,12 @@ [_subItemScrollView setPageSize:1]; [self addSubview:_subItemScrollView]; + + [self addSubview:_tabBarView]; + + [self addSubview:_separator]; + + [self setTag:SUPERVIEW_TAG]; } [self updateConstraintsIfNeeded]; @@ -103,6 +128,14 @@ - (void) layoutSubviews { if (!_didSetupConstraints) { + if (self.superview) { + [self.superview insertSubview:_dimView belowSubview:self]; + + [_dimView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview]; + [_dimView autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self.superview]; + [_dimView autoAlignAxis:ALAxisHorizontal toSameAxisOfView:self.superview]; + [_dimView autoAlignAxis:ALAxisVertical toSameAxisOfView:self.superview]; + } switch (_position) { case TabBarPickerPositionLeft:{ @@ -160,6 +193,10 @@ [_tabBarView autoAlignAxisToSuperviewAxis:ALAxisVertical]; [_tabBarView autoPinEdge:ALEdgeTop toEdge:ALEdgeTop ofView:self]; + [_separator autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.superview]; + [_separator autoSetDimension:ALDimensionHeight toSize:1]; + [_separator autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:_tabBarView]; + [_tabBarItems autoSetViewsDimension:ALDimensionHeight toSize:44.0]; [[_tabBarItems firstObject] autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; @@ -174,36 +211,13 @@ [_subItemScrollView setType:MMCPSScrollHorizontal]; if ([_tabBarItems count] > 0) { - int i = 0; - for (TabBarItem *item in _tabBarItems) { if ([item itemSubView]) { - + [item setTag:SUPERVIEW_TAG]; [[item itemSubView] setDelegate:self]; - [[item itemSubView] setTabBarItemReference:self]; - switch (i) { - case 0: - [[item itemSubView] setBackgroundColor:[UIColor lightGrayColor]]; - break; - case 1:{ - [[item itemSubView] setBackgroundColor:[UIColor redColor]]; - } - break; - case 2:{ - [[item itemSubView] setBackgroundColor:[UIColor greenColor]]; - } - break; - case 3: { - [[item itemSubView] setBackgroundColor:[UIColor yellowColor]]; - } - break; - default:{ - [[item itemSubView] setBackgroundColor:[UIColor blueColor]]; - } - break; - } - i++; + [[item itemSubView] setTabBarItemReference:item]; + [_subItemScrollView addSubview:[item itemSubView]]; [_subItemSelectors addObject:[item itemSubView]]; @@ -221,11 +235,21 @@ } _didSetupConstraints = YES; - + [self updateConstraintsIfNeeded]; } } +- (void) setTag:(NSInteger)tag { + [super setTag:tag]; + for (UIView *subView in self.subviews) { + [subView setTag:tag]; + } + for (UIView *subView in _subItemScrollView.subviews) { + [subView setTag:tag]; + } +} + - (void) setPosition:(TabBarPickerPosition)position { _position = position; @@ -239,6 +263,7 @@ _orientation = [[UIDevice currentDevice] orientation]; } + - (void) addItem:(TabBarItem*) item { if (item && [item isKindOfClass:[TabBarItem class]]) { @@ -275,9 +300,10 @@ options:0 animations:^{ if (_dimWhenShow) { - - [self.superview ag_addOverlayWithColor:_dimColor]; - self.layer.zPosition = 999; + //[self.superview insertSubview:_dimView belowSubview:self]; + [_dimView setAlpha:1]; + //[self.superview ag_addOverlayWithColor:_dimColor]; + //self.layer.zPosition = 999; } switch (_position) { case TabBarPickerPositionLeft: { @@ -325,8 +351,10 @@ options:0 animations:^{ if (_dimWhenShow) { - [self.superview ag_removeOverlay]; - self.layer.zPosition = 0; + //[self.superview ag_removeOverlay]; + //self.layer.zPosition = 0; + + [_dimView setAlpha:0]; } switch (_position) { case TabBarPickerPositionLeft: { @@ -350,21 +378,82 @@ break; } } - + [_selectedTabBarItem setHighlighted:NO]; + _selectedTabBarItem = nil; [self layoutIfNeeded]; } completion:^(BOOL finished) { // Run the animation again in the other direction + //[_dimView removeFromSuperview]; }]; } } #pragma mark TabBarPickerSubItemsViewDelegate -- (void) tabarPickerSubItemsView:(TabBarPickerSubItemsView*) tabarPickerSubItemsView didSelect:(TabBarItem*) item { +- (void) tabBarPickerSubItemsView:(TabBarPickerSubItemsView*) tabBarPickerSubItemsView didSelectTabBarSubItem:(TabBarSubItem*) subItem forTabBarItem:(TabBarItem*) item { + switch (tabBarPickerSubItemsView.type) { + case TabBarPickerSubItemsViewTypeDistance: { + [_filtersEnabled setObject:subItem forKey:[item itemSearchKey]]; + break; + } + case TabBarPickerSubItemsViewTypeDateAndTime: { + [_filtersEnabled setObject:subItem forKey:[item itemSearchKey]]; + break; + } + case TabBarPickerSubItemsViewTypePrice: { + [_filtersEnabled setObject:subItem forKey:[item itemSearchKey]]; + break; + } + case TabBarPickerSubItemsViewTypeCheckBox: { + [_filtersEnabled setObject:subItem forKey:[item itemSearchKey]]; + break; + } + case TabBarPickerSubItemsViewTypeButton: { + [_filtersEnabled setObject:subItem forKey:[item itemSearchKey]]; + break; + } + default: { + break; + } + } + + if (_delegate && [_delegate respondsToSelector:@selector(TabBarPicker:filtersDidChanges:)]) { + [_delegate TabBarPicker:self filtersDidChanges:_filtersEnabled]; + } } +- (void) tabBarPickerSubItemsView:(TabBarPickerSubItemsView*) tabBarPickerSubItemsView didSelectTabBarSubItems:(NSArray*) subItems forTabBarItem:(TabBarItem*) item { + [_filtersEnabled setObject:subItems forKey:[item itemSearchKey]]; + + if (_delegate && [_delegate respondsToSelector:@selector(TabBarPicker:filtersDidChanges:)]) { + [_delegate TabBarPicker:self filtersDidChanges:_filtersEnabled]; + } +} + +- (void) tabBarPickerSubItemsView:(TabBarPickerSubItemsView*) tabBarPickerSubItemsView didResetTabBarSubItem:(TabBarSubItem *)subItem forTabBarItem:(TabBarItem *)item { + [_filtersEnabled removeObjectForKey:[item itemSearchKey]]; + + if (_delegate && [_delegate respondsToSelector:@selector(TabBarPicker:filtersDidChanges:)]) { + [_delegate TabBarPicker:self filtersDidChanges:_filtersEnabled]; + } +} + +- (void) tabBarPickerSubItemsView:(TabBarPickerSubItemsView*) tabBarPickerSubItemsView didResetTabBarSubItems:(NSArray*) subItems forTabBarItem:(TabBarItem*) item { + [_filtersEnabled removeObjectForKey:[item itemSearchKey]]; + + if (_delegate && [_delegate respondsToSelector:@selector(TabBarPicker:filtersDidChanges:)]) { + [_delegate TabBarPicker:self filtersDidChanges:_filtersEnabled]; + } +} + +#pragma mark - + +#pragma mark TabBarPickerSubItemsViewDataSource + + + #pragma mark - #pragma mark TabBarItemDelegate @@ -394,13 +483,54 @@ #pragma mark MMCPSScrollViewDelegate - (void)scrollView:(MMCPSScrollView *)scrollView didScrollToPage:(NSUInteger)pageIndex { - NSLog(@"The MMCPSScrollView is now on page %i.", pageIndex); + if ([scrollView currentPage] > 0 && [_tabBarItems count] > [scrollView currentPage]-1) { + + TabBarItem *selectedItem = [_tabBarItems objectAtIndex:[scrollView currentPage]-1]; + + for (TabBarItem *item in _tabBarItems) { + if (![item isEqual:selectedItem]) { + [item setHighlighted:NO]; + } + else { + [item setHighlighted:YES]; + } + } + + if (!_isShow) { + [self show]; + } + else { + if(![_selectedTabBarItem isEqual:selectedItem]) { + + } + } + _selectedTabBarItem = selectedItem; + } } - (void)scrollView:(MMCPSScrollView *)scrollView willScrollToPage:(NSUInteger)pageIndex { - NSLog(@"The MMCPSScrollView is now going to page %i.", pageIndex); + } + #pragma mark - +- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { + if (!self.isUserInteractionEnabled || self.isHidden || self.alpha <= 0.01) { + return nil; + } + if ([self pointInside:point withEvent:event]) { + for (UIView *subview in [self.subviews reverseObjectEnumerator]) { + CGPoint convertedPoint = [subview convertPoint:point fromView:self]; + UIView *hitTestView = [subview hitTest:convertedPoint withEvent:event]; + if (hitTestView) { + return hitTestView; + } + } + return self; + } + [self hide]; + return nil; +} + @end diff --git a/Pod/Classes/TabBarPickerSubItemsView.h b/Pod/Classes/TabBarPickerSubItemsView.h index 6061c75..7cca7ed 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.h +++ b/Pod/Classes/TabBarPickerSubItemsView.h @@ -14,17 +14,24 @@ typedef NS_ENUM(NSInteger, TabBarPickerSubItemsViewType) { // Informational - TabBarPickerSubItemsViewTypeData, - TabBarPickerSubItemsViewTypeString, - TabBarPickerSubItemsViewTypeButtons, - TabBarPickerSubItemsViewTypeCheckBox + TabBarPickerSubItemsViewTypeDistance, + TabBarPickerSubItemsViewTypeDateAndTime, + TabBarPickerSubItemsViewTypePrice, + TabBarPickerSubItemsViewTypeCheckBox, + TabBarPickerSubItemsViewTypeButton }; @protocol TabBarPickerSubItemsViewDelegate @required -- (void) tabarPickerSubItemsView:(TabBarPickerSubItemsView*) tabarPickerSubItemsView didSelectTabBarSubItem:(TabBarSubItem*) subItem forTabBarItem:(TabBarItem*) item; +- (void) tabBarPickerSubItemsView:(TabBarPickerSubItemsView*) tabBarPickerSubItemsView didSelectTabBarSubItem:(TabBarSubItem*) subItem forTabBarItem:(TabBarItem*) item; + +- (void) tabBarPickerSubItemsView:(TabBarPickerSubItemsView*) tabBarPickerSubItemsView didSelectTabBarSubItems:(NSArray*) subItems forTabBarItem:(TabBarItem*) item; + +- (void) tabBarPickerSubItemsView:(TabBarPickerSubItemsView*) tabBarPickerSubItemsView didResetTabBarSubItem:(TabBarSubItem*) subItem forTabBarItem:(TabBarItem*) item; + +- (void) tabBarPickerSubItemsView:(TabBarPickerSubItemsView*) tabBarPickerSubItemsView didResetTabBarSubItems:(NSArray*) subItems forTabBarItem:(TabBarItem*) item; @end @@ -45,10 +52,23 @@ typedef NS_ENUM(NSInteger, TabBarPickerSubItemsViewType) { /** * <#Description#> */ + @property (nonatomic, strong) TabBarItem *tabBarItemReference; +@property (nonatomic,readonly) TabBarPickerSubItemsViewType type; + +@property (nonatomic, strong, readonly) NSDate *pickerSelectedDate; +@property (nonatomic, strong, readonly) TabBarSubItem *selectedDate; + +@property (nonatomic, strong, readonly) TabBarSubItem *selectedDistance; +@property (nonatomic, strong, readonly) TabBarSubItem *selectedMinPrice; +@property (nonatomic, strong, readonly) TabBarSubItem *selectedMaxPrice; +@property (nonatomic, strong, readonly) NSMutableArray *selectedAllergens; +@property (nonatomic, strong, readonly) NSMutableArray *selectedTypes; + - (instancetype) initWithType:(TabBarPickerSubItemsViewType) type subItems:(NSArray*) subItems; - (instancetype) initWithType:(TabBarPickerSubItemsViewType) type subItems:(NSArray*) subItems needsLocalization:(BOOL) needsLocalization; +- (void) setItemName:(NSString *) itemName; @end diff --git a/Pod/Classes/TabBarPickerSubItemsView.m b/Pod/Classes/TabBarPickerSubItemsView.m index 0af7d87..c790e77 100644 --- a/Pod/Classes/TabBarPickerSubItemsView.m +++ b/Pod/Classes/TabBarPickerSubItemsView.m @@ -12,17 +12,34 @@ #import "NSString+HexColor.h" #import "SharedLocationManager.h" #import "UIAlertView+BlockExtension.h" +#import "AADatePicker.h" +#import "ToucheableScrollView.h" -@interface TabBarPickerSubItemsView() +@interface TabBarPickerSubItemsView() @property (nonatomic, assign) BOOL didSetupConstraints; -@property (nonatomic) TabBarPickerSubItemsViewType type; @property (nonatomic, strong) NSMutableArray *subItems; @property (nonatomic, strong) UIView *switchBarView; @property (nonatomic, strong) UISwitch *itemSwich; @property (nonatomic, strong) UILabel *switchBarLabel; @property (nonatomic, strong) UIButton *localizationButton; @property (nonatomic, strong) UIView *contentView; +@property (nonatomic, strong) NSString *name; + +@property (nonatomic, strong) UIView *HUD; +@property (nonatomic, strong) UIPickerView *pickerView; + +@property (nonatomic, strong) AADatePicker *datePicker; + +@property (nonatomic, strong) ToucheableScrollView *scrollView; + +@property (nonatomic, strong) UILabel *minPrice; +@property (nonatomic, strong) UILabel *maxPrice; + +@property (nonatomic) NSUInteger firstLoadFirstComponent; +@property (nonatomic) NSUInteger firstLoadSecondComponent; + + @end @@ -34,21 +51,35 @@ - (instancetype) initWithType:(TabBarPickerSubItemsViewType) type subItems:(NSArray*) subItems needsLocalization:(BOOL) needsLocalization{ - self = [self initForAutoLayout]; + self = [self initForAutoLayout]; if (self) { + _firstLoadFirstComponent = 0; + _firstLoadSecondComponent = 0; + _selectedAllergens = [[NSMutableArray alloc] init]; + _selectedTypes = [[NSMutableArray alloc] init]; [self setUserInteractionEnabled:YES]; + [self setBackgroundColor:[UIColor whiteColor]]; _type = type; + _subItems = [[NSMutableArray alloc] init]; + + for (NSObject *subItem in subItems) { + if ([subItem isKindOfClass:[TabBarSubItem class]]) { + [(TabBarSubItem*)subItem setType:(TabBarSubItemsViewType)_type]; + [_subItems addObject:subItem]; + } + } + _needsLocalization = needsLocalization; - _switchBarView = [[UIView alloc] initForAutoLayout]; + _switchBarView = [UIView newAutoLayoutView]; [_switchBarView setBackgroundColor:[@"f7f7f7" colorFromHex]]; - _switchBarLabel = [[UILabel alloc] initForAutoLayout]; + _switchBarLabel = [UILabel newAutoLayoutView]; + [_switchBarLabel setFont:[UIFont fontWithName:@"HelveticaNeue" size:14]]; [_switchBarLabel setTextColor:[@"999999" colorFromHex]]; - [_switchBarLabel setText:NSLocalizedString(@"Distance", @"")]; [_switchBarView addSubview:_switchBarLabel]; - _itemSwich = [[UISwitch alloc] initForAutoLayout]; + _itemSwich = [UISwitch newAutoLayoutView]; [_itemSwich setOnTintColor:[@"ff4e50" colorFromHex]]; [_itemSwich.layer setBorderWidth:2]; @@ -57,26 +88,81 @@ [_itemSwich setUserInteractionEnabled:YES]; [_itemSwich addTarget:self action:@selector(changeSwitch:) forControlEvents:UIControlEventValueChanged]; - _contentView = [[UIView alloc] initForAutoLayout]; + _contentView = [UIView newAutoLayoutView]; [self addSubview:_contentView]; + switch (_type) { + case TabBarPickerSubItemsViewTypeDateAndTime: { + _datePicker = [AADatePicker newAutoLayoutView]; + [_datePicker setShowOnlyValidDates:YES]; + [_datePicker setDelegate:self]; + [_contentView addSubview:_datePicker]; + break; + } + case TabBarPickerSubItemsViewTypeDistance:{ + _pickerView = [UIPickerView newAutoLayoutView]; + [_pickerView setDelegate:self]; + [_pickerView setDataSource:self]; + [_contentView addSubview:_pickerView]; + break; + } + case TabBarPickerSubItemsViewTypePrice: { + _pickerView = [UIPickerView newAutoLayoutView]; + [_pickerView setDelegate:self]; + [_pickerView setDataSource:self]; + [_contentView addSubview:_pickerView]; + + _minPrice = [UILabel newAutoLayoutView]; + [_minPrice setTextAlignment:NSTextAlignmentCenter]; + [_minPrice setText:NSLocalizedString(@"KEY_FILTER_PRICE_MIN", @"")]; + [_minPrice setFont:[UIFont fontWithName:@"HelveticaNeue" size:10]]; + [_minPrice setTextColor:[@"999999" colorFromHex]]; + [_contentView addSubview:_minPrice]; + + _maxPrice = [UILabel newAutoLayoutView]; + [_maxPrice setTextAlignment:NSTextAlignmentCenter]; + [_maxPrice setText:NSLocalizedString(@"KEY_FILTER_PRICE_MAX", @"")]; + [_maxPrice setFont:[UIFont fontWithName:@"HelveticaNeue" size:10]]; + [_maxPrice setTextColor:[@"999999" colorFromHex]]; + [_contentView addSubview:_maxPrice]; + break; + } + case TabBarPickerSubItemsViewTypeCheckBox: + case TabBarPickerSubItemsViewTypeButton:{ + _scrollView = [ToucheableScrollView newAutoLayoutView]; + [_scrollView setBackgroundColor:[UIColor clearColor]]; + + for (TabBarSubItem *item in _subItems) { + [item setDelegate:self]; + + [_scrollView addSubview:item]; + } + + [_contentView addSubview:_scrollView]; + break; + } + default: { + break; + } + } + if (_needsLocalization) { - _localizationView = [[UIView alloc] initForAutoLayout]; - [_localizationView setBackgroundColor:[UIColor purpleColor]]; + _localizationView = [UIView newAutoLayoutView]; + [_localizationView setBackgroundColor:[UIColor whiteColor]]; [_localizationView setAlpha:0]; - _localizationButton = [[UIButton alloc] initForAutoLayout]; + _localizationButton = [UIButton newAutoLayoutView]; [_localizationButton setTitle:NSLocalizedString(@"ATTIVA LOCALIZZAZIONE DISPOSITIVO", @"") forState:UIControlStateNormal]; [_localizationButton addTarget:self action:@selector(openSettings) forControlEvents:UIControlEventTouchUpInside]; [_localizationButton setBackgroundColor:[UIColor whiteColor]]; [_localizationButton.layer setBorderColor:[[@"ff4e50" colorFromHex] CGColor]]; [_localizationButton.layer setBorderWidth:1]; [_localizationButton setTitleColor:[@"ff4e50" colorFromHex] forState:UIControlStateNormal]; - [_localizationButton setTitleEdgeInsets:UIEdgeInsetsMake(0, 5, 0, 5)]; - [_localizationButton.titleLabel setFont:[UIFont fontWithName:@"Helvetica" size:14]]; + [_localizationButton.titleLabel setFont:[UIFont fontWithName:@"HelveticaNeue" size:14]]; + [_localizationButton setContentEdgeInsets:UIEdgeInsetsMake(5, 10, 5, 10)]; [_localizationView addSubview:_localizationButton]; @@ -86,6 +172,11 @@ [self addSubview:_switchBarView]; [_switchBarView addSubview:_itemSwich]; + + _HUD = [UIView newAutoLayoutView]; + [_HUD setBackgroundColor:[[UIColor whiteColor] colorWithAlphaComponent:0.25]]; + [_HUD setAlpha:1]; + [_contentView addSubview:_HUD]; } [self updateConstraintsIfNeeded]; @@ -93,12 +184,34 @@ return self; } +- (void) setTag:(NSInteger)tag { + [super setTag:tag]; + for (UIView *subView in self.subviews) { + [subView setTag:tag]; + } + [_HUD setTag:tag]; + [_localizationButton setTag:tag]; + [_localizationView setTag:tag]; +} + - (void) layoutSubviews { - [UIView animateWithDuration:0.5 animations:^{ - [_localizationView setAlpha:[[NSNumber numberWithBool:[[SharedLocationManager sharedManager] localizationIsAuthorized]] floatValue]]; - }]; + //NSAssert(_dataSource, @"TabBarPickerSubItemsView needs datasource"); + + if (_needsLocalization) { + + [UIView animateWithDuration:0.5 animations:^{ + [_localizationView setAlpha:[[NSNumber numberWithBool:![[SharedLocationManager sharedManager] localizationIsAuthorized]] floatValue]]; + if ([[SharedLocationManager sharedManager] localizationIsAuthorized]) { + [_itemSwich setUserInteractionEnabled:YES]; + } + else { + [_itemSwich setUserInteractionEnabled:NO]; + [_itemSwich setOn:NO]; + } + }]; + } if (!_didSetupConstraints) { @@ -121,23 +234,138 @@ [_contentView autoPinEdge:ALEdgeBottom toEdge:ALEdgeBottom ofView:self]; [_contentView autoAlignAxisToSuperviewAxis:ALAxisVertical]; + [_HUD autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:_contentView]; + [_HUD autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:_contentView]; + [_HUD autoAlignAxisToSuperviewAxis:ALAxisVertical]; + [_HUD autoPinEdge:ALEdgeTop toEdge:ALEdgeTop ofView:_contentView]; + + switch (_type) { + case TabBarPickerSubItemsViewTypeDateAndTime: { + [_datePicker autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:_contentView]; + [_datePicker autoAlignAxisToSuperviewAxis:ALAxisVertical]; + [_datePicker autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; + break; + } + case TabBarPickerSubItemsViewTypeDistance:{ + [_pickerView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:_contentView]; + [_pickerView autoAlignAxisToSuperviewAxis:ALAxisVertical]; + [_pickerView autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; + break; + } + case TabBarPickerSubItemsViewTypePrice: { + [_minPrice autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:_switchBarView withOffset:10]; + [_minPrice autoSetDimension:ALDimensionWidth toSize:[[UIScreen mainScreen] bounds].size.width/2]; + [_minPrice autoPinEdge:ALEdgeLeft toEdge:ALEdgeLeft ofView:_contentView]; + + [_maxPrice autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:_switchBarView withOffset:10]; + [_maxPrice autoSetDimension:ALDimensionWidth toSize:[[UIScreen mainScreen] bounds].size.width/2]; + [_maxPrice autoPinEdge:ALEdgeRight toEdge:ALEdgeRight ofView:_contentView]; + + [_pickerView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:_contentView]; + [_pickerView autoAlignAxisToSuperviewAxis:ALAxisVertical]; + [_pickerView autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; + break; + } + case TabBarPickerSubItemsViewTypeButton:{ + [_scrollView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:_contentView]; + [_scrollView autoAlignAxisToSuperviewAxis:ALAxisVertical]; + [_scrollView autoPinEdgeToSuperviewEdge:ALEdgeTop]; + [_scrollView autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:40]; + + //[_subItems autoDistributeViewsAlongAxis:ALAxisVertical alignedTo:ALAttributeVertical withFixedSpacing:10 insetSpacing:YES matchedSizes:YES]; + + //[[_subItems firstObject] autoAlignAxisToSuperviewAxis:ALAxisVertical]; + BOOL firstOfRow = YES; + TabBarSubItem *prevItem; + CGFloat currentWidth = 0; + for (TabBarSubItem *item in _subItems) { + + if (currentWidth + item.subItemSize.width > [[UIScreen mainScreen] bounds].size.width) { + firstOfRow = YES; + currentWidth = 0; + } + + if (firstOfRow) { + if (prevItem) { + [item autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:prevItem withOffset:0]; + } + else { + [item autoPinEdge:ALEdgeTop toEdge:ALEdgeTop ofView:_scrollView withOffset:0]; + } + [item autoPinEdge:ALEdgeLeft toEdge:ALEdgeLeft ofView:_scrollView withOffset:0]; + prevItem = item; + firstOfRow = NO; + } + else { + [item autoPinEdge:ALEdgeLeft toEdge:ALEdgeRight ofView:prevItem withOffset:0]; + [item autoAlignAxis:ALAxisHorizontal toSameAxisOfView:prevItem withOffset:0]; + prevItem = item; + + if ([item isEqual:[_subItems lastObject]]) { + [item autoPinEdge:ALEdgeBottom toEdge:ALEdgeBottom ofView:_scrollView withOffset:0]; + } + } + currentWidth += item.subItemSize.width; + } + break; + } + case TabBarPickerSubItemsViewTypeCheckBox: { + [_scrollView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:_contentView]; + [_scrollView autoAlignAxisToSuperviewAxis:ALAxisVertical]; + [_scrollView autoPinEdgeToSuperviewEdge:ALEdgeTop]; + [_scrollView autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:40]; + + TabBarSubItem *prevItem; + BOOL firstOfRow = YES; + + for (TabBarSubItem *item in _subItems) { + if (firstOfRow) { + + if (prevItem) { + [item autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:prevItem withOffset:0]; + } + else { + [item autoPinEdge:ALEdgeTop toEdge:ALEdgeTop ofView:_scrollView withOffset:0]; + } + [item autoPinEdge:ALEdgeLeft toEdge:ALEdgeLeft ofView:_scrollView withOffset:0]; + firstOfRow = NO; + prevItem = item; + } + else { + [item autoPinEdge:ALEdgeLeft toEdge:ALEdgeRight ofView:prevItem withOffset:0]; + [item autoAlignAxis:ALAxisHorizontal toSameAxisOfView:prevItem withOffset:0]; + firstOfRow = YES; + + if ([item isEqual:[_subItems lastObject]]) { + [item autoPinEdge:ALEdgeBottom toEdge:ALEdgeBottom ofView:_scrollView withOffset:0]; + [prevItem autoPinEdge:ALEdgeBottom toEdge:ALEdgeBottom ofView:_scrollView withOffset:0]; + } + } + } + + break; + } + default: { + break; + } + } + if (_needsLocalization) { [_localizationView autoPinEdge:ALEdgeTop toEdge:ALEdgeTop ofView:_contentView]; - [_localizationView autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:_contentView]; [_localizationView autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; [_localizationView autoAlignAxisToSuperviewAxis:ALAxisVertical]; - [_localizationButton autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; [_localizationButton autoAlignAxisToSuperviewAxis:ALAxisVertical]; - [_localizationButton autoSetDimension:ALDimensionHeight toSize:44 relation:NSLayoutRelationLessThanOrEqual]; + [_localizationButton autoSetDimension:ALDimensionHeight toSize:44 relation:NSLayoutRelationEqual]; [_localizationButton autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self withMultiplier:0.8]; + [_localizationButton.layer setCornerRadius:44/2]; + } + _didSetupConstraints = YES; } - - [_localizationButton.layer setCornerRadius:_localizationButton.frame.size.height/2]; } - (void) setBackgroundColor:(UIColor *)backgroundColor { @@ -151,12 +379,24 @@ [self addSubview:_localizationView]; } - -- (void)openSettings +- (void) dateChanged:(AADatePicker *)datePicker { + + _pickerSelectedDate = datePicker.date; + _selectedDate = [TabBarSubItem tabBarSubItemWithName:@"date" firstValue:_pickerSelectedDate secondValue:nil andReference:_pickerSelectedDate]; + [_selectedDate setType:(TabBarSubItemsViewType)_type]; + [_tabBarItemReference setSelected:YES]; + + if (_selectedDate) { + if (_delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didSelectTabBarSubItem:forTabBarItem:)]) { + [_delegate tabBarPickerSubItemsView:self didSelectTabBarSubItem:_selectedDate forTabBarItem:_tabBarItemReference]; + } + } +} +- (void) openSettings { UIAlertView *alert = [UIAlertView alertViewWithTitle:NSLocalizedString(@"Settings", @"") message:NSLocalizedString(@"Open Settings?", @"")]; - [alert addButtonWithTitle:NSLocalizedString(@"OK", @"") actionBlock:^(UIAlertView *alertView, NSInteger buttonIndex) { + [alert addButtonWithTitle:NSLocalizedString(@"KEY_OK", @"") actionBlock:^(UIAlertView *alertView, NSInteger buttonIndex) { NSURL *settings = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; if ([[UIApplication sharedApplication] canOpenURL:settings]) { @@ -170,12 +410,152 @@ - (void)changeSwitch:(UISwitch*)sender{ + [_HUD setAlpha:[[NSNumber numberWithBool:![sender isOn]] floatValue]]; if([sender isOn]){ NSLog(@"Switch is ON"); + + switch (_type) { + case TabBarPickerSubItemsViewTypeDistance: { + if (!_selectedDistance) { + _selectedDistance = [_subItems objectAtIndex:[_pickerView selectedRowInComponent:0]]; + [_tabBarItemReference setSelected:YES]; + } + + if (_delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didSelectTabBarSubItem:forTabBarItem:)]) { + [_delegate tabBarPickerSubItemsView:self didSelectTabBarSubItem:_selectedDistance forTabBarItem:_tabBarItemReference]; + } + break; + } + case TabBarPickerSubItemsViewTypeDateAndTime: { + if (_selectedDate) { + if (_delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didSelectTabBarSubItem:forTabBarItem:)]) { + [_delegate tabBarPickerSubItemsView:self didSelectTabBarSubItem:_selectedDate forTabBarItem:_tabBarItemReference]; + } + } + + break; + } + case TabBarPickerSubItemsViewTypePrice: { + if ([_subItems count] > 0) { + if (!_selectedMinPrice) { + _selectedMinPrice = [_subItems objectAtIndex:[_pickerView selectedRowInComponent:0]]; + } + + if (!_selectedMaxPrice) { + _selectedMaxPrice = [_subItems objectAtIndex:[_pickerView selectedRowInComponent:1]]; + } + + if ((_selectedMaxPrice || _selectedMinPrice) && _delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didSelectTabBarSubItems:forTabBarItem:)]) { + //[_delegate tabBarPickerSubItemsView:self didSelectTabBarSubItem:_selectedMinPrice forTabBarItem:_tabBarItemReference]; + [_tabBarItemReference setSelected:YES]; + [_delegate tabBarPickerSubItemsView:self didSelectTabBarSubItems:@[_selectedMinPrice,_selectedMaxPrice] forTabBarItem:_tabBarItemReference]; + } + } + else { + [_tabBarItemReference setSelected:NO]; + } + break; + } + case TabBarPickerSubItemsViewTypeCheckBox: { + if ([_selectedTypes count] > 0 && _delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didSelectTabBarSubItems:forTabBarItem:)]) { + //[_delegate tabBarPickerSubItemsView:self didSelectTabBarSubItem:_selectedMinPrice forTabBarItem:_tabBarItemReference]; + + [_delegate tabBarPickerSubItemsView:self didSelectTabBarSubItems:_selectedTypes forTabBarItem:_tabBarItemReference]; + } + break; + } + case TabBarPickerSubItemsViewTypeButton: { + if ([_selectedTypes count] > 0 && _delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didSelectTabBarSubItems:forTabBarItem:)]) { + //[_delegate tabBarPickerSubItemsView:self didSelectTabBarSubItem:_selectedMinPrice forTabBarItem:_tabBarItemReference]; + + [_delegate tabBarPickerSubItemsView:self didSelectTabBarSubItems:_selectedAllergens forTabBarItem:_tabBarItemReference]; + } + break; + } + default: { + break; + } + } + } else{ NSLog(@"Switch is OFF"); + + switch (_type) { + case TabBarPickerSubItemsViewTypeDistance: { + _selectedDistance = nil; + [_pickerView selectRow:0 inComponent:0 animated:YES]; + [self pickerView:_pickerView didSelectRow:0 inComponent:0]; + if (_delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didResetTabBarSubItem:forTabBarItem:)]) { + [_delegate tabBarPickerSubItemsView:self didResetTabBarSubItem:_selectedDistance forTabBarItem:_tabBarItemReference]; + } + break; + } + case TabBarPickerSubItemsViewTypeDateAndTime: { + _selectedDate = nil; + [_datePicker resetPicker]; + if (_delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didResetTabBarSubItem:forTabBarItem:)]) { + [_delegate tabBarPickerSubItemsView:self didResetTabBarSubItem:_selectedDate forTabBarItem:_tabBarItemReference]; + } + break; + } + case TabBarPickerSubItemsViewTypePrice: { + _selectedMinPrice = nil; + _selectedMaxPrice = nil; + + if ([_subItems count] > 0) { + [_pickerView selectRow:0 inComponent:0 animated:YES]; + [_pickerView selectRow:0 inComponent:1 animated:YES]; + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self pickerView:_pickerView didSelectRow:0 inComponent:0 update:NO]; + [self pickerView:_pickerView didSelectRow:0 inComponent:1 update:NO]; + [[self tabBarItemReference] setSelected:NO]; + }); + if (_selectedMinPrice && _selectedMaxPrice) { + + if (_delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didResetTabBarSubItems:forTabBarItem:)]) { + [_delegate tabBarPickerSubItemsView:self didResetTabBarSubItems:@[_selectedMinPrice,_selectedMaxPrice] forTabBarItem:_tabBarItemReference]; + } + } + else { + if (_delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didResetTabBarSubItems:forTabBarItem:)]) { + [_delegate tabBarPickerSubItemsView:self didResetTabBarSubItems:nil forTabBarItem:_tabBarItemReference]; + } + } + } + break; + } + case TabBarPickerSubItemsViewTypeCheckBox: { + for (TabBarSubItem* selectedType in _selectedTypes) { + [selectedType setSelected:NO]; + } + + [_selectedTypes removeAllObjects]; + if (_delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didResetTabBarSubItems:forTabBarItem:)]) { + [_delegate tabBarPickerSubItemsView:self didResetTabBarSubItems:_selectedTypes forTabBarItem:_tabBarItemReference]; + } + break; + } + case TabBarPickerSubItemsViewTypeButton: { + + for (TabBarSubItem* selectedAllergen in _selectedAllergens) { + [selectedAllergen setSelected:NO]; + } + + [_selectedAllergens removeAllObjects]; + if (_delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didResetTabBarSubItems:forTabBarItem:)]) { + [_delegate tabBarPickerSubItemsView:self didResetTabBarSubItems:_selectedAllergens forTabBarItem:_tabBarItemReference]; + } + + break; + } + default: { + break; + } + } + + [_tabBarItemReference setSelected:NO]; } - } - (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event @@ -188,4 +568,216 @@ [super touchesBegan: touches withEvent:event]; } +- (void) setItemName:(NSString *) itemName { + [_switchBarLabel setText:itemName]; +} + +#pragma mark UIPickerViewDataSource + +- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { + if ([_subItems count] > 0) { + return [(TabBarSubItem*)[_subItems firstObject] numberOfValues]; + //return [_subItems count]; + } + return 0; +} + +// returns the # of rows in each component.. +- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { + return [_subItems count]; +} + +#pragma mark - + +#pragma mark UIPickerViewDelegate + + +/*- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { + + }*/ + +-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view +{ + NSString *string; + + TabBarSubItem *subItem = [_subItems objectAtIndex:row]; + + switch (_type) { + case TabBarPickerSubItemsViewTypeDistance: { + string = [subItem name]; + break; + } + + case TabBarPickerSubItemsViewTypePrice: { + string = [subItem getValueForPrice:component]; + /*if (component == 1 && [subItem isEqual:[_subItems objectAtIndex:[_subItems count]-1]]) { + string = [@"" stringByAppendingString:string]; + }*/ + + break; + } + default: { + break; + } + } + NSDictionary *attributeDict; + + if ((_firstLoadFirstComponent == 0 && component == 0) || ((_firstLoadSecondComponent == 0 && component == 1))) { + attributeDict = @{NSForegroundColorAttributeName : [@"ff4e50" colorFromHex],NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue" size:23]}; + if ((_firstLoadFirstComponent == 0 && component == 0)) { + _firstLoadFirstComponent++; + } + else { + _firstLoadSecondComponent++; + } + } + else { + attributeDict = @{NSForegroundColorAttributeName : [@"999999" colorFromHex],NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue" size:16]}; + } + + NSAttributedString *attributedString = [[NSAttributedString alloc] initWithString:string attributes:attributeDict]; + + // add the string to a label's attributedText property + UILabel *labelView = [[UILabel alloc] init]; + [labelView setTextAlignment:NSTextAlignmentCenter]; + labelView.attributedText = attributedString; + + // return the label + return labelView; +} + +- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component { + return 74; +} + +-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { + [self pickerView:pickerView didSelectRow:row inComponent:component update:YES]; +} + +-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component update:(BOOL) update { + [_tabBarItemReference setSelected:YES]; + + UILabel *labelSelected = (UILabel*)[pickerView viewForRow:row forComponent:component]; + if (labelSelected) { + + NSDictionary *attributeDict = @{NSForegroundColorAttributeName : [@"ff4e50" colorFromHex],NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue" size:23]}; + + NSAttributedString *attributedString = [[NSAttributedString alloc] initWithString:labelSelected.text attributes:attributeDict]; + + [labelSelected setAttributedText:attributedString]; + } + + switch (_type) { + case TabBarPickerSubItemsViewTypeDistance: { + _selectedDistance = [_subItems objectAtIndex:row]; + + if (update) { + + if (_delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didSelectTabBarSubItems:forTabBarItem:)]) { + + [_delegate tabBarPickerSubItemsView:self didSelectTabBarSubItem:_selectedDistance forTabBarItem:_tabBarItemReference]; + } + } + break; + } + case TabBarPickerSubItemsViewTypePrice: { + switch (component) { + case 0:{ + if ([pickerView selectedRowInComponent:1] < row) { + [pickerView selectRow:row inComponent:1 animated:YES]; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self pickerView:pickerView didSelectRow:row inComponent:1 update:NO]; + }); + + } + _selectedMinPrice = [_subItems objectAtIndex:row]; + _selectedMaxPrice = [_subItems objectAtIndex:row]; + break; + } + default:{ + if ([pickerView selectedRowInComponent:0] > row) { + [pickerView selectRow:row inComponent:0 animated:YES]; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self pickerView:pickerView didSelectRow:row inComponent:0 update:NO]; + }); + } + _selectedMinPrice = [_subItems objectAtIndex:row]; + _selectedMaxPrice = [_subItems objectAtIndex:row]; + break; + } + } + + if (!_selectedMinPrice) { + _selectedMinPrice = [_subItems objectAtIndex:[_pickerView selectedRowInComponent:0]]; + } + + if (!_selectedMaxPrice) { + _selectedMaxPrice = [_subItems objectAtIndex:[_pickerView selectedRowInComponent:1]]; + } + + if (update) { + + if (_delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didSelectTabBarSubItems:forTabBarItem:)]) { + + [_delegate tabBarPickerSubItemsView:self didSelectTabBarSubItems:@[_selectedMinPrice,_selectedMaxPrice] forTabBarItem:_tabBarItemReference]; + } + } + break; + } + default: { + break; + } + } +} + +#pragma mark - + +#pragma mark TabBarSubItemDelegate + +- (void) tabBarSubItem:(TabBarSubItem*) item didSelected:(BOOL) selected { + + NSMutableArray *refArray; + switch (_type) { + + case TabBarPickerSubItemsViewTypeCheckBox: { + + refArray = _selectedTypes; + break; + } + case TabBarPickerSubItemsViewTypeButton: { + refArray = _selectedAllergens; + break; + } + default: { + break; + } + } + + if (selected) { + if (![refArray containsObject:item]) { + [refArray addObject:item]; + } + } + else { + if ([refArray containsObject:item]) { + [refArray removeObject:item]; + } + } + + if ([refArray count] > 0) { + [_tabBarItemReference setSelected:YES]; + } + else { + [_tabBarItemReference setSelected:NO]; + } + + if (_delegate && [_delegate respondsToSelector:@selector(tabBarPickerSubItemsView:didSelectTabBarSubItems:forTabBarItem:)]) { + //[_delegate tabBarPickerSubItemsView:self didSelectTabBarSubItem:_selectedMinPrice forTabBarItem:_tabBarItemReference]; + + [_delegate tabBarPickerSubItemsView:self didSelectTabBarSubItems:refArray forTabBarItem:_tabBarItemReference]; + } +} + +#pragma mark - + @end diff --git a/Pod/Classes/TabBarSubItem.h b/Pod/Classes/TabBarSubItem.h index 12ab1c2..f543d88 100644 --- a/Pod/Classes/TabBarSubItem.h +++ b/Pod/Classes/TabBarSubItem.h @@ -8,12 +8,51 @@ #import +typedef NS_ENUM(NSInteger, TabBarSubItemsViewType) { + TabBarSubItemsViewTypeDistance, + TabBarSubItemsViewTypeDateAndTime, + TabBarSubItemsViewTypePrice, + TabBarSubItemsViewTypeCheckBox, + TabBarSubItemsViewTypeButton, +}; + +@class TabBarSubItem; + +@protocol TabBarSubItemDelegate + +@required + +- (void) tabBarSubItem:(TabBarSubItem*) item didSelected:(BOOL) selected; + +@end + @interface TabBarSubItem : UIView @property (nonatomic, strong) NSString *name; @property (nonatomic, strong) UIButton *subItemButton; -@property (nonatomic, strong) id value; +@property (nonatomic, strong) id firstValue; +@property (nonatomic, strong) id secondValue; +@property (nonatomic, strong) id objectReference; +@property (nonatomic, readonly) CGSize subItemSize; +@property (nonatomic) TabBarSubItemsViewType type; +@property (nonatomic) BOOL isLast; -+ (instancetype) tabBarSubItemWithName:(NSString*)name andValue:(id) value;; +@property (nonatomic, strong) id delegate; + ++ (instancetype) tabBarSubItemWithName:(NSString*) name value:(id) value andReference:(id)reference; + ++ (instancetype) tabBarSubItemWithName:(NSString*) name value:(id) value andReference:(id)reference forType:(TabBarSubItemsViewType) type; + ++ (instancetype) tabBarSubItemWithName:(NSString *) name firstValue:(id)firstValue secondValue:(id) secondValue andReference:(id) reference; + ++ (instancetype) tabBarSubItemWithName:(NSString *) name firstValue:(id)firstValue secondValue:(id) secondValue andReference:(id) reference forType:(TabBarSubItemsViewType) type; + +- (NSUInteger) numberOfValues; + +- (NSString *) getValueForPrice:(NSInteger) value; + +- (void) setSelected:(BOOL) selected; + +- (BOOL) isSelected; @end diff --git a/Pod/Classes/TabBarSubItem.m b/Pod/Classes/TabBarSubItem.m index c9d966a..0cb1f56 100644 --- a/Pod/Classes/TabBarSubItem.m +++ b/Pod/Classes/TabBarSubItem.m @@ -8,34 +8,100 @@ #import "TabBarSubItem.h" #import +#import "NSString+HexColor.h" @interface TabBarSubItem() @property (nonatomic) UIDeviceOrientation orientation; @property (nonatomic, assign) BOOL didSetupConstraints; +@property (nonatomic) CGFloat buttonCornerRadius; + @end @implementation TabBarSubItem -- (instancetype) initWithName:(NSString *) name andValue:(id)value { +- (instancetype) initWithName:(NSString *) name firstValue:(id)firstValue secondValue:(id) secondValue reference:(id) reference forType:(TabBarSubItemsViewType) type { self = [self initForAutoLayout]; if (self) { - - //[[NSNotificationCenter defaultCenter] addObserver: self selector:@selector(deviceOrientationDidChange:) name: UIDeviceOrientationDidChangeNotification object: nil]; - + _name = name; - _subItemButton = [[UIButton alloc] initForAutoLayout]; + _type = type; + + _subItemButton = [UIButton newAutoLayoutView]; [_subItemButton setTitle:_name forState:UIControlStateNormal]; - _value = value; + [_subItemButton addTarget:self action:@selector(itemSelected:) forControlEvents:UIControlEventTouchUpInside]; + [_subItemButton setBackgroundColor:[UIColor whiteColor]]; + [_subItemButton setTitleColor:[@"999999" colorFromHex] forState:UIControlStateNormal]; + [_subItemButton setTitleColor:[@"ff4e50" colorFromHex] forState:UIControlStateSelected]; + + switch (_type) { + case TabBarSubItemsViewTypeCheckBox: { + + [_subItemButton.titleLabel setFont:[UIFont fontWithName:@"HelveticaNeue" size:12]]; + [_subItemButton setImage:[UIImage imageNamed:@"checkBox"] forState:UIControlStateNormal]; + [_subItemButton setImage:[UIImage imageNamed:@"checkBoxSelected"] forState:UIControlStateSelected]; + [_subItemButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft]; + //CGFloat textWidth = [_subItemButton.currentTitle sizeWithAttributes:[_subItemButton.titleLabel.attributedText attributesAtIndex:0 effectiveRange:NULL]].width; + _subItemButton.imageEdgeInsets = UIEdgeInsetsMake(0, 22, 0, 0); + _subItemButton.titleEdgeInsets = UIEdgeInsetsMake(0, _subItemButton.imageView.frame.size.width + 10, 0, 0); + //[_subItemButton setContentEdgeInsets:UIEdgeInsetsMake(5, 15, 5, 15)]; + + _subItemSize = CGSizeMake([[UIScreen mainScreen] bounds].size.width/2, 66); + + break; + } + case TabBarSubItemsViewTypeButton: { + + [_subItemButton.layer setBorderColor:[[@"999999" colorFromHex] CGColor]]; + [_subItemButton.layer setBorderWidth:1]; + + //[_subItemButton setTitleEdgeInsets:UIEdgeInsetsMake(0, 5, 0, 5)]; + [_subItemButton.titleLabel setFont:[UIFont fontWithName:@"HelveticaNeue" size:14]]; + [_subItemButton setContentEdgeInsets:UIEdgeInsetsMake(5, 10, 5, 10)]; + + CGSize size = [_subItemButton sizeThatFits:[[UIScreen mainScreen] bounds].size]; + _buttonCornerRadius = size.height/2; + _subItemSize = size; + _subItemSize.width = _subItemSize.width + _subItemButton.contentEdgeInsets.left/2 + _subItemButton.contentEdgeInsets.right/2; + _subItemSize.height = _subItemSize.height+ _subItemButton.contentEdgeInsets.top + _subItemButton.contentEdgeInsets.bottom; + + break; + } + default: { + break; + } + } + + + [self addSubview:_subItemButton]; + + _firstValue = ( firstValue ? firstValue : @""); + _objectReference = (reference ? reference : _firstValue); + _secondValue = secondValue; } + + [self updateConstraintsIfNeeded]; + return self; } -+ (instancetype) tabBarSubItemWithName:(NSString*)name andValue:(id)value { - return [[self alloc] initWithName:name andValue:value]; ++ (instancetype) tabBarSubItemWithName:(NSString*)name value:(id) value andReference:(id)reference { + return [[self alloc] initWithName:name firstValue:value secondValue:nil reference:reference forType:TabBarSubItemsViewTypeButton]; +} + ++ (instancetype) tabBarSubItemWithName:(NSString*)name value:(id) value andReference:(id)reference forType:(TabBarSubItemsViewType) type { + return [[self alloc] initWithName:name firstValue:value secondValue:nil reference:reference forType:type]; +} + ++ (instancetype) tabBarSubItemWithName:(NSString *) name firstValue:(id)firstValue secondValue:(id) secondValue andReference:(id) reference { + return [[self alloc] initWithName:name firstValue:firstValue secondValue:secondValue reference:reference forType:TabBarSubItemsViewTypeButton]; +} + ++ (instancetype) tabBarSubItemWithName:(NSString *) name firstValue:(id)firstValue secondValue:(id) secondValue andReference:(id) reference forType:(TabBarSubItemsViewType) type { + return [[self alloc] initWithName:name firstValue:firstValue secondValue:secondValue reference:reference forType:type]; } - (void) setName:(NSString *)name { @@ -43,28 +109,96 @@ [_subItemButton setTitle:_name forState:UIControlStateNormal]; } - -- (void)deviceOrientationDidChange:(NSNotification *)notification { - //Obtain current device orientation - _orientation = [[UIDevice currentDevice] orientation]; +- (NSUInteger) numberOfValues { + NSUInteger response = 0; - [self layoutSubviews]; + if (_firstValue) { + response++; + } + + if (_secondValue) { + response++; + } + + return response; +} + +- (NSString *) getValueForPrice:(NSInteger) value { + NSString *responseString; + switch (value) { + case 0: + if ([_firstValue isKindOfClass:[NSString class]]) { + return _firstValue; + } + else { + responseString = [NSString stringWithFormat:@"%@ %00.02f",_name,[_firstValue floatValue]]; + } + break; + default:{ + if ([_secondValue isKindOfClass:[NSString class]]) { + return _secondValue; + } + else { + responseString = [NSString stringWithFormat:@"%@ %00.02f",_name,[_secondValue floatValue]]; + } + + } + break; + } + return responseString; } - (void) layoutSubviews { - /*if ([self.constraints count] > 0) { + if (!_didSetupConstraints) { - [NSLayoutConstraint deactivateConstraints:self.constraints]; + [self autoSetDimension:ALDimensionHeight toSize:_subItemSize.height relation:NSLayoutRelationGreaterThanOrEqual]; + [self autoSetDimension:ALDimensionWidth toSize:_subItemSize.width relation:NSLayoutRelationGreaterThanOrEqual]; - }*/ - - if (_didSetupConstraints) { + [_subItemButton autoCenterInSuperview]; + if (_type == TabBarSubItemsViewTypeCheckBox) { + [_subItemButton autoSetDimension:ALDimensionHeight toSize:_subItemSize.height]; + [_subItemButton autoSetDimension:ALDimensionWidth toSize:_subItemSize.width]; + } + + if (_type == TabBarSubItemsViewTypeButton) { + [_subItemButton.layer setCornerRadius:_buttonCornerRadius]; + } _didSetupConstraints = YES; } + +} + +- (void) itemSelected:(UIButton *) button { + [button setSelected:!button.isSelected]; + + if (button.isSelected) { + [_subItemButton.layer setBorderColor:[[@"ff4e50" colorFromHex] CGColor]]; + } + else { + [_subItemButton.layer setBorderColor:[[@"999999" colorFromHex] CGColor]]; + } + + if (_delegate && [_delegate respondsToSelector:@selector(tabBarSubItem:didSelected:)]) { + [_delegate tabBarSubItem:self didSelected:button.isSelected]; + } } +- (void) setSelected:(BOOL) selected { + [_subItemButton setSelected:selected]; + + if (_subItemButton.isSelected) { + [_subItemButton.layer setBorderColor:[[@"ff4e50" colorFromHex] CGColor]]; + } + else { + [_subItemButton.layer setBorderColor:[[@"999999" colorFromHex] CGColor]]; + } +} + +- (BOOL) isSelected { + return [_subItemButton isSelected]; +} @end diff --git a/Pod/Classes/Vendor/AADatePicker/AADatePicker.h b/Pod/Classes/Vendor/AADatePicker/AADatePicker.h new file mode 100755 index 0000000..ec64a82 --- /dev/null +++ b/Pod/Classes/Vendor/AADatePicker/AADatePicker.h @@ -0,0 +1,32 @@ +// +// AADatePicker.h +// CustomDatePicker +// +// Created by Amit Attias on 3/26/14. +// Copyright (c) 2014 I'm IT. All rights reserved. +// + +#import + +@class AADatePicker; + +@protocol AADatePickerDelegate + +@optional + +-(void)dateChanged:(AADatePicker*)datePicker; + +@end + +@interface AADatePicker : UIControl + +@property (nonatomic, strong) id delegate; +@property (nonatomic, strong) NSDate *date; +@property (nonatomic) BOOL showOnlyValidDates; +@property (nonatomic) BOOL showsSelectionIndicator; + +- (instancetype) initWithFrame:(CGRect)frame maxDate:(NSDate *)maxDate minDate:(NSDate *)minDate showValidDatesOnly:(BOOL)showValidDatesOnly; + +- (void) resetPicker; + +@end diff --git a/Pod/Classes/Vendor/AADatePicker/AADatePicker.m b/Pod/Classes/Vendor/AADatePicker/AADatePicker.m new file mode 100755 index 0000000..61b3b5f --- /dev/null +++ b/Pod/Classes/Vendor/AADatePicker/AADatePicker.m @@ -0,0 +1,310 @@ +// +// AADatePicker.m +// CustomDatePicker +// +// Created by Amit Attias on 3/26/14. +// Copyright (c) 2014 I'm IT. All rights reserved. +// + +#import "AADatePicker.h" +#import +#import "NSString+HexColor.h" +#import "NSDate+NSDate_Util.h" + +@interface AADatePicker () +{ + NSInteger nDays; +} + +@property (nonatomic, strong) UIPickerView *picker; +@property (nonatomic, strong) NSCalendar *calendar; +@property (nonatomic, strong) NSDate *minDate; +@property (nonatomic, strong) NSDate *maxDate; +@property (readonly, strong) NSDate *earliestPresentedDate; +@property (nonatomic) BOOL didSetupConstraints; + +@end + +@implementation AADatePicker + +- (id)initWithFrame:(CGRect)frame { + self = [super initWithFrame:frame]; + + if (!self) { + return nil; + } + + _minDate = [NSDate date]; + + [self commonInit]; + + return self; +} + +- (id)initWithFrame:(CGRect)frame maxDate:(NSDate *)maxDate minDate:(NSDate *)minDate showValidDatesOnly:(BOOL)showValidDatesOnly +{ + self = [super initWithFrame:frame]; + + if (!self) { + return nil; + } + + assert((((minDate) && (maxDate)) && ([minDate compare:maxDate] != NSOrderedDescending))); + + _minDate = minDate; + _maxDate = maxDate; + _showOnlyValidDates = showValidDatesOnly; + + [self commonInit]; + + return self; +} + +- (id)initWithCoder:(NSCoder *)coder { + self = [super initWithCoder:coder]; + + if (!self) { + return nil; + } + + [self commonInit]; + + return self; +} + + +- (void) layoutSubviews { + + if (!_didSetupConstraints) { + [_picker autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; + [_picker autoAlignAxisToSuperviewAxis:ALAxisVertical]; + [_picker autoPinEdge:ALEdgeTop toEdge:ALEdgeTop ofView:self]; + [_picker autoPinEdge:ALEdgeBottom toEdge:ALEdgeBottom ofView:self]; + [_picker autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self]; + [_picker autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self]; + } +} + +- (void) resetPicker { + + [self showDateOnPicker:self.earliestPresentedDate]; +} + +-(NSDate *)earliestPresentedDate +{ + return _showOnlyValidDates ? _minDate : [NSDate date]; +} + +- (void)commonInit { + [self setBackgroundColor:[UIColor clearColor]]; + _showsSelectionIndicator = YES; + _calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; + + _picker = [[UIPickerView alloc] initWithFrame:self.bounds]; + _picker.dataSource = self; + _picker.delegate = self; + [_picker setShowsSelectionIndicator:_showsSelectionIndicator]; + + + [self initDate]; + + [self showDateOnPicker:_date]; + + [self addSubview:_picker]; +} + +- (void) setShowsSelectionIndicator:(BOOL)showsSelectionIndicator { + _showsSelectionIndicator = showsSelectionIndicator; + [_picker setShowsSelectionIndicator:_showsSelectionIndicator]; +} + +-(void)showDateOnPicker:(NSDate *)date +{ + _date = date; + + NSDateComponents *components = [_calendar + components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay + fromDate:self.earliestPresentedDate]; + + NSDate *fromDate = [_calendar dateFromComponents:components]; + + + components = [_calendar components:(NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute) + fromDate:fromDate + toDate:date + options:0]; + + NSInteger hour = [components hour] + 24 * (INT16_MAX / 120); + NSInteger minute = [components minute] + 60 * (INT16_MAX / 120); + NSInteger day = [components day]; + + [_picker selectRow:day inComponent:0 animated:YES]; + [_picker selectRow:hour inComponent:1 animated:YES]; + [_picker selectRow:minute inComponent:2 animated:YES]; + +} + +-(void)initDate +{ + NSInteger startDayIndex = 0; + NSInteger startHourIndex = 0; + NSInteger startMinuteIndex = 0; + + if ((_minDate) && (_maxDate) && _showOnlyValidDates) { + NSDateComponents *components = [_calendar components:NSCalendarUnitDay + fromDate:_minDate + toDate:_maxDate + options:0]; + + nDays = components.day + 1; + } else { + nDays = INT16_MAX; + } + NSDate *dateToPresent; + + if ([_minDate compare:[NSDate date]] == NSOrderedDescending) { + dateToPresent = _minDate; + } else if ([_maxDate compare:[NSDate date]] == NSOrderedAscending) { + dateToPresent = _maxDate; + } else { + dateToPresent = [NSDate date]; + } + + NSDateComponents *todaysComponents = [_calendar components:NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute + fromDate:self.earliestPresentedDate + toDate:dateToPresent + options:0]; + + startDayIndex = todaysComponents.day; + startHourIndex = todaysComponents.hour; + startMinuteIndex = todaysComponents.minute; + + _date = [NSDate dateWithTimeInterval:startDayIndex*24*60*60+startHourIndex*60*60+startMinuteIndex*60 sinceDate:self.earliestPresentedDate]; +} + +- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView +{ + return 3; +} + +- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component +{ + if (component == 0) + { + return nDays; + } + else if (component == 1) + { + return INT16_MAX; + } + else + { + return INT16_MAX; + } +} + +-(CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component +{ + switch (component) { + case 0: + return 150; + break; + case 1: + return 50; + break; + case 2: + return 50; + break; + default: + return 0; + break; + } +} + + + +-(CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component +{ + return 74; +} + +-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view +{ + UILabel *lblDate = [[UILabel alloc] init]; + [lblDate setBackgroundColor:[UIColor clearColor]]; + + switch (component) { + case 0:{ + NSDate *aDate = [NSDate dateWithTimeInterval:row*24*60*60 sinceDate:self.earliestPresentedDate]; + + NSDateComponents *components = [_calendar components:(NSCalendarUnitEra|NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay) fromDate:[NSDate date]]; + NSDate *today = [_calendar dateFromComponents:components]; + components = [_calendar components:(NSCalendarUnitEra|NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay) fromDate:aDate]; + NSDate *otherDate = [_calendar dateFromComponents:components]; + + if ([today isEqualToDate:otherDate]) { + [lblDate setText:NSLocalizedString(@"Today",@"")]; + } else { + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + formatter.locale = [NSLocale currentLocale]; + formatter.dateFormat = @"MMM d"; + + [lblDate setText:[formatter stringFromDate:aDate]]; + } + + lblDate.textAlignment = NSTextAlignmentLeft; + break; + } + case 1:{ + int max = (int)[_calendar maximumRangeOfUnit:NSCalendarUnitHour].length; + [lblDate setText:[NSString stringWithFormat:@"%02d",(row % max)]]; // 02d = pad with leading zeros to 2 digits + lblDate.textAlignment = NSTextAlignmentCenter; + break; + } + case 2:{ + int max = (int)[_calendar maximumRangeOfUnit:NSCalendarUnitMinute].length; + [lblDate setText:[NSString stringWithFormat:@"%02d",(row % max)]]; + lblDate.textAlignment = NSTextAlignmentLeft; + break; + } + default: + break; + } + + NSDictionary *attributeDict = @{NSForegroundColorAttributeName : [@"ff4e50" colorFromHex],NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue" size:23]}; + NSAttributedString *attributedString = [[NSAttributedString alloc] initWithString:lblDate.text attributes:attributeDict]; + lblDate.attributedText = attributedString; + + return lblDate; +} + +-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component +{ + NSInteger daysFromStart; + NSDate *chosenDate; + + daysFromStart = [pickerView selectedRowInComponent:0]; + chosenDate = [NSDate dateWithTimeInterval:daysFromStart*24*60*60 sinceDate:self.earliestPresentedDate]; + + NSInteger hour = [pickerView selectedRowInComponent:1]; + NSInteger minute = [pickerView selectedRowInComponent:2]; + + // Build date out of the components we got + NSDateComponents *components = [_calendar components:(NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear) fromDate:chosenDate]; + + components.hour = hour % 24; + components.minute = minute % 60; + + _date = [[_calendar dateFromComponents:components] toLocalTime]; + + if ([_date compare:_minDate] == NSOrderedAscending) { + [self showDateOnPicker:_minDate]; + } else if ([_date compare:_maxDate] == NSOrderedDescending) { + [self showDateOnPicker:_maxDate]; + } + + if ((_delegate) && ([_delegate respondsToSelector:@selector(dateChanged:)])) { + [_delegate dateChanged:self]; + } +} +@end diff --git a/Pod/Classes/Vendor/NSDate+NSDate_Util/NSDate+NSDate_Util.h b/Pod/Classes/Vendor/NSDate+NSDate_Util/NSDate+NSDate_Util.h new file mode 100755 index 0000000..a1e092b --- /dev/null +++ b/Pod/Classes/Vendor/NSDate+NSDate_Util/NSDate+NSDate_Util.h @@ -0,0 +1,120 @@ +// +// NSDate+NSDate_Util.h +// Butlr +// +// Created by Giuseppe Nucifora on 11/02/14. +// Copyright (c) 2014 Meedori. All rights reserved. +// + +#import + +#define kSunRiseMinutes 5*60 +#define kSunSetMinutes 19*60 + +#define kMoonRiseMinutes 17*60 +#define kMoonSetMinutes 7*60 + +static NSString *kNSDateHelperFormatFullDateWithTime = @"MMM d, yyyy h:mm a"; +static NSString *kNSDateHelperFormatFullDate = @"MMM d, yyyy"; +static NSString *kNSDateHelperFormatShortDateWithTime = @"MMM d h:mm a"; +static NSString *kNSDateHelperFormatShortDate = @"MMM d"; +static NSString *kNSDateHelperFormatWeekday = @"EEEE"; +static NSString *kNSDateHelperFormatWeekdayWithTime = @"EEEE h:mm a"; +static NSString *kNSDateHelperFormatTime = @"h:mm a"; +static NSString *kNSDateHelperFormatTimeWithPrefix = @"'at' h:mm a"; +static NSString *kNSDateHelperFormatSQLDate = @"yyyy-MM-dd"; +static NSString *kNSDateHelperFormatSQLTime = @"HH:mm:ss"; +static NSString *kNSDateHelperFormatSQLDateWithTime = @"yyyy-MM-dd HH:mm:ss"; + +static NSString *kNSDateHelperFormatSQLDate_shashSeparated = @"yyyy/MM/dd"; +static NSString *kNSDateHelperFormatSQLDate_notSlashSeparated = @"yyyy-MM-dd"; +static NSString *kNSDateHelperFormatSQLDateWithTime_shashSeparated = @"yyyy/MM/dd HH:mm:ss"; + + + +static NSString *kNSDateHelperFormatSQLDateIT = @"dd-MM-yyyy"; +static NSString *kNSDateHelperFormatSQLDateEN = @"MM-dd-yyyy"; + +static NSString *kNSDateHelperFormatSQLDateIT_shashSeparated = @"dd/MM/yyyy"; +static NSString *kNSDateHelperFormatSQLDateEN_shashSeparated = @"MM/dd/yyyy"; + +@interface NSDate (NSDate_Util) + +- (NSDate *)dateToNearestMinutes:(NSInteger)minutes; + +- (NSDate *) dateByAddingMinutes: (NSInteger) dMinutes; +- (NSDate *) dateByAddingHours:(NSInteger) hours; +- (NSDate*) dateByAddingDays:(NSInteger) days; +- (NSDate*) dateByAddingYears:(NSInteger) years; + +- (NSDate *) dateBySubtractingMinutes: (NSInteger) dMinutes; +- (NSDate *) dateBySubtractingHours: (NSInteger) hours; +- (NSDate *) dateBySubtractingDays: (NSInteger) days; +- (NSDate *) dateBySubtractingYears: (NSInteger) years; + + +- (NSDate *) dateAtStartOfDay; + +- (NSInteger) minutesAfterDate: (NSDate *) aDate; +- (CGFloat) distanceInWeeksToDate:(NSDate *)anotherDate; +- (CGFloat) distanceInDaysToDate:(NSDate *)anotherDate; +- (CGFloat) distanceInHoursToDate:(NSDate *)anotherDate; +- (CGFloat) distanceInMinutesToDate:(NSDate *)anotherDate; +- (CGFloat) distanceInSeconsToDate:(NSDate *)anotherDate; + +-(NSDate *) toLocalTime; +-(NSDate *) toGlobalTime; + +- (BOOL) isSameYearAsDate: (NSDate *) aDate; +- (BOOL) isEarlierThanDate: (NSDate *) aDate; +- (BOOL) isLaterThanDate: (NSDate *) aDate; + ++ (void)initializeStatics; + ++ (NSCalendar *)sharedCalendar; ++ (NSDateFormatter *)sharedDateFormatter; +- (NSUInteger)daysAgo; +- (NSUInteger)daysAgoAgainstMidnight; +- (NSString *)stringDaysAgo; +- (NSString *)stringDaysAgoAgainstMidnight:(BOOL)flag; +- (NSUInteger)monthDay; +- (NSUInteger)weekday; +- (NSUInteger)month; +- (NSUInteger)weekNumber; +- (NSUInteger)hour; +- (NSUInteger)minute; +- (NSUInteger)year; +- (long int)utcTimeStamp; //full seconds since ++ (NSDate *)dateFromString:(NSString *)string; ++ (NSDate *)dateFromString:(NSString *)string withFormat:(NSString *)format; ++ (NSDate *)dateFromString:(NSString *)string withFormat:(NSString *)format withTimeZone:(NSTimeZone*) timeZone; ++ (NSString *)stringFromDate:(NSDate *)date withFormat:(NSString *)string; ++ (NSString *)stringFromDate:(NSDate *)date; ++ (NSString *)stringForDisplayFromDate:(NSDate *)date; ++ (NSString *)stringForDisplayFromDate:(NSDate *)date prefixed:(BOOL)prefixed; ++ (NSString *)stringForDisplayFromDate:(NSDate *)date prefixed:(BOOL)prefixed alwaysDisplayTime:(BOOL)displayTime; +- (NSString *)string; +- (NSString *)stringWithFormat:(NSString *)format; +- (NSString *)stringWithFormat:(NSString *)format timeZone:(NSTimeZone*) timezone; +- (NSString *)stringWithDateStyle:(NSDateFormatterStyle)dateStyle timeStyle:(NSDateFormatterStyle)timeStyle; +- (NSDate *)beginningOfWeek; +- (NSDate *)beginningOfDay; +- (NSDate *)endOfWeek; ++ (NSString *)dateFormatString; ++ (NSString *)timeFormatString; ++ (NSString *)timestampFormatString; ++ (NSString *)dbFormatString; + ++ (NSString *) parseDateFormatFromString:(NSString *)dateString; + ++ (NSString *) WCFStringFromDate:(NSDate*) date; + ++ (NSArray*) getSlotTimesFromDate:(NSDate*) date distanceMinutes:(NSInteger) minutes; + +- (BOOL)isSameDayAsDate:(NSDate*)otherDate; + ++ (NSString *) getUniversalHourFromDateString:(NSString *)string formatterString:(NSString*) formatterString andUppercaseString:(BOOL)uppercaseString; +- (NSString *) getUniversalHourUppercaseString:(BOOL)uppercaseString; +- (NSString *)getNotificationUniversalHourUppercaseString:(BOOL)uppercaseString; + +@end diff --git a/Pod/Classes/Vendor/NSDate+NSDate_Util/NSDate+NSDate_Util.m b/Pod/Classes/Vendor/NSDate+NSDate_Util/NSDate+NSDate_Util.m new file mode 100755 index 0000000..217188e --- /dev/null +++ b/Pod/Classes/Vendor/NSDate+NSDate_Util/NSDate+NSDate_Util.m @@ -0,0 +1,1183 @@ +// +// NSDate+NSDate_Util.m +// Butlr +// +// Created by Giuseppe Nucifora on 11/02/14. +// Copyright (c) 2014 Meedori. All rights reserved. +// + +#import "NSDate+NSDate_Util.h" + +#define DATE_COMPONENTS (NSCalendarUnitEra | NSCalendarUnitYear| NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitWeekOfMonth | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitWeekday | NSCalendarUnitWeekdayOrdinal) +#define CURRENT_CALENDAR [NSCalendar currentCalendar] +#define D_MINUTE 60 + + + + + +@implementation NSDate (NSDate_Util) + +static NSCalendar *_calendar = nil; +static NSDateFormatter *_displayFormatter = nil; + ++ (void)initializeStatics { + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + @autoreleasepool { + if (_calendar == nil) { +#if __has_feature(objc_arc) + _calendar = [NSCalendar currentCalendar]; +#else + _calendar = [[NSCalendar currentCalendar] retain]; +#endif + } + if (_displayFormatter == nil) { + _displayFormatter = [[NSDateFormatter alloc] init]; + } + } + }); +} + +- (NSDate *) dateAtStartOfDay +{ + NSDateComponents *components = [CURRENT_CALENDAR components:DATE_COMPONENTS fromDate:self]; + components.hour = 0; + components.minute = 0; + components.second = 0; + return [CURRENT_CALENDAR dateFromComponents:components]; +} +- (NSInteger) minutesAfterDate: (NSDate *) aDate +{ + NSTimeInterval ti = [self timeIntervalSinceDate:aDate]; + return (NSInteger) (ti / D_MINUTE); +} + + +- (NSDate *) dateBySubtractingMinutes: (NSInteger) dMinutes +{ + return [self dateByAddingMinutes: (dMinutes * -1)]; +} + +- (NSDate *) dateBySubtractingHours: (NSInteger) hours { + + return [self dateByAddingHours: (hours * -1)]; +} + +- (NSDate *) dateBySubtractingDays: (NSInteger) days +{ + return [self dateByAddingDays: (days * -1)]; +} + +- (NSDate *) dateBySubtractingYears: (NSInteger) years { + + + return [self dateByAddingYears: (years * -1)]; +} + +- (NSDate *)dateToNearestMinutes:(NSInteger)minutes { + unsigned unitFlags = NSCalendarUnitYear| NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitWeekOfMonth | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitWeekday | NSCalendarUnitWeekdayOrdinal; + // Extract components. + NSDateComponents *time = [[NSCalendar currentCalendar] components:unitFlags fromDate:self]; + NSInteger thisMin = [time minute]; + NSDate *newDate; + long remain = thisMin % minutes; + // if less then 3 then round down + NSInteger dividor = ceil(minutes/2); + if (remain= thisYear) { + if (displayTime) { + [formatter setDateFormat:kNSDateHelperFormatShortDateWithTime]; + } + else { + [formatter setDateFormat:kNSDateHelperFormatShortDate]; + } + } else { + if (displayTime) { + [formatter setDateFormat:kNSDateHelperFormatFullDateWithTime]; + } + else { + [formatter setDateFormat:kNSDateHelperFormatFullDate]; + } + } + } + if (prefixed) { + NSString *dateFormat = [formatter dateFormat]; + NSString *prefix = @"'on' "; + [formatter setDateFormat:[prefix stringByAppendingString:dateFormat]]; + } + } + // use display formatter to return formatted date string + displayString = [formatter stringFromDate:date]; + return displayString; +} + ++ (NSString *)stringForDisplayFromDate:(NSDate *)date prefixed:(BOOL)prefixed { + return [[self class] stringForDisplayFromDate:date prefixed:prefixed alwaysDisplayTime:NO]; +} + ++ (NSString *)stringForDisplayFromDate:(NSDate *)date { + return [self stringForDisplayFromDate:date prefixed:NO]; +} + +- (NSString *)stringWithFormat:(NSString *)format { + + NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init]; + [outputFormatter setDateFormat:format]; + NSString *timestamp_str = [outputFormatter stringFromDate:self]; + + return timestamp_str; +} + +- (NSString *)stringWithFormat:(NSString *)format timeZone:(NSTimeZone*) timezone { + + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + [formatter setDateFormat:format]; + [formatter setTimeZone:timezone]; + + NSString *timestamp_str = [formatter stringFromDate:self]; + return timestamp_str; +} + +- (NSString *)string { + return [self stringWithFormat:[NSDate dbFormatString]]; +} + +- (NSString *)stringWithDateStyle:(NSDateFormatterStyle)dateStyle timeStyle:(NSDateFormatterStyle)timeStyle { + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + + [formatter setDateStyle:dateStyle]; + [formatter setTimeStyle:timeStyle]; + NSString *outputString = [formatter stringFromDate:self]; + return outputString; +} + +- (NSDate *)beginningOfWeek { + // largely borrowed from "Date and Time Programming Guide for Cocoa" + // we'll use the default calendar and hope for the best + NSCalendar *calendar = [[self class] sharedCalendar]; + NSDate *beginningOfWeek = nil; + BOOL ok = [calendar rangeOfUnit:NSCalendarUnitWeekOfMonth startDate:&beginningOfWeek + interval:NULL forDate:self]; + if (ok) { + return beginningOfWeek; + } + // couldn't calc via range, so try to grab Sunday, assuming gregorian style + // Get the weekday component of the current date + NSDateComponents *weekdayComponents = [calendar components:NSCalendarUnitWeekday fromDate:self]; + /* + Create a date components to represent the number of days to subtract from the current date. + The weekday value for Sunday in the Gregorian calendar is 1, so subtract 1 from the number of days to subtract from the date in question. (If today's Sunday, subtract 0 days.) + */ + NSDateComponents *componentsToSubtract = [[NSDateComponents alloc] init]; + [componentsToSubtract setDay: 0 - ([weekdayComponents weekday] - 1)]; + beginningOfWeek = nil; + beginningOfWeek = [calendar dateByAddingComponents:componentsToSubtract toDate:self options:0]; +#if !__has_feature(objc_arc) + [componentsToSubtract release]; +#endif + //normalize to midnight, extract the year, month, and day components and create a new date from those components. + NSDateComponents *components = [calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) + fromDate:beginningOfWeek]; + return [calendar dateFromComponents:components]; +} + +- (NSDate *)beginningOfDay { + NSCalendar *calendar = [[self class] sharedCalendar]; + // Get the weekday component of the current date + NSDateComponents *components = [calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) + fromDate:self]; + return [calendar dateFromComponents:components]; +} + +- (NSDate *)endOfWeek { + NSCalendar *calendar = [[self class] sharedCalendar]; + // Get the weekday component of the current date + NSDateComponents *weekdayComponents = [calendar components:NSCalendarUnitWeekday fromDate:self]; + NSDateComponents *componentsToAdd = [[NSDateComponents alloc] init]; + // to get the end of week for a particular date, add (7 - weekday) days + [componentsToAdd setDay:(7 - [weekdayComponents weekday])]; + NSDate *endOfWeek = [calendar dateByAddingComponents:componentsToAdd toDate:self options:0]; +#if !__has_feature(objc_arc) + [componentsToAdd release]; +#endif + return endOfWeek; +} + ++ (NSString *)dateFormatString { + return kNSDateHelperFormatSQLDate; +} + ++ (NSString *)timeFormatString { + return kNSDateHelperFormatSQLTime; +} + ++ (NSString *)timestampFormatString { + return kNSDateHelperFormatSQLDateWithTime; +} + +// preserving for compatibility ++ (NSString *)dbFormatString { + return [NSDate timestampFormatString]; +} + ++ (NSString *)parseDateFormatFromString:(NSString *)dateString { + + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + + NSArray *dateFormatsArray = [[NSArray alloc] initWithObjects:kNSDateHelperFormatSQLDate,kNSDateHelperFormatSQLDateIT,kNSDateHelperFormatSQLDate_notSlashSeparated,kNSDateHelperFormatSQLDateEN,kNSDateHelperFormatSQLDateIT_shashSeparated,kNSDateHelperFormatSQLDateEN_shashSeparated,kNSDateHelperFormatSQLTime,kNSDateHelperFormatSQLDateWithTime,kNSDateHelperFormatSQLDate_shashSeparated,kNSDateHelperFormatSQLDateWithTime_shashSeparated,kNSDateHelperFormatFullDateWithTime,kNSDateHelperFormatFullDate,kNSDateHelperFormatShortDateWithTime,kNSDateHelperFormatShortDate,kNSDateHelperFormatWeekday,kNSDateHelperFormatWeekdayWithTime,kNSDateHelperFormatTime,kNSDateHelperFormatTimeWithPrefix, nil]; + + + for (NSString *dateFormat in dateFormatsArray) { + + [dateFormatter setDateFormat:dateFormat]; + + NSDate *theDate = nil; + NSError *error = nil; + if (![dateFormatter getObjectValue:&theDate forString:dateString range:nil error:&error]) { + NSLog(@"Date '%@' could not be parsed: %@", dateString, error); + } + else { + return dateFormat; + } + } + return nil; +} + ++ (NSArray*) getSlotTimesFromDate:(NSDate*) date distanceMinutes:(NSInteger) minutes { + + if (!date) { + date = [NSDate date]; + } + + if (minutes == 0) { + minutes = 10; + } + + NSMutableArray *slotTimes = [[NSMutableArray alloc] init]; + + BOOL step = TRUE; + while (step){ + + [slotTimes addObject:date]; + + if([date minute] == 30 && [date hour] == 23) { + step = FALSE; + } + + date = [date dateByAddingMinutes:minutes]; + } + + + return slotTimes; +} + +- (BOOL)isSameDayAsDate:(NSDate*)otherDate { + + // From progrmr's answer... + NSCalendar* calendar = [NSCalendar currentCalendar]; + + unsigned unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay; + NSDateComponents* comp1 = [calendar components:unitFlags fromDate:self]; + NSDateComponents* comp2 = [calendar components:unitFlags fromDate:otherDate]; + + return [comp1 day] == [comp2 day] && + [comp1 month] == [comp2 month] && + [comp1 year] == [comp2 year]; +} + ++ (NSString *)getUniversalHourFromDateString:(NSString *)string formatterString:(NSString*) formatterString andUppercaseString:(BOOL)uppercaseString { + + NSString * dateString = [NSString stringWithString:string]; + + NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; + if (formatterString) { + [dateFormatter setDateFormat:formatterString]; + } + else { + [dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; + } + NSDate* myDate = [dateFormatter dateFromString:dateString]; + + NSDate *now = [NSDate date]; + NSTimeInterval time = [myDate timeIntervalSinceDate:now]; + + if (time < 0) { + time *=-1; + + if (time < 60) { + if (uppercaseString) { + return [NSLocalizedString(@"Poco fa", nil) uppercaseString]; + } + return NSLocalizedString(@"Poco fa", nil); + } else if (time < 3600) { + int diff = round(time / 60); + + if (diff == 1) { + if (uppercaseString) { + return [NSLocalizedString(@"1 Minuto fa", nil) uppercaseString]; + } + return NSLocalizedString(@"1 Minuto fa", nil); + } + + if (uppercaseString) { + return [[NSString stringWithFormat:@"%d %@", diff, NSLocalizedString(@"Minuti fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%d %@", diff, NSLocalizedString(@"Minuti fa", nil)]; + + } else if (time < 86400) { + int diff = round(time / 60 / 60); + if (diff == 1) { + if (uppercaseString) { + return [NSLocalizedString(@"1 Ora fa", nil) uppercaseString]; + } + return NSLocalizedString(@"1 Ora fa", nil); + } + if (uppercaseString) { + return [[NSString stringWithFormat:@"%d %@", diff, NSLocalizedString(@"Ore fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%d %@", diff, NSLocalizedString(@"Ore fa", nil)]; + } else { + NSInteger diff = round(time / 60 / 60 / 24); + switch (diff) { + case 1:{ + if (uppercaseString) { + + return [[NSString stringWithFormat:@"%@",NSLocalizedString(@"Ieri", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%@",NSLocalizedString(@"Ieri", nil)]; + } + break; + case 2: + case 3: + case 4: + case 5: + case 6: { + + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@", (long)diff, NSLocalizedString(@"Giorni fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@", (long)diff, NSLocalizedString(@"Giorni fa", nil)]; + } + break; + default:{ + NSInteger diffWeeks = round(time / 60 / 60 / 24 / 7); + switch (diffWeeks) { + case 1:{ + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@",(long)diffWeeks,NSLocalizedString(@"Settimana fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@",(long)diffWeeks,NSLocalizedString(@"Settimana fa", nil)]; + } + break; + case 2: + case 3: + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@",(long)diffWeeks,NSLocalizedString(@"Settimane fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@",(long)diffWeeks,NSLocalizedString(@"Settimane fa", nil)]; + break; + default:{ + NSInteger diffMounth = round(time / 60 /60 / 24 / 30); + switch (diffMounth) { + case 1: { + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@",(long)diffMounth,NSLocalizedString(@"Mese fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@",(long)diffMounth,NSLocalizedString(@"Mese fa", nil)]; + } + break; + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11:{ + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@",(long)diffMounth,NSLocalizedString(@"Mesi fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@",(long)diffMounth,NSLocalizedString(@"Mesi fa", nil)]; + } + break; + + default:{ + NSInteger diffYears = round(time / 60 /60 / 24 / 365); + switch (diffYears) { + case 1: + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@",(long)diffYears,NSLocalizedString(@"Anno fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@",(long)diffYears,NSLocalizedString(@"Anno fa", nil)]; + break; + default:{ + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@",(long)diffYears,NSLocalizedString(@"Anni fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@",(long)diffYears,NSLocalizedString(@"Anni fa", nil)]; + } + break; + } + } + break; + } + } + break; + } + } + break; + } + } + } + else { + if (time < 60) { + if (uppercaseString) { + return [NSLocalizedString(@"Tra poco", nil) uppercaseString]; + } + return NSLocalizedString(@"Tra poco", nil); + } else if (time < 3600) { + int diff = round(time / 60); + + if (diff == 1) { + if (uppercaseString) { + return [NSLocalizedString(@"Tra 1 minuto", nil) uppercaseString]; + } + return NSLocalizedString(@"Tra 1 minuto", nil); + } + + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d minuti", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d minuti", nil), diff]; + + } else if (time < 86400) { + int diff = round(time / 60 / 60); + if (diff == 1) { + if (uppercaseString) { + return [NSLocalizedString(@"Tra 1 ora", nil) uppercaseString]; + } + return NSLocalizedString(@"Tra 1 ora", nil); + } + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d ore", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d ore", nil), diff]; + } else { + NSInteger diff = round(time / 60 / 60 / 24); + switch (diff) { + case 1:{ + if (uppercaseString) { + + return [[NSString stringWithFormat:@"%@",NSLocalizedString(@"Domani", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%@",NSLocalizedString(@"Domani", nil)]; + } + break; + case 2: + case 3: + case 4: + case 5: + case 6: { + + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d giorni", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d giorni", nil), diff]; + } + break; + default:{ + NSInteger diffWeeks = round(time / 60 / 60 / 24 / 7); + switch (diffWeeks) { + case 1:{ + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@",(long)diffWeeks,NSLocalizedString(@"Tra 1 Settimana", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@",(long)diffWeeks,NSLocalizedString(@"Tra 1 Settimana", nil)]; + } + break; + case 2: + case 3: + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d settimane", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d settimane", nil), diff]; + break; + default:{ + NSInteger diffMounth = round(time / 60 /60 / 24 / 30); + switch (diffMounth) { + case 1: { + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d mese", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d mese", nil), diff]; + } + break; + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11:{ + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d mesi", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d mesi", nil), diff]; + } + break; + + default:{ + NSInteger diffYears = round(time / 60 /60 / 24 / 365); + switch (diffYears) { + case 1: + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d anno", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d anno", nil), diff]; + break; + default:{ + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d anni", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d anni", nil), diff]; + } + break; + } + } + break; + } + } + break; + } + } + break; + } + } + } +} + +- (NSString *)getUniversalHourUppercaseString:(BOOL)uppercaseString { + + NSDate *now = [NSDate date]; + NSTimeInterval time = [self timeIntervalSinceDate:now]; + + if (time < 0) { + time *=-1; + + if (time < 60) { + if (uppercaseString) { + return [NSLocalizedString(@"Poco fa", nil) uppercaseString]; + } + return NSLocalizedString(@"Poco fa", nil); + } else if (time < 3600) { + int diff = round(time / 60); + + if (diff == 1) { + if (uppercaseString) { + return [NSLocalizedString(@"1 Minuto fa", nil) uppercaseString]; + } + return NSLocalizedString(@"1 Minuto fa", nil); + } + + if (uppercaseString) { + return [[NSString stringWithFormat:@"%d %@", diff, NSLocalizedString(@"Minuti fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%d %@", diff, NSLocalizedString(@"Minuti fa", nil)]; + + } else if (time < 86400) { + int diff = round(time / 60 / 60); + if (diff == 1) { + if (uppercaseString) { + return [NSLocalizedString(@"1 Ora fa", nil) uppercaseString]; + } + return NSLocalizedString(@"1 Ora fa", nil); + } + if (uppercaseString) { + return [[NSString stringWithFormat:@"%d %@", diff, NSLocalizedString(@"Ore fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%d %@", diff, NSLocalizedString(@"Ore fa", nil)]; + } else { + NSInteger diff = round(time / 60 / 60 / 24); + switch (diff) { + case 1:{ + if (uppercaseString) { + + return [[NSString stringWithFormat:@"%@",NSLocalizedString(@"Ieri", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%@",NSLocalizedString(@"Ieri", nil)]; + } + break; + case 2: + case 3: + case 4: + case 5: + case 6: { + + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@", (long)diff, NSLocalizedString(@"Giorni fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@", (long)diff, NSLocalizedString(@"Giorni fa", nil)]; + } + break; + default:{ + NSInteger diffWeeks = round(time / 60 / 60 / 24 / 7); + switch (diffWeeks) { + case 1:{ + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@",(long)diffWeeks,NSLocalizedString(@"Settimana fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@",(long)diffWeeks,NSLocalizedString(@"Settimana fa", nil)]; + } + break; + case 2: + case 3: + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@",(long)diffWeeks,NSLocalizedString(@"Settimane fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@",(long)diffWeeks,NSLocalizedString(@"Settimane fa", nil)]; + break; + default:{ + NSInteger diffMounth = round(time / 60 /60 / 24 / 30); + switch (diffMounth) { + case 1: { + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@",(long)diffMounth,NSLocalizedString(@"Mese fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@",(long)diffMounth,NSLocalizedString(@"Mese fa", nil)]; + } + break; + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11:{ + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@",(long)diffMounth,NSLocalizedString(@"Mesi fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@",(long)diffMounth,NSLocalizedString(@"Mesi fa", nil)]; + } + break; + + default:{ + NSInteger diffYears = round(time / 60 /60 / 24 / 365); + switch (diffYears) { + case 1: + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@",(long)diffYears,NSLocalizedString(@"Anno fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@",(long)diffYears,NSLocalizedString(@"Anno fa", nil)]; + break; + default:{ + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@",(long)diffYears,NSLocalizedString(@"Anni fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@",(long)diffYears,NSLocalizedString(@"Anni fa", nil)]; + } + break; + } + } + break; + } + } + break; + } + } + break; + } + } + } + else { + if (time < 60) { + if (uppercaseString) { + return [NSLocalizedString(@"Tra poco", nil) uppercaseString]; + } + return NSLocalizedString(@"Tra poco", nil); + } else if (time < 3600) { + int diff = round(time / 60); + + if (diff == 1) { + if (uppercaseString) { + return [NSLocalizedString(@"Tra 1 minuto", nil) uppercaseString]; + } + return NSLocalizedString(@"Tra 1 minuto", nil); + } + + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d minuti", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d minuti", nil), diff]; + + } else if (time < 86400) { + int diff = round(time / 60 / 60); + if (diff == 1) { + if (uppercaseString) { + return [NSLocalizedString(@"Tra 1 ora", nil) uppercaseString]; + } + return NSLocalizedString(@"Tra 1 ora", nil); + } + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d ore", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d ore", nil), diff]; + } else { + NSInteger diff = round(time / 60 / 60 / 24); + switch (diff) { + case 1:{ + if (uppercaseString) { + + return [[NSString stringWithFormat:@"%@",NSLocalizedString(@"Domani", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%@",NSLocalizedString(@"Domani", nil)]; + } + break; + case 2: + case 3: + case 4: + case 5: + case 6: { + + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d giorni", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d giorni", nil), diff]; + } + break; + default:{ + NSInteger diffWeeks = round(time / 60 / 60 / 24 / 7); + switch (diffWeeks) { + case 1:{ + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@",(long)diffWeeks,NSLocalizedString(@"Tra 1 Settimana", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@",(long)diffWeeks,NSLocalizedString(@"Tra 1 Settimana", nil)]; + } + break; + case 2: + case 3: + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d settimane", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d settimane", nil), diff]; + break; + default:{ + NSInteger diffMounth = round(time / 60 /60 / 24 / 30); + switch (diffMounth) { + case 1: { + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d mese", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d mese", nil), diff]; + } + break; + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11:{ + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d mesi", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d mesi", nil), diff]; + } + break; + + default:{ + NSInteger diffYears = round(time / 60 /60 / 24 / 365); + switch (diffYears) { + case 1: + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d anno", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d anno", nil), diff]; + break; + default:{ + if (uppercaseString) { + return [[NSString stringWithFormat:NSLocalizedString(@"Tra %d anni", nil), diff] uppercaseString]; + } + return [NSString stringWithFormat:NSLocalizedString(@"Tra %d anni", nil), diff]; + } + break; + } + } + break; + } + } + break; + } + } + break; + } + } + } +} + +- (NSString *)getNotificationUniversalHourUppercaseString:(BOOL)uppercaseString { + + NSDate *now = [NSDate date]; + NSTimeInterval time = [self timeIntervalSinceDate:now]; + + if (time < 0) { + time *=-1; + + if (time < 60) { + if (uppercaseString) { + return [NSLocalizedString(@"Poco fa", nil) uppercaseString]; + } + return NSLocalizedString(@"Poco fa", nil); + } else if (time < 3600) { + int diff = round(time / 60); + + if (diff == 1) { + if (uppercaseString) { + return [NSLocalizedString(@"1 Minuto fa", nil) uppercaseString]; + } + return NSLocalizedString(@"1 Minuto fa", nil); + } + + if (uppercaseString) { + return [[NSString stringWithFormat:@"%d %@", diff, NSLocalizedString(@"Minuti fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%d %@", diff, NSLocalizedString(@"Minuti fa", nil)]; + + } else if (time < 86400) { + int diff = round(time / 60 / 60); + if (diff == 1) { + if (uppercaseString) { + return [NSLocalizedString(@"1 Ora fa", nil) uppercaseString]; + } + return NSLocalizedString(@"1 Ora fa", nil); + } + if (uppercaseString) { + return [[NSString stringWithFormat:@"%d %@", diff, NSLocalizedString(@"Ore fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%d %@", diff, NSLocalizedString(@"Ore fa", nil)]; + } else { + NSInteger diff = round(time / 60 / 60 / 24); + switch (diff) { + case 1:{ + if (uppercaseString) { + + return [[NSString stringWithFormat:@"%@",NSLocalizedString(@"Ieri", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%@",NSLocalizedString(@"Ieri", nil)]; + } + break; + case 2: + case 3: + case 4: + case 5: + case 6: { + + if (uppercaseString) { + return [[NSString stringWithFormat:@"%ld %@", (long)diff, NSLocalizedString(@"Giorni fa", nil)] uppercaseString]; + } + return [NSString stringWithFormat:@"%ld %@", (long)diff, NSLocalizedString(@"Giorni fa", nil)]; + } + break; + default:{ + + if (uppercaseString) { + return [[self stringWithFormat:@"d MMM"] uppercaseString]; + } + return [self stringWithFormat:@"d MMM"]; + + } + break; + } + } + } + return @""; +} + @end \ No newline at end of file diff --git a/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.h b/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.h new file mode 100755 index 0000000..cac0374 --- /dev/null +++ b/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.h @@ -0,0 +1,13 @@ +// +// ToucheableScrollView.m +// cinecitta +// +// Created by Mario Nolassi on 11/16/11. +// Copyright (c) 2011 meedori. All rights reserved. +// + +#import + +@interface ToucheableScrollView : UIScrollView + +@end diff --git a/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.m b/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.m new file mode 100755 index 0000000..8641588 --- /dev/null +++ b/Pod/Classes/Vendor/TouchableScrollView/ToucheableScrollView.m @@ -0,0 +1,32 @@ +// +// ToucheableScrollView.m +// cinecitta +// +// Created by Mario Nolassi on 11/16/11. +// Copyright (c) 2011 meedori. All rights reserved. +// + +#import "ToucheableScrollView.h" + +@implementation ToucheableScrollView + +- (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event +{ + // If not dragging, send event to next responder + if (!self.dragging) { + if ([self.nextResponder respondsToSelector:@selector(touchesEnded:withEvent:)]) { + [self.nextResponder touchesEnded: touches withEvent:event]; + } + if ([self.nextResponder.nextResponder respondsToSelector:@selector(touchesEnded:withEvent:)]) { + [self.nextResponder.nextResponder touchesEnded: touches withEvent:event]; + } + } + else { + [super touchesEnded: touches withEvent: event]; + } + +} +@end + + + diff --git a/TabBarPicker.podspec b/TabBarPicker.podspec index c511de6..c69ba31 100644 --- a/TabBarPicker.podspec +++ b/TabBarPicker.podspec @@ -9,7 +9,7 @@ Pod::Spec.new do |s| s.name = "TabBarPicker" - s.version = "0.3.0" + s.version = "1.0" s.summary = "TabBarPicker." #s.description = "" s.homepage = "https://github.com/giuseppenucifora/TabBarPicker"