├── Podfile ├── Podfile.lock ├── Pods ├── MBCircularProgressBar │ ├── LICENSE │ ├── Pod │ │ ├── Assets │ │ │ └── example.png │ │ └── Classes │ │ │ ├── MBCircularProgressBarLayer.h │ │ │ ├── MBCircularProgressBarLayer.m │ │ │ ├── MBCircularProgressBarView.h │ │ │ └── MBCircularProgressBarView.m │ └── README.md ├── Manifest.lock ├── Pods.xcodeproj │ ├── project.pbxproj │ └── xcuserdata │ │ └── Jerry.xcuserdatad │ │ └── xcschemes │ │ ├── MBCircularProgressBar-MBCircularProgressBar.xcscheme │ │ ├── MBCircularProgressBar.xcscheme │ │ ├── Pods-Podtrace.xcscheme │ │ ├── Pods-PodtraceTests.xcscheme │ │ ├── Pods-PodtraceUITests.xcscheme │ │ ├── SVProgressHUD.xcscheme │ │ ├── XLForm.xcscheme │ │ └── xcschememanagement.plist ├── SVProgressHUD │ ├── LICENSE.txt │ ├── README.md │ └── SVProgressHUD │ │ ├── SVIndefiniteAnimatedView.h │ │ ├── SVIndefiniteAnimatedView.m │ │ ├── SVProgressAnimatedView.h │ │ ├── SVProgressAnimatedView.m │ │ ├── SVProgressHUD.bundle │ │ ├── angle-mask.png │ │ ├── angle-mask@2x.png │ │ ├── angle-mask@3x.png │ │ ├── error.png │ │ ├── error@2x.png │ │ ├── error@3x.png │ │ ├── info.png │ │ ├── info@2x.png │ │ ├── info@3x.png │ │ ├── success.png │ │ ├── success@2x.png │ │ └── success@3x.png │ │ ├── SVProgressHUD.h │ │ ├── SVProgressHUD.m │ │ ├── SVRadialGradientLayer.h │ │ └── SVRadialGradientLayer.m ├── Target Support Files │ ├── MBCircularProgressBar │ │ ├── Info.plist │ │ ├── MBCircularProgressBar-dummy.m │ │ ├── MBCircularProgressBar-prefix.pch │ │ ├── MBCircularProgressBar-umbrella.h │ │ ├── MBCircularProgressBar.modulemap │ │ ├── MBCircularProgressBar.xcconfig │ │ └── ResourceBundle-MBCircularProgressBar-Info.plist │ ├── Pods-Podtrace │ │ ├── Info.plist │ │ ├── Pods-Podtrace-acknowledgements.markdown │ │ ├── Pods-Podtrace-acknowledgements.plist │ │ ├── Pods-Podtrace-dummy.m │ │ ├── Pods-Podtrace-frameworks.sh │ │ ├── Pods-Podtrace-resources.sh │ │ ├── Pods-Podtrace-umbrella.h │ │ ├── Pods-Podtrace.debug.xcconfig │ │ ├── Pods-Podtrace.modulemap │ │ └── Pods-Podtrace.release.xcconfig │ ├── Pods-PodtraceTests │ │ ├── Info.plist │ │ ├── Pods-PodtraceTests-acknowledgements.markdown │ │ ├── Pods-PodtraceTests-acknowledgements.plist │ │ ├── Pods-PodtraceTests-dummy.m │ │ ├── Pods-PodtraceTests-frameworks.sh │ │ ├── Pods-PodtraceTests-resources.sh │ │ ├── Pods-PodtraceTests-umbrella.h │ │ ├── Pods-PodtraceTests.debug.xcconfig │ │ ├── Pods-PodtraceTests.modulemap │ │ └── Pods-PodtraceTests.release.xcconfig │ ├── Pods-PodtraceUITests │ │ ├── Info.plist │ │ ├── Pods-PodtraceUITests-acknowledgements.markdown │ │ ├── Pods-PodtraceUITests-acknowledgements.plist │ │ ├── Pods-PodtraceUITests-dummy.m │ │ ├── Pods-PodtraceUITests-frameworks.sh │ │ ├── Pods-PodtraceUITests-resources.sh │ │ ├── Pods-PodtraceUITests-umbrella.h │ │ ├── Pods-PodtraceUITests.debug.xcconfig │ │ ├── Pods-PodtraceUITests.modulemap │ │ └── Pods-PodtraceUITests.release.xcconfig │ ├── SVProgressHUD │ │ ├── Info.plist │ │ ├── SVProgressHUD-dummy.m │ │ ├── SVProgressHUD-prefix.pch │ │ ├── SVProgressHUD-umbrella.h │ │ ├── SVProgressHUD.modulemap │ │ └── SVProgressHUD.xcconfig │ └── XLForm │ │ ├── Info.plist │ │ ├── XLForm-dummy.m │ │ ├── XLForm-prefix.pch │ │ ├── XLForm-umbrella.h │ │ ├── XLForm.modulemap │ │ └── XLForm.xcconfig └── XLForm │ ├── LICENSE │ ├── README.md │ └── XLForm │ ├── XL │ ├── Cell │ │ ├── XLFormBaseCell.h │ │ ├── XLFormBaseCell.m │ │ ├── XLFormButtonCell.h │ │ ├── XLFormButtonCell.m │ │ ├── XLFormCheckCell.h │ │ ├── XLFormCheckCell.m │ │ ├── XLFormDateCell.h │ │ ├── XLFormDateCell.m │ │ ├── XLFormDatePickerCell.h │ │ ├── XLFormDatePickerCell.m │ │ ├── XLFormDescriptorCell.h │ │ ├── XLFormImageCell.h │ │ ├── XLFormImageCell.m │ │ ├── XLFormInlineRowDescriptorCell.h │ │ ├── XLFormInlineSelectorCell.h │ │ ├── XLFormInlineSelectorCell.m │ │ ├── XLFormLeftRightSelectorCell.h │ │ ├── XLFormLeftRightSelectorCell.m │ │ ├── XLFormPickerCell.h │ │ ├── XLFormPickerCell.m │ │ ├── XLFormSegmentedCell.h │ │ ├── XLFormSegmentedCell.m │ │ ├── XLFormSelectorCell.h │ │ ├── XLFormSelectorCell.m │ │ ├── XLFormSliderCell.h │ │ ├── XLFormSliderCell.m │ │ ├── XLFormStepCounterCell.h │ │ ├── XLFormStepCounterCell.m │ │ ├── XLFormSwitchCell.h │ │ ├── XLFormSwitchCell.m │ │ ├── XLFormTextFieldCell.h │ │ ├── XLFormTextFieldCell.m │ │ ├── XLFormTextViewCell.h │ │ └── XLFormTextViewCell.m │ ├── Controllers │ │ ├── XLFormOptionsObject.h │ │ ├── XLFormOptionsObject.m │ │ ├── XLFormOptionsViewController.h │ │ ├── XLFormOptionsViewController.m │ │ ├── XLFormRowDescriptorViewController.h │ │ ├── XLFormViewController.h │ │ └── XLFormViewController.m │ ├── Descriptors │ │ ├── XLFormDescriptor.h │ │ ├── XLFormDescriptor.m │ │ ├── XLFormDescriptorDelegate.h │ │ ├── XLFormRowDescriptor.h │ │ ├── XLFormRowDescriptor.m │ │ ├── XLFormSectionDescriptor.h │ │ └── XLFormSectionDescriptor.m │ ├── Helpers │ │ ├── NSArray+XLFormAdditions.h │ │ ├── NSArray+XLFormAdditions.m │ │ ├── NSExpression+XLFormAdditions.h │ │ ├── NSExpression+XLFormAdditions.m │ │ ├── NSObject+XLFormAdditions.h │ │ ├── NSObject+XLFormAdditions.m │ │ ├── NSPredicate+XLFormAdditions.h │ │ ├── NSPredicate+XLFormAdditions.m │ │ ├── NSString+XLFormAdditions.h │ │ ├── NSString+XLFormAdditions.m │ │ ├── UIView+XLFormAdditions.h │ │ ├── UIView+XLFormAdditions.m │ │ └── Views │ │ │ ├── XLFormRightDetailCell.h │ │ │ ├── XLFormRightDetailCell.m │ │ │ ├── XLFormRightImageButton.h │ │ │ ├── XLFormRightImageButton.m │ │ │ ├── XLFormRowNavigationAccessoryView.h │ │ │ ├── XLFormRowNavigationAccessoryView.m │ │ │ ├── XLFormTextView.h │ │ │ └── XLFormTextView.m │ ├── Validation │ │ ├── XLFormRegexValidator.h │ │ ├── XLFormRegexValidator.m │ │ ├── XLFormValidationStatus.h │ │ ├── XLFormValidationStatus.m │ │ ├── XLFormValidator.h │ │ ├── XLFormValidator.m │ │ └── XLFormValidatorProtocol.h │ ├── XLForm.h │ └── XLForm.m │ └── XLForm.bundle │ └── forwardarrow@2x.png ├── Podtrace.ipa ├── Podtrace.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcuserdata │ └── Jerry.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ ├── Podtrace.xcscheme │ └── xcschememanagement.plist ├── Podtrace.xcworkspace ├── contents.xcworkspacedata └── xcuserdata │ └── Jerry.xcuserdatad │ └── xcdebugger │ └── Breakpoints_v2.xcbkptlist ├── Podtrace ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-App-20x20@1x.png │ │ ├── Icon-App-20x20@2x.png │ │ ├── Icon-App-20x20@3x.png │ │ ├── Icon-App-29x29@1x.png │ │ ├── Icon-App-29x29@2x.png │ │ ├── Icon-App-29x29@3x.png │ │ ├── Icon-App-40x40@1x.png │ │ ├── Icon-App-40x40@2x.png │ │ ├── Icon-App-40x40@3x.png │ │ ├── Icon-App-57x57@1x.png │ │ ├── Icon-App-57x57@2x.png │ │ ├── Icon-App-60x60@2x.png │ │ ├── Icon-App-60x60@3x.png │ │ ├── Icon-App-72x72@1x.png │ │ ├── Icon-App-72x72@2x.png │ │ ├── Icon-App-76x76@1x.png │ │ ├── Icon-App-76x76@2x.png │ │ ├── Icon-App-83.5x83.5@2x.png │ │ ├── Icon-Small-50x50@1x.png │ │ ├── Icon-Small-50x50@2x.png │ │ └── podtracer 2.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── FirstLaunch.h ├── FirstLaunch.m ├── Info.plist ├── SpecifyName.h ├── SpecifyName.m ├── ViewController.h ├── ViewController.m ├── airpods.png └── main.m ├── PodtraceTests ├── Info.plist └── PodtraceTests.m ├── PodtraceUITests ├── Info.plist └── PodtraceUITests.m ├── README.md └── showcase.png /Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | 5 | target 'Podtrace' do 6 | # Uncomment the next line if you're using Swift or would like to use dynamic frameworks 7 | use_frameworks! 8 | 9 | # Pods for Podtrace 10 | 11 | pod "MBCircularProgressBar" 12 | pod 'XLForm', '~> 3.0' 13 | pod 'SVProgressHUD' 14 | 15 | target 'PodtraceTests' do 16 | inherit! :search_paths 17 | # Pods for testing 18 | end 19 | 20 | target 'PodtraceUITests' do 21 | inherit! :search_paths 22 | # Pods for testing 23 | end 24 | 25 | end 26 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - MBCircularProgressBar (0.3.5) 3 | - SVProgressHUD (2.1.2) 4 | - XLForm (3.3.0) 5 | 6 | DEPENDENCIES: 7 | - MBCircularProgressBar 8 | - SVProgressHUD 9 | - XLForm (~> 3.0) 10 | 11 | SPEC CHECKSUMS: 12 | MBCircularProgressBar: 0b795b722a5eb5b0923822f90474e2576a1a7855 13 | SVProgressHUD: c404a55d78acbeb7ebb78b76d3faf986475a6994 14 | XLForm: d5c391dfc62865927b5bcab0a5a0dbfb3e02b0ec 15 | 16 | PODFILE CHECKSUM: 46dba0ccae7efb9759506cd5935b46f2b528cd25 17 | 18 | COCOAPODS: 1.1.1 19 | -------------------------------------------------------------------------------- /Pods/MBCircularProgressBar/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Mati Bot 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /Pods/MBCircularProgressBar/Pod/Assets/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Pods/MBCircularProgressBar/Pod/Assets/example.png -------------------------------------------------------------------------------- /Pods/MBCircularProgressBar/Pod/Classes/MBCircularProgressBarLayer.h: -------------------------------------------------------------------------------- 1 | // 2 | // MBCircularProgressBarLayer.h 3 | // MBCircularProgressBar 4 | // 5 | // Created by Mati Bot on 7/9/15. 6 | // Copyright (c) 2015 Mati Bot All rights reserved. 7 | // 8 | 9 | @import QuartzCore; 10 | 11 | /** 12 | * The MBCircularProgressBarLayer class is a CALayer subclass that represents the underlying layer 13 | * of MBCircularProgressBarView. 14 | */ 15 | @interface MBCircularProgressBarLayer : CALayer 16 | 17 | /** 18 | * Set a partial angle for the progress bar [0,100] 19 | */ 20 | @property (nonatomic,assign) CGFloat progressAngle; 21 | 22 | /** 23 | * Progress bar rotation (Clockewise) [0,100] 24 | */ 25 | @property (nonatomic,assign) CGFloat progressRotationAngle; 26 | 27 | /** 28 | * The value of the progress bar 29 | */ 30 | @property (nonatomic,assign) CGFloat value; 31 | 32 | /** 33 | * The maximum possible value, used to calculate the progress (value/maxValue) [0,∞) 34 | */ 35 | @property (nonatomic,assign) CGFloat maxValue; 36 | 37 | /** 38 | * Animation duration in seconds 39 | */ 40 | @property (nonatomic,assign) NSTimeInterval animationDuration; 41 | 42 | /** 43 | * The font size of the value text [0,∞) 44 | */ 45 | @property (nonatomic,assign) CGFloat valueFontSize; 46 | 47 | /** 48 | * The name of the font of the unit string 49 | */ 50 | @property (nonatomic,assign) CGFloat unitFontSize; 51 | 52 | /** 53 | * The string that represents the units, usually % 54 | */ 55 | @property (nonatomic,copy) NSString *unitString; 56 | 57 | /** 58 | * The color of the value and unit text 59 | */ 60 | @property (nonatomic,strong) UIColor *fontColor; 61 | 62 | /** 63 | * The width of the progress bar (user space units) [0,∞) 64 | */ 65 | @property (nonatomic,assign) CGFloat progressLineWidth; 66 | 67 | /** 68 | * The color of the progress bar 69 | */ 70 | @property (nonatomic,strong) UIColor *progressColor; 71 | 72 | /** 73 | * The color of the progress bar frame 74 | */ 75 | @property (nonatomic,strong) UIColor *progressStrokeColor; 76 | 77 | /** 78 | * The shape of the progress bar cap {kCGLineCapButt=0, kCGLineCapRound=1, kCGLineCapSquare=2} 79 | */ 80 | @property (nonatomic,assign) CGLineCap progressCapType; 81 | 82 | /** 83 | * The width of the background bar (user space units) [0,∞) 84 | */ 85 | @property (nonatomic,assign) CGFloat emptyLineWidth; 86 | 87 | /** 88 | * The shape of the background bar cap {kCGLineCapButt=0, kCGLineCapRound=1, kCGLineCapSquare=2} 89 | */ 90 | @property (nonatomic,assign) CGLineCap emptyCapType; 91 | 92 | /** 93 | * The color of the background bar 94 | */ 95 | @property (nonatomic,strong) UIColor *emptyLineColor; 96 | /** 97 | * The color of the background bar stroke line 98 | */ 99 | @property (nonatomic,strong) UIColor *emptyLineStrokeColor; 100 | 101 | /* 102 | * Number of decimal places of the value [0,∞) 103 | */ 104 | @property (nonatomic,assign) NSInteger decimalPlaces; 105 | 106 | /** 107 | * The value to be displayed in the center 108 | */ 109 | @property (nonatomic,assign) CGFloat valueDecimalFontSize; 110 | 111 | /** 112 | * The font size of the unit text [0,∞) 113 | */ 114 | @property (nonatomic,copy) NSString *unitFontName; 115 | 116 | /** 117 | * The name of the font of the unit string 118 | */ 119 | @property (nonatomic,copy) NSString *valueFontName; 120 | 121 | /** 122 | * Should show unit screen 123 | */ 124 | @property (nonatomic,assign) BOOL showUnitString; 125 | 126 | /** 127 | * The offset to apply to the unit / value text 128 | */ 129 | @property (nonatomic,assign) CGPoint textOffset; 130 | 131 | /** 132 | * Should show value string 133 | */ 134 | @property (nonatomic,assign) BOOL showValueString; 135 | 136 | 137 | /** 138 | * Show label value as countdown 139 | * Default is NO 140 | */ 141 | @property (nonatomic,assign) BOOL countdown; 142 | 143 | @end 144 | -------------------------------------------------------------------------------- /Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - MBCircularProgressBar (0.3.5) 3 | - SVProgressHUD (2.1.2) 4 | - XLForm (3.3.0) 5 | 6 | DEPENDENCIES: 7 | - MBCircularProgressBar 8 | - SVProgressHUD 9 | - XLForm (~> 3.0) 10 | 11 | SPEC CHECKSUMS: 12 | MBCircularProgressBar: 0b795b722a5eb5b0923822f90474e2576a1a7855 13 | SVProgressHUD: c404a55d78acbeb7ebb78b76d3faf986475a6994 14 | XLForm: d5c391dfc62865927b5bcab0a5a0dbfb3e02b0ec 15 | 16 | PODFILE CHECKSUM: 46dba0ccae7efb9759506cd5935b46f2b528cd25 17 | 18 | COCOAPODS: 1.1.1 19 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/Jerry.xcuserdatad/xcschemes/MBCircularProgressBar-MBCircularProgressBar.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/Jerry.xcuserdatad/xcschemes/MBCircularProgressBar.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/Jerry.xcuserdatad/xcschemes/Pods-Podtrace.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 66 | 67 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/Jerry.xcuserdatad/xcschemes/Pods-PodtraceTests.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 66 | 67 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/Jerry.xcuserdatad/xcschemes/Pods-PodtraceUITests.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 66 | 67 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/Jerry.xcuserdatad/xcschemes/SVProgressHUD.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/Jerry.xcuserdatad/xcschemes/XLForm.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/Jerry.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | MBCircularProgressBar-MBCircularProgressBar.xcscheme 8 | 9 | isShown 10 | 11 | 12 | MBCircularProgressBar.xcscheme 13 | 14 | isShown 15 | 16 | 17 | Pods-Podtrace.xcscheme 18 | 19 | isShown 20 | 21 | 22 | Pods-PodtraceTests.xcscheme 23 | 24 | isShown 25 | 26 | 27 | Pods-PodtraceUITests.xcscheme 28 | 29 | isShown 30 | 31 | 32 | SVProgressHUD.xcscheme 33 | 34 | isShown 35 | 36 | 37 | XLForm.xcscheme 38 | 39 | isShown 40 | 41 | 42 | 43 | SuppressBuildableAutocreation 44 | 45 | 26DE65DB594549E88063FBBAD6DB2F94 46 | 47 | primary 48 | 49 | 50 | 2DFBB84CC615A549081D7C6D811FC968 51 | 52 | primary 53 | 54 | 55 | 6E175813A00A2E641A80E496A14D889F 56 | 57 | primary 58 | 59 | 60 | 725D2F005169861EF3B3AE69286BAB3D 61 | 62 | primary 63 | 64 | 65 | B59130E257E29008431EC40BA25A5DB7 66 | 67 | primary 68 | 69 | 70 | CAC840DD7C14BED838F74AD37CD7CBBA 71 | 72 | primary 73 | 74 | 75 | F579AA4D4755DD9570010BC36D0422F7 76 | 77 | primary 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /Pods/SVProgressHUD/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2016 Sam Vermette, Tobias Tiemerding and contributors. 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | A different license may apply to other resources included in this package, 25 | including Freepik Icons. Please consult their 26 | respective headers for the terms of their individual licenses. 27 | -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.h: -------------------------------------------------------------------------------- 1 | // 2 | // SVIndefiniteAnimatedView.h 3 | // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD 4 | // 5 | // Copyright (c) 2014-2016 Guillaume Campagna. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | @interface SVIndefiniteAnimatedView : UIView 11 | 12 | @property (nonatomic, assign) CGFloat strokeThickness; 13 | @property (nonatomic, assign) CGFloat radius; 14 | @property (nonatomic, strong) UIColor *strokeColor; 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.h: -------------------------------------------------------------------------------- 1 | // 2 | // SVProgressAnimatedView.h 3 | // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD 4 | // 5 | // Copyright (c) 2016 Tobias Tiemerding. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | @interface SVProgressAnimatedView : UIView 11 | 12 | @property (nonatomic, assign) CGFloat radius; 13 | @property (nonatomic, assign) CGFloat strokeThickness; 14 | @property (nonatomic, strong) UIColor *strokeColor; 15 | @property (nonatomic, assign) CGFloat strokeEnd; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.m: -------------------------------------------------------------------------------- 1 | // 2 | // SVProgressAnimatedView.m 3 | // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD 4 | // 5 | // Copyright (c) 2016 Tobias Tiemerding. All rights reserved. 6 | // 7 | 8 | #import "SVProgressAnimatedView.h" 9 | 10 | @interface SVProgressAnimatedView () 11 | 12 | @property (nonatomic, strong) CAShapeLayer *ringAnimatedLayer; 13 | 14 | @end 15 | 16 | @implementation SVProgressAnimatedView 17 | 18 | - (void)willMoveToSuperview:(UIView*)newSuperview { 19 | if (newSuperview) { 20 | [self layoutAnimatedLayer]; 21 | } else { 22 | [_ringAnimatedLayer removeFromSuperlayer]; 23 | _ringAnimatedLayer = nil; 24 | } 25 | } 26 | 27 | - (void)layoutAnimatedLayer { 28 | CALayer *layer = self.ringAnimatedLayer; 29 | [self.layer addSublayer:layer]; 30 | 31 | CGFloat widthDiff = CGRectGetWidth(self.bounds) - CGRectGetWidth(layer.bounds); 32 | CGFloat heightDiff = CGRectGetHeight(self.bounds) - CGRectGetHeight(layer.bounds); 33 | layer.position = CGPointMake(CGRectGetWidth(self.bounds) - CGRectGetWidth(layer.bounds) / 2 - widthDiff / 2, CGRectGetHeight(self.bounds) - CGRectGetHeight(layer.bounds) / 2 - heightDiff / 2); 34 | } 35 | 36 | - (CAShapeLayer*)ringAnimatedLayer { 37 | if(!_ringAnimatedLayer) { 38 | CGPoint arcCenter = CGPointMake(self.radius+self.strokeThickness/2+5, self.radius+self.strokeThickness/2+5); 39 | UIBezierPath* smoothedPath = [UIBezierPath bezierPathWithArcCenter:arcCenter radius:self.radius startAngle:(CGFloat)-M_PI_2 endAngle:(CGFloat) (M_PI + M_PI_2) clockwise:YES]; 40 | 41 | _ringAnimatedLayer = [CAShapeLayer layer]; 42 | _ringAnimatedLayer.contentsScale = [[UIScreen mainScreen] scale]; 43 | _ringAnimatedLayer.frame = CGRectMake(0.0f, 0.0f, arcCenter.x*2, arcCenter.y*2); 44 | _ringAnimatedLayer.fillColor = [UIColor clearColor].CGColor; 45 | _ringAnimatedLayer.strokeColor = self.strokeColor.CGColor; 46 | _ringAnimatedLayer.lineWidth = self.strokeThickness; 47 | _ringAnimatedLayer.lineCap = kCALineCapRound; 48 | _ringAnimatedLayer.lineJoin = kCALineJoinBevel; 49 | _ringAnimatedLayer.path = smoothedPath.CGPath; 50 | } 51 | return _ringAnimatedLayer; 52 | } 53 | 54 | - (void)setFrame:(CGRect)frame { 55 | if(!CGRectEqualToRect(frame, super.frame)) { 56 | [super setFrame:frame]; 57 | 58 | if(self.superview) { 59 | [self layoutAnimatedLayer]; 60 | } 61 | } 62 | } 63 | 64 | - (void)setRadius:(CGFloat)radius { 65 | if(radius != _radius) { 66 | _radius = radius; 67 | 68 | [_ringAnimatedLayer removeFromSuperlayer]; 69 | _ringAnimatedLayer = nil; 70 | 71 | if(self.superview) { 72 | [self layoutAnimatedLayer]; 73 | } 74 | } 75 | } 76 | 77 | - (void)setStrokeColor:(UIColor*)strokeColor { 78 | _strokeColor = strokeColor; 79 | _ringAnimatedLayer.strokeColor = strokeColor.CGColor; 80 | } 81 | 82 | - (void)setStrokeThickness:(CGFloat)strokeThickness { 83 | _strokeThickness = strokeThickness; 84 | _ringAnimatedLayer.lineWidth = _strokeThickness; 85 | } 86 | 87 | - (void)setStrokeEnd:(CGFloat)strokeEnd { 88 | _strokeEnd = strokeEnd; 89 | _ringAnimatedLayer.strokeEnd = _strokeEnd; 90 | } 91 | 92 | - (CGSize)sizeThatFits:(CGSize)size { 93 | return CGSizeMake((self.radius+self.strokeThickness/2+5)*2, (self.radius+self.strokeThickness/2+5)*2); 94 | } 95 | 96 | @end 97 | -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask@2x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask@3x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error@2x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error@3x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info@2x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info@3x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success@2x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success@3x.png -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.h: -------------------------------------------------------------------------------- 1 | // 2 | // SVRadialGradientLayer.h 3 | // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD 4 | // 5 | // Copyright (c) 2014-2016 Tobias Tiemerding. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | @interface SVRadialGradientLayer : CALayer 11 | 12 | @property (nonatomic) CGPoint gradientCenter; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.m: -------------------------------------------------------------------------------- 1 | // 2 | // SVRadialGradientLayer.m 3 | // SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD 4 | // 5 | // Copyright (c) 2014-2016 Tobias Tiemerding. All rights reserved. 6 | // 7 | 8 | #import "SVRadialGradientLayer.h" 9 | 10 | @implementation SVRadialGradientLayer 11 | 12 | - (void)drawInContext:(CGContextRef)context { 13 | size_t locationsCount = 2; 14 | CGFloat locations[2] = {0.0f, 1.0f}; 15 | CGFloat colors[8] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.75f}; 16 | CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); 17 | CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, colors, locations, locationsCount); 18 | CGColorSpaceRelease(colorSpace); 19 | 20 | float radius = MIN(self.bounds.size.width , self.bounds.size.height); 21 | CGContextDrawRadialGradient (context, gradient, self.gradientCenter, 0, self.gradientCenter, radius, kCGGradientDrawsAfterEndLocation); 22 | CGGradientRelease(gradient); 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MBCircularProgressBar/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.3.5 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MBCircularProgressBar/MBCircularProgressBar-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_MBCircularProgressBar : NSObject 3 | @end 4 | @implementation PodsDummy_MBCircularProgressBar 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MBCircularProgressBar/MBCircularProgressBar-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MBCircularProgressBar/MBCircularProgressBar-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | #import "MBCircularProgressBarLayer.h" 6 | #import "MBCircularProgressBarView.h" 7 | 8 | FOUNDATION_EXPORT double MBCircularProgressBarVersionNumber; 9 | FOUNDATION_EXPORT const unsigned char MBCircularProgressBarVersionString[]; 10 | 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MBCircularProgressBar/MBCircularProgressBar.modulemap: -------------------------------------------------------------------------------- 1 | framework module MBCircularProgressBar { 2 | umbrella header "MBCircularProgressBar-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MBCircularProgressBar/MBCircularProgressBar.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/MBCircularProgressBar 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 8 | SKIP_INSTALL = YES 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MBCircularProgressBar/ResourceBundle-MBCircularProgressBar-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleIdentifier 8 | ${PRODUCT_BUNDLE_IDENTIFIER} 9 | CFBundleInfoDictionaryVersion 10 | 6.0 11 | CFBundleName 12 | ${PRODUCT_NAME} 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 0.3.5 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | NSPrincipalClass 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Podtrace/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Podtrace/Pods-Podtrace-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## MBCircularProgressBar 5 | 6 | Copyright (c) 2015 Mati Bot 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | 26 | 27 | ## SVProgressHUD 28 | 29 | Copyright (c) 2011-2016 Sam Vermette, Tobias Tiemerding and contributors. 30 | 31 | Permission is hereby granted, free of charge, to any person 32 | obtaining a copy of this software and associated documentation 33 | files (the "Software"), to deal in the Software without 34 | restriction, including without limitation the rights to use, 35 | copy, modify, merge, publish, distribute, sublicense, and/or sell 36 | copies of the Software, and to permit persons to whom the 37 | Software is furnished to do so, subject to the following 38 | conditions: 39 | 40 | The above copyright notice and this permission notice shall be 41 | included in all copies or substantial portions of the Software. 42 | 43 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 44 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 45 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 46 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 47 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 48 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 49 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 50 | OTHER DEALINGS IN THE SOFTWARE. 51 | 52 | A different license may apply to other resources included in this package, 53 | including Freepik Icons. Please consult their 54 | respective headers for the terms of their individual licenses. 55 | 56 | 57 | ## XLForm 58 | 59 | The MIT License (MIT) 60 | 61 | Copyright (c) 2014 Xmartlabs ( http://xmartlabs.com ) 62 | 63 | Permission is hereby granted, free of charge, to any person obtaining a copy of 64 | this software and associated documentation files (the "Software"), to deal in 65 | the Software without restriction, including without limitation the rights to 66 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 67 | the Software, and to permit persons to whom the Software is furnished to do so, 68 | subject to the following conditions: 69 | 70 | The above copyright notice and this permission notice shall be included in all 71 | copies or substantial portions of the Software. 72 | 73 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 74 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 75 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 76 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 77 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 78 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 79 | 80 | Generated by CocoaPods - https://cocoapods.org 81 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Podtrace/Pods-Podtrace-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Podtrace : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Podtrace 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Podtrace/Pods-Podtrace-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | 6 | FOUNDATION_EXPORT double Pods_PodtraceVersionNumber; 7 | FOUNDATION_EXPORT const unsigned char Pods_PodtraceVersionString[]; 8 | 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Podtrace/Pods-Podtrace.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/MBCircularProgressBar" "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD" "$PODS_CONFIGURATION_BUILD_DIR/XLForm" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/MBCircularProgressBar/MBCircularProgressBar.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD/SVProgressHUD.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/XLForm/XLForm.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "MBCircularProgressBar" -framework "SVProgressHUD" -framework "XLForm" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Podtrace/Pods-Podtrace.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Podtrace { 2 | umbrella header "Pods-Podtrace-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Podtrace/Pods-Podtrace.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/MBCircularProgressBar" "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD" "$PODS_CONFIGURATION_BUILD_DIR/XLForm" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/MBCircularProgressBar/MBCircularProgressBar.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD/SVProgressHUD.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/XLForm/XLForm.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "MBCircularProgressBar" -framework "SVProgressHUD" -framework "XLForm" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceTests/Pods-PodtraceTests-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | Generated by CocoaPods - https://cocoapods.org 4 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceTests/Pods-PodtraceTests-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Generated by CocoaPods - https://cocoapods.org 18 | Title 19 | 20 | Type 21 | PSGroupSpecifier 22 | 23 | 24 | StringsTable 25 | Acknowledgements 26 | Title 27 | Acknowledgements 28 | 29 | 30 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceTests/Pods-PodtraceTests-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_PodtraceTests : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_PodtraceTests 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceTests/Pods-PodtraceTests-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 12 | local source="${BUILT_PRODUCTS_DIR}/$1" 13 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 14 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 15 | elif [ -r "$1" ]; then 16 | local source="$1" 17 | fi 18 | 19 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 20 | 21 | if [ -L "${source}" ]; then 22 | echo "Symlinked..." 23 | source="$(readlink "${source}")" 24 | fi 25 | 26 | # use filter instead of exclude so missing patterns dont' throw errors 27 | echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 28 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 29 | 30 | local basename 31 | basename="$(basename -s .framework "$1")" 32 | binary="${destination}/${basename}.framework/${basename}" 33 | if ! [ -r "$binary" ]; then 34 | binary="${destination}/${basename}" 35 | fi 36 | 37 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 38 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 39 | strip_invalid_archs "$binary" 40 | fi 41 | 42 | # Resign the code if required by the build settings to avoid unstable apps 43 | code_sign_if_enabled "${destination}/$(basename "$1")" 44 | 45 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 46 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 47 | local swift_runtime_libs 48 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 49 | for lib in $swift_runtime_libs; do 50 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 51 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 52 | code_sign_if_enabled "${destination}/${lib}" 53 | done 54 | fi 55 | } 56 | 57 | # Signs a framework with the provided identity 58 | code_sign_if_enabled() { 59 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 60 | # Use the current code_sign_identitiy 61 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 62 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" 63 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" 64 | fi 65 | } 66 | 67 | # Strip invalid architectures 68 | strip_invalid_archs() { 69 | binary="$1" 70 | # Get architectures for current file 71 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 72 | stripped="" 73 | for arch in $archs; do 74 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then 75 | # Strip non-valid architectures in-place 76 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 77 | stripped="$stripped $arch" 78 | fi 79 | done 80 | if [[ "$stripped" ]]; then 81 | echo "Stripped $binary of architectures:$stripped" 82 | fi 83 | } 84 | 85 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceTests/Pods-PodtraceTests-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | 6 | FOUNDATION_EXPORT double Pods_PodtraceTestsVersionNumber; 7 | FOUNDATION_EXPORT const unsigned char Pods_PodtraceTestsVersionString[]; 8 | 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceTests/Pods-PodtraceTests.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/MBCircularProgressBar" "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD" "$PODS_CONFIGURATION_BUILD_DIR/XLForm" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/MBCircularProgressBar/MBCircularProgressBar.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD/SVProgressHUD.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/XLForm/XLForm.framework/Headers" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceTests/Pods-PodtraceTests.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_PodtraceTests { 2 | umbrella header "Pods-PodtraceTests-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceTests/Pods-PodtraceTests.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/MBCircularProgressBar" "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD" "$PODS_CONFIGURATION_BUILD_DIR/XLForm" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/MBCircularProgressBar/MBCircularProgressBar.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD/SVProgressHUD.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/XLForm/XLForm.framework/Headers" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceUITests/Pods-PodtraceUITests-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | Generated by CocoaPods - https://cocoapods.org 4 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceUITests/Pods-PodtraceUITests-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Generated by CocoaPods - https://cocoapods.org 18 | Title 19 | 20 | Type 21 | PSGroupSpecifier 22 | 23 | 24 | StringsTable 25 | Acknowledgements 26 | Title 27 | Acknowledgements 28 | 29 | 30 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceUITests/Pods-PodtraceUITests-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_PodtraceUITests : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_PodtraceUITests 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceUITests/Pods-PodtraceUITests-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 12 | local source="${BUILT_PRODUCTS_DIR}/$1" 13 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 14 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 15 | elif [ -r "$1" ]; then 16 | local source="$1" 17 | fi 18 | 19 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 20 | 21 | if [ -L "${source}" ]; then 22 | echo "Symlinked..." 23 | source="$(readlink "${source}")" 24 | fi 25 | 26 | # use filter instead of exclude so missing patterns dont' throw errors 27 | echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 28 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 29 | 30 | local basename 31 | basename="$(basename -s .framework "$1")" 32 | binary="${destination}/${basename}.framework/${basename}" 33 | if ! [ -r "$binary" ]; then 34 | binary="${destination}/${basename}" 35 | fi 36 | 37 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 38 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 39 | strip_invalid_archs "$binary" 40 | fi 41 | 42 | # Resign the code if required by the build settings to avoid unstable apps 43 | code_sign_if_enabled "${destination}/$(basename "$1")" 44 | 45 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 46 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 47 | local swift_runtime_libs 48 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 49 | for lib in $swift_runtime_libs; do 50 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 51 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 52 | code_sign_if_enabled "${destination}/${lib}" 53 | done 54 | fi 55 | } 56 | 57 | # Signs a framework with the provided identity 58 | code_sign_if_enabled() { 59 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 60 | # Use the current code_sign_identitiy 61 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 62 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" 63 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" 64 | fi 65 | } 66 | 67 | # Strip invalid architectures 68 | strip_invalid_archs() { 69 | binary="$1" 70 | # Get architectures for current file 71 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 72 | stripped="" 73 | for arch in $archs; do 74 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then 75 | # Strip non-valid architectures in-place 76 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 77 | stripped="$stripped $arch" 78 | fi 79 | done 80 | if [[ "$stripped" ]]; then 81 | echo "Stripped $binary of architectures:$stripped" 82 | fi 83 | } 84 | 85 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceUITests/Pods-PodtraceUITests-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | 6 | FOUNDATION_EXPORT double Pods_PodtraceUITestsVersionNumber; 7 | FOUNDATION_EXPORT const unsigned char Pods_PodtraceUITestsVersionString[]; 8 | 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceUITests/Pods-PodtraceUITests.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/MBCircularProgressBar" "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD" "$PODS_CONFIGURATION_BUILD_DIR/XLForm" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/MBCircularProgressBar/MBCircularProgressBar.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD/SVProgressHUD.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/XLForm/XLForm.framework/Headers" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceUITests/Pods-PodtraceUITests.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_PodtraceUITests { 2 | umbrella header "Pods-PodtraceUITests-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PodtraceUITests/Pods-PodtraceUITests.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/MBCircularProgressBar" "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD" "$PODS_CONFIGURATION_BUILD_DIR/XLForm" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/MBCircularProgressBar/MBCircularProgressBar.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD/SVProgressHUD.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/XLForm/XLForm.framework/Headers" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SVProgressHUD/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 2.1.2 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SVProgressHUD/SVProgressHUD-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_SVProgressHUD : NSObject 3 | @end 4 | @implementation PodsDummy_SVProgressHUD 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SVProgressHUD/SVProgressHUD-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SVProgressHUD/SVProgressHUD-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | #import "SVIndefiniteAnimatedView.h" 6 | #import "SVProgressAnimatedView.h" 7 | #import "SVProgressHUD.h" 8 | #import "SVRadialGradientLayer.h" 9 | 10 | FOUNDATION_EXPORT double SVProgressHUDVersionNumber; 11 | FOUNDATION_EXPORT const unsigned char SVProgressHUDVersionString[]; 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SVProgressHUD/SVProgressHUD.modulemap: -------------------------------------------------------------------------------- 1 | framework module SVProgressHUD { 2 | umbrella header "SVProgressHUD-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SVProgressHUD/SVProgressHUD.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/SVProgressHUD 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" 4 | OTHER_LDFLAGS = -framework "QuartzCore" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/XLForm/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 3.3.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/XLForm/XLForm-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_XLForm : NSObject 3 | @end 4 | @implementation PodsDummy_XLForm 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/XLForm/XLForm-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Pods/Target Support Files/XLForm/XLForm-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | #import "XLFormBaseCell.h" 6 | #import "XLFormButtonCell.h" 7 | #import "XLFormCheckCell.h" 8 | #import "XLFormDateCell.h" 9 | #import "XLFormDatePickerCell.h" 10 | #import "XLFormDescriptorCell.h" 11 | #import "XLFormImageCell.h" 12 | #import "XLFormInlineRowDescriptorCell.h" 13 | #import "XLFormInlineSelectorCell.h" 14 | #import "XLFormLeftRightSelectorCell.h" 15 | #import "XLFormPickerCell.h" 16 | #import "XLFormSegmentedCell.h" 17 | #import "XLFormSelectorCell.h" 18 | #import "XLFormSliderCell.h" 19 | #import "XLFormStepCounterCell.h" 20 | #import "XLFormSwitchCell.h" 21 | #import "XLFormTextFieldCell.h" 22 | #import "XLFormTextViewCell.h" 23 | #import "XLFormOptionsObject.h" 24 | #import "XLFormOptionsViewController.h" 25 | #import "XLFormRowDescriptorViewController.h" 26 | #import "XLFormViewController.h" 27 | #import "XLFormDescriptor.h" 28 | #import "XLFormDescriptorDelegate.h" 29 | #import "XLFormRowDescriptor.h" 30 | #import "XLFormSectionDescriptor.h" 31 | #import "NSArray+XLFormAdditions.h" 32 | #import "NSExpression+XLFormAdditions.h" 33 | #import "NSObject+XLFormAdditions.h" 34 | #import "NSPredicate+XLFormAdditions.h" 35 | #import "NSString+XLFormAdditions.h" 36 | #import "UIView+XLFormAdditions.h" 37 | #import "XLFormRightDetailCell.h" 38 | #import "XLFormRightImageButton.h" 39 | #import "XLFormRowNavigationAccessoryView.h" 40 | #import "XLFormTextView.h" 41 | #import "XLFormRegexValidator.h" 42 | #import "XLFormValidationStatus.h" 43 | #import "XLFormValidator.h" 44 | #import "XLFormValidatorProtocol.h" 45 | #import "XLForm.h" 46 | 47 | FOUNDATION_EXPORT double XLFormVersionNumber; 48 | FOUNDATION_EXPORT const unsigned char XLFormVersionString[]; 49 | 50 | -------------------------------------------------------------------------------- /Pods/Target Support Files/XLForm/XLForm.modulemap: -------------------------------------------------------------------------------- 1 | framework module XLForm { 2 | umbrella header "XLForm-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/XLForm/XLForm.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/XLForm 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" 4 | OTHER_LDFLAGS = -framework "CoreGraphics" -framework "Foundation" -framework "UIKit" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Pods/XLForm/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Xmartlabs ( http://xmartlabs.com ) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormBaseCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormBaseCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormDescriptorCell.h" 27 | #import "XLFormViewController.h" 28 | #import 29 | 30 | @class XLFormViewController; 31 | @class XLFormRowDescriptor; 32 | 33 | 34 | @interface XLFormBaseCell : UITableViewCell 35 | 36 | @property (nonatomic, weak) XLFormRowDescriptor * rowDescriptor; 37 | 38 | -(XLFormViewController *)formViewController; 39 | 40 | @end 41 | 42 | 43 | @protocol XLFormReturnKeyProtocol 44 | 45 | @property UIReturnKeyType returnKeyType; 46 | @property UIReturnKeyType nextReturnKeyType; 47 | 48 | @end 49 | 50 | 51 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormBaseCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormBaseCell.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | 28 | @implementation XLFormBaseCell 29 | 30 | - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 31 | { 32 | self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 33 | if (self) { 34 | [self configure]; 35 | } 36 | return self; 37 | } 38 | 39 | - (void)awakeFromNib 40 | { 41 | [super awakeFromNib]; 42 | [self configure]; 43 | } 44 | 45 | - (void)configure 46 | { 47 | } 48 | 49 | - (void)update 50 | { 51 | self.textLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody]; 52 | self.detailTextLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody]; 53 | self.textLabel.textColor = self.rowDescriptor.isDisabled ? [UIColor grayColor] : [UIColor blackColor]; 54 | } 55 | 56 | -(void)highlight 57 | { 58 | } 59 | 60 | -(void)unhighlight 61 | { 62 | } 63 | 64 | -(XLFormViewController *)formViewController 65 | { 66 | id responder = self; 67 | while (responder){ 68 | if ([responder isKindOfClass:[XLFormViewController class]]){ 69 | return responder; 70 | } 71 | responder = [responder nextResponder]; 72 | } 73 | return nil; 74 | } 75 | 76 | #pragma mark - Navigation Between Fields 77 | 78 | -(UIView *)inputAccessoryView 79 | { 80 | UIView * inputAccessoryView = [self.formViewController inputAccessoryViewForRowDescriptor:self.rowDescriptor]; 81 | if (inputAccessoryView){ 82 | return inputAccessoryView; 83 | } 84 | return [super inputAccessoryView]; 85 | } 86 | 87 | -(BOOL)formDescriptorCellCanBecomeFirstResponder 88 | { 89 | return NO; 90 | } 91 | 92 | #pragma mark - 93 | 94 | -(BOOL)becomeFirstResponder 95 | { 96 | BOOL result = [super becomeFirstResponder]; 97 | if (result){ 98 | [self.formViewController beginEditing:self.rowDescriptor]; 99 | } 100 | return result; 101 | } 102 | 103 | -(BOOL)resignFirstResponder 104 | { 105 | BOOL result = [super resignFirstResponder]; 106 | if (result){ 107 | [self.formViewController endEditing:self.rowDescriptor]; 108 | } 109 | return result; 110 | } 111 | 112 | @end 113 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormButtonCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormButtonCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | #import 28 | 29 | @interface XLFormButtonCell : XLFormBaseCell 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormCheckCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormCheckCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | 28 | @interface XLFormCheckCell : XLFormBaseCell 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormCheckCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormCheckCell.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormCheckCell.h" 27 | 28 | @implementation XLFormCheckCell 29 | 30 | #pragma mark - XLFormDescriptorCell 31 | 32 | - (void)configure 33 | { 34 | [super configure]; 35 | self.accessoryType = UITableViewCellAccessoryCheckmark; 36 | self.editingAccessoryType = self.accessoryType; 37 | } 38 | 39 | - (void)update 40 | { 41 | [super update]; 42 | self.textLabel.text = self.rowDescriptor.title; 43 | self.accessoryType = [self.rowDescriptor.value boolValue] ? UITableViewCellAccessoryCheckmark : UITableViewCellAccessoryNone; 44 | self.editingAccessoryType = self.accessoryType; 45 | CGFloat red, green, blue, alpha; 46 | [self.tintColor getRed:&red green:&green blue:&blue alpha:&alpha]; 47 | self.selectionStyle = UITableViewCellSelectionStyleDefault; 48 | if (self.rowDescriptor.isDisabled){ 49 | [self setTintColor:[UIColor colorWithRed:red green:green blue:blue alpha:0.3]]; 50 | self.selectionStyle = UITableViewCellSelectionStyleNone; 51 | } 52 | else{ 53 | [self setTintColor:[UIColor colorWithRed:red green:green blue:blue alpha:1]]; 54 | } 55 | } 56 | // 57 | 58 | -(void)formDescriptorCellDidSelectedWithFormController:(XLFormViewController *)controller 59 | { 60 | self.rowDescriptor.value = [NSNumber numberWithBool:![self.rowDescriptor.value boolValue]]; 61 | [self.formViewController updateFormRow:self.rowDescriptor]; 62 | [controller.tableView deselectRowAtIndexPath:[controller.form indexPathOfFormRow:self.rowDescriptor] animated:YES]; 63 | } 64 | 65 | @end 66 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormDateCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormDateCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | 28 | typedef NS_ENUM(NSUInteger, XLFormDateDatePickerMode) { 29 | XLFormDateDatePickerModeGetFromRowDescriptor, 30 | XLFormDateDatePickerModeDate, 31 | XLFormDateDatePickerModeDateTime, 32 | XLFormDateDatePickerModeTime 33 | }; 34 | 35 | @interface XLFormDateCell : XLFormBaseCell 36 | 37 | @property (nonatomic) XLFormDateDatePickerMode formDatePickerMode; 38 | @property (nonatomic) NSDate *minimumDate; 39 | @property (nonatomic) NSDate *maximumDate; 40 | @property (nonatomic) NSInteger minuteInterval; 41 | @property (nonatomic) NSLocale *locale; 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormDatePickerCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormDatePickerCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLForm.h" 27 | #import "XLFormBaseCell.h" 28 | 29 | #import 30 | 31 | @interface XLFormDatePickerCell : XLFormBaseCell 32 | 33 | @property (nonatomic, readonly) UIDatePicker * datePicker; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormDatePickerCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormDatePickerCell.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "UIView+XLFormAdditions.h" 27 | 28 | #import "XLFormDatePickerCell.h" 29 | 30 | @implementation XLFormDatePickerCell 31 | 32 | @synthesize datePicker = _datePicker; 33 | @synthesize inlineRowDescriptor = _inlineRowDescriptor; 34 | 35 | -(BOOL)canResignFirstResponder 36 | { 37 | return YES; 38 | } 39 | 40 | #pragma mark - Properties 41 | 42 | -(UIDatePicker *)datePicker 43 | { 44 | if (_datePicker) return _datePicker; 45 | _datePicker = [UIDatePicker autolayoutView]; 46 | [_datePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged]; 47 | return _datePicker; 48 | } 49 | 50 | #pragma mark- Target Action 51 | 52 | - (void)datePickerValueChanged:(UIDatePicker *)sender 53 | { 54 | if (self.inlineRowDescriptor){ 55 | self.inlineRowDescriptor.value = sender.date; 56 | [self.formViewController updateFormRow:self.inlineRowDescriptor]; 57 | } 58 | else{ 59 | [self becomeFirstResponder]; 60 | self.rowDescriptor.value = sender.date; 61 | } 62 | } 63 | 64 | #pragma mark - XLFormDescriptorCell 65 | 66 | -(void)configure 67 | { 68 | [super configure]; 69 | [self.contentView addSubview:self.datePicker]; 70 | [self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.datePicker attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeCenterX multiplier:1 constant:0]]; 71 | [self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[datePicker]-0-|" options:0 metrics:0 views:@{@"datePicker" : self.datePicker}]]; 72 | } 73 | 74 | -(void)update 75 | { 76 | [super update]; 77 | [self.datePicker setUserInteractionEnabled:![self.rowDescriptor isDisabled]]; 78 | } 79 | 80 | 81 | +(CGFloat)formDescriptorCellHeightForRowDescriptor:(XLFormRowDescriptor *)rowDescriptor 82 | { 83 | return 216.0f; 84 | } 85 | 86 | @end 87 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormDescriptorCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormDescriptorCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | 29 | @class XLFormRowDescriptor; 30 | @class XLFormViewController; 31 | 32 | @protocol XLFormDescriptorCell 33 | 34 | @required 35 | 36 | @property (nonatomic, weak) XLFormRowDescriptor * rowDescriptor; 37 | -(void)configure; 38 | -(void)update; 39 | 40 | @optional 41 | 42 | +(CGFloat)formDescriptorCellHeightForRowDescriptor:(XLFormRowDescriptor *)rowDescriptor; 43 | -(BOOL)formDescriptorCellCanBecomeFirstResponder; 44 | -(BOOL)formDescriptorCellBecomeFirstResponder; 45 | -(void)formDescriptorCellDidSelectedWithFormController:(XLFormViewController *)controller; 46 | -(NSString *)formDescriptorHttpParameterName; 47 | 48 | 49 | -(void)highlight; 50 | -(void)unhighlight; 51 | 52 | 53 | @end 54 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormImageCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormBaseCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | 28 | @interface XLFormImageCell : XLFormBaseCell 29 | 30 | @end 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormInlineRowDescriptorCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormInlineRowDescriptorCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | @protocol XLFormInlineRowDescriptorCell 29 | 30 | @property (nonatomic, weak) XLFormRowDescriptor * inlineRowDescriptor; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormInlineSelectorCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormInlineSelectorCell.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | 28 | @interface XLFormInlineSelectorCell : XLFormBaseCell 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormLeftRightSelectorCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormLeftRightSelectorCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLForm.h" 27 | #import 28 | 29 | 30 | @interface XLFormLeftRightSelectorCell : XLFormBaseCell 31 | 32 | @property (nonatomic, readonly) UIButton * leftButton; 33 | @property (nonatomic, readonly) UILabel * rightLabel; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormPickerCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormPickerCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLForm.h" 27 | #import "XLFormBaseCell.h" 28 | 29 | @interface XLFormPickerCell : XLFormBaseCell 30 | 31 | @property (nonatomic) UIPickerView * pickerView; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormSegmentedCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormSegmentedCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | 28 | @interface XLFormSegmentedCell : XLFormBaseCell 29 | 30 | @property (nonatomic, readonly) UILabel * textLabel; 31 | @property (nonatomic, readonly) UISegmentedControl *segmentedControl; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormSelectorCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormSelectorCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | #import 28 | 29 | @interface XLFormSelectorCell : XLFormBaseCell 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormSliderCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormSliderCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLForm.h" 27 | 28 | @interface XLFormSliderCell : XLFormBaseCell 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormSliderCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormSliderCell.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormSliderCell.h" 27 | #import "UIView+XLFormAdditions.h" 28 | 29 | @interface XLFormSliderCell () 30 | 31 | @property (nonatomic) UISlider * slider; 32 | @property (nonatomic) UILabel * textLabel; 33 | @property NSUInteger steps; 34 | 35 | @end 36 | 37 | @implementation XLFormSliderCell 38 | 39 | @synthesize textLabel = _textLabel; 40 | 41 | - (void)configure 42 | { 43 | self.steps = 0; 44 | [self.slider addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventValueChanged]; 45 | [self.contentView addSubview:self.slider]; 46 | [self.contentView addSubview:self.textLabel]; 47 | self.selectionStyle = UITableViewCellSelectionStyleNone; 48 | [self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.textLabel attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeTop multiplier:1 constant:10]]; 49 | [self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.slider attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeTop multiplier:1 constant:44]]; 50 | [self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[textLabel]-|" options:0 metrics:0 views:@{@"textLabel": self.textLabel}]]; 51 | [self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[slider]-|" options:0 metrics:0 views:@{@"slider": self.slider}]]; 52 | 53 | [self valueChanged:nil]; 54 | } 55 | 56 | -(void)update { 57 | 58 | [super update]; 59 | self.textLabel.text = self.rowDescriptor.title; 60 | self.slider.value = [self.rowDescriptor.value floatValue]; 61 | self.slider.enabled = !self.rowDescriptor.isDisabled; 62 | [self valueChanged:nil]; 63 | } 64 | 65 | -(void)valueChanged:(UISlider*)_slider { 66 | if(self.steps != 0) { 67 | self.slider.value = roundf((self.slider.value-self.slider.minimumValue)/(self.slider.maximumValue-self.slider.minimumValue)*self.steps)*(self.slider.maximumValue-self.slider.minimumValue)/self.steps + self.slider.minimumValue; 68 | } 69 | self.rowDescriptor.value = @(self.slider.value); 70 | } 71 | 72 | +(CGFloat)formDescriptorCellHeightForRowDescriptor:(XLFormRowDescriptor *)rowDescriptor { 73 | return 88; 74 | } 75 | 76 | 77 | -(UILabel *)textLabel 78 | { 79 | if (_textLabel) return _textLabel; 80 | _textLabel = [UILabel autolayoutView]; 81 | return _textLabel; 82 | } 83 | 84 | -(UISlider *)slider 85 | { 86 | if (_slider) return _slider; 87 | _slider = [UISlider autolayoutView]; 88 | return _slider; 89 | } 90 | 91 | @end 92 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormStepCounterCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormStepCounterCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | #import 28 | 29 | @interface XLFormStepCounterCell : XLFormBaseCell 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormSwitchCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormSwitchCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | 28 | @interface XLFormSwitchCell : XLFormBaseCell 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormSwitchCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormSwitchCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRowDescriptor.h" 27 | 28 | #import "XLFormSwitchCell.h" 29 | 30 | @implementation XLFormSwitchCell 31 | 32 | #pragma mark - XLFormDescriptorCell 33 | 34 | - (void)configure 35 | { 36 | [super configure]; 37 | self.selectionStyle = UITableViewCellSelectionStyleNone; 38 | self.accessoryView = [[UISwitch alloc] init]; 39 | self.editingAccessoryView = self.accessoryView; 40 | [self.switchControl addTarget:self action:@selector(valueChanged) forControlEvents:UIControlEventValueChanged]; 41 | } 42 | 43 | - (void)update 44 | { 45 | [super update]; 46 | self.textLabel.text = self.rowDescriptor.title; 47 | self.switchControl.on = [self.rowDescriptor.value boolValue]; 48 | self.switchControl.enabled = !self.rowDescriptor.isDisabled; 49 | } 50 | 51 | - (UISwitch *)switchControl 52 | { 53 | return (UISwitch *)self.accessoryView; 54 | } 55 | 56 | - (void)valueChanged 57 | { 58 | self.rowDescriptor.value = @(self.switchControl.on); 59 | } 60 | 61 | @end 62 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormTextFieldCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormTextFieldCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | #import 28 | 29 | extern NSString *const XLFormTextFieldLengthPercentage; 30 | extern NSString *const XLFormTextFieldMaxNumberOfCharacters; 31 | 32 | @interface XLFormTextFieldCell : XLFormBaseCell 33 | 34 | @property (nonatomic, readonly) UILabel * textLabel; 35 | @property (nonatomic, readonly) UITextField * textField; 36 | 37 | @property (nonatomic) NSNumber *textFieldLengthPercentage; 38 | @property (nonatomic) NSNumber *textFieldMaxNumberOfCharacters; 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormTextViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormTextViewCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormTextView.h" 27 | #import "XLFormBaseCell.h" 28 | #import 29 | 30 | extern NSString *const XLFormTextViewLengthPercentage; 31 | extern NSString *const XLFormTextViewMaxNumberOfCharacters; 32 | 33 | @interface XLFormTextViewCell : XLFormBaseCell 34 | 35 | @property (nonatomic, readonly) UILabel * label DEPRECATED_ATTRIBUTE DEPRECATED_MSG_ATTRIBUTE("Use textLabel instead"); 36 | @property (nonatomic, readonly) UILabel * textLabel; 37 | @property (nonatomic, readonly) XLFormTextView * textView; 38 | 39 | @property (nonatomic) NSNumber *textViewLengthPercentage; 40 | @property (nonatomic) NSNumber *textViewMaxNumberOfCharacters; 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Controllers/XLFormOptionsObject.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormOptionsObject.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRowDescriptor.h" 27 | #import 28 | 29 | @interface XLFormOptionsObject : NSObject 30 | 31 | +(XLFormOptionsObject *)formOptionsObjectWithValue:(id)value displayText:(NSString *)displayText; 32 | +(XLFormOptionsObject *)formOptionsOptionForValue:(id)value fromOptions:(NSArray *)options; 33 | +(XLFormOptionsObject *)formOptionsOptionForDisplayText:(NSString *)displayText fromOptions:(NSArray *)options; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Controllers/XLFormOptionsObject.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormOptionsObject.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormOptionsObject.h" 27 | 28 | @implementation XLFormOptionsObject 29 | { 30 | NSString * _formDisplaytext; 31 | id _formValue; 32 | } 33 | 34 | +(XLFormOptionsObject *)formOptionsObjectWithValue:(id)value displayText:(NSString *)displayText 35 | { 36 | return [[XLFormOptionsObject alloc] initWithValue:value displayText:displayText]; 37 | } 38 | 39 | -(instancetype)initWithValue:(id)value displayText:(NSString *)displayText 40 | { 41 | self = [super init]; 42 | if (self){ 43 | _formValue = value; 44 | _formDisplaytext = displayText; 45 | } 46 | return self; 47 | } 48 | 49 | +(XLFormOptionsObject *)formOptionsOptionForValue:(id)value fromOptions:(NSArray *)options 50 | { 51 | for (XLFormOptionsObject * option in options) { 52 | if ([option.formValue isEqual:value]){ 53 | return option; 54 | } 55 | } 56 | return nil; 57 | } 58 | 59 | +(XLFormOptionsObject *)formOptionsOptionForDisplayText:(NSString *)displayText fromOptions:(NSArray *)options 60 | { 61 | for (XLFormOptionsObject * option in options) { 62 | if ([option.formDisplayText isEqualToString:displayText]){ 63 | return option; 64 | } 65 | } 66 | return nil; 67 | } 68 | 69 | -(BOOL)isEqual:(id)object 70 | { 71 | if (![[self class] isEqual:[object class]]){ 72 | return NO; 73 | } 74 | return [self.formValue isEqual:((XLFormOptionsObject *)object).formValue]; 75 | } 76 | 77 | #pragma mark - XLFormOptionObject 78 | 79 | -(NSString *)formDisplayText 80 | { 81 | return _formDisplaytext; 82 | } 83 | 84 | -(id)formValue 85 | { 86 | return _formValue; 87 | } 88 | #pragma mark - NSCoding 89 | -(void)encodeWithCoder:(NSCoder *)encoder 90 | { 91 | 92 | [encoder encodeObject:self.formValue 93 | forKey:@"formValue"]; 94 | [encoder encodeObject:self.formDisplayText 95 | forKey:@"formDisplayText"]; 96 | } 97 | -(instancetype)initWithCoder:(NSCoder *)decoder 98 | { 99 | if ((self=[super init])) { 100 | 101 | [self setValue:[decoder decodeObjectForKey:@"formValue"] 102 | forKey:@"formValue"]; 103 | [self setValue:[decoder decodeObjectForKey:@"formDisplayText"] 104 | forKey:@"formDisplaytext"]; 105 | 106 | } 107 | 108 | return self; 109 | 110 | } 111 | @end 112 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Controllers/XLFormOptionsViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormOptionsViewController.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | 27 | 28 | #import "XLFormRowDescriptorViewController.h" 29 | #import "XLFormRowDescriptor.h" 30 | 31 | @interface XLFormOptionsViewController : UITableViewController 32 | 33 | - (instancetype)initWithStyle:(UITableViewStyle)style; 34 | 35 | 36 | - (instancetype)initWithStyle:(UITableViewStyle)style 37 | titleHeaderSection:(NSString *)titleHeaderSection 38 | titleFooterSection:(NSString *)titleFooterSection; 39 | 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Controllers/XLFormRowDescriptorViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRowDescriptorViewController.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | 27 | #import "XLFormRowDescriptor.h" 28 | #import 29 | 30 | @protocol XLFormRowDescriptorViewController 31 | 32 | @required 33 | @property (nonatomic) XLFormRowDescriptor * rowDescriptor; 34 | 35 | @end 36 | 37 | @protocol XLFormRowDescriptorPopoverViewController 38 | 39 | @required 40 | @property (nonatomic) UIPopoverController * popoverController; 41 | 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Descriptors/XLFormDescriptorDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormDescriptorDelegate.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormDescriptor.h" 27 | #import 28 | 29 | @class XLFormSectionDescriptor; 30 | 31 | typedef NS_ENUM(NSUInteger, XLPredicateType) { 32 | XLPredicateTypeDisabled = 0, 33 | XLPredicateTypeHidden 34 | }; 35 | 36 | 37 | @protocol XLFormDescriptorDelegate 38 | 39 | @required 40 | 41 | -(void)formSectionHasBeenRemoved:(XLFormSectionDescriptor *)formSection atIndex:(NSUInteger)index; 42 | -(void)formSectionHasBeenAdded:(XLFormSectionDescriptor *)formSection atIndex:(NSUInteger)index; 43 | -(void)formRowHasBeenAdded:(XLFormRowDescriptor *)formRow atIndexPath:(NSIndexPath *)indexPath; 44 | -(void)formRowHasBeenRemoved:(XLFormRowDescriptor *)formRow atIndexPath:(NSIndexPath *)indexPath; 45 | -(void)formRowDescriptorValueHasChanged:(XLFormRowDescriptor *)formRow oldValue:(id)oldValue newValue:(id)newValue; 46 | -(void)formRowDescriptorPredicateHasChanged:(XLFormRowDescriptor *)formRow 47 | oldValue:(id)oldValue 48 | newValue:(id)newValue 49 | predicateType:(XLPredicateType)predicateType; 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Descriptors/XLFormSectionDescriptor.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormSectionDescriptor.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRowDescriptor.h" 27 | #import 28 | 29 | typedef NS_OPTIONS(NSUInteger, XLFormSectionOptions) { 30 | XLFormSectionOptionNone = 0, 31 | XLFormSectionOptionCanInsert = 1 << 0, 32 | XLFormSectionOptionCanDelete = 1 << 1, 33 | XLFormSectionOptionCanReorder = 1 << 2 34 | }; 35 | 36 | typedef NS_ENUM(NSUInteger, XLFormSectionInsertMode) { 37 | XLFormSectionInsertModeLastRow = 0, 38 | XLFormSectionInsertModeButton = 2 39 | }; 40 | 41 | @class XLFormDescriptor; 42 | 43 | @interface XLFormSectionDescriptor : NSObject 44 | 45 | @property (nonatomic, nullable) NSString * title; 46 | @property (nonatomic, nullable) NSString * footerTitle; 47 | @property (readonly, nonnull) NSMutableArray * formRows; 48 | 49 | @property (readonly) XLFormSectionInsertMode sectionInsertMode; 50 | @property (readonly) XLFormSectionOptions sectionOptions; 51 | @property (nullable) XLFormRowDescriptor * multivaluedRowTemplate; 52 | @property (readonly, nullable) XLFormRowDescriptor * multivaluedAddButton; 53 | @property (nonatomic, nullable) NSString * multivaluedTag; 54 | 55 | @property (weak, null_unspecified) XLFormDescriptor * formDescriptor; 56 | 57 | @property (nonnull) id hidden; 58 | -(BOOL)isHidden; 59 | 60 | +(nonnull instancetype)formSection; 61 | +(nonnull instancetype)formSectionWithTitle:(nullable NSString *)title; 62 | +(nonnull instancetype)formSectionWithTitle:(nullable NSString *)title multivaluedSection:(BOOL)multivaluedSection DEPRECATED_ATTRIBUTE DEPRECATED_MSG_ATTRIBUTE("Use formSectionWithTitle:sectionType: instead"); 63 | +(nonnull instancetype)formSectionWithTitle:(nullable NSString *)title sectionOptions:(XLFormSectionOptions)sectionOptions; 64 | +(nonnull instancetype)formSectionWithTitle:(nullable NSString *)title sectionOptions:(XLFormSectionOptions)sectionOptions sectionInsertMode:(XLFormSectionInsertMode)sectionInsertMode; 65 | 66 | -(BOOL)isMultivaluedSection; 67 | -(void)addFormRow:(nonnull XLFormRowDescriptor *)formRow; 68 | -(void)addFormRow:(nonnull XLFormRowDescriptor *)formRow afterRow:(nonnull XLFormRowDescriptor *)afterRow; 69 | -(void)addFormRow:(nonnull XLFormRowDescriptor *)formRow beforeRow:(nonnull XLFormRowDescriptor *)beforeRow; 70 | -(void)removeFormRowAtIndex:(NSUInteger)index; 71 | -(void)removeFormRow:(nonnull XLFormRowDescriptor *)formRow; 72 | 73 | @end 74 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSArray+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+XLFormAdditions.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | @interface NSArray (XLFormAdditions) 29 | 30 | -(NSInteger)formIndexForItem:(id)item; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSArray+XLFormAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+XLFormAdditions.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "NSArray+XLFormAdditions.h" 27 | #import "NSObject+XLFormAdditions.h" 28 | 29 | @implementation NSArray (XLFormAdditions) 30 | 31 | -(NSInteger)formIndexForItem:(id)item 32 | { 33 | for (id selectedValueItem in self) { 34 | if ([[selectedValueItem valueData] isEqual:[item valueData]]){ 35 | return [self indexOfObject:selectedValueItem]; 36 | } 37 | } 38 | return NSNotFound; 39 | } 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSExpression+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSExpression+XLFormAdditions.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | 27 | #import 28 | 29 | @interface NSExpression (XLFormAdditions) 30 | 31 | -(NSMutableArray*) getExpressionVars; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSExpression+XLFormAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSExpression+XLFormAdditions.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | 27 | #import "NSExpression+XLFormAdditions.h" 28 | 29 | @implementation NSExpression (XLFormAdditions) 30 | 31 | 32 | -(NSMutableArray*) getExpressionVars{ 33 | switch (self.expressionType) { 34 | case NSFunctionExpressionType:{ 35 | NSString* str = [NSString stringWithFormat:@"%@", self]; 36 | if ([str rangeOfString:@"."].location != NSNotFound) 37 | str = [str substringWithRange:NSMakeRange(1, [str rangeOfString:@"."].location - 1)]; 38 | else 39 | str = [str substringFromIndex:1]; 40 | return [[NSMutableArray alloc] initWithObjects: str, nil]; 41 | break; 42 | } 43 | default: 44 | return nil; 45 | break; 46 | } 47 | } 48 | 49 | 50 | @end 51 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSObject+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+XLFormAdditions.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | @interface NSObject (XLFormAdditions) 29 | 30 | -(NSString *)displayText; 31 | -(id)valueData; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSObject+XLFormAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+XLFormAdditions.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRowDescriptor.h" 27 | 28 | #import "NSObject+XLFormAdditions.h" 29 | 30 | @implementation NSObject (XLFormAdditions) 31 | 32 | -(NSString *)displayText 33 | { 34 | if ([self conformsToProtocol:@protocol(XLFormOptionObject)]){ 35 | return [(id)self formDisplayText]; 36 | } 37 | if ([self isKindOfClass:[NSString class]] || [self isKindOfClass:[NSNumber class]]){ 38 | return [self description]; 39 | } 40 | return nil; 41 | } 42 | 43 | -(id)valueData 44 | { 45 | if ([self isKindOfClass:[NSString class]] || [self isKindOfClass:[NSNumber class]] || [self isKindOfClass:[NSDate class]]){ 46 | return self; 47 | } 48 | if ([self isKindOfClass:[NSArray class]]) { 49 | NSMutableArray * result = [NSMutableArray array]; 50 | [(NSArray *)self enumerateObjectsUsingBlock:^(id obj, NSUInteger __unused idx, BOOL __unused *stop) { 51 | [result addObject:[obj valueData]]; 52 | }]; 53 | return result; 54 | } 55 | if ([self conformsToProtocol:@protocol(XLFormOptionObject)]){ 56 | return [(id)self formValue]; 57 | } 58 | return nil; 59 | } 60 | 61 | @end 62 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSPredicate+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSPredicate+XLFormAdditions.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | @interface NSPredicate (XLFormAdditions) 29 | 30 | -(NSMutableArray*) getPredicateVars; 31 | @end 32 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSPredicate+XLFormAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSPredicate+XLFormAdditions.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | #import "NSPredicate+XLFormAdditions.h" 26 | #import "NSExpression+XLFormAdditions.h" 27 | 28 | @implementation NSPredicate (XLFormAdditions) 29 | 30 | 31 | -(NSMutableArray*) getPredicateVars{ 32 | NSMutableArray* ret = [[NSMutableArray alloc] init]; 33 | if ([self isKindOfClass:([NSCompoundPredicate class])]) { 34 | for (id object in ((NSCompoundPredicate*) self).subpredicates ) { 35 | [ret addObjectsFromArray:[object getPredicateVars]]; 36 | } 37 | } 38 | else if ([self isKindOfClass:([NSComparisonPredicate class])]){ 39 | [ret addObjectsFromArray:[((NSComparisonPredicate*) self).leftExpression getExpressionVars]]; 40 | [ret addObjectsFromArray:[((NSComparisonPredicate*) self).rightExpression getExpressionVars]]; 41 | } 42 | return ret; 43 | } 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSString+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+XLFormAdditions.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | #import "XLFormDescriptor.h" 28 | 29 | @interface NSString (XLFormAdditions) 30 | 31 | -(NSPredicate *)formPredicate; 32 | 33 | -(NSString *)formKeyForPredicateType:(XLPredicateType)predicateType; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSString+XLFormAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+XLFormAdditions.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "NSString+XLFormAdditions.h" 27 | 28 | @implementation NSString (XLFormAdditions) 29 | 30 | -(NSPredicate *)formPredicate 31 | { 32 | // returns an array of strings where the first one is the new string with the correct replacements 33 | // and the rest are all the tags that appear in the string 34 | NSString* separator = @"$"; 35 | 36 | NSArray* tokens = [self componentsSeparatedByString:separator]; 37 | NSMutableString* new_string = [[NSMutableString alloc] initWithString:tokens[0]]; 38 | NSRange range; 39 | for (int i = 1; i < tokens.count; i++) { 40 | [new_string appendString:separator]; 41 | NSArray* subtokens = [[tokens[i] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@" <>!=+-&|()"]][0] 42 | componentsSeparatedByString:@"."]; 43 | NSString* tag = subtokens[0]; 44 | NSString* attribute; 45 | if ([subtokens count] >= 2) { 46 | attribute = subtokens[1]; 47 | } 48 | [new_string appendString:tag]; 49 | range = [tokens[i] rangeOfString:[NSString stringWithFormat:@"%@", tag]]; 50 | if (!attribute || (![attribute isEqualToString:@"value"] && ![attribute isEqualToString:@"isHidden"] && ![attribute isEqualToString:@"isDisabled"])){ 51 | [new_string appendString:@".value"]; 52 | } 53 | [new_string appendString:[tokens[i] substringFromIndex:range.location + range.length]]; 54 | } 55 | return [NSPredicate predicateWithFormat:new_string]; 56 | 57 | } 58 | 59 | 60 | -(NSString *)formKeyForPredicateType:(XLPredicateType)predicateType 61 | { 62 | return [NSString stringWithFormat:@"%@-%@", self, (predicateType == XLPredicateTypeHidden ? @"hidden" : @"disabled") ]; 63 | } 64 | 65 | @end 66 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/UIView+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+XLFormAdditions.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormDescriptorCell.h" 27 | #import 28 | 29 | @interface UIView (XLFormAdditions) 30 | 31 | +(id)autolayoutView; 32 | -(NSLayoutConstraint *)layoutConstraintSameHeightOf:(UIView *)view; 33 | -(UIView *)findFirstResponder; 34 | -(UITableViewCell *)formDescriptorCell; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/UIView+XLFormAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+XLFormAdditions.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "UIView+XLFormAdditions.h" 27 | 28 | @implementation UIView (XLFormAdditions) 29 | 30 | + (id)autolayoutView 31 | { 32 | UIView *view = [self new]; 33 | view.translatesAutoresizingMaskIntoConstraints = NO; 34 | return view; 35 | } 36 | 37 | -(NSLayoutConstraint *)layoutConstraintSameHeightOf:(UIView *)view 38 | { 39 | return [NSLayoutConstraint constraintWithItem:self attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:view attribute:NSLayoutAttributeHeight multiplier:1.0f constant:0.0f]; 40 | } 41 | 42 | - (UIView *)findFirstResponder 43 | { 44 | if (self.isFirstResponder) { 45 | return self; 46 | } 47 | for (UIView *subView in self.subviews) { 48 | UIView *firstResponder = [subView findFirstResponder]; 49 | if (firstResponder != nil) { 50 | return firstResponder; 51 | } 52 | } 53 | return nil; 54 | } 55 | 56 | - (UITableViewCell *)formDescriptorCell 57 | { 58 | if ([self isKindOfClass:[UITableViewCell class]]) { 59 | if ([self conformsToProtocol:@protocol(XLFormDescriptorCell)]){ 60 | return (UITableViewCell *)self; 61 | } 62 | return nil; 63 | } 64 | if (self.superview) { 65 | UITableViewCell * tableViewCell = [self.superview formDescriptorCell]; 66 | if (tableViewCell != nil) { 67 | return tableViewCell; 68 | } 69 | } 70 | return nil; 71 | } 72 | 73 | @end 74 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/Views/XLFormRightDetailCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRightDetailCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | @interface XLFormRightDetailCell : UITableViewCell 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/Views/XLFormRightDetailCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRightDetailCell.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRightDetailCell.h" 27 | 28 | @implementation XLFormRightDetailCell 29 | 30 | - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 31 | { 32 | return [super initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:reuseIdentifier]; 33 | } 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/Views/XLFormRightImageButton.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRightImageButton.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | @interface XLFormRightImageButton : UIButton 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/Views/XLFormRightImageButton.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRightImageButton.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRightImageButton.h" 27 | 28 | @implementation XLFormRightImageButton 29 | 30 | 31 | - (CGSize)intrinsicContentSize 32 | { 33 | CGSize s = [super intrinsicContentSize]; 34 | return CGSizeMake(s.width + self.titleEdgeInsets.left + self.titleEdgeInsets.right, 35 | s.height + self.titleEdgeInsets.top + self.titleEdgeInsets.bottom); 36 | 37 | } 38 | 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/Views/XLFormRowNavigationAccessoryView.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRowNavigationAccessoryView.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | @interface XLFormRowNavigationAccessoryView : UIToolbar 29 | 30 | @property (nonatomic) UIBarButtonItem *previousButton; 31 | @property (nonatomic) UIBarButtonItem *nextButton; 32 | @property (nonatomic) UIBarButtonItem *doneButton; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/Views/XLFormTextView.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormTextView.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | 27 | #import 28 | 29 | @interface XLFormTextView : UITextView 30 | 31 | 32 | @property (nonatomic) NSString *placeholder; 33 | @property (nonatomic) UIColor *placeholderColor; 34 | 35 | @property (readonly) UILabel *placeHolderLabel; 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/Views/XLFormTextView.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormTextView.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | 27 | #import "XLFormTextView.h" 28 | 29 | @implementation XLFormTextView 30 | 31 | - (void)dealloc 32 | { 33 | [[NSNotificationCenter defaultCenter] removeObserver:self]; 34 | } 35 | 36 | - (instancetype)initWithFrame:(CGRect)frame 37 | { 38 | if((self = [super initWithFrame:frame])){ 39 | self.scrollsToTop = NO; 40 | self.contentInset = UIEdgeInsetsMake(0, -4, 0, 0); 41 | [self setPlaceholder:@""]; 42 | [self setPlaceholderColor:[UIColor colorWithRed:.78 green:.78 blue:.80 alpha:1.0]]; 43 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChanged:) name:UITextViewTextDidChangeNotification object:nil]; 44 | } 45 | return self; 46 | } 47 | 48 | - (void)textChanged:(NSNotification *)notification 49 | { 50 | if([[self placeholder] length] == 0){ 51 | return; 52 | } 53 | if([[self text] length] == 0){ 54 | [[self viewWithTag:999] setAlpha:1]; 55 | } 56 | else{ 57 | [[self viewWithTag:999] setAlpha:0]; 58 | } 59 | } 60 | 61 | - (void)setText:(NSString *)text { 62 | [super setText:text]; 63 | [self textChanged:nil]; 64 | } 65 | 66 | - (void)drawRect:(CGRect)rect 67 | { 68 | if([[self placeholder] length] > 0){ 69 | if (_placeHolderLabel == nil ){ 70 | _placeHolderLabel = [[UILabel alloc] initWithFrame:CGRectMake(4,8,self.bounds.size.width - 16,0)]; 71 | _placeHolderLabel.lineBreakMode = NSLineBreakByWordWrapping; 72 | _placeHolderLabel.numberOfLines = 0; 73 | _placeHolderLabel.backgroundColor = [UIColor clearColor]; 74 | _placeHolderLabel.textColor = self.placeholderColor; 75 | _placeHolderLabel.alpha = 0; 76 | _placeHolderLabel.tag = 999; 77 | [self addSubview:_placeHolderLabel]; 78 | } 79 | _placeHolderLabel.text = self.placeholder; 80 | _placeHolderLabel.font = self.font; 81 | [_placeHolderLabel sizeToFit]; 82 | [self sendSubviewToBack:_placeHolderLabel]; 83 | } 84 | if( [[self text] length] == 0 && [[self placeholder] length] > 0 ){ 85 | [[self viewWithTag:999] setAlpha:1]; 86 | } 87 | [super drawRect:rect]; 88 | } 89 | 90 | @end 91 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Validation/XLFormRegexValidator.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRegexValidator.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormValidatorProtocol.h" 27 | #import "XLFormValidationStatus.h" 28 | #import "XLFormValidator.h" 29 | 30 | @interface XLFormRegexValidator : XLFormValidator 31 | 32 | @property NSString *msg; 33 | @property NSString *regex; 34 | 35 | - (instancetype)initWithMsg:(NSString*)msg andRegexString:(NSString*)regex; 36 | + (XLFormRegexValidator *)formRegexValidatorWithMsg:(NSString *)msg regex:(NSString *)regex; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Validation/XLFormRegexValidator.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRegexValidator.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRegexValidator.h" 27 | 28 | @implementation XLFormRegexValidator 29 | 30 | -(instancetype)initWithMsg:(NSString*)msg andRegexString:(NSString*)regex { 31 | self = [super init]; 32 | if (self) { 33 | self.msg = msg; 34 | self.regex = regex; 35 | } 36 | 37 | return self; 38 | } 39 | 40 | -(XLFormValidationStatus *)isValid: (XLFormRowDescriptor *)row { 41 | if (row != nil && row.value != nil) { 42 | // we only validate if there is a value 43 | // assumption: required validation is already triggered 44 | // if this field is optional, we only validate if there is a value 45 | id value = row.value; 46 | if ([value isKindOfClass:[NSNumber class]]){ 47 | value = [value stringValue]; 48 | } 49 | if ([value isKindOfClass:[NSString class]] && [value length] > 0) { 50 | BOOL isValid = [[NSPredicate predicateWithFormat:@"SELF MATCHES %@", self.regex] evaluateWithObject:[value stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]]; 51 | return [XLFormValidationStatus formValidationStatusWithMsg:self.msg status:isValid rowDescriptor:row]; 52 | } 53 | } 54 | return nil; 55 | }; 56 | 57 | +(XLFormRegexValidator *)formRegexValidatorWithMsg:(NSString *)msg regex:(NSString *)regex { 58 | return [[XLFormRegexValidator alloc] initWithMsg:msg andRegexString:regex]; 59 | } 60 | 61 | @end 62 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Validation/XLFormValidationStatus.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormValidationStatus.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | #import "XLFormRowDescriptor.h" 29 | 30 | @interface XLFormValidationStatus : NSObject 31 | 32 | @property NSString *msg; 33 | @property BOOL isValid; 34 | @property (nonatomic, weak) XLFormRowDescriptor *rowDescriptor; 35 | 36 | //-(instancetype)initWithMsg:(NSString*)msg andStatus:(BOOL)isValid; 37 | -(instancetype)initWithMsg:(NSString*)msg status:(BOOL)isValid rowDescriptor:(XLFormRowDescriptor *)row; 38 | 39 | //+(XLFormValidationStatus *)formValidationStatusWithMsg:(NSString *)msg status:(BOOL)status; 40 | +(XLFormValidationStatus *)formValidationStatusWithMsg:(NSString *)msg status:(BOOL)status rowDescriptor:(XLFormRowDescriptor *)row; 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Validation/XLFormValidationStatus.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormValidationStatus.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormValidationStatus.h" 27 | 28 | @implementation XLFormValidationStatus 29 | 30 | -(instancetype)initWithMsg:(NSString*)msg andStatus:(BOOL)isValid { 31 | return [self initWithMsg:msg status:isValid rowDescriptor:nil]; 32 | } 33 | 34 | -(instancetype)initWithMsg:(NSString*)msg status:(BOOL)isValid rowDescriptor:(XLFormRowDescriptor *)row { 35 | self = [super init]; 36 | if (self) { 37 | self.msg = msg; 38 | self.isValid = isValid; 39 | self.rowDescriptor = row; 40 | } 41 | 42 | return self; 43 | } 44 | 45 | +(XLFormValidationStatus *)formValidationStatusWithMsg:(NSString *)msg status:(BOOL)status { 46 | return [self formValidationStatusWithMsg:msg status:status rowDescriptor:nil]; 47 | } 48 | 49 | +(XLFormValidationStatus *)formValidationStatusWithMsg:(NSString *)msg status:(BOOL)status rowDescriptor:(XLFormRowDescriptor *)row { 50 | return [[XLFormValidationStatus alloc] initWithMsg:msg status:status rowDescriptor:row]; 51 | } 52 | 53 | @end 54 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Validation/XLFormValidator.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormValidator.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | 27 | #import "XLFormValidatorProtocol.h" 28 | 29 | @interface XLFormValidator : NSObject 30 | 31 | +(XLFormValidator *)emailValidator; 32 | +(XLFormValidator *)emailValidatorLong; 33 | @end 34 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Validation/XLFormValidator.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormValidator.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormValidationStatus.h" 27 | #import "XLFormRegexValidator.h" 28 | 29 | #import "XLFormValidator.h" 30 | 31 | @implementation XLFormValidator 32 | 33 | -(XLFormValidationStatus *)isValid:(XLFormRowDescriptor *)row 34 | { 35 | return [XLFormValidationStatus formValidationStatusWithMsg:nil status:YES rowDescriptor:row]; 36 | } 37 | 38 | #pragma mark - Validators 39 | 40 | 41 | +(XLFormValidator *)emailValidator 42 | { 43 | return [XLFormRegexValidator formRegexValidatorWithMsg:NSLocalizedString(@"Invalid email address", nil) regex:@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"]; 44 | } 45 | +(XLFormValidator *)emailValidatorLong 46 | { 47 | return [XLFormRegexValidator formRegexValidatorWithMsg:NSLocalizedString(@"Invalid email address", nil) regex:@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,11}"]; 48 | } 49 | @end 50 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Validation/XLFormValidatorProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormValidatorProtocol.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRowDescriptor.h" 27 | 28 | @class XLFormValidationStatus; 29 | 30 | @protocol XLFormValidatorProtocol 31 | 32 | @required 33 | 34 | -(XLFormValidationStatus *)isValid:(XLFormRowDescriptor *)row; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XLForm.bundle/forwardarrow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Pods/XLForm/XLForm/XLForm.bundle/forwardarrow@2x.png -------------------------------------------------------------------------------- /Podtrace.ipa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace.ipa -------------------------------------------------------------------------------- /Podtrace.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Podtrace.xcodeproj/xcuserdata/Jerry.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Podtrace.xcodeproj/xcuserdata/Jerry.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Podtrace.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | C4B180BF1E1E8FFA00DBE81A 16 | 17 | primary 18 | 19 | 20 | C4B180D81E1E8FFA00DBE81A 21 | 22 | primary 23 | 24 | 25 | C4B180E31E1E8FFA00DBE81A 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Podtrace.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Podtrace.xcworkspace/xcuserdata/Jerry.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Podtrace/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // Podtrace 4 | // 5 | // Created by Jerry Leung on 6/1/17. 6 | // Copyright © 2017 iPwn Technologies Pty Ltd. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Podtrace/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // Podtrace 4 | // 5 | // Created by Jerry Leung on 6/1/17. 6 | // Copyright © 2017 iPwn Technologies Pty Ltd. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | 12 | @interface AppDelegate () 13 | 14 | @end 15 | 16 | @implementation AppDelegate 17 | 18 | 19 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 20 | // Override point for customization after application launch. 21 | 22 | 23 | self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds]; 24 | UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 25 | 26 | 27 | NSString *airpodsName = [[NSUserDefaults standardUserDefaults] stringForKey:@"airpodName"]; 28 | 29 | if (airpodsName == (id)[NSNull null]) { 30 | 31 | self.window.rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"HasNoName"]; 32 | 33 | } 34 | else if ([airpodsName length] == 0) { 35 | 36 | self.window.rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"HasNoName"]; 37 | 38 | } 39 | else { 40 | 41 | self.window.rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"HasName"]; 42 | } 43 | 44 | 45 | return YES; 46 | } 47 | 48 | 49 | - (void)applicationWillResignActive:(UIApplication *)application { 50 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 51 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 52 | } 53 | 54 | 55 | - (void)applicationDidEnterBackground:(UIApplication *)application { 56 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 57 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 58 | } 59 | 60 | 61 | - (void)applicationWillEnterForeground:(UIApplication *)application { 62 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 63 | } 64 | 65 | 66 | - (void)applicationDidBecomeActive:(UIApplication *)application { 67 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 68 | } 69 | 70 | 71 | - (void)applicationWillTerminate:(UIApplication *)application { 72 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 73 | } 74 | 75 | 76 | @end 77 | -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-Small-50x50@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-Small-50x50@1x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-Small-50x50@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/Icon-Small-50x50@2x.png -------------------------------------------------------------------------------- /Podtrace/Assets.xcassets/AppIcon.appiconset/podtracer 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/Assets.xcassets/AppIcon.appiconset/podtracer 2.png -------------------------------------------------------------------------------- /Podtrace/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Podtrace/FirstLaunch.h: -------------------------------------------------------------------------------- 1 | // 2 | // FirstLaunch.h 3 | // Podtrace 4 | // 5 | // Created by Jerry Leung on 6/1/17. 6 | // Copyright © 2017 iPwn Technologies Pty Ltd. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface FirstLaunch : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Podtrace/FirstLaunch.m: -------------------------------------------------------------------------------- 1 | // 2 | // FirstLaunch.m 3 | // Podtrace 4 | // 5 | // Created by Jerry Leung on 6/1/17. 6 | // Copyright © 2017 iPwn Technologies Pty Ltd. All rights reserved. 7 | // 8 | 9 | #import "FirstLaunch.h" 10 | 11 | @interface FirstLaunch () 12 | 13 | @end 14 | 15 | @implementation FirstLaunch 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view. 20 | 21 | } 22 | 23 | - (void)viewDidAppear:(BOOL)animated 24 | { 25 | [super viewDidAppear:animated]; 26 | 27 | 28 | if ([[NSUserDefaults standardUserDefaults] objectForKey:@"airpodName"] != nil) { 29 | 30 | [self dismissViewControllerAnimated:YES completion:nil]; 31 | 32 | UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil]; 33 | UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"HasName"]; 34 | [self presentViewController:vc animated:YES completion:nil]; 35 | 36 | } 37 | 38 | 39 | } 40 | 41 | 42 | 43 | - (void)didReceiveMemoryWarning { 44 | [super didReceiveMemoryWarning]; 45 | // Dispose of any resources that can be recreated. 46 | } 47 | 48 | /* 49 | #pragma mark - Navigation 50 | 51 | // In a storyboard-based application, you will often want to do a little preparation before navigation 52 | - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 53 | // Get the new view controller using [segue destinationViewController]. 54 | // Pass the selected object to the new view controller. 55 | } 56 | */ 57 | 58 | @end 59 | -------------------------------------------------------------------------------- /Podtrace/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0.2 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | NSBluetoothPeripheralUsageDescription 24 | To locate missing AirPod 25 | NSPhotoLibraryUsageDescription 26 | To access AirPod images 27 | UILaunchStoryboardName 28 | LaunchScreen 29 | UIMainStoryboardFile 30 | Main 31 | UIRequiredDeviceCapabilities 32 | 33 | armv7 34 | 35 | UISupportedInterfaceOrientations 36 | 37 | UIInterfaceOrientationPortrait 38 | 39 | UISupportedInterfaceOrientations~ipad 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationPortraitUpsideDown 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Podtrace/SpecifyName.h: -------------------------------------------------------------------------------- 1 | // 2 | // SpecifyName.h 3 | // Podtrace 4 | // 5 | // Created by Jerry Leung on 6/1/17. 6 | // Copyright © 2017 iPwn Technologies Pty Ltd. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "XLFormViewController.h" 11 | 12 | @interface SpecifyName: XLFormViewController 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Podtrace/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // Podtrace 4 | // 5 | // Created by Jerry Leung on 6/1/17. 6 | // Copyright © 2017 iPwn Technologies Pty Ltd. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface ViewController : UIViewController 13 | 14 | @property (nonatomic, strong) CBCentralManager *centralManager; 15 | 16 | 17 | 18 | @end 19 | 20 | -------------------------------------------------------------------------------- /Podtrace/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // Podtrace 4 | // 5 | // Created by Jerry Leung on 6/1/17. 6 | // Copyright © 2017 iPwn Technologies Pty Ltd. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | #import 11 | #import 12 | 13 | @interface ViewController () 14 | 15 | @property (weak, nonatomic) IBOutlet MBCircularProgressBarView *proximityBar; 16 | 17 | @end 18 | 19 | @implementation ViewController 20 | 21 | - (void)viewDidLoad { 22 | [super viewDidLoad]; 23 | 24 | self.centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil]; 25 | 26 | } 27 | 28 | 29 | - (void) viewDidAppear:(BOOL)animated { 30 | 31 | [super viewDidAppear:animated]; 32 | 33 | if (self.proximityBar.value == 0) { 34 | 35 | [SVProgressHUD setDefaultMaskType:SVProgressHUDMaskTypeBlack]; 36 | [SVProgressHUD showWithStatus:@"Searching for your AirPods. Ensure your Bluetooth is enabled."]; 37 | 38 | dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 10 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ 39 | if (self.proximityBar.value == 0) { 40 | [SVProgressHUD dismiss]; 41 | [SVProgressHUD showErrorWithStatus:@"Failed to find AirPods. Please move elsewhere and restart the search."]; 42 | [self dismissViewControllerAnimated:YES completion:nil]; 43 | } 44 | }); 45 | 46 | } 47 | 48 | } 49 | 50 | 51 | 52 | - (void)viewDidDisappear { 53 | 54 | [self.centralManager stopScan]; 55 | 56 | } 57 | 58 | 59 | - (void)centralManagerDidUpdateState:(CBCentralManager *)central { 60 | 61 | NSDictionary *scansettings = [NSDictionary dictionaryWithObjectsAndKeys:@YES, CBCentralManagerScanOptionAllowDuplicatesKey, nil]; 62 | [self.centralManager scanForPeripheralsWithServices:nil options:scansettings]; 63 | 64 | } 65 | 66 | 67 | 68 | - (void) centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI; { 69 | 70 | if ([peripheral.name rangeOfString:[[NSUserDefaults standardUserDefaults] stringForKey:@"airpodName"] options:NSCaseInsensitiveSearch].location != NSNotFound && peripheral.name != nil) 71 | { 72 | 73 | [SVProgressHUD dismiss]; 74 | 75 | float absoluterssi = fabs(RSSI.doubleValue); 76 | float min = 40; 77 | float max = 80; 78 | float percentagerssi; 79 | 80 | 81 | if (absoluterssi < min) { 82 | percentagerssi = 100; 83 | } 84 | else { 85 | percentagerssi = (1-(absoluterssi - min)/(max-min))*100; 86 | } 87 | 88 | [UIView animateWithDuration:1.f animations:^{ 89 | self.proximityBar.value = percentagerssi; 90 | }]; 91 | 92 | } 93 | 94 | 95 | } 96 | 97 | 98 | 99 | 100 | 101 | - (void)didReceiveMemoryWarning { 102 | [super didReceiveMemoryWarning]; 103 | // Dispose of any resources that can be recreated. 104 | } 105 | 106 | 107 | @end 108 | -------------------------------------------------------------------------------- /Podtrace/airpods.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/Podtrace/airpods.png -------------------------------------------------------------------------------- /Podtrace/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Podtrace 4 | // 5 | // Created by Jerry Leung on 6/1/17. 6 | // Copyright © 2017 iPwn Technologies Pty Ltd. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /PodtraceTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /PodtraceTests/PodtraceTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // PodtraceTests.m 3 | // PodtraceTests 4 | // 5 | // Created by Jerry Leung on 6/1/17. 6 | // Copyright © 2017 iPwn Technologies Pty Ltd. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface PodtraceTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation PodtraceTests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /PodtraceUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /PodtraceUITests/PodtraceUITests.m: -------------------------------------------------------------------------------- 1 | // 2 | // PodtraceUITests.m 3 | // PodtraceUITests 4 | // 5 | // Created by Jerry Leung on 6/1/17. 6 | // Copyright © 2017 iPwn Technologies Pty Ltd. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface PodtraceUITests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation PodtraceUITests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | 22 | // In UI tests it is usually best to stop immediately when a failure occurs. 23 | self.continueAfterFailure = NO; 24 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. 25 | [[[XCUIApplication alloc] init] launch]; 26 | 27 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 28 | } 29 | 30 | - (void)tearDown { 31 | // Put teardown code here. This method is called after the invocation of each test method in the class. 32 | [super tearDown]; 33 | } 34 | 35 | - (void)testExample { 36 | // Use recording to get started writing UI tests. 37 | // Use XCTAssert and related functions to verify your tests produce the correct results. 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Podtrace 2 | A easy to use utility to locate your missing AirPods. A compiled version of the app is included. 3 | ![alt tag](https://raw.githubusercontent.com/iPwnTech/Podtrace/77f8b00e44554b85befd64892a53f295b007d554/showcase.png) 4 | -------------------------------------------------------------------------------- /showcase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iPwnTech/Podtrace/7cfa1b982fb4b7e41cb8c9d65809b7f0d701a8d2/showcase.png --------------------------------------------------------------------------------