From 5060deaa0bcd9d262b45604905749dc191e2bf75 Mon Sep 17 00:00:00 2001 From: Rami Date: Fri, 14 Feb 2020 17:17:16 +0400 Subject: [PATCH] Update example with version 1.0.7 --- example/ios/Podfile | 1 + example/ios/Podfile.lock | 10 +- .../ios/Pods/ActionSheetPicker-3.0/LICENSE | 24 + .../Pickers/AbstractActionSheetPicker.h | 126 + .../Pickers/AbstractActionSheetPicker.m | 838 +++++++ .../Pickers/ActionSheetCustomPicker.h | 37 + .../Pickers/ActionSheetCustomPicker.m | 125 + .../Pickers/ActionSheetCustomPickerDelegate.h | 38 + .../Pickers/ActionSheetDatePicker.h | 95 + .../Pickers/ActionSheetDatePicker.m | 277 +++ .../Pickers/ActionSheetDistancePicker.h | 39 + .../Pickers/ActionSheetDistancePicker.m | 207 ++ .../Pickers/ActionSheetLocalePicker.h | 65 + .../Pickers/ActionSheetLocalePicker.m | 408 ++++ .../Pickers/ActionSheetMultipleStringPicker.h | 67 + .../Pickers/ActionSheetMultipleStringPicker.m | 225 ++ .../Pickers/ActionSheetPicker.h | 35 + .../Pickers/ActionSheetStringPicker.h | 63 + .../Pickers/ActionSheetStringPicker.m | 196 ++ .../Pickers/DistancePickerView.h | 21 + .../Pickers/DistancePickerView.m | 208 ++ .../Pickers/SWActionSheet.h | 21 + .../Pickers/SWActionSheet.m | 253 ++ .../ios/Pods/ActionSheetPicker-3.0/README.md | 302 +++ .../AbstractActionSheetPicker.h | 1 + .../ActionSheetCustomPicker.h | 1 + .../ActionSheetCustomPickerDelegate.h | 1 + .../ActionSheetDatePicker.h | 1 + .../ActionSheetDistancePicker.h | 1 + .../ActionSheetLocalePicker.h | 1 + .../ActionSheetMultipleStringPicker.h | 1 + .../ActionSheetPicker-3.0/ActionSheetPicker.h | 1 + .../ActionSheetStringPicker.h | 1 + .../DistancePickerView.h | 1 + .../ActionSheetPicker-3.0/SWActionSheet.h | 1 + .../AbstractActionSheetPicker.h | 1 + .../ActionSheetCustomPicker.h | 1 + .../ActionSheetCustomPickerDelegate.h | 1 + .../ActionSheetDatePicker.h | 1 + .../ActionSheetDistancePicker.h | 1 + .../ActionSheetLocalePicker.h | 1 + .../ActionSheetMultipleStringPicker.h | 1 + .../ActionSheetPicker-3.0/ActionSheetPicker.h | 1 + .../ActionSheetStringPicker.h | 1 + .../DistancePickerView.h | 1 + .../ActionSheetPicker-3.0/SWActionSheet.h | 1 + example/ios/Pods/Manifest.lock | 10 +- .../ios/Pods/Pods.xcodeproj/project.pbxproj | 2082 +++++++++-------- .../AFNetworking/AFNetworking.xcconfig | 1 + .../ActionSheetPicker-3.0-dummy.m | 5 + .../ActionSheetPicker-3.0-prefix.pch | 12 + .../ActionSheetPicker-3.0.xcconfig | 10 + .../BIObjCHelpers/BIObjCHelpers.xcconfig | 1 + .../IQKeyboardManager.xcconfig | 1 + .../Lockbox/Lockbox.xcconfig | 1 + .../MBProgressHUD/MBProgressHUD.xcconfig | 1 + .../Mantle/Mantle.xcconfig | 1 + .../PINCache/PINCache.xcconfig | 1 + .../Pods-TestApp-acknowledgements.markdown | 28 + .../Pods-TestApp-acknowledgements.plist | 34 + .../Pods-TestApp/Pods-TestApp.debug.xcconfig | 7 +- .../Pods-TestApp.release.xcconfig | 7 +- .../Reachability/Reachability.xcconfig | 1 + .../SBJson/SBJson.xcconfig | 1 + example/package-lock.json | 6 +- example/package.json | 2 +- 66 files changed, 4967 insertions(+), 948 deletions(-) create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/LICENSE create mode 100755 example/ios/Pods/ActionSheetPicker-3.0/Pickers/AbstractActionSheetPicker.h create mode 100755 example/ios/Pods/ActionSheetPicker-3.0/Pickers/AbstractActionSheetPicker.m create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetCustomPicker.h create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetCustomPicker.m create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetCustomPickerDelegate.h create mode 100755 example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDatePicker.h create mode 100755 example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDatePicker.m create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDistancePicker.h create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDistancePicker.m create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetLocalePicker.h create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetLocalePicker.m create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetMultipleStringPicker.h create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetMultipleStringPicker.m create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetPicker.h create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetStringPicker.h create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetStringPicker.m create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/DistancePickerView.h create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/DistancePickerView.m create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/SWActionSheet.h create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/Pickers/SWActionSheet.m create mode 100644 example/ios/Pods/ActionSheetPicker-3.0/README.md create mode 120000 example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/AbstractActionSheetPicker.h create mode 120000 example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetCustomPicker.h create mode 120000 example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetCustomPickerDelegate.h create mode 120000 example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetDatePicker.h create mode 120000 example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetDistancePicker.h create mode 120000 example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetLocalePicker.h create mode 120000 example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetMultipleStringPicker.h create mode 120000 example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetPicker.h create mode 120000 example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetStringPicker.h create mode 120000 example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/DistancePickerView.h create mode 120000 example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/SWActionSheet.h create mode 120000 example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/AbstractActionSheetPicker.h create mode 120000 example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetCustomPicker.h create mode 120000 example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetCustomPickerDelegate.h create mode 120000 example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetDatePicker.h create mode 120000 example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetDistancePicker.h create mode 120000 example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetLocalePicker.h create mode 120000 example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetMultipleStringPicker.h create mode 120000 example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetPicker.h create mode 120000 example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetStringPicker.h create mode 120000 example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/DistancePickerView.h create mode 120000 example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/SWActionSheet.h create mode 100644 example/ios/Pods/Target Support Files/ActionSheetPicker-3.0/ActionSheetPicker-3.0-dummy.m create mode 100644 example/ios/Pods/Target Support Files/ActionSheetPicker-3.0/ActionSheetPicker-3.0-prefix.pch create mode 100644 example/ios/Pods/Target Support Files/ActionSheetPicker-3.0/ActionSheetPicker-3.0.xcconfig diff --git a/example/ios/Podfile b/example/ios/Podfile index d3f8e2b..3825c4b 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -15,4 +15,5 @@ target 'TestApp' do pod 'SBJson' pod 'PINCache' pod 'MBProgressHUD', '~> 1.1.0' + pod 'ActionSheetPicker-3.0' end \ No newline at end of file diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index bca6e81..f3b13bf 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,4 +1,5 @@ PODS: + - ActionSheetPicker-3.0 (2.4.2) - AFNetworking (3.2.1): - AFNetworking/NSURLSession (= 3.2.1) - AFNetworking/Reachability (= 3.2.1) @@ -26,6 +27,7 @@ PODS: - SBJson (5.0.0) DEPENDENCIES: + - ActionSheetPicker-3.0 - AFNetworking - BIObjCHelpers - IQKeyboardManager (~> 4.0.2) @@ -37,7 +39,8 @@ DEPENDENCIES: - SBJson SPEC REPOS: - https://github.com/cocoapods/specs.git: + trunk: + - ActionSheetPicker-3.0 - AFNetworking - BIObjCHelpers - IQKeyboardManager @@ -49,6 +52,7 @@ SPEC REPOS: - SBJson SPEC CHECKSUMS: + ActionSheetPicker-3.0: 5b62e07b00bd970509cf5ece99cb7447eae5dd0d AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057 BIObjCHelpers: 378672b0f9309e4d2cbd4cabfb3afbe1ce225e40 IQKeyboardManager: 8eab4d8111418414619d1df8e4779ce5d0f8d7e2 @@ -59,6 +63,6 @@ SPEC CHECKSUMS: Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 SBJson: 73c848dc34be51fda282fab12bda6c426f5ead08 -PODFILE CHECKSUM: 34364bfc2b6b95fb6aef3a3926035956b69f2fa0 +PODFILE CHECKSUM: 576741ffe95c8a171cfa378f4ab08e1f3f132ced -COCOAPODS: 1.7.5 +COCOAPODS: 1.8.4 diff --git a/example/ios/Pods/ActionSheetPicker-3.0/LICENSE b/example/ios/Pods/ActionSheetPicker-3.0/LICENSE new file mode 100644 index 0000000..1c418d6 --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/LICENSE @@ -0,0 +1,24 @@ +Copyright (c) 2011, Tim Cinel (see AUTHORS) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/AbstractActionSheetPicker.h b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/AbstractActionSheetPicker.h new file mode 100755 index 0000000..bd03ae9 --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/AbstractActionSheetPicker.h @@ -0,0 +1,126 @@ +// +//Copyright (c) 2011, Tim Cinel +//All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions are met: +//* Redistributions of source code must retain the above copyright +//notice, this list of conditions and the following disclaimer. +//* Redistributions in binary form must reproduce the above copyright +//notice, this list of conditions and the following disclaimer in the +//documentation and/or other materials provided with the distribution. +//* Neither the name of the nor the +//names of its contributors may be used to endorse or promote products +//derived from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +//WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +//DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +//DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +//LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +//ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +//(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#import +#import + +@class SWActionSheet; + +#define SuppressPerformSelectorLeakWarning(Stuff) \ +do { \ +_Pragma("clang diagnostic push") \ +_Pragma("clang diagnostic ignored \"-Warc-performSelector-leaks\"") \ +Stuff; \ +_Pragma("clang diagnostic pop") \ +} while (0) + +typedef NS_ENUM(NSInteger, ActionType) { + ActionTypeValue, + ActionTypeSelector, + ActionTypeBlock +}; + +typedef NS_ENUM(NSInteger, TapAction) { + TapActionNone, + TapActionSuccess, + TapActionCancel +}; + +typedef void (^ActionBlock)(void); + +static NSString *const kButtonValue = @"buttonValue"; + +static NSString *const kButtonTitle = @"buttonTitle"; + +static NSString *const kActionType = @"buttonAction"; + +static NSString *const kActionTarget = @"buttonActionTarget"; + +@interface AbstractActionSheetPicker : NSObject +@property(nonatomic, strong) SWActionSheet *actionSheet; +@property (nonatomic) UIWindowLevel windowLevel; +@property(nonatomic, assign) NSInteger tag; +@property(nonatomic, assign) int borderWidth; +@property(nonatomic, strong) UIToolbar *toolbar; +@property(nonatomic, copy) NSString *title; +@property(nonatomic, strong) UIView *pickerView; +@property(nonatomic, readonly) CGSize viewSize; +@property(nonatomic, strong) NSMutableArray *customButtons; +@property(nonatomic, assign) BOOL hideCancel; // show or hide cancel button. +@property(nonatomic, assign) CGRect presentFromRect; +@property(nonatomic) NSDictionary *titleTextAttributes; // default is nil. Used to specify Title Label attributes. +@property(nonatomic) NSAttributedString *attributedTitle; // default is nil. If titleTextAttributes not nil this value ignored. +@property(nonatomic) NSMutableDictionary *pickerTextAttributes; // default with a NSMutableParagraphStyle to set label align center. Used to specify Picker Label attributes. +@property(nonatomic) UIColor *pickerBackgroundColor; +@property(nonatomic) UIColor *toolbarBackgroundColor; +@property(nonatomic, strong) UIColor *toolbarButtonsColor; +@property(nonatomic) NSNumber *pickerBlurRadius; +@property(nonatomic, retain) Class popoverBackgroundViewClass; //allow popover customization on iPad +@property(nonatomic) UIInterfaceOrientationMask supportedInterfaceOrientations; // You can set your own supportedInterfaceOrientations value to prevent dismissing picker in some special cases. +@property(nonatomic) TapAction tapDismissAction; // Specify, which action should be fired in case of tapping outside of the picker (on top darkened side). Default is TapActionNone. +@property(nonatomic) BOOL popoverDisabled; // Disable popover behavior on iPad + + +- (void)setTextColor:(UIColor *)textColor; + +// For subclasses. +- (instancetype)initWithTarget:(id)target successAction:(SEL)successAction cancelAction:(SEL)cancelActionOrNil origin:(id)origin; + +// Present the ActionSheetPicker +- (void)showActionSheetPicker; + +// For subclasses. This is used to send a message to the target upon a successful selection and dismissal of the picker (i.e. not canceled). +- (void)notifyTarget:(id)target didSucceedWithAction:(SEL)successAction origin:(id)origin; + +// For subclasses. This is an optional message upon cancelation of the picker. +- (void)notifyTarget:(id)target didCancelWithAction:(SEL)cancelAction origin:(id)origin; + +// For subclasses. This returns a configured picker view. Subclasses should autorelease. +- (UIView *)configuredPickerView; + +// Adds custom buttons to the left of the UIToolbar that select specified values +- (void)addCustomButtonWithTitle:(NSString *)title value:(id)value; + +// Adds custom buttons to the left of the UIToolbar that implement specified block +- (void)addCustomButtonWithTitle:(NSString *)title actionBlock:(ActionBlock)block; + +// Adds custom buttons to the left of the UIToolbar that implement specified selector +- (void)addCustomButtonWithTitle:(NSString *)title target:(id)target selector:(SEL)selector; + +//For subclasses. This responds to a custom button being pressed. +- (IBAction)customButtonPressed:(id)sender; + +// Allow the user to specify a custom cancel button +- (void)setCancelButton:(UIBarButtonItem *)button; + +// Allow the user to specify a custom done button +- (void)setDoneButton:(UIBarButtonItem *)button; + +// Hide picker programmatically +- (void)hidePickerWithCancelAction; + +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/AbstractActionSheetPicker.m b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/AbstractActionSheetPicker.m new file mode 100755 index 0000000..143f08b --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/AbstractActionSheetPicker.m @@ -0,0 +1,838 @@ +// +//Copyright (c) 2011, Tim Cinel +//All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions are met: +//* Redistributions of source code must retain the above copyright +//notice, this list of conditions and the following disclaimer. +//* Redistributions in binary form must reproduce the above copyright +//notice, this list of conditions and the following disclaimer in the +//documentation and/or other materials provided with the distribution. +//* Neither the name of the nor the +//names of its contributors may be used to endorse or promote products +//derived from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +//WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +//DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +//DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +//LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +//ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +//(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#import "AbstractActionSheetPicker.h" +#import "SWActionSheet.h" +#import +#import + +CG_INLINE BOOL isIPhone4() { + struct utsname systemInfo; + uname(&systemInfo); + + NSString *modelName = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; + return ([modelName rangeOfString:@"iPhone3"].location != NSNotFound); +} + +#define IS_WIDESCREEN ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON ) +#define IS_IPAD UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad +#define DEVICE_ORIENTATION [UIDevice currentDevice].orientation + +// UIInterfaceOrientationMask vs. UIInterfaceOrientation +// As far as I know, a function like this isn't available in the API. I derived this from the enum def for +// UIInterfaceOrientationMask. +#define OrientationMaskSupportsOrientation(mask, orientation) ((mask & (1 << orientation)) == (1 << orientation)) + + +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0 + +@interface MyPopoverController : UIPopoverController +@end + +@implementation MyPopoverController ++ (BOOL)canShowPopover { + if (IS_IPAD) { + if ([UITraitCollection class]) { + UITraitCollection *traits = [UIApplication sharedApplication].keyWindow.traitCollection; + if (traits.horizontalSizeClass == UIUserInterfaceSizeClassCompact) + return NO; + } + return YES; + } + return NO; +} + +- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller traitCollection:(UITraitCollection *)traitCollection { + return UIModalPresentationNone; +} +@end + +#else + +@interface MyPopoverController:UIPopoverController +@end + +@implementation MyPopoverController ++(BOOL)canShowPopover { + return IS_IPAD; +} +@end + +#endif + +@interface AbstractActionSheetPicker () + +@property(nonatomic, strong) UIBarButtonItem *barButtonItem; +@property(nonatomic, strong) UIBarButtonItem *doneBarButtonItem; +@property(nonatomic, strong) UIBarButtonItem *cancelBarButtonItem; +@property(nonatomic, strong) UIView *containerView; +@property(nonatomic, unsafe_unretained) id target; +@property(nonatomic, assign) SEL successAction; +@property(nonatomic, assign) SEL cancelAction; +@property(nonatomic, strong) UIPopoverController *popOverController; +@property(nonatomic, strong) CIFilter *filter; +@property(nonatomic, strong) CIContext *context; +@property(nonatomic, strong) NSObject *selfReference; + +- (void)presentPickerForView:(UIView *)aView; + +- (void)configureAndPresentPopoverForView:(UIView *)aView; + +- (void)configureAndPresentActionSheetForView:(UIView *)aView; + +- (void)presentActionSheet:(SWActionSheet *)actionSheet; + +- (void)presentPopover:(UIPopoverController *)popover; + +- (void)dismissPicker; + +- (BOOL)isViewPortrait; + +- (BOOL)isValidOrigin:(id)origin; + +- (id)storedOrigin; + +- (UIToolbar *)createPickerToolbarWithTitle:(NSString *)aTitle; + +- (UIBarButtonItem *)createButtonWithType:(UIBarButtonSystemItem)type target:(id)target action:(SEL)buttonAction; + +- (IBAction)actionPickerDone:(id)sender; + +- (IBAction)actionPickerCancel:(id)sender; +@end + +@implementation AbstractActionSheetPicker + +#pragma mark - Abstract Implementation + +- (instancetype)init { + self = [super init]; + if (self) { + self.windowLevel = UIWindowLevelAlert; + self.presentFromRect = CGRectZero; + self.popoverBackgroundViewClass = nil; + self.popoverDisabled = NO; + +#pragma clang diagnostic push +#pragma ide diagnostic ignored "UnavailableInDeploymentTarget" + if ([UIApplication instancesRespondToSelector:@selector(supportedInterfaceOrientationsForWindow:)]) + self.supportedInterfaceOrientations = (UIInterfaceOrientationMask) [[UIApplication sharedApplication] + supportedInterfaceOrientationsForWindow: + [UIApplication sharedApplication].keyWindow]; + else { + self.supportedInterfaceOrientations = UIInterfaceOrientationMaskAllButUpsideDown; + if (IS_IPAD) + self.supportedInterfaceOrientations |= (1 << UIInterfaceOrientationPortraitUpsideDown); + } +#pragma clang diagnostic pop + + UIBarButtonItem *sysDoneButton = [self createButtonWithType:UIBarButtonSystemItemDone target:self + action:@selector(actionPickerDone:)]; + + UIBarButtonItem *sysCancelButton = [self createButtonWithType:UIBarButtonSystemItemCancel target:self + action:@selector(actionPickerCancel:)]; + + [self setCancelBarButtonItem:sysCancelButton]; + [self setDoneBarButtonItem:sysDoneButton]; + + self.tapDismissAction = TapActionNone; + //allows us to use this without needing to store a reference in calling class + self.selfReference = self; + + NSMutableParagraphStyle *labelParagraphStyle = [[NSMutableParagraphStyle alloc] init]; + labelParagraphStyle.alignment = NSTextAlignmentCenter; + self.pickerTextAttributes = [@{NSParagraphStyleAttributeName : labelParagraphStyle} mutableCopy]; + + self.context = [CIContext contextWithOptions:nil]; + self.filter = [CIFilter filterWithName:@"CIGaussianBlur"]; + } + + return self; +} + + +- (void)setTextColor:(UIColor *)textColor { + if (self.pickerTextAttributes) { + self.pickerTextAttributes[NSForegroundColorAttributeName] = textColor; + } else { + self.pickerTextAttributes = [@{NSForegroundColorAttributeName : [UIColor whiteColor]} mutableCopy]; + } +} + +- (instancetype)initWithTarget:(id)target successAction:(SEL)successAction cancelAction:(SEL)cancelActionOrNil origin:(id)origin { + self = [self init]; + if (self) { + self.target = target; + self.successAction = successAction; + self.cancelAction = cancelActionOrNil; + + if ([origin isKindOfClass:[UIBarButtonItem class]]) + self.barButtonItem = origin; + else if ([origin isKindOfClass:[UIView class]]) + self.containerView = origin; + else + NSAssert(NO, @"Invalid origin provided to ActionSheetPicker ( %@ )", origin); + } + return self; +} + +- (void)dealloc { + //need to clear picker delegates and datasources, otherwise they may call this object after it's gone + if ([self.pickerView respondsToSelector:@selector(setDelegate:)]) + [self.pickerView performSelector:@selector(setDelegate:) withObject:nil]; + + if ([self.pickerView respondsToSelector:@selector(setDataSource:)]) + [self.pickerView performSelector:@selector(setDataSource:) withObject:nil]; + + if ([self.pickerView respondsToSelector:@selector(removeTarget:action:forControlEvents:)]) + [((UIControl *) self.pickerView) removeTarget:nil action:NULL forControlEvents:UIControlEventAllEvents]; + + self.target = nil; + + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} + +- (UIView *)configuredPickerView { + NSAssert(NO, @"This is an abstract class, you must use a subclass of AbstractActionSheetPicker (like ActionSheetStringPicker)"); + return nil; +} + +- (void)notifyTarget:(id)target didSucceedWithAction:(SEL)successAction origin:(id)origin { + NSAssert(NO, @"This is an abstract class, you must use a subclass of AbstractActionSheetPicker (like ActionSheetStringPicker)"); +} + +- (void)notifyTarget:(id)target didCancelWithAction:(SEL)cancelAction origin:(id)origin { + if (target && cancelAction && [target respondsToSelector:cancelAction]) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" + [target performSelector:cancelAction withObject:origin]; +#pragma clang diagnostic pop + } +} + +#pragma mark - Actions + +- (void)showActionSheetPicker { + UIView *masterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.viewSize.width, 260)]; + + // to fix bug, appeared only on iPhone 4 Device: https://github.com/skywinder/ActionSheetPicker-3.0/issues/5 + if (isIPhone4()) { + masterView.backgroundColor = [UIColor colorWithRed:0.97 green:0.97 blue:0.97 alpha:1.0]; + } + self.toolbar = [self createPickerToolbarWithTitle:self.title]; + [masterView addSubview:self.toolbar]; + + //ios7 picker draws a darkened alpha-only region on the first and last 8 pixels horizontally, but blurs the rest of its background. To make the whole popup appear to be edge-to-edge, we have to add blurring to the remaining left and right edges. + if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) { + CGRect rect = CGRectMake(0, self.toolbar.frame.origin.y, _borderWidth, masterView.frame.size.height - self.toolbar.frame.origin.y); + UIToolbar *leftEdge = [[UIToolbar alloc] initWithFrame:rect]; + rect.origin.x = masterView.frame.size.width - _borderWidth; + UIToolbar *rightEdge = [[UIToolbar alloc] initWithFrame:rect]; +#pragma clang diagnostic push +#pragma ide diagnostic ignored "UnavailableInDeploymentTarget" + leftEdge.barTintColor = rightEdge.barTintColor = self.toolbar.barTintColor; +#pragma clang diagnostic pop + [masterView insertSubview:leftEdge atIndex:0]; + [masterView insertSubview:rightEdge atIndex:0]; + } + + self.pickerView = [self configuredPickerView]; + NSAssert(_pickerView != NULL, @"Picker view failed to instantiate, perhaps you have invalid component data."); + // toolbar hidden remove the toolbar frame and update pickerview frame + if (self.toolbar.hidden) { + int halfWidth = (int) (_borderWidth * 0.5f); + masterView.frame = CGRectMake(0, 0, self.viewSize.width, 220); + self.pickerView.frame = CGRectMake(0, halfWidth, self.viewSize.width, 220 - halfWidth); + } + [masterView addSubview:_pickerView]; + + if ((![MyPopoverController canShowPopover] || self.popoverDisabled) && !self.pickerBackgroundColor && !self.toolbarBackgroundColor && [self.pickerBlurRadius intValue] > 0) { + [self blurPickerBackground]; + } else { + [self presentPickerForView:masterView]; + } + +#pragma clang diagnostic push +#pragma ide diagnostic ignored "UnavailableInDeploymentTarget" + { + switch (self.tapDismissAction) { + case TapActionNone: + break; + case TapActionSuccess: { + // add tap dismiss action + self.actionSheet.window.userInteractionEnabled = YES; + UITapGestureRecognizer *tapAction = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(actionPickerDone:)]; + tapAction.delegate = self; + [self.actionSheet.window addGestureRecognizer:tapAction]; + break; + } + case TapActionCancel: { + // add tap dismiss action + self.actionSheet.window.userInteractionEnabled = YES; + UITapGestureRecognizer *tapAction = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(actionPickerCancel:)]; + tapAction.delegate = self; + [self.actionSheet.window addGestureRecognizer:tapAction]; + break; + } + }; + } +#pragma clang diagnostic pop + +} + +- (IBAction)actionPickerDone:(id)sender { + [self notifyTarget:self.target didSucceedWithAction:self.successAction origin:[self storedOrigin]]; + [self dismissPicker]; +} + +- (IBAction)actionPickerCancel:(id)sender { + [self notifyTarget:self.target didCancelWithAction:self.cancelAction origin:[self storedOrigin]]; + [self dismissPicker]; +} + +- (void)dismissPicker { +#if __IPHONE_4_1 <= __IPHONE_OS_VERSION_MAX_ALLOWED + if (self.actionSheet) +#else + if (self.actionSheet && [self.actionSheet isVisible]) +#endif + [_actionSheet dismissWithClickedButtonIndex:0 animated:YES]; + else if (self.popOverController && self.popOverController.popoverVisible) + [_popOverController dismissPopoverAnimated:YES]; + self.actionSheet = nil; + self.popOverController = nil; + self.selfReference = nil; +} + +#pragma mark - Custom Buttons + +- (NSMutableArray *)customButtons { + if (!_customButtons) { + _customButtons = [[NSMutableArray alloc] init]; + } + + return _customButtons; +} + +- (void)addCustomButtonWithTitle:(NSString *)title value:(id)value { + if (!title) + title = @""; + if (!value) + value = @0; + NSDictionary *buttonDetails = @{ + kButtonTitle : title, + kActionType : @(ActionTypeValue), + kButtonValue : value + }; + [self.customButtons addObject:buttonDetails]; +} + +- (void)addCustomButtonWithTitle:(NSString *)title actionBlock:(ActionBlock)block { + if (!title) + title = @""; + if (!block) + block = (^{ + }); + NSDictionary *buttonDetails = @{ + kButtonTitle : title, + kActionType : @(ActionTypeBlock), + kButtonValue : [block copy] + }; + [self.customButtons addObject:buttonDetails]; +} + +- (void)addCustomButtonWithTitle:(NSString *)title target:(id)target selector:(SEL)selector { + if (!title) + title = @""; + if (!target) + target = [NSNull null]; + NSDictionary *buttonDetails = @{ + kButtonTitle : title, + kActionType : @(ActionTypeSelector), + kActionTarget : target, + kButtonValue : [NSValue valueWithPointer:selector] + }; + [self.customButtons addObject:buttonDetails]; +} + +- (IBAction)customButtonPressed:(id)sender { + UIBarButtonItem *button = (UIBarButtonItem *) sender; + NSInteger index = button.tag; + NSAssert((index >= 0 && index < self.customButtons.count), @"Bad custom button tag: %ld, custom button count: %lu", (long) index, (unsigned long) self.customButtons.count); + + NSDictionary *buttonDetails = (self.customButtons)[(NSUInteger) index]; + NSAssert(buttonDetails != NULL, @"Custom button dictionary is invalid"); + + ActionType actionType = (ActionType) [buttonDetails[kActionType] integerValue]; + switch (actionType) { + case ActionTypeValue: { + NSAssert([self.pickerView respondsToSelector:@ + selector(selectRow:inComponent:animated:)], @"customButtonPressed not overridden, cannot interact with subclassed pickerView"); + NSInteger buttonValue = [buttonDetails[kButtonValue] integerValue]; + UIPickerView *picker = (UIPickerView *) self.pickerView; + NSAssert(picker != NULL, @"PickerView is invalid"); + [picker selectRow:buttonValue inComponent:0 animated:YES]; + if ([self respondsToSelector:@selector(pickerView:didSelectRow:inComponent:)]) { + void (*objc_msgSendTyped)(id target, SEL _cmd, id pickerView, NSInteger row, NSInteger component) = (void *) objc_msgSend; // sending Integers as params + objc_msgSendTyped(self, @selector(pickerView:didSelectRow:inComponent:), picker, buttonValue, 0); + } + break; + } + + case ActionTypeBlock: { + ActionBlock actionBlock = buttonDetails[kButtonValue]; + [self dismissPicker]; + if (actionBlock) + actionBlock(); + break; + } + + case ActionTypeSelector: { + SEL selector = [buttonDetails[kButtonValue] pointerValue]; + id target = buttonDetails[kActionTarget]; + [self dismissPicker]; + if (target && [target respondsToSelector:selector]) { + SuppressPerformSelectorLeakWarning ( + [target performSelector:selector]; + ); + } + break; + } + + default: + NSAssert(false, @"Unknown action type"); + break; + } +} + +// Allow the user to specify a custom cancel button +- (void)setCancelButton:(UIBarButtonItem *)button { + if (!button) { + self.hideCancel = YES; + return; + } + + if ([button.customView isKindOfClass:[UIButton class]]) { + UIButton *uiButton = (UIButton *) button.customView; + [uiButton addTarget:self action:@selector(actionPickerCancel:) forControlEvents:UIControlEventTouchUpInside]; + } + else { + [button setTarget:self]; + [button setAction:@selector(actionPickerCancel:)]; + } + self.cancelBarButtonItem = button; +} + +// Allow the user to specify a custom done button +- (void)setDoneButton:(UIBarButtonItem *)button { + if ([button.customView isKindOfClass:[UIButton class]]) { + UIButton *uiButton = (UIButton *) button.customView; + [button setAction:@selector(actionPickerDone:)]; + [uiButton addTarget:self action:@selector(actionPickerDone:) forControlEvents:UIControlEventTouchUpInside]; + } + else { + [button setTarget:self]; + [button setAction:@selector(actionPickerDone:)]; + } + [button setTarget:self]; + [button setAction:@selector(actionPickerDone:)]; + self.doneBarButtonItem = button; +} + +- (void)hidePickerWithCancelAction { + [self actionPickerCancel:nil]; +} + + +- (UIToolbar *)createPickerToolbarWithTitle:(NSString *)title { + CGRect frame = CGRectMake(0, 0, self.viewSize.width, 44); + UIToolbar *pickerToolbar = [[UIToolbar alloc] initWithFrame:frame]; + pickerToolbar.barStyle = (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) ? UIBarStyleDefault : UIBarStyleBlackTranslucent; + + pickerToolbar.barTintColor = self.toolbarBackgroundColor; + pickerToolbar.tintColor = self.toolbarButtonsColor; + + NSMutableArray *barItems = [[NSMutableArray alloc] init]; + + if (!self.hideCancel) { + [barItems addObject:self.cancelBarButtonItem]; + } + + NSInteger index = 0; + for (NSDictionary *buttonDetails in self.customButtons) { + NSString *buttonTitle = buttonDetails[kButtonTitle]; + + UIBarButtonItem *button; + if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) { + button = [[UIBarButtonItem alloc] initWithTitle:buttonTitle style:UIBarButtonItemStylePlain + target:self action:@selector(customButtonPressed:)]; + } + else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + button = [[UIBarButtonItem alloc] initWithTitle:buttonTitle style:UIBarButtonItemStyleBordered + target:self action:@selector(customButtonPressed:)]; +#pragma clang diagnostic pop + } + + button.tag = index; + [barItems addObject:button]; + index++; + } + + UIBarButtonItem *flexSpace = [self createButtonWithType:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; + [barItems addObject:flexSpace]; + if (title) { + UIBarButtonItem *labelButton; + + labelButton = [self createToolbarLabelWithTitle:title titleTextAttributes:self.titleTextAttributes andAttributedTitle:self.attributedTitle]; + + [barItems addObject:labelButton]; + [barItems addObject:flexSpace]; + } + [barItems addObject:self.doneBarButtonItem]; + + [pickerToolbar setItems:barItems animated:NO]; + [pickerToolbar layoutIfNeeded]; + return pickerToolbar; +} + +- (UIBarButtonItem *)createToolbarLabelWithTitle:(NSString *)aTitle + titleTextAttributes:(NSDictionary *)titleTextAttributes + andAttributedTitle:(NSAttributedString *)attributedTitle { + UILabel *toolBarItemLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 180, 30)]; + [toolBarItemLabel setTextAlignment:NSTextAlignmentCenter]; + [toolBarItemLabel setBackgroundColor:[UIColor clearColor]]; + toolBarItemLabel.accessibilityTraits = UIAccessibilityTraitHeader; + + CGFloat strikeWidth; + CGSize textSize; + + + if (titleTextAttributes) { + toolBarItemLabel.attributedText = [[NSAttributedString alloc] initWithString:aTitle attributes:titleTextAttributes]; + textSize = toolBarItemLabel.attributedText.size; + } else if (attributedTitle) { + toolBarItemLabel.attributedText = attributedTitle; + textSize = toolBarItemLabel.attributedText.size; + } + else { + // Support iOS 13 Dark Mode - support dynamic background color in iOS 13 + #if defined(__IPHONE_13_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0 + + if (@available(iOS 13.0, *)) { + [toolBarItemLabel setTextColor: [UIColor labelColor]]; + } + else { + [toolBarItemLabel setTextColor:(NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) ? [UIColor blackColor] : [UIColor whiteColor]]; + } + #else + [toolBarItemLabel setTextColor:(NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) ? [UIColor blackColor] : [UIColor whiteColor]]; + #endif + + [toolBarItemLabel setFont:[UIFont boldSystemFontOfSize:16]]; + toolBarItemLabel.text = aTitle; + + if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) { +#pragma clang diagnostic push +#pragma ide diagnostic ignored "UnavailableInDeploymentTarget" + textSize = [[toolBarItemLabel text] sizeWithAttributes:@{NSFontAttributeName : [toolBarItemLabel font]}]; +#pragma clang diagnostic pop + } else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + textSize = [[toolBarItemLabel text] sizeWithFont:[toolBarItemLabel font]]; +#pragma clang diagnostic pop + } + } + + strikeWidth = textSize.width; + + if (strikeWidth < 180) { + [toolBarItemLabel sizeToFit]; + } + + UIBarButtonItem *buttonLabel = [[UIBarButtonItem alloc] initWithCustomView:toolBarItemLabel]; + return buttonLabel; +} + +- (UIBarButtonItem *)createButtonWithType:(UIBarButtonSystemItem)type target:(id)target action:(SEL)buttonAction { + + UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:type target:target + action:buttonAction]; + return barButton; +} + +#pragma mark - Custom Color + +- (void)setPickerBackgroundColor:(UIColor *)backgroundColor { + _pickerBackgroundColor = backgroundColor; + _actionSheet.bgView.backgroundColor = backgroundColor; +} + +#pragma mark - Picker blur effect + +- (void)blurPickerBackground { + UIWindow *window = [UIApplication sharedApplication].delegate.window; + UIViewController *rootViewController = window.rootViewController; + + UIView *masterView = self.pickerView.superview; + + self.pickerView.backgroundColor = [UIColor clearColor]; + masterView.backgroundColor = [UIColor clearColor]; + + // Get the snapshot + UIGraphicsBeginImageContext(rootViewController.view.bounds.size); + [rootViewController.view drawViewHierarchyInRect:rootViewController.view.bounds afterScreenUpdates:NO]; + UIImage *backgroundImage = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + + [self presentPickerForView:masterView]; + + // Crop the snapshot to match picker frame + CIImage *image = [CIImage imageWithCGImage:[backgroundImage CGImage]]; + [self.filter setValue:image forKey:kCIInputImageKey]; + [self.filter setValue:self.pickerBlurRadius forKey:kCIInputRadiusKey]; + + CGRect blurFrame = [rootViewController.view convertRect:self.pickerView.frame fromView:masterView]; + // CoreImage coordinate system and UIKit coordinate system differs, so we need to adjust the frame + blurFrame.origin.y = - (blurFrame.origin.y - rootViewController.view.frame.size.height) - blurFrame.size.height; + + CGImageRef imageRef = [self.context createCGImage:self.filter.outputImage fromRect:blurFrame]; + + UIImageView *blurredImageView = [[UIImageView alloc] initWithFrame:self.pickerView.frame]; + blurredImageView.image = [UIImage imageWithCGImage:imageRef]; + blurredImageView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; + + [masterView addSubview:blurredImageView]; + [masterView sendSubviewToBack:blurredImageView]; + + CGImageRelease(imageRef); +} + +#pragma mark - Utilities and Accessors + +- (CGSize)viewSize { + if (IS_IPAD) { + if (!self.popoverDisabled && [MyPopoverController canShowPopover]) + return CGSizeMake(320, 320); + return [UIApplication sharedApplication].keyWindow.bounds.size; + } + +#if defined(__IPHONE_8_0) + if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_7_1) { + //iOS 7.1 or earlier + if ([self isViewPortrait]) + return CGSizeMake(320, IS_WIDESCREEN ? 568 : 480); + return CGSizeMake(IS_WIDESCREEN ? 568 : 480, 320); + + } else { + //iOS 8 or later + return [[UIScreen mainScreen] bounds].size; + } +#else + if ( [self isViewPortrait] ) + return CGSizeMake(320 , IS_WIDESCREEN ? 568 : 480); + return CGSizeMake(IS_WIDESCREEN ? 568 : 480, 320); +#endif +} + +- (BOOL)isViewPortrait { + return UIInterfaceOrientationIsPortrait([UIApplication sharedApplication].statusBarOrientation); +} + +- (BOOL)isValidOrigin:(id)origin { + if (!origin) + return NO; + BOOL isButton = [origin isKindOfClass:[UIBarButtonItem class]]; + BOOL isView = [origin isKindOfClass:[UIView class]]; + return (isButton || isView); +} + +- (id)storedOrigin { + if (self.barButtonItem) + return self.barButtonItem; + return self.containerView; +} + +#pragma mark - Popovers and ActionSheets + +- (void)presentPickerForView:(UIView *)aView { + self.presentFromRect = aView.frame; + + if (!self.popoverDisabled && [MyPopoverController canShowPopover]) + [self configureAndPresentPopoverForView:aView]; + else + [self configureAndPresentActionSheetForView:aView]; +} + +- (void)configureAndPresentActionSheetForView:(UIView *)aView { + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:) name:UIApplicationWillChangeStatusBarOrientationNotification object:nil]; + + _actionSheet = [[SWActionSheet alloc] initWithView:aView windowLevel:self.windowLevel]; + if (self.pickerBackgroundColor) { + _actionSheet.bgView.backgroundColor = self.pickerBackgroundColor; + } + + [self presentActionSheet:_actionSheet]; + + // Use beginAnimations for a smoother popup animation, otherwise the UIActionSheet pops into view + [UIView beginAnimations:nil context:nil]; +// _actionSheet.bounds = CGRectMake(0, 0, self.viewSize.width, sheetHeight); + [UIView commitAnimations]; +} + +- (void)didRotate:(NSNotification *)notification { +// #TODO: Rotation is broken on iphones ios 13+. so I decided just to dismiss picker as a solution. + +// if (!OrientationMaskSupportsOrientation(self.supportedInterfaceOrientations, DEVICE_ORIENTATION)) { + [self dismissPicker]; +// } +} + +- (void)presentActionSheet:(SWActionSheet *)actionSheet { + NSParameterAssert(actionSheet != NULL); + if (self.barButtonItem) + [actionSheet showFromBarButtonItem:_barButtonItem animated:YES]; + else + [actionSheet showInContainerView]; +} + +- (void)configureAndPresentPopoverForView:(UIView *)aView { + UIViewController *viewController = [[UIViewController alloc] initWithNibName:nil bundle:nil]; + + if (@available(iOS 11, *)) { + [viewController.view addSubview:aView]; + UILayoutGuide* guide = viewController.view.safeAreaLayoutGuide; + aView.translatesAutoresizingMaskIntoConstraints = NO; + [aView.topAnchor constraintEqualToAnchor:guide.topAnchor].active = YES; + [aView.leftAnchor constraintEqualToAnchor:guide.leftAnchor].active = YES; + [aView.rightAnchor constraintEqualToAnchor:guide.rightAnchor].active = YES; + [aView.bottomAnchor constraintEqualToAnchor:guide.bottomAnchor].active = YES; + } else { + viewController.view = aView; + } + + if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) { +#pragma clang diagnostic push +#pragma ide diagnostic ignored "UnavailableInDeploymentTarget" + viewController.preferredContentSize = aView.frame.size; +#pragma clang diagnostic pop + } + else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + viewController.contentSizeForViewInPopover = viewController.view.frame.size; +#pragma clang diagnostic pop + } + + _popOverController = [[MyPopoverController alloc] initWithContentViewController:viewController]; + _popOverController.delegate = self; + if (self.pickerBackgroundColor) { + self.popOverController.backgroundColor = self.pickerBackgroundColor; + } + if (self.popoverBackgroundViewClass) { + [self.popOverController setPopoverBackgroundViewClass:self.popoverBackgroundViewClass]; + } + + [self presentPopover:_popOverController]; +} + +- (void)presentPopover:(UIPopoverController *)popover { + NSParameterAssert(popover != NULL); + if (self.barButtonItem) { + if (_containerView != nil) { + [popover presentPopoverFromRect:CGRectMake(_containerView.frame.size.width / 2.f, 0.f, 0, 0) inView:_containerView permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; + } else { + [popover presentPopoverFromBarButtonItem:_barButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; + } + + return; + } + else if ((self.containerView)) { + AbstractActionSheetPicker __weak *weakSelf = self; + dispatch_async(dispatch_get_main_queue(), ^{ + [popover presentPopoverFromRect: weakSelf.containerView.bounds inView: weakSelf.containerView + permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; + + }); + return; + } + // Unfortunately, things go to hell whenever you try to present a popover from a table view cell. These are failsafes. + UIView *origin = nil; + CGRect presentRect = CGRectZero; + @try { + origin = (_containerView.superview ? _containerView.superview : _containerView); + presentRect = origin.bounds; + dispatch_async(dispatch_get_main_queue(), ^{ + [popover presentPopoverFromRect:presentRect inView:origin + permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; + + }); + } + @catch (NSException *exception) { + origin = [[[[UIApplication sharedApplication] keyWindow] rootViewController] view]; + presentRect = CGRectMake(origin.center.x, origin.center.y, 1, 1); + dispatch_async(dispatch_get_main_queue(), ^{ + [popover presentPopoverFromRect:presentRect inView:origin + permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; + + }); + } +} + +#pragma mark - Popoverdelegate + +- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController { + switch (self.tapDismissAction) { + case TapActionSuccess: { + [self notifyTarget:self.target didSucceedWithAction:self.successAction origin:self.storedOrigin]; + if (!self.popoverDisabled && [MyPopoverController canShowPopover]) { + [self dismissPicker]; + } + break; + } + case TapActionNone: + case TapActionCancel: { + [self notifyTarget:self.target didCancelWithAction:self.cancelAction origin:self.storedOrigin]; + if (!self.popoverDisabled && [MyPopoverController canShowPopover]) { + [self dismissPicker]; + } + break; + } + }; +} + +#pragma mark UIGestureRecognizerDelegate + +- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { + CGPoint location = [gestureRecognizer locationInView:self.toolbar]; + return !CGRectContainsPoint(self.toolbar.bounds, location); +} + +@end + diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetCustomPicker.h b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetCustomPicker.h new file mode 100644 index 0000000..85ef262 --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetCustomPicker.h @@ -0,0 +1,37 @@ +// +// ActionSheetPicker.h +// ActionSheetPicker +// +// Created by on 13/03/2012. +// Copyright (c) 2012 Club 15CC. All rights reserved. +// +#import +#import "AbstractActionSheetPicker.h" +#import "ActionSheetCustomPickerDelegate.h" + +@interface ActionSheetCustomPicker : AbstractActionSheetPicker +{ +} + +///////////////////////////////////////////////////////////////////////// +#pragma mark - Properties +///////////////////////////////////////////////////////////////////////// +@property(nonatomic, weak) id delegate; + + +///////////////////////////////////////////////////////////////////////// +#pragma mark - Init Methods +///////////////////////////////////////////////////////////////////////// + +/** Designated init */ +- (instancetype)initWithTitle:(NSString *)title delegate:(id )delegate showCancelButton:(BOOL)showCancelButton origin:(id)origin; + +- (instancetype)initWithTitle:(NSString *)title delegate:(id )delegate showCancelButton:(BOOL)showCancelButton origin:(id)origin initialSelections:(NSArray *)initialSelections; + +/** Convenience class method for creating an launched */ ++ (instancetype)showPickerWithTitle:(NSString *)title delegate:(id )delegate showCancelButton:(BOOL)showCancelButton origin:(id)origin; + ++ (instancetype)showPickerWithTitle:(NSString *)title delegate:(id )delegate showCancelButton:(BOOL)showCancelButton origin:(id)origin initialSelections:(NSArray *)initialSelections; + + +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetCustomPicker.m b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetCustomPicker.m new file mode 100644 index 0000000..6b7734a --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetCustomPicker.m @@ -0,0 +1,125 @@ +// +// ActionSheetPicker.m +// ActionSheetPicker +// +// Created by on 13/03/2012. +// Copyright (c) 2012 Club 15CC. All rights reserved. +// + +#import "ActionSheetCustomPicker.h" + +@interface ActionSheetCustomPicker () +@property(nonatomic, strong) NSArray *initialSelections; +@end + +@implementation ActionSheetCustomPicker + +///////////////////////////////////////////////////////////////////////// +#pragma mark - Init +///////////////////////////////////////////////////////////////////////// + +- (instancetype)initWithTitle:(NSString *)title delegate:(id )delegate showCancelButton:(BOOL)showCancelButton origin:(id)origin +{ + return [self initWithTitle:title delegate:delegate + showCancelButton:showCancelButton origin:origin + initialSelections:nil]; +} + ++ (instancetype)showPickerWithTitle:(NSString *)title delegate:(id )delegate showCancelButton:(BOOL)showCancelButton origin:(id)origin +{ + return [self showPickerWithTitle:title delegate:delegate showCancelButton:showCancelButton origin:origin + initialSelections:nil ]; +} + +- (instancetype)initWithTitle:(NSString *)title delegate:(id )delegate showCancelButton:(BOOL)showCancelButton origin:(id)origin initialSelections:(NSArray *)initialSelections +{ + if ( self = [self initWithTarget:nil successAction:nil cancelAction:nil origin:origin] ) + { + + self.title = title; + self.hideCancel = !showCancelButton; + NSAssert(delegate, @"Delegate can't be nil"); + _delegate = delegate; + if (initialSelections) + self.initialSelections = [[NSArray alloc] initWithArray:initialSelections]; + } + return self; +} + +///////////////////////////////////////////////////////////////////////// + ++ (instancetype)showPickerWithTitle:(NSString *)title delegate:(id )delegate showCancelButton:(BOOL)showCancelButton origin:(id)origin initialSelections:(NSArray *)initialSelections +{ + ActionSheetCustomPicker *picker = [[ActionSheetCustomPicker alloc] initWithTitle:title delegate:delegate + showCancelButton:showCancelButton origin:origin + initialSelections:initialSelections]; + [picker showActionSheetPicker]; + return picker; +} + +///////////////////////////////////////////////////////////////////////// +#pragma mark - AbstractActionSheetPicker fulfilment +///////////////////////////////////////////////////////////////////////// + +- (UIView *)configuredPickerView +{ + CGRect pickerFrame = CGRectMake(0, 40, self.viewSize.width, 216); + UIPickerView *pv = [[UIPickerView alloc] initWithFrame:pickerFrame]; + self.pickerView = pv; + + // Default to our delegate being the picker's delegate and datasource + pv.delegate = _delegate; + pv.dataSource = _delegate; + pv.showsSelectionIndicator = YES; + + if ( self.initialSelections ) + { + NSAssert(pv.numberOfComponents == self.initialSelections.count, @"Number of sections not match"); + for (NSUInteger i = 0; i < [self.initialSelections count]; i++) + { + + NSInteger row = [(NSNumber *) self.initialSelections[i] integerValue]; + NSAssert([pv numberOfRowsInComponent:i] > row, @"Number of sections not match"); + [pv selectRow:row inComponent:i animated:NO]; + + // Strangely, the above selectRow:inComponent:animated: will not call + // pickerView:didSelectRow:inComponent: automatically, so we manually call it. + [pv reloadAllComponents]; + } + + } + + // Allow the delegate to override and set additional configs + //to backward compatibility: + if ( [_delegate respondsToSelector:@selector(actionSheetPicker:configurePickerView:)] ) + { + [_delegate actionSheetPicker:self configurePickerView:pv]; + } + return pv; +} + + +///////////////////////////////////////////////////////////////////////// + +- (void)notifyTarget:(id)target didSucceedWithAction:(SEL)successAction origin:(id)origin +{ + // Ignore parent args and just notify the delegate + if ( [_delegate respondsToSelector:@selector(actionSheetPickerDidSucceed:origin:)] ) + { + [_delegate actionSheetPickerDidSucceed:self origin:origin]; + } +} + +///////////////////////////////////////////////////////////////////////// + +- (void)notifyTarget:(id)target didCancelWithAction:(SEL)cancelAction origin:(id)origin +{ + // Ignore parent args and just notify the delegate + if ( [_delegate respondsToSelector:@selector(actionSheetPickerDidCancel:origin:)] ) + { + [_delegate actionSheetPickerDidCancel:self origin:origin]; + } +} + + +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetCustomPickerDelegate.h b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetCustomPickerDelegate.h new file mode 100644 index 0000000..92a2cb6 --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetCustomPickerDelegate.h @@ -0,0 +1,38 @@ +// +// ActionSheetPickerDelegate.h +// ActionSheetPicker +// +// Created by on 13/03/2012. +// Copyright (c) 2012 Club 15CC. All rights reserved. +// + +#import +#import "AbstractActionSheetPicker.h" + +@protocol ActionSheetCustomPickerDelegate + +@optional + +/** + Allow the delegate to override default settings for the picker + + Allows for instance, ability to set separate delegates and data sources as well as GUI settings on the UIPickerView + If not defined and explicily overridden then this class will be the delegate and dataSource. + */ +- (void)actionSheetPicker:(AbstractActionSheetPicker *)actionSheetPicker configurePickerView:(UIPickerView *)pickerView; + +/** + Success callback + + \param actionSheetPicker .pickerView property accesses the picker. Requires a cast to UIView subclass for the picker + \param origin The entity which launched the ActionSheetPicker + */ +- (void)actionSheetPickerDidSucceed:(AbstractActionSheetPicker *)actionSheetPicker origin:(id)origin; + +/** Cancel callback. See actionSheetPickerDidSuccess:origin: */ +- (void)actionSheetPickerDidCancel:(AbstractActionSheetPicker *)actionSheetPicker origin:(id)origin; + + +@required + +@end \ No newline at end of file diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDatePicker.h b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDatePicker.h new file mode 100755 index 0000000..d64a69a --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDatePicker.h @@ -0,0 +1,95 @@ +// +//Copyright (c) 2011, Tim Cinel +//All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions are met: +//* Redistributions of source code must retain the above copyright +//notice, this list of conditions and the following disclaimer. +//* Redistributions in binary form must reproduce the above copyright +//notice, this list of conditions and the following disclaimer in the +//documentation and/or other materials provided with the distribution. +//* Neither the name of the nor the +//names of its contributors may be used to endorse or promote products +//derived from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +//WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +//DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +//DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +//LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +//ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +//(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#import "AbstractActionSheetPicker.h" + +@class ActionSheetDatePicker; + +typedef void(^ActionDateDoneBlock)(ActionSheetDatePicker *picker, id selectedDate, id origin); //selectedDate is NSDate or NSNumber for "UIDatePickerModeCountDownTimer" +typedef void(^ActionDateCancelBlock)(ActionSheetDatePicker *picker); + +@interface ActionSheetDatePicker : AbstractActionSheetPicker + +@property (nonatomic, retain) NSDate *minimumDate; // specify min/max date range. default is nil. When min > max, the values are ignored. Ignored in countdown timer mode +@property (nonatomic, retain) NSDate *maximumDate; // default is nil + +@property (nonatomic) NSInteger minuteInterval; // display minutes wheel with interval. interval must be evenly divided into 60. default is 1. min is 1, max is 30 + +@property (nonatomic, retain) NSLocale *locale; // default is [NSLocale currentLocale]. setting nil returns to default +@property (nonatomic, copy) NSCalendar *calendar; // default is [NSCalendar currentCalendar]. setting nil returns to default +@property (nonatomic, retain) NSTimeZone *timeZone; // default is nil. use current time zone or time zone from calendar + +@property (nonatomic, assign) NSTimeInterval countDownDuration; // for UIDatePickerModeCountDownTimer, ignored otherwise. default is 0.0. limit is 23:59 (86,399 seconds). value being set is div 60 (drops remaining seconds). + +@property (nonatomic, copy) ActionDateDoneBlock onActionSheetDone; +@property (nonatomic, copy) ActionDateCancelBlock onActionSheetCancel; + ++ (instancetype)showPickerWithTitle:(NSString *)title datePickerMode:(UIDatePickerMode)datePickerMode selectedDate:(NSDate *)selectedDate target:(id)target action:(SEL)action origin:(id)origin; + ++ (instancetype)showPickerWithTitle:(NSString *)title datePickerMode:(UIDatePickerMode)datePickerMode selectedDate:(NSDate *)selectedDate target:(id)target action:(SEL)action origin:(id)origin cancelAction:(SEL)cancelAction; + ++ (instancetype)showPickerWithTitle:(NSString *)title + datePickerMode:(UIDatePickerMode)datePickerMode selectedDate:(NSDate *)selectedDate + minimumDate:(NSDate *)minimumDate maximumDate:(NSDate *)maximumDate + target:(id)target action:(SEL)action origin:(id)origin; + ++ (instancetype)showPickerWithTitle:(NSString *)title + datePickerMode:(UIDatePickerMode)datePickerMode + selectedDate:(NSDate *)selectedDate + doneBlock:(ActionDateDoneBlock)doneBlock + cancelBlock:(ActionDateCancelBlock)cancelBlock + origin:(UIView*)view; + ++ (instancetype)showPickerWithTitle:(NSString *)title + datePickerMode:(UIDatePickerMode)datePickerMode + selectedDate:(NSDate *)selectedDate + minimumDate:(NSDate *)minimumDate + maximumDate:(NSDate *)maximumDate + doneBlock:(ActionDateDoneBlock)doneBlock + cancelBlock:(ActionDateCancelBlock)cancelBlock + origin:(UIView*)view; + + +- (id)initWithTitle:(NSString *)title datePickerMode:(UIDatePickerMode)datePickerMode selectedDate:(NSDate *)selectedDate target:(id)target action:(SEL)action origin:(id)origin; + +- (instancetype)initWithTitle:(NSString *)title datePickerMode:(UIDatePickerMode)datePickerMode selectedDate:(NSDate *)selectedDate minimumDate:(NSDate *)minimumDate maximumDate:(NSDate *)maximumDate target:(id)target action:(SEL)action origin:(id)origin; + +- (instancetype)initWithTitle:(NSString *)title datePickerMode:(UIDatePickerMode)datePickerMode selectedDate:(NSDate *)selectedDate target:(id)target action:(SEL)action origin:(id)origin cancelAction:(SEL)cancelAction; + +- (instancetype)initWithTitle:(NSString *)title datePickerMode:(UIDatePickerMode)datePickerMode selectedDate:(NSDate *)selectedDate minimumDate:(NSDate *)minimumDate maximumDate:(NSDate *)maximumDate target:(id)target action:(SEL)action cancelAction:(SEL)cancelAction origin:(id)origin; + + +- (instancetype)initWithTitle:(NSString *)title + datePickerMode:(UIDatePickerMode)datePickerMode + selectedDate:(NSDate *)selectedDate + doneBlock:(ActionDateDoneBlock)doneBlock + cancelBlock:(ActionDateCancelBlock)cancelBlock + origin:(UIView*)view; + +- (void)eventForDatePicker:(id)sender; + +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDatePicker.m b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDatePicker.m new file mode 100755 index 0000000..3b92237 --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDatePicker.m @@ -0,0 +1,277 @@ +// +//Copyright (c) 2011, Tim Cinel +//All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions are met: +//* Redistributions of source code must retain the above copyright +//notice, this list of conditions and the following disclaimer. +//* Redistributions in binary form must reproduce the above copyright +//notice, this list of conditions and the following disclaimer in the +//documentation and/or other materials provided with the distribution. +//* Neither the name of the nor the +//names of its contributors may be used to endorse or promote products +//derived from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +//WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +//DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +//DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +//LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +//ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +//(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + + +#import "ActionSheetDatePicker.h" +#import + +@interface ActionSheetDatePicker() +@property (nonatomic, assign) UIDatePickerMode datePickerMode; +@property (nonatomic, strong) NSDate *selectedDate; +@end + +@implementation ActionSheetDatePicker + ++ (instancetype)showPickerWithTitle:(NSString *)title + datePickerMode:(UIDatePickerMode)datePickerMode selectedDate:(NSDate *)selectedDate + target:(id)target action:(SEL)action origin:(id)origin { + ActionSheetDatePicker *picker = [[ActionSheetDatePicker alloc] initWithTitle:title datePickerMode:datePickerMode selectedDate:selectedDate target:target action:action origin:origin]; + [picker showActionSheetPicker]; + return picker; +} + ++ (instancetype)showPickerWithTitle:(NSString *)title + datePickerMode:(UIDatePickerMode)datePickerMode selectedDate:(NSDate *)selectedDate + target:(id)target action:(SEL)action origin:(id)origin cancelAction:(SEL)cancelAction { + ActionSheetDatePicker *picker = [[ActionSheetDatePicker alloc] initWithTitle:title datePickerMode:datePickerMode selectedDate:selectedDate target:target action:action origin:origin cancelAction:cancelAction]; + [picker showActionSheetPicker]; + return picker; +} + ++ (instancetype)showPickerWithTitle:(NSString *)title + datePickerMode:(UIDatePickerMode)datePickerMode selectedDate:(NSDate *)selectedDate + minimumDate:(NSDate *)minimumDate maximumDate:(NSDate *)maximumDate + target:(id)target action:(SEL)action origin:(id)origin { + ActionSheetDatePicker *picker = [[ActionSheetDatePicker alloc] initWithTitle:title datePickerMode:datePickerMode selectedDate:selectedDate target:target action:action origin:origin]; + [picker setMinimumDate:minimumDate]; + [picker setMaximumDate:maximumDate]; + [picker showActionSheetPicker]; + return picker; +} + ++ (instancetype)showPickerWithTitle:(NSString *)title + datePickerMode:(UIDatePickerMode)datePickerMode + selectedDate:(NSDate *)selectedDate + doneBlock:(ActionDateDoneBlock)doneBlock + cancelBlock:(ActionDateCancelBlock)cancelBlock + origin:(UIView*)view +{ + ActionSheetDatePicker* picker = [[ActionSheetDatePicker alloc] initWithTitle:title + datePickerMode:datePickerMode + selectedDate:selectedDate + doneBlock:doneBlock + cancelBlock:cancelBlock + origin:view]; + [picker showActionSheetPicker]; + return picker; +} + ++ (instancetype)showPickerWithTitle:(NSString *)title + datePickerMode:(UIDatePickerMode)datePickerMode + selectedDate:(NSDate *)selectedDate + minimumDate:(NSDate *)minimumDate + maximumDate:(NSDate *)maximumDate + doneBlock:(ActionDateDoneBlock)doneBlock + cancelBlock:(ActionDateCancelBlock)cancelBlock + origin:(UIView*)view +{ + ActionSheetDatePicker* picker = [[ActionSheetDatePicker alloc] initWithTitle:title + datePickerMode:datePickerMode + selectedDate:selectedDate + doneBlock:doneBlock + cancelBlock:cancelBlock + origin:view]; + [picker setMinimumDate:minimumDate]; + [picker setMaximumDate:maximumDate]; + [picker showActionSheetPicker]; + return picker; +} + +- (id)initWithTitle:(NSString *)title datePickerMode:(UIDatePickerMode)datePickerMode selectedDate:(NSDate *)selectedDate target:(id)target action:(SEL)action origin:(id)origin +{ + self = [self initWithTitle:title datePickerMode:datePickerMode selectedDate:selectedDate target:target action:action origin:origin cancelAction:nil]; + return self; +} + +- (instancetype)initWithTitle:(NSString *)title datePickerMode:(UIDatePickerMode)datePickerMode selectedDate:(NSDate *)selectedDate minimumDate:(NSDate *)minimumDate maximumDate:(NSDate *)maximumDate target:(id)target action:(SEL)action origin:(id)origin +{ + self = [self initWithTitle:title datePickerMode:datePickerMode selectedDate:selectedDate target:target action:action origin:origin cancelAction:nil]; + self.minimumDate = minimumDate; + self.maximumDate = maximumDate; + return self; +} + +- (instancetype)initWithTitle:(NSString *)title datePickerMode:(UIDatePickerMode)datePickerMode selectedDate:(NSDate *)selectedDate target:(id)target action:(SEL)action origin:(id)origin cancelAction:(SEL)cancelAction +{ + self = [super initWithTarget:target successAction:action cancelAction:cancelAction origin:origin]; + if (self) { + self.title = title; + self.datePickerMode = datePickerMode; + self.selectedDate = selectedDate; + } + return self; +} + +- (instancetype)initWithTitle:(NSString *)title datePickerMode:(UIDatePickerMode)datePickerMode selectedDate:(NSDate *)selectedDate minimumDate:(NSDate *)minimumDate maximumDate:(NSDate *)maximumDate target:(id)target action:(SEL)action cancelAction:(SEL)cancelAction origin:(id)origin +{ + self = [super initWithTarget:target successAction:action cancelAction:cancelAction origin:origin]; + if (self) { + self.title = title; + self.datePickerMode = datePickerMode; + self.selectedDate = selectedDate; + self.minimumDate = minimumDate; + self.maximumDate = maximumDate; + } + return self; +} + +- (instancetype)initWithTitle:(NSString *)title + datePickerMode:(UIDatePickerMode)datePickerMode + selectedDate:(NSDate *)selectedDate + doneBlock:(ActionDateDoneBlock)doneBlock + cancelBlock:(ActionDateCancelBlock)cancelBlock + origin:(UIView*)origin +{ + self = [self initWithTitle:title datePickerMode:datePickerMode selectedDate:selectedDate target:nil action:nil origin:origin]; + if (self) { + self.onActionSheetDone = doneBlock; + self.onActionSheetCancel = cancelBlock; + } + return self; +} + +- (UIView *)configuredPickerView { + CGRect datePickerFrame = CGRectMake(0, 40, self.viewSize.width, 216); + UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:datePickerFrame]; + datePicker.datePickerMode = self.datePickerMode; + datePicker.maximumDate = self.maximumDate; + datePicker.minimumDate = self.minimumDate; + datePicker.minuteInterval = self.minuteInterval; + datePicker.calendar = self.calendar; + datePicker.timeZone = self.timeZone; + datePicker.locale = self.locale; + + UIColor *textColor = [self.pickerTextAttributes valueForKey:NSForegroundColorAttributeName]; + if (textColor) { + [datePicker setValue:textColor forKey:@"textColor"]; // use ObjC runtime to set value for property that is not exposed publicly + } + + // if datepicker is set with a date in countDownMode then + // 1h is added to the initial countdown + if (self.datePickerMode == UIDatePickerModeCountDownTimer) { + datePicker.countDownDuration = self.countDownDuration; + // Due to a bug in UIDatePicker, countDownDuration needs to be set asynchronously + // more info: http://stackoverflow.com/a/20204317/1161723 + dispatch_async(dispatch_get_main_queue(), ^{ + datePicker.countDownDuration = self.countDownDuration; + }); + } else { + [datePicker setDate:self.selectedDate animated:NO]; + } + + [datePicker addTarget:self action:@selector(eventForDatePicker:) forControlEvents:UIControlEventValueChanged]; + + //need to keep a reference to the picker so we can clear the DataSource / Delegate when dismissing (not used in this picker, but just in case somebody uses this as a template for another picker) + self.pickerView = datePicker; + + return datePicker; +} + +- (void)notifyTarget:(id)target didSucceedWithAction:(SEL)action origin:(id)origin +{ + if (self.onActionSheetDone) + { + if (self.datePickerMode == UIDatePickerModeCountDownTimer) + self.onActionSheetDone(self, @(((UIDatePicker *)self.pickerView).countDownDuration), origin); + else + self.onActionSheetDone(self, self.selectedDate, origin); + + return; + } + else if ([target respondsToSelector:action]) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" + if (self.datePickerMode == UIDatePickerModeCountDownTimer) { + [target performSelector:action withObject:@(((UIDatePicker *)self.pickerView).countDownDuration) withObject:origin]; + + } else { + [target performSelector:action withObject:self.selectedDate withObject:origin]; + } +#pragma clang diagnostic pop + else + NSAssert(NO, @"Invalid target/action ( %s / %s ) combination used for ActionSheetPicker", object_getClassName(target), sel_getName(action)); +} + +- (void)notifyTarget:(id)target didCancelWithAction:(SEL)cancelAction origin:(id)origin +{ + if (self.onActionSheetCancel) + { + self.onActionSheetCancel(self); + return; + } + else + if ( target && cancelAction && [target respondsToSelector:cancelAction] ) + { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" + [target performSelector:cancelAction withObject:origin]; +#pragma clang diagnostic pop + } +} + +- (void)eventForDatePicker:(id)sender +{ + if (!sender || ![sender isKindOfClass:[UIDatePicker class]]) + return; + UIDatePicker *datePicker = (UIDatePicker *)sender; + self.selectedDate = datePicker.date; + self.countDownDuration = datePicker.countDownDuration; +} + +- (void)customButtonPressed:(id)sender { + UIBarButtonItem *button = (UIBarButtonItem*)sender; + NSInteger index = button.tag; + NSAssert((index >= 0 && index < self.customButtons.count), @"Bad custom button tag: %zd, custom button count: %zd", index, self.customButtons.count); + NSDictionary *buttonDetails = (self.customButtons)[(NSUInteger) index]; + NSAssert(buttonDetails != NULL, @"Custom button dictionary is invalid"); + + ActionType actionType = (ActionType) [buttonDetails[kActionType] integerValue]; + switch (actionType) { + case ActionTypeValue: { + NSAssert([self.pickerView respondsToSelector:@selector(setDate:animated:)], @"Bad pickerView for ActionSheetDatePicker, doesn't respond to setDate:animated:"); + NSDate *itemValue = buttonDetails[kButtonValue]; + UIDatePicker *picker = (UIDatePicker *)self.pickerView; + if (self.datePickerMode != UIDatePickerModeCountDownTimer) + { + [picker setDate:itemValue animated:YES]; + [self eventForDatePicker:picker]; + } + break; + } + + case ActionTypeBlock: + case ActionTypeSelector: + [super customButtonPressed:sender]; + break; + + default: + NSAssert(false, @"Unknown action type"); + break; + } +} + +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDistancePicker.h b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDistancePicker.h new file mode 100644 index 0000000..f8f74e4 --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDistancePicker.h @@ -0,0 +1,39 @@ +// +//Copyright (c) 2011, Tim Cinel +//All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions are met: +//* Redistributions of source code must retain the above copyright +//notice, this list of conditions and the following disclaimer. +//* Redistributions in binary form must reproduce the above copyright +//notice, this list of conditions and the following disclaimer in the +//documentation and/or other materials provided with the distribution. +//* Neither the name of the nor the +//names of its contributors may be used to endorse or promote products +//derived from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +//WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +//DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +//DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +//åLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +//ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +//(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#import "AbstractActionSheetPicker.h" +#import "DistancePickerView.h" +@interface ActionSheetDistancePicker : AbstractActionSheetPicker + ++ (instancetype)showPickerWithTitle:(NSString *)title bigUnitString:(NSString *)bigUnitString bigUnitMax:(NSInteger)bigUnitMax selectedBigUnit:(NSInteger)selectedBigUnit smallUnitString:(NSString *)smallUnitString smallUnitMax:(NSInteger)smallUnitMax selectedSmallUnit:(NSInteger)selectedSmallUnit target:(id)target action:(SEL)action origin:(id)origin; + +- (instancetype)initWithTitle:(NSString *)title bigUnitString:(NSString *)bigUnitString bigUnitMax:(NSInteger)bigUnitMax selectedBigUnit:(NSInteger)selectedBigUnit smallUnitString:(NSString *)smallUnitString smallUnitMax:(NSInteger)smallUnitMax selectedSmallUnit:(NSInteger)selectedSmallUnit target:(id)target action:(SEL)action origin:(id)origin; + ++ (instancetype)showPickerWithTitle:(NSString *)title bigUnitString:(NSString *)bigUnitString bigUnitMax:(NSInteger)bigUnitMax selectedBigUnit:(NSInteger)selectedBigUnit smallUnitString:(NSString *)smallUnitString smallUnitMax:(NSInteger)smallUnitMax selectedSmallUnit:(NSInteger)selectedSmallUnit target:(id)target action:(SEL)action origin:(id)origin cancelAction:(SEL)cancelAction; + +- (instancetype)initWithTitle:(NSString *)title bigUnitString:(NSString *)bigUnitString bigUnitMax:(NSInteger)bigUnitMax selectedBigUnit:(NSInteger)selectedBigUnit smallUnitString:(NSString *)smallUnitString smallUnitMax:(NSInteger)smallUnitMax selectedSmallUnit:(NSInteger)selectedSmallUnit target:(id)target action:(SEL)action origin:(id)origin cancelAction:(SEL)cancelAction; +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDistancePicker.m b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDistancePicker.m new file mode 100644 index 0000000..c9abcb9 --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetDistancePicker.m @@ -0,0 +1,207 @@ +// +//Copyright (c) 2011, Tim Cinel +//All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions are met: +//* Redistributions of source code must retain the above copyright +//notice, this list of conditions and the following disclaimer. +//* Redistributions in binary form must reproduce the above copyright +//notice, this list of conditions and the following disclaimer in the +//documentation and/or other materials provided with the distribution. +//* Neither the name of the nor the +//names of its contributors may be used to endorse or promote products +//derived from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +//WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +//DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +//DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +//ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +//(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#import "ActionSheetDistancePicker.h" +#import + +@interface ActionSheetDistancePicker() +@property (nonatomic, strong) NSString *bigUnitString; +@property (nonatomic, assign) NSInteger selectedBigUnit; +@property (nonatomic, assign) NSInteger bigUnitMax; +@property (nonatomic, assign) NSInteger bigUnitDigits; +@property (nonatomic, strong) NSString *smallUnitString; +@property (nonatomic, assign) NSInteger selectedSmallUnit; +@property (nonatomic, assign) NSInteger smallUnitMax; +@property (nonatomic, assign) NSInteger smallUnitDigits; +@end + +@implementation ActionSheetDistancePicker + ++ (instancetype)showPickerWithTitle:(NSString *)title bigUnitString:(NSString *)bigUnitString bigUnitMax:(NSInteger)bigUnitMax selectedBigUnit:(NSInteger)selectedBigUnit smallUnitString:(NSString *)smallUnitString smallUnitMax:(NSInteger)smallUnitMax selectedSmallUnit:(NSInteger)selectedSmallUnit target:(id)target action:(SEL)action origin:(id)origin { + ActionSheetDistancePicker *picker = [[ActionSheetDistancePicker alloc] initWithTitle:title bigUnitString:bigUnitString bigUnitMax:bigUnitMax selectedBigUnit:selectedBigUnit smallUnitString:smallUnitString smallUnitMax:smallUnitMax selectedSmallUnit:selectedSmallUnit target:target action:action origin:origin]; + [picker showActionSheetPicker]; + return picker; +} + +- (instancetype)initWithTitle:(NSString *)title bigUnitString:(NSString *)bigUnitString bigUnitMax:(NSInteger)bigUnitMax selectedBigUnit:(NSInteger)selectedBigUnit smallUnitString:(NSString *)smallUnitString smallUnitMax:(NSInteger)smallUnitMax selectedSmallUnit:(NSInteger)selectedSmallUnit target:(id)target action:(SEL)action origin:(id)origin { + self = [super initWithTarget:target successAction:action cancelAction:nil origin:origin]; + if (self) { + self.title = title; + self.bigUnitString = bigUnitString; + self.bigUnitMax = bigUnitMax; + self.selectedBigUnit = selectedBigUnit; + self.smallUnitString = smallUnitString; + self.smallUnitMax = smallUnitMax; + self.selectedSmallUnit = selectedSmallUnit; + self.bigUnitDigits = [[NSString stringWithFormat:@"%li", (long)self.bigUnitMax] length]; + self.smallUnitDigits = [[NSString stringWithFormat:@"%li", (long)self.smallUnitMax] length]; + } + return self; +} + ++ (instancetype)showPickerWithTitle:(NSString *)title bigUnitString:(NSString *)bigUnitString bigUnitMax:(NSInteger)bigUnitMax selectedBigUnit:(NSInteger)selectedBigUnit smallUnitString:(NSString *)smallUnitString smallUnitMax:(NSInteger)smallUnitMax selectedSmallUnit:(NSInteger)selectedSmallUnit target:(id)target action:(SEL)action origin:(id)origin cancelAction:(SEL)cancelAction +{ + ActionSheetDistancePicker *picker = [[ActionSheetDistancePicker alloc] initWithTitle:title bigUnitString:bigUnitString bigUnitMax:bigUnitMax selectedBigUnit:selectedBigUnit smallUnitString:smallUnitString smallUnitMax:smallUnitMax selectedSmallUnit:selectedSmallUnit target:target action:action origin:origin cancelAction:cancelAction]; + [picker showActionSheetPicker]; + return picker; +} + +- (instancetype)initWithTitle:(NSString *)title bigUnitString:(NSString *)bigUnitString bigUnitMax:(NSInteger)bigUnitMax selectedBigUnit:(NSInteger)selectedBigUnit smallUnitString:(NSString *)smallUnitString smallUnitMax:(NSInteger)smallUnitMax selectedSmallUnit:(NSInteger)selectedSmallUnit target:(id)target action:(SEL)action origin:(id)origin cancelAction:(SEL)cancelAction +{ + self = [super initWithTarget:target successAction:action cancelAction:cancelAction origin:origin]; + if (self) { + self.title = title; + self.bigUnitString = bigUnitString; + self.bigUnitMax = bigUnitMax; + self.selectedBigUnit = selectedBigUnit; + self.smallUnitString = smallUnitString; + self.smallUnitMax = smallUnitMax; + self.selectedSmallUnit = selectedSmallUnit; + self.bigUnitDigits = [[NSString stringWithFormat:@"%li", (long)self.bigUnitMax] length]; + self.smallUnitDigits = [[NSString stringWithFormat:@"%li", (long)self.smallUnitMax] length]; + } + return self; +} + + +- (UIView *)configuredPickerView { + CGRect distancePickerFrame = CGRectMake(0, 40, self.viewSize.width, 216); + DistancePickerView *picker = [[DistancePickerView alloc] initWithFrame:distancePickerFrame]; + picker.delegate = self; + picker.dataSource = self; + picker.showsSelectionIndicator = YES; +// [picker addLabel:self.bigUnitString forComponent:(NSUInteger) (self.bigUnitDigits - 1) forLongestString:nil]; +// [picker addLabel:self.smallUnitString forComponent:(NSUInteger) (self.bigUnitDigits + self.smallUnitDigits - 1) +// forLongestString:nil]; + + NSInteger unitSubtract = 0; + NSInteger currentDigit = 0; + + for (int i = 0; i < self.bigUnitDigits; ++i) { + NSInteger factor = (int)pow((double)10, (double)(self.bigUnitDigits - (i+1))); + currentDigit = (( self.selectedBigUnit - unitSubtract ) / factor ) ; + [picker selectRow:currentDigit inComponent:i animated:NO]; + unitSubtract += currentDigit * factor; + } + + unitSubtract = 0; + + for (NSInteger i = self.bigUnitDigits + 1; i < self.bigUnitDigits + self.smallUnitDigits + 1; ++i) { + NSInteger factor = (int)pow((double)10, (double)(self.bigUnitDigits + self.smallUnitDigits + 1 - (i+1))); + currentDigit = (( self.selectedSmallUnit - unitSubtract ) / factor ) ; + [picker selectRow:currentDigit inComponent:i animated:NO]; + unitSubtract += currentDigit * factor; + } + + //need to keep a reference to the picker so we can clear the DataSource / Delegate when dismissing + self.pickerView = picker; + + return picker; +} + +- (void)notifyTarget:(id)target didSucceedWithAction:(SEL)action origin:(id)origin { + NSInteger bigUnits = 0; + NSInteger smallUnits = 0; + DistancePickerView *picker = (DistancePickerView *)self.pickerView; + for (int i = 0; i < self.bigUnitDigits; ++i) + bigUnits += [picker selectedRowInComponent:i] * (int)pow((double)10, (double)(self.bigUnitDigits - (i + 1))); + + for (NSInteger i = self.bigUnitDigits + 1; i < self.bigUnitDigits + self.smallUnitDigits + 1; ++i) + smallUnits += [picker selectedRowInComponent:i] * (int)pow((double)10, (double)((picker.numberOfComponents - i - 2))); + + //sending three objects, so can't use performSelector: + if ([target respondsToSelector:action]) + { + void (*response)(id, SEL, id, id,id) = (void (*)(id, SEL, id, id,id)) objc_msgSend; + response(target, action, @(bigUnits), @(smallUnits), origin); + } + else + NSAssert(NO, @"Invalid target/action ( %s / %s ) combination used for ActionSheetPicker", object_getClassName(target), sel_getName(action)); +} + +#pragma mark - +#pragma mark UIPickerViewDataSource + +- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { + return self.bigUnitDigits + self.smallUnitDigits + 2; +} + +- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { + + //for labels + if (component == self.bigUnitDigits || component == self.bigUnitDigits + self.smallUnitDigits + 1) + return 1; + + if (component + 1 <= self.bigUnitDigits) { + if (component == 0) + return self.bigUnitMax / (int)pow((double)10, (double)(self.bigUnitDigits - 1)) + 1; + return 10; + } + if (component == self.bigUnitDigits + 1) + return self.smallUnitMax / (int)pow((double)10, (double)(self.smallUnitDigits - 1)) + 1; + return 10; +} + +- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{ + + CGFloat totalWidth = pickerView.frame.size.width - 30; + CGFloat otherSize = (totalWidth )/(self.bigUnitDigits + self.smallUnitDigits + 2); + + UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, otherSize, 30)]; + + label.textAlignment = NSTextAlignmentCenter; + + label.font = [UIFont boldSystemFontOfSize:20]; + + if ( component == self.bigUnitDigits ) + { + label.text = self.bigUnitString; + return label; + } + else if ( component == self.bigUnitDigits + self.smallUnitDigits + 1 ) + { + label.text = self.smallUnitString; + return label; + } + + label.font = [UIFont systemFontOfSize:20]; + label.text = [NSString stringWithFormat:@"%li", (long)row]; + return label; +} + +- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component { + CGFloat totalWidth = pickerView.frame.size.width - 30; + CGFloat otherSize = (totalWidth )/(self.bigUnitDigits + self.smallUnitDigits + 2); + return otherSize; +} + + +- (void)customButtonPressed:(id)sender { + NSLog(@"Not implemented. If you get around to it, please contribute back to the project :)"); +} + +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetLocalePicker.h b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetLocalePicker.h new file mode 100644 index 0000000..bdbfdc1 --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetLocalePicker.h @@ -0,0 +1,65 @@ +// +//Copyright (c) 2011, Tim Cinel +//All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions are met: +//* Redistributions of source code must retain the above copyright +//notice, this list of conditions and the following disclaimer. +//* Redistributions in binary form must reproduce the above copyright +//notice, this list of conditions and the following disclaimer in the +//documentation and/or other materials provided with the distribution. +//* Neither the name of the nor the +//names of its contributors may be used to endorse or promote products +//derived from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +//WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +//DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +//DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +//åLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +//ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +//(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#import "AbstractActionSheetPicker.h" + +@class ActionSheetLocalePicker; +typedef void(^ActionLocaleDoneBlock)(ActionSheetLocalePicker *picker, NSTimeZone * selectedValue); +typedef void(^ActionLocaleCancelBlock)(ActionSheetLocalePicker *picker); + +static const float firstColumnWidth = 100.0f; +static const float secondColumnWidth = 160.0f; + +@interface ActionSheetLocalePicker : AbstractActionSheetPicker + +/** + * Create and display an action sheet picker. + * + * @param title Title label for picker + * @param index is used to establish the initially selected row; + * @param target must not be empty. It should respond to "onSuccess" actions. + * @param successAction successAction + * @param cancelActionOrNil cancelAction + * @param origin must not be empty. It can be either an originating container view or a UIBarButtonItem to use with a popover arrow. + * + * @return return instance of picker + */ ++ (instancetype)showPickerWithTitle:(NSString *)title initialSelection:(NSTimeZone *)index target:(id)target successAction:(SEL)successAction cancelAction:(SEL)cancelActionOrNil origin:(id)origin; + +/// Create an action sheet picker with assigned target actions on success/cancel, but don't display until a subsequent call to "showActionPicker". +- (instancetype)initWithTitle:(NSString *)title initialSelection:(NSTimeZone *)index target:(id)target successAction:(SEL)successAction cancelAction:(SEL)cancelActionOrNil origin:(id)origin; + +/// Create and display an action sheet picker with completion blocks on success/cancel. ++ (instancetype)showPickerWithTitle:(NSString *)title initialSelection:(NSTimeZone *)index doneBlock:(ActionLocaleDoneBlock)doneBlock cancelBlock:(ActionLocaleCancelBlock)cancelBlock origin:(id)origin; + +/// Create an action sheet picker with completion blocks on success/cancel, but don't display until a subsequent call to "showActionPicker". +- (instancetype)initWithTitle:(NSString *)title initialSelection:(NSTimeZone *)timeZone doneBlock:(ActionLocaleDoneBlock)doneBlock cancelBlock:(ActionLocaleCancelBlock)cancelBlockOrNil origin:(id)origin; + +@property (nonatomic, copy) ActionLocaleDoneBlock onActionSheetDone; +@property (nonatomic, copy) ActionLocaleCancelBlock onActionSheetCancel; + +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetLocalePicker.m b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetLocalePicker.m new file mode 100644 index 0000000..05308be --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetLocalePicker.m @@ -0,0 +1,408 @@ +// +//Copyright (c) 2011, Tim Cinel +//All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions are met: +//* Redistributions of source code must retain the above copyright +//notice, this list of conditions and the following disclaimer. +//* Redistributions in binary form must reproduce the above copyright +//notice, this list of conditions and the following disclaimer in the +//documentation and/or other materials provided with the distribution. +//* Neither the name of the nor the +//names of its contributors may be used to endorse or promote products +//derived from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +//WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +//DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +//DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +//åLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +//ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +//(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#import "ActionSheetLocalePicker.h" + +@interface ActionSheetLocalePicker() +//@property (nonatomic,strong) NSArray *data; +//@property (nonatomic,assign) NSInteger selectedIndex; + +@property(nonatomic, strong) NSTimeZone *initialTimeZone; + +@property (nonatomic, strong) NSString *selectedContinent; +@property (nonatomic, strong) NSString *selectedCity; + +@property(nonatomic, strong) NSMutableDictionary *continentsAndCityDictionary; +@property(nonatomic, strong) NSMutableArray *continents; +@end + +@implementation ActionSheetLocalePicker + ++ (instancetype)showPickerWithTitle:(NSString *)title initialSelection:(NSTimeZone *)index doneBlock:(ActionLocaleDoneBlock)doneBlock cancelBlock:(ActionLocaleCancelBlock)cancelBlockOrNil origin:(id)origin +{ + ActionSheetLocalePicker * picker = [[ActionSheetLocalePicker alloc] initWithTitle:title initialSelection:index doneBlock:doneBlock cancelBlock:cancelBlockOrNil origin:origin]; + [picker showActionSheetPicker]; + return picker; +} + +- (instancetype)initWithTitle:(NSString *)title initialSelection:(NSTimeZone *)timeZone doneBlock:(ActionLocaleDoneBlock)doneBlock cancelBlock:(ActionLocaleCancelBlock)cancelBlockOrNil origin:(id)origin +{ + self = [self initWithTitle:title initialSelection:timeZone target:nil successAction:nil cancelAction:nil origin:origin]; + if (self) { + self.onActionSheetDone = doneBlock; + self.onActionSheetCancel = cancelBlockOrNil; + } + return self; +} + ++ (instancetype)showPickerWithTitle:(NSString *)title initialSelection:(NSTimeZone *)index target:(id)target successAction:(SEL)successAction cancelAction:(SEL)cancelActionOrNil origin:(id)origin +{ + ActionSheetLocalePicker *picker = [[ActionSheetLocalePicker alloc] initWithTitle:title initialSelection:index target:target successAction:successAction cancelAction:cancelActionOrNil origin:origin]; + [picker showActionSheetPicker]; + return picker; +} + +- (instancetype)initWithTitle:(NSString *)title initialSelection:(NSTimeZone *)index target:(id)target successAction:(SEL)successAction cancelAction:(SEL)cancelActionOrNil origin:(id)origin +{ + self = [self initWithTarget:target successAction:successAction cancelAction:cancelActionOrNil origin:origin]; + if (self) { + self.initialTimeZone = index; + self.title = title; + } + return self; +} + + +- (UIView *)configuredPickerView { + [self fillContinentsAndCities]; + [self setSelectedRows]; + + CGRect pickerFrame = CGRectMake(0, 40, self.viewSize.width, 216); + UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:pickerFrame]; + pickerView.delegate = self; + pickerView.dataSource = self; + + pickerView.showsSelectionIndicator = YES; + + [self selectCurrentLocale:pickerView]; + + //need to keep a reference to the picker so we can clear the DataSource / Delegate when dismissing + self.pickerView = pickerView; + + return pickerView; +} + +- (void)selectCurrentLocale:(UIPickerView *)pickerView +{ + NSUInteger rowContinent = [_continents indexOfObject:self.selectedContinent]; + NSUInteger rowCity = [[self getCitiesByContinent:self.selectedContinent] indexOfObject:self.selectedCity]; + + if ((rowContinent != NSNotFound) && (rowCity != NSNotFound)) // to fix some crashes from prev versions http://crashes.to/s/ecb0f15ce49 + { + [pickerView selectRow:rowContinent inComponent:0 animated:YES]; + [pickerView reloadComponent:1]; + [pickerView selectRow:rowCity inComponent:1 animated:YES]; + } + else + { + [pickerView selectRow:0 inComponent:0 animated:YES]; + [pickerView selectRow:0 inComponent:1 animated:YES]; + } +} + +-(void)fillContinentsAndCities +{ + NSArray *timeZones = [NSTimeZone knownTimeZoneNames]; + + NSMutableDictionary *continentsDict = [[NSMutableDictionary alloc] init]; + + _continents= [[NSMutableArray alloc] init]; + + [timeZones enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) + { + if ( [obj isKindOfClass:[NSString class]] ) + { + NSString *string = (NSString *) obj; + NSArray *array = [string componentsSeparatedByString:@"/"]; + + if ( [array count] == 2) + { + if ( continentsDict[array[0]] ) //if continent exists + { + NSMutableArray *citys = continentsDict[array[0]]; + [citys addObject:array[1]]; + } + else //it's new continent + { + NSMutableArray *mutableArray = [@[array[1]] mutableCopy]; + continentsDict[array[0]] = mutableArray; + [_continents addObject:array[0]]; + } + } + else if (array.count == 3) + { + NSString *string0 = array[0]; + NSString *string1 = array[1]; + NSString *string2 = array[2]; + NSString *string3 = [string1 stringByAppendingFormat:@"/%@", string2]; + + if ( continentsDict[string0] ) //if continent exists + { + NSMutableArray *citys = continentsDict[string0]; + [citys addObject:string3]; + } + else //it's new continent + { + NSMutableArray *mutableArray = [@[string3] mutableCopy]; + continentsDict[string0] = mutableArray; + [_continents addObject:string0]; + } + } + } + + }]; + + self.continentsAndCityDictionary = continentsDict; +}; + +- (void)setSelectedRows +{ + NSString *string; + if (self.initialTimeZone) + string = self.initialTimeZone.name; + else + string = [[NSTimeZone localTimeZone] name]; + + NSArray *array = [string componentsSeparatedByString:@"/"]; + if (array.count == 1) + { + // Unknown time zone - appeared only in travis builds. + self.selectedContinent = _continents[0]; + self.selectedCity = [self getCitiesByContinent:self.selectedContinent][0]; + } + else if (array.count == 2) + { + self.selectedContinent = array[0]; + self.selectedCity = array[1]; + } + else + { + assert(NO); + } + +} + + +- (void)notifyTarget:(id)target didSucceedWithAction:(SEL)successAction origin:(id)origin { + + NSString *timeZoneId = [NSString stringWithFormat:@"%@/%@", self.selectedContinent, self.selectedCity]; + NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:timeZoneId]; + + if (self.onActionSheetDone) { + _onActionSheetDone(self, timeZone); + return; + } + else if (target && [target respondsToSelector:successAction]) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" + [target performSelector:successAction withObject:timeZone withObject:origin]; +#pragma clang diagnostic pop + return; + } + NSLog(@"Invalid target/action ( %s / %s ) combination used for ActionSheetPicker", object_getClassName(target), sel_getName(successAction)); +} + +- (void)notifyTarget:(id)target didCancelWithAction:(SEL)cancelAction origin:(id)origin { + if (self.onActionSheetCancel) { + _onActionSheetCancel(self); + return; + } + else if (target && cancelAction && [target respondsToSelector:cancelAction]) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" + [target performSelector:cancelAction withObject:origin]; +#pragma clang diagnostic pop + } +} + +#pragma mark - UIPickerViewDelegate / DataSource +// +//- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { +// id obj = [self.data objectAtIndex:(NSUInteger) row]; +// +// // return the object if it is already a NSString, +// // otherwise, return the description, just like the toString() method in Java +// // else, return nil to prevent exception +// +// if ([obj isKindOfClass:[NSString class]]) +// return obj; +// +// if ([obj respondsToSelector:@selector(description)]) +// return [obj performSelector:@selector(description)]; +// +// return nil; +//} +// + + +///////////////////////////////////////////////////////////////////////// +#pragma mark - UIPickerViewDataSource Implementation +///////////////////////////////////////////////////////////////////////// + +- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView +{ + return 2; +} + +- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component +{ + // Returns + switch (component) { + case 0: return [_continents count]; + case 1: return [[self getCitiesByContinent:self.selectedContinent] count]; + default:break; + } + return 0; +} + +///////////////////////////////////////////////////////////////////////// +#pragma mark UIPickerViewDelegate Implementation +///////////////////////////////////////////////////////////////////////// + +// returns width of column and height of row for each component. +- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component +{ + + switch (component) { + + case 0: return firstColumnWidth; + case 1: return secondColumnWidth; + default:break; + } + + return 0; +} + +- (UIView *)pickerView:(UIPickerView *)pickerView + viewForRow:(NSInteger)row + forComponent:(NSInteger)component + reusingView:(UIView *)view { + + UILabel *pickerLabel = (UILabel *)view; + + if (pickerLabel == nil) { + CGRect frame = CGRectZero; + + + switch (component) { + case 0: frame = CGRectMake(0.0, 0.0, firstColumnWidth, 32); + break; + case 1: + frame = CGRectMake(0.0, 0.0, secondColumnWidth, 32); + break; + default: + assert(NO); + break; + } + + pickerLabel = [[UILabel alloc] initWithFrame:frame]; + [pickerLabel setTextAlignment:NSTextAlignmentCenter]; + if ([pickerLabel respondsToSelector:@selector(setMinimumScaleFactor:)]) + [pickerLabel setMinimumScaleFactor:0.5]; + [pickerLabel setAdjustsFontSizeToFitWidth:YES]; + [pickerLabel setBackgroundColor:[UIColor clearColor]]; + [pickerLabel setFont:[UIFont systemFontOfSize:20]]; + } + + NSString *text; + switch (component) { + case 0: text = (self.continents)[(NSUInteger) row]; + break; + case 1: + { + NSString *cityTitle = [self getCitiesByContinent:self.selectedContinent][(NSUInteger) row]; + NSString *timeZoneId = [NSString stringWithFormat:@"%@/%@", self.selectedContinent, cityTitle]; + NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:timeZoneId]; + + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + [dateFormatter setTimeZone:timeZone]; + [dateFormatter setDateFormat:@"z"]; + text = [cityTitle stringByAppendingString:[NSString stringWithFormat: @" (%@)", [dateFormatter stringFromDate:[NSDate date]]]]; + + break; + } + default:break; + } + + [pickerLabel setText:text]; + + return pickerLabel; + +} + +///////////////////////////////////////////////////////////////////////// + +- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component +{ + switch (component) { + case 0: + { + self.selectedContinent = (self.continents)[(NSUInteger) row]; + [pickerView reloadComponent:1]; + self.selectedCity = [self getCitiesByContinent:self.selectedContinent][(NSUInteger) [pickerView selectedRowInComponent:1]]; + return; + } + + case 1: + self.selectedCity = [self getCitiesByContinent:self.selectedContinent][(NSUInteger) row]; + return; + default:break; + } +} + +-(NSMutableArray *)getCitiesByContinent:(NSString *)continent +{ + NSMutableArray *citiesIncontinent = _continentsAndCityDictionary[continent]; + return citiesIncontinent; +}; + + +- (void)customButtonPressed:(id)sender { + UIBarButtonItem *button = (UIBarButtonItem*)sender; + NSInteger index = button.tag; + NSAssert((index >= 0 && index < self.customButtons.count), @"Bad custom button tag: %ld, custom button count: %lu", (long)index, (unsigned long)self.customButtons.count); + + NSDictionary *buttonDetails = (self.customButtons)[(NSUInteger) index]; + NSAssert(buttonDetails != NULL, @"Custom button dictionary is invalid"); + + ActionType actionType = (ActionType) [buttonDetails[kActionType] intValue]; + switch (actionType) { + case ActionTypeValue: { + id itemValue = buttonDetails[kButtonValue]; + if ( [itemValue isKindOfClass:[NSTimeZone class]] ) + { + NSTimeZone *timeZone = (NSTimeZone *) itemValue; + self.initialTimeZone = timeZone; + [self setSelectedRows]; + [self selectCurrentLocale:(UIPickerView *) self.pickerView]; + } + break; + } + + case ActionTypeBlock: + case ActionTypeSelector: + [super customButtonPressed:sender]; + break; + default: + NSAssert(false, @"Unknown action type"); + break; + } +} + + + +@end \ No newline at end of file diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetMultipleStringPicker.h b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetMultipleStringPicker.h new file mode 100644 index 0000000..ef876bf --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetMultipleStringPicker.h @@ -0,0 +1,67 @@ +// +// ActionSheetMultipleStringPicker.h +// CoreActionSheetPicker +// +// Created by Alejandro on 21/07/15. +// Copyright (c) 2015 Petr Korolev. All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions are met: +//* Redistributions of source code must retain the above copyright +//notice, this list of conditions and the following disclaimer. +//* Redistributions in binary form must reproduce the above copyright +//notice, this list of conditions and the following disclaimer in the +//documentation and/or other materials provided with the distribution. +//* Neither the name of the nor the +//names of its contributors may be used to endorse or promote products +//derived from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +//WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +//DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +//DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +//åLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +//ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +//(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#import "AbstractActionSheetPicker.h" + +@class ActionSheetMultipleStringPicker; +typedef void(^ActionMultipleStringDoneBlock)(ActionSheetMultipleStringPicker *picker, NSArray *selectedIndexes, id selectedValues); +typedef void(^ActionMultipleStringCancelBlock)(ActionSheetMultipleStringPicker *picker); + +@interface ActionSheetMultipleStringPicker : AbstractActionSheetPicker + +/** + * Create and display an action sheet picker. + * + * @param title Title label for picker + * @param data is an array of strings to use for the picker's available selection choices + * @param indexes is used to establish the initially selected rows; + * @param target must not be empty. It should respond to "onSuccess" actions. + * @param successAction action called on selection + * @param cancelActionOrNil action called on cancel + * @param origin must not be empty. It can be either an originating container view or a UIBarButtonItem to use with a popover arrow. + * + * @return return instance of picker + */ ++ (instancetype)showPickerWithTitle:(NSString *)title rows:(NSArray *)data initialSelection:(NSArray *)indexes target:(id)target successAction:(SEL)successAction cancelAction:(SEL)cancelActionOrNil origin:(id)origin; + +/// Create and display an action sheet picker with assigned target actions on sucess/cancel, but don't display until a subsequent call to "showActionPicker". +- (instancetype)initWithTitle:(NSString *)title rows:(NSArray *)data initialSelection:(NSArray *)indexes target:(id)target successAction:(SEL)successAction cancelAction:(SEL)cancelActionOrNil origin:(id)origin; + + +/// Create and display an action sheet picker with completion blocks on success/cancel. ++ (instancetype)showPickerWithTitle:(NSString *)title rows:(NSArray *)strings initialSelection:(NSArray *)indexes doneBlock:(ActionMultipleStringDoneBlock)doneBlock cancelBlock:(ActionMultipleStringCancelBlock)cancelBlock origin:(id)origin; + +/// Create and display an action sheet picker with completion blocks on success/cancel, but don't display until a subsequent call to "showActionPicker". +- (instancetype)initWithTitle:(NSString *)title rows:(NSArray *)strings initialSelection:(NSArray *)indexes doneBlock:(ActionMultipleStringDoneBlock)doneBlock cancelBlock:(ActionMultipleStringCancelBlock)cancelBlockOrNil origin:(id)origin; + +@property (nonatomic, copy) ActionMultipleStringDoneBlock onActionSheetDone; +@property (nonatomic, copy) ActionMultipleStringCancelBlock onActionSheetCancel; + +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetMultipleStringPicker.m b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetMultipleStringPicker.m new file mode 100644 index 0000000..8eb2dea --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetMultipleStringPicker.m @@ -0,0 +1,225 @@ +// +// ActionSheetMultipleStringPicker.m +// CoreActionSheetPicker +// +// Created by Alejandro on 21/07/15. +// Copyright (c) 2015 Petr Korolev. All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions are met: +//* Redistributions of source code must retain the above copyright +//notice, this list of conditions and the following disclaimer. +//* Redistributions in binary form must reproduce the above copyright +//notice, this list of conditions and the following disclaimer in the +//documentation and/or other materials provided with the distribution. +//* Neither the name of the nor the +//names of its contributors may be used to endorse or promote products +//derived from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +//WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +//DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +//DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +//åLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +//ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +//(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#import "ActionSheetMultipleStringPicker.h" + +@interface ActionSheetMultipleStringPicker() +@property (nonatomic,strong) NSArray *data; //Array of string arrays :) +@property (nonatomic,strong) NSArray *initialSelection; +@end + +@implementation ActionSheetMultipleStringPicker + ++ (instancetype)showPickerWithTitle:(NSString *)title rows:(NSArray *)strings initialSelection:(NSArray *)indexes doneBlock:(ActionMultipleStringDoneBlock)doneBlock cancelBlock:(ActionMultipleStringCancelBlock)cancelBlockOrNil origin:(id)origin { + ActionSheetMultipleStringPicker * picker = [[ActionSheetMultipleStringPicker alloc] initWithTitle:title rows:strings initialSelection:indexes doneBlock:doneBlock cancelBlock:cancelBlockOrNil origin:origin]; + [picker showActionSheetPicker]; + return picker; +} + +- (instancetype)initWithTitle:(NSString *)title rows:(NSArray *)strings initialSelection:(NSArray *)indexes doneBlock:(ActionMultipleStringDoneBlock)doneBlock cancelBlock:(ActionMultipleStringCancelBlock)cancelBlockOrNil origin:(id)origin { + self = [self initWithTitle:title rows:strings initialSelection:indexes target:nil successAction:nil cancelAction:nil origin:origin]; + if (self) { + self.onActionSheetDone = doneBlock; + self.onActionSheetCancel = cancelBlockOrNil; + } + return self; +} + ++ (instancetype)showPickerWithTitle:(NSString *)title rows:(NSArray *)data initialSelection:(NSArray *)indexes target:(id)target successAction:(SEL)successAction cancelAction:(SEL)cancelActionOrNil origin:(id)origin { + ActionSheetMultipleStringPicker *picker = [[ActionSheetMultipleStringPicker alloc] initWithTitle:title rows:data initialSelection:indexes target:target successAction:successAction cancelAction:cancelActionOrNil origin:origin]; + [picker showActionSheetPicker]; + return picker; +} + +- (instancetype)initWithTitle:(NSString *)title rows:(NSArray *)data initialSelection:(NSArray *)indexes target:(id)target successAction:(SEL)successAction cancelAction:(SEL)cancelActionOrNil origin:(id)origin { + self = [self initWithTarget:target successAction:successAction cancelAction:cancelActionOrNil origin:origin]; + if (self) { + self.data = data; + self.initialSelection = indexes; + self.title = title; + } + return self; +} + + +- (UIView *)configuredPickerView { + if (!self.data) + return nil; + CGRect pickerFrame = CGRectMake(0, 40, self.viewSize.width, 216); + UIPickerView *stringPicker = [[UIPickerView alloc] initWithFrame:pickerFrame]; + stringPicker.delegate = self; + stringPicker.dataSource = self; + + [self performInitialSelectionInPickerView:stringPicker]; + + if (self.data.count == 0) { + stringPicker.showsSelectionIndicator = NO; + stringPicker.userInteractionEnabled = NO; + } else { + stringPicker.showsSelectionIndicator = YES; + stringPicker.userInteractionEnabled = YES; + } + + //need to keep a reference to the picker so we can clear the DataSource / Delegate when dismissing + self.pickerView = stringPicker; + + return stringPicker; +} + +- (void)notifyTarget:(id)target didSucceedWithAction:(SEL)successAction origin:(id)origin { + if (self.onActionSheetDone) { + _onActionSheetDone(self, [self selectedIndexes], [self selection]); + return; + } + else if (target && [target respondsToSelector:successAction]) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" + [target performSelector:successAction withObject:self.selectedIndexes withObject:origin]; +#pragma clang diagnostic pop + return; + } + NSLog(@"Invalid target/action ( %s / %s ) combination used for ActionSheetPicker and done block is nil.", object_getClassName(target), sel_getName(successAction)); +} + +- (void)notifyTarget:(id)target didCancelWithAction:(SEL)cancelAction origin:(id)origin { + if (self.onActionSheetCancel) { + _onActionSheetCancel(self); + return; + } + else if (target && cancelAction && [target respondsToSelector:cancelAction]) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" + [target performSelector:cancelAction withObject:origin]; +#pragma clang diagnostic pop + } +} + +#pragma mark - UIPickerViewDelegate / DataSource + +- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { + +} + +- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { + return [self.data count]; +} + +- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { + return ((NSArray *)self.data[component]).count; +} + +- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { + id obj = (self.data)[(NSUInteger) row]; + + // return the object if it is already a NSString, + // otherwise, return the description, just like the toString() method in Java + // else, return nil to prevent exception + + if ([obj isKindOfClass:[NSString class]]) + return obj; + + if ([obj respondsToSelector:@selector(description)]) + return [obj performSelector:@selector(description)]; + + return nil; +} + +- (NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component { + id obj = (self.data)[component][(NSUInteger) row]; + + // return the object if it is already a NSString, + // otherwise, return the description, just like the toString() method in Java + // else, return nil to prevent exception + + if ([obj isKindOfClass:[NSString class]]) + return [[NSAttributedString alloc] initWithString:obj attributes:self.pickerTextAttributes]; + + if ([obj respondsToSelector:@selector(description)]) + return [[NSAttributedString alloc] initWithString:[obj performSelector:@selector(description)] attributes:self.pickerTextAttributes]; + + return nil; +} + +- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { + UILabel *pickerLabel = (UILabel *)view; + if (pickerLabel == nil) { + pickerLabel = [[UILabel alloc] init]; + } + id obj = (self.data)[component][row]; + + NSAttributedString *attributeTitle = nil; + // use the object if it is already a NSString, + // otherwise, use the description, just like the toString() method in Java + // else, use String with no text to ensure this delegate do not return a nil value. + + if ([obj isKindOfClass:[NSString class]]) + attributeTitle = [[NSAttributedString alloc] initWithString:obj attributes:self.pickerTextAttributes]; + + if ([obj respondsToSelector:@selector(description)]) + attributeTitle = [[NSAttributedString alloc] initWithString:[obj performSelector:@selector(description)] attributes:self.pickerTextAttributes]; + + if (attributeTitle == nil) { + attributeTitle = [[NSAttributedString alloc] initWithString:@"" attributes:self.pickerTextAttributes]; + } + pickerLabel.attributedText = attributeTitle; + return pickerLabel; +} + + +- (void)performInitialSelectionInPickerView:(UIPickerView *)pickerView { + for (int i = 0; i < self.selectedIndexes.count; i++) { + NSInteger row = [(NSNumber *)self.initialSelection[i] integerValue]; + [pickerView selectRow:row inComponent:i animated:NO]; + } +} + +- (NSArray *)selection { + NSMutableArray * array = [NSMutableArray array]; + for (int i = 0; i < self.data.count; i++) { + id object = self.data[i][[(UIPickerView *)self.pickerView selectedRowInComponent:(NSInteger)i]]; + [array addObject: object]; + } + return [array copy]; +} + +- (NSArray *)selectedIndexes { + NSMutableArray * indexes = [NSMutableArray array]; + for (int i = 0; i < self.data.count; i++) { + NSNumber *index = [NSNumber numberWithInteger:[(UIPickerView *)self.pickerView selectedRowInComponent:(NSInteger)i]]; + [indexes addObject: index]; + } + return [indexes copy]; +} + +//- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component { +// return pickerView.frame.size.width - 30; +//} + +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetPicker.h b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetPicker.h new file mode 100644 index 0000000..69c67ee --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetPicker.h @@ -0,0 +1,35 @@ +// +//Copyright (c) 2011, Tim Cinel +//All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions are met: +//* Redistributions of source code must retain the above copyright +//notice, this list of conditions and the following disclaimer. +//* Redistributions in binary form must reproduce the above copyright +//notice, this list of conditions and the following disclaimer in the +//documentation and/or other materials provided with the distribution. +//* Neither the name of the nor the +//names of its contributors may be used to endorse or promote products +//derived from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +//WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +//DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +//DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +//LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +//ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +//(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#import "ActionSheetCustomPickerDelegate.h" +#import "AbstractActionSheetPicker.h" +#import "ActionSheetCustomPicker.h" +#import "ActionSheetDatePicker.h" +#import "ActionSheetDistancePicker.h" +#import "ActionSheetLocalePicker.h" +#import "ActionSheetStringPicker.h" +#import "ActionSheetMultipleStringPicker.h" \ No newline at end of file diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetStringPicker.h b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetStringPicker.h new file mode 100644 index 0000000..610c2cb --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetStringPicker.h @@ -0,0 +1,63 @@ +// +//Copyright (c) 2011, Tim Cinel +//All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions are met: +//* Redistributions of source code must retain the above copyright +//notice, this list of conditions and the following disclaimer. +//* Redistributions in binary form must reproduce the above copyright +//notice, this list of conditions and the following disclaimer in the +//documentation and/or other materials provided with the distribution. +//* Neither the name of the nor the +//names of its contributors may be used to endorse or promote products +//derived from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +//WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +//DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +//DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +//åLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +//ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +//(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#import "AbstractActionSheetPicker.h" + +@class ActionSheetStringPicker; +typedef void(^ActionStringDoneBlock)(ActionSheetStringPicker *picker, NSInteger selectedIndex, id selectedValue); +typedef void(^ActionStringCancelBlock)(ActionSheetStringPicker *picker); + +@interface ActionSheetStringPicker : AbstractActionSheetPicker +/** + * Create and display an action sheet picker. + * + * @param title Title label for picker + * @param data is an array of strings to use for the picker's available selection choices + * @param index is used to establish the initially selected row; + * @param target must not be empty. It should respond to "onSuccess" actions. + * @param successAction successAction + * @param cancelActionOrNil cancelAction + * @param origin must not be empty. It can be either an originating container view or a UIBarButtonItem to use with a popover arrow. + * + * @return return instance of picker + */ ++ (instancetype)showPickerWithTitle:(NSString *)title rows:(NSArray *)data initialSelection:(NSInteger)index target:(id)target successAction:(SEL)successAction cancelAction:(SEL)cancelActionOrNil origin:(id)origin; + +/// Create an action sheet picker, but don't display until a subsequent call to "showActionPicker". +- (instancetype)initWithTitle:(NSString *)title rows:(NSArray *)data initialSelection:(NSInteger)index target:(id)target successAction:(SEL)successAction cancelAction:(SEL)cancelActionOrNil origin:(id)origin; + + +/// Create and display an action sheet picker sheet with completion blocks for success/cancel. ++ (instancetype)showPickerWithTitle:(NSString *)title rows:(NSArray *)strings initialSelection:(NSInteger)index doneBlock:(ActionStringDoneBlock)doneBlock cancelBlock:(ActionStringCancelBlock)cancelBlock origin:(id)origin; + +/// Create an action sheet picker with completion blocks for success/cancel, but don't display until a subsequent call to "showActionPicker". +- (instancetype)initWithTitle:(NSString *)title rows:(NSArray *)strings initialSelection:(NSInteger)index doneBlock:(ActionStringDoneBlock)doneBlock cancelBlock:(ActionStringCancelBlock)cancelBlockOrNil origin:(id)origin; + +@property (nonatomic, copy) ActionStringDoneBlock onActionSheetDone; +@property (nonatomic, copy) ActionStringCancelBlock onActionSheetCancel; + +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetStringPicker.m b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetStringPicker.m new file mode 100644 index 0000000..b9e11a1 --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/ActionSheetStringPicker.m @@ -0,0 +1,196 @@ +// +//Copyright (c) 2011, Tim Cinel +//All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions are met: +//* Redistributions of source code must retain the above copyright +//notice, this list of conditions and the following disclaimer. +//* Redistributions in binary form must reproduce the above copyright +//notice, this list of conditions and the following disclaimer in the +//documentation and/or other materials provided with the distribution. +//* Neither the name of the nor the +//names of its contributors may be used to endorse or promote products +//derived from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +//ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +//WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +//DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +//DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +//åLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +//ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +//(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// + +#import "ActionSheetStringPicker.h" + +@interface ActionSheetStringPicker() +@property (nonatomic,strong) NSArray *data; +@property (nonatomic,assign) NSInteger selectedIndex; +@end + +@implementation ActionSheetStringPicker + ++ (instancetype)showPickerWithTitle:(NSString *)title rows:(NSArray *)strings initialSelection:(NSInteger)index doneBlock:(ActionStringDoneBlock)doneBlock cancelBlock:(ActionStringCancelBlock)cancelBlockOrNil origin:(id)origin { + ActionSheetStringPicker * picker = [[ActionSheetStringPicker alloc] initWithTitle:title rows:strings initialSelection:index doneBlock:doneBlock cancelBlock:cancelBlockOrNil origin:origin]; + [picker showActionSheetPicker]; + return picker; +} + +- (instancetype)initWithTitle:(NSString *)title rows:(NSArray *)strings initialSelection:(NSInteger)index doneBlock:(ActionStringDoneBlock)doneBlock cancelBlock:(ActionStringCancelBlock)cancelBlockOrNil origin:(id)origin { + self = [self initWithTitle:title rows:strings initialSelection:index target:nil successAction:nil cancelAction:nil origin:origin]; + if (self) { + self.onActionSheetDone = doneBlock; + self.onActionSheetCancel = cancelBlockOrNil; + } + return self; +} + ++ (instancetype)showPickerWithTitle:(NSString *)title rows:(NSArray *)data initialSelection:(NSInteger)index target:(id)target successAction:(SEL)successAction cancelAction:(SEL)cancelActionOrNil origin:(id)origin { + ActionSheetStringPicker *picker = [[ActionSheetStringPicker alloc] initWithTitle:title rows:data initialSelection:index target:target successAction:successAction cancelAction:cancelActionOrNil origin:origin]; + [picker showActionSheetPicker]; + return picker; +} + +- (instancetype)initWithTitle:(NSString *)title rows:(NSArray *)data initialSelection:(NSInteger)index target:(id)target successAction:(SEL)successAction cancelAction:(SEL)cancelActionOrNil origin:(id)origin { + self = [self initWithTarget:target successAction:successAction cancelAction:cancelActionOrNil origin:origin]; + if (self) { + self.data = data; + self.selectedIndex = index; + self.title = title; + } + return self; +} + + +- (UIView *)configuredPickerView { + if (!self.data) + return nil; + CGRect pickerFrame = CGRectMake(0, 40, self.viewSize.width, 216); + UIPickerView *stringPicker = [[UIPickerView alloc] initWithFrame:pickerFrame]; + stringPicker.delegate = self; + stringPicker.dataSource = self; + [stringPicker selectRow:self.selectedIndex inComponent:0 animated:NO]; + if (self.data.count == 0) { + stringPicker.showsSelectionIndicator = NO; + stringPicker.userInteractionEnabled = NO; + } else { + stringPicker.showsSelectionIndicator = YES; + stringPicker.userInteractionEnabled = YES; + } + + //need to keep a reference to the picker so we can clear the DataSource / Delegate when dismissing + self.pickerView = stringPicker; + + return stringPicker; +} + +- (void)notifyTarget:(id)target didSucceedWithAction:(SEL)successAction origin:(id)origin { + if (self.onActionSheetDone) { + id selectedObject = (self.data.count > 0) ? (self.data)[(NSUInteger) self.selectedIndex] : nil; + _onActionSheetDone(self, self.selectedIndex, selectedObject); + return; + } + else if (target && [target respondsToSelector:successAction]) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" + [target performSelector:successAction withObject:@(self.selectedIndex) withObject:origin]; +#pragma clang diagnostic pop + return; + } + NSLog(@"Invalid target/action ( %s / %s ) combination used for ActionSheetPicker and done block is nil.", object_getClassName(target), sel_getName(successAction)); +} + +- (void)notifyTarget:(id)target didCancelWithAction:(SEL)cancelAction origin:(id)origin { + if (self.onActionSheetCancel) { + _onActionSheetCancel(self); + return; + } + else if (target && cancelAction && [target respondsToSelector:cancelAction]) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Warc-performSelector-leaks" + [target performSelector:cancelAction withObject:origin]; +#pragma clang diagnostic pop + } +} + +#pragma mark - UIPickerViewDelegate / DataSource + +- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { + self.selectedIndex = row; +} + +- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { + return 1; +} + +- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { + return self.data.count; +} + +- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { + id obj = (self.data)[(NSUInteger) row]; + + // return the object if it is already a NSString, + // otherwise, return the description, just like the toString() method in Java + // else, return nil to prevent exception + + if ([obj isKindOfClass:[NSAttributedString class]]) { + return [obj string]; + } + + if ([obj isKindOfClass:[NSString class]]) + return obj; + + if ([obj respondsToSelector:@selector(description)]) + return [obj performSelector:@selector(description)]; + + return nil; +} + +- (NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component { + id obj = (self.data)[(NSUInteger) row]; + + // return the object if it is already a NSString, + // otherwise, return the description, just like the toString() method in Java + // else, return nil to prevent exception + + if ([obj isKindOfClass:[NSAttributedString class]]) { + NSMutableAttributedString *title = [[NSMutableAttributedString alloc] initWithAttributedString:obj]; + if (self.pickerTextAttributes) { + [title addAttributes:self.pickerTextAttributes range:NSMakeRange(0, [title length])]; + } + return title; + } + + if ([obj isKindOfClass:[NSString class]]) + return [[NSAttributedString alloc] initWithString:obj attributes:self.pickerTextAttributes]; + + if ([obj respondsToSelector:@selector(description)]) + return [[NSAttributedString alloc] initWithString:[obj performSelector:@selector(description)] attributes:self.pickerTextAttributes]; + + return nil; +} + +- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { + UILabel *pickerLabel = (UILabel *)view; + if (pickerLabel == nil) { + pickerLabel = [[UILabel alloc] init]; + } + + NSAttributedString *attributedTitle = [self pickerView:pickerView attributedTitleForRow:row forComponent:component]; + if (attributedTitle == nil) { + attributedTitle = [[NSAttributedString alloc] initWithString:@"" attributes:self.pickerTextAttributes]; + } + pickerLabel.attributedText = attributedTitle; + return pickerLabel; +} + +- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component { + return pickerView.frame.size.width - 30; +} + +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/DistancePickerView.h b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/DistancePickerView.h new file mode 100644 index 0000000..c6921b1 --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/DistancePickerView.h @@ -0,0 +1,21 @@ +// +// DistancePickerView.h +// +// Created by Evan on 12/27/10. +// Copyright 2010 NCPTT. All rights reserved. +// +// Adapted from LabeledPickerView by Kåre Morstøl (NotTooBad Software). +// This file only Copyright (c) 2009 Kåre Morstøl (NotTooBad Software). +// This file only under the Eclipse public license v1.0 +// http://www.eclipse.org/legal/epl-v10.html + +#import + + +@interface DistancePickerView : UIPickerView { + NSMutableDictionary *labels; +} + +- (void) addLabel:(NSString *)labeltext forComponent:(NSUInteger)component forLongestString:(NSString *)longestString; +- (void) updateLabel:(NSString *)labeltext forComponent:(NSUInteger)component; +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/DistancePickerView.m b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/DistancePickerView.m new file mode 100644 index 0000000..72bfcc5 --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/DistancePickerView.m @@ -0,0 +1,208 @@ +// +// DistancePickerView.m +// +// Created by Evan on 12/27/10. +// Copyright 2010 NCPTT. All rights reserved. +// +// Adapted from LabeledPickerView by Kåre Morstøl (NotTooBad Software). +// This file only Copyright (c) 2009 Kåre Morstøl (NotTooBad Software). +// This file only under the Eclipse public license v1.0 +// http://www.eclipse.org/legal/epl-v10.html + +#import "DistancePickerView.h" + + +@implementation DistancePickerView + + +- (instancetype)initWithFrame:(CGRect)frame +{ + + self = [super initWithFrame:frame]; + if ( self ) + { + labels = [[NSMutableDictionary alloc] initWithCapacity:2]; + } + return self; +} + +- (void)addLabel:(NSString *)labeltext forComponent:(NSUInteger)component forLongestString:(NSString *)longestString +{ + labels[@(component)] = labeltext; + + NSString *keyName = [NSString stringWithFormat:@"%@_%ld", @"longestString", (unsigned long)component]; + + if ( !longestString ) + { + longestString = labeltext; + } + + labels[keyName] = longestString; +} + +- (void)updateLabel:(NSString *)labeltext forComponent:(NSUInteger)component +{ + + UILabel *theLabel = (UILabel *) [self viewWithTag:component + 1]; + + // Update label if it doesn’t match current label + if ( ![theLabel.text isEqualToString:labeltext] ) + { + + NSString *keyName = [NSString stringWithFormat:@"%@_%ld", @"longestString", (unsigned long)component]; + NSString *longestString = labels[keyName]; + + // Update label array with our new string value + [self addLabel:labeltext forComponent:component forLongestString:longestString]; + + // change label during fade out/in + [UIView beginAnimations:nil context:NULL]; + [UIView setAnimationDuration:0.75]; + [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; + theLabel.alpha = 0.00; + theLabel.text = labeltext; + theLabel.alpha = 1.00; + [UIView commitAnimations]; + } + +} + +/** + Adds the labels to the view, below the selection indicator glass. + The labels are aligned to the right side of the wheel. + The delegate is responsible for providing enough width for both the value and the label. + */ +- (void)didMoveToWindow +{ + // exit if view is removed from the window or there are no labels. + if ( !self.window || [labels count] == 0 ) + return; + + UIFont *labelfont = [UIFont boldSystemFontOfSize:20]; + + // find the width of all the wheels combined + CGFloat widthofwheels = 0; + for (int i = 0; i < self.numberOfComponents; i++) + { + widthofwheels += [self rowSizeForComponent:i].width; + } + + // find the left side of the first wheel. + // seems like a misnomer, but that will soon be corrected. + CGFloat rightsideofwheel = (self.frame.size.width - widthofwheels) / 2; + + // cycle through all wheels + for (int component = 0; component < self.numberOfComponents; component++) + { + // find the right side of the wheel + rightsideofwheel += [self rowSizeForComponent:component].width; + + // get the text for the label. + // move on to the next if there is no label for this wheel. + NSString *text = labels[@(component)]; + if ( text ) + { + + // set up the frame for the label using our longestString length + NSString *keyName = [NSString stringWithFormat:@"%@_%@", @"longestString", + @(component)]; + NSString *longestString = labels[keyName]; + CGRect frame; + + if ( NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) + { +#pragma clang diagnostic push +#pragma ide diagnostic ignored "UnavailableInDeploymentTarget" + frame.size = [longestString sizeWithAttributes: + @{NSFontAttributeName : + labelfont}]; +#pragma clang diagnostic pop + } + else + { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + frame.size = [longestString sizeWithFont:labelfont]; +#pragma clang diagnostic pop + } + + + + // center it vertically + frame.origin.y = (CGFloat) ((self.frame.size.height / 2.f) - (frame.size.height / 2.f) - 0.5f); + + // align it to the right side of the wheel, with a margin. + // use a smaller margin for the rightmost wheel. + frame.origin.x = rightsideofwheel - frame.size.width - (component == self.numberOfComponents - 1 ? 5 : 7); + + // set up the label. If label already exists, just get a reference to it + BOOL addlabelView = NO; + UILabel *label = (UILabel *) [self viewWithTag:component + 1]; + if ( !label ) + { + label = [[UILabel alloc] initWithFrame:frame]; + addlabelView = YES; + } + + label.text = text; + label.font = labelfont; + label.backgroundColor = [UIColor clearColor]; + label.shadowColor = [UIColor whiteColor]; + label.shadowOffset = CGSizeMake(0, 1); + + // Tag cannot be 0 so just increment component number to esnure we get a positive + // NB update/remove Label methods are aware of this incrementation! + label.tag = component + 1; + + if ( addlabelView ) + { + /* + and now for the tricky bit: adding the label to the view. + kind of a hack to be honest, might stop working if Apple decides to + change the inner workings of the UIPickerView. + */ + if ( self.showsSelectionIndicator ) + { + // if this is the last wheel, add label as the third view from the top + if ( component == self.numberOfComponents - 1 ) if ( NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) + { + UIView *o = [self.subviews[0] subviews][[[self.subviews[0] subviews] count] - 1]; + UIView *subview = [o subviews][2]; + UIView *view = [(subview.subviews)[0] subviews][1]; + [self insertSubview:label aboveSubview:view]; + } + else + { + [self insertSubview:label atIndex:[self.subviews count] - 3]; + } + // otherwise add label as the 5th, 10th, 15th etc view from the top + else + { + if ( NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) + { + [self insertSubview:label + aboveSubview:[self.subviews[0] subviews][(NSUInteger) component]]; + } + else + { + [self insertSubview:label aboveSubview:(self.subviews)[(NSUInteger) (5 * (component + 1))]]; + } + + } + } else + // there is no selection indicator, so just add it to the top + [self addSubview:label]; + + } + + if ( [self.delegate respondsToSelector:@selector(pickerView:didSelectRow:inComponent:)] ) + [self.delegate pickerView:self didSelectRow:[self selectedRowInComponent:component] + inComponent:component]; + } + + } + +} + + +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/SWActionSheet.h b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/SWActionSheet.h new file mode 100644 index 0000000..cebcdad --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/SWActionSheet.h @@ -0,0 +1,21 @@ +// +// Created by Petr Korolev on 11/08/14. +// + + +#import +#import + +@interface SWActionSheet : UIView +@property(nonatomic, strong) UIView *bgView; + +- (void)dismissWithClickedButtonIndex:(int)i animated:(BOOL)animated; + +- (void)showFromBarButtonItem:(UIBarButtonItem *)item animated:(BOOL)animated; + +- (instancetype)initWithView:(UIView *)view windowLevel:(UIWindowLevel)windowLevel; + + +- (void)showInContainerView; + +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/Pickers/SWActionSheet.m b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/SWActionSheet.m new file mode 100644 index 0000000..8f82761 --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/Pickers/SWActionSheet.m @@ -0,0 +1,253 @@ +// +// Created by Petr Korolev on 11/08/14. +// + +#import "SWActionSheet.h" + + +static const float delay = 0.f; + +static const float duration = .25f; + +static const enum UIViewAnimationOptions options = UIViewAnimationOptionCurveEaseIn; + + +@interface SWActionSheetVC : UIViewController + +@property (nonatomic, retain) SWActionSheet *actionSheet; + +@end + + +@interface SWActionSheet () +{ + UIWindow *SWActionSheetWindow; +} + +@property (nonatomic, assign) BOOL presented; +@property (nonatomic) UIWindowLevel windowLevel; + +- (void)configureFrameForBounds:(CGRect)bounds; +- (void)showInContainerViewAnimated:(BOOL)animated; + +@end + + +@implementation SWActionSheet +{ + UIView *view; + UIView *_bgView; +} + +- (void)dismissWithClickedButtonIndex:(int)i animated:(BOOL)animated +{ + CGPoint fadeOutToPoint = CGPointMake(view.center.x, + self.center.y + CGRectGetHeight(view.frame)); + // Window of app + //UIWindow *appWindow = [UIApplication sharedApplication].windows.firstObject; + // Actions + void (^actions)(void) = ^{ + self.center = fadeOutToPoint; + self.backgroundColor = [UIColor colorWithWhite:0.f alpha:0.0f]; + }; + void (^completion)(BOOL) = ^(BOOL finished) { + // if (![appWindow isKeyWindow]) + // [appWindow makeKeyAndVisible]; + [self destroyWindow]; + [self removeFromSuperview]; + }; + // Do actions animated or not + if (animated) { + [UIView animateWithDuration:duration delay:delay options:options animations:actions completion:completion]; + } else { + actions(); + completion(YES); + } + self.presented = NO; +} + +- (void)destroyWindow +{ + if (SWActionSheetWindow) + { + [self actionSheetContainer].actionSheet = nil; + SWActionSheetWindow.hidden = YES; + if ([SWActionSheetWindow isKeyWindow]) + [SWActionSheetWindow resignFirstResponder]; + SWActionSheetWindow.rootViewController = nil; + SWActionSheetWindow = nil; + } +} + +- (UIWindow *)window +{ + if ( SWActionSheetWindow ) + { + return SWActionSheetWindow; + } + else + { + UIWindow *window = nil; + +// Handle UIWindow for iOS 13 changes +#if defined(__IPHONE_13_0) + if (@available(iOS 13.0, *)) { + UIScene *scene = [UIApplication sharedApplication].connectedScenes.allObjects.firstObject; + if (scene && [scene isKindOfClass:[UIWindowScene class]]) { + UIWindowScene *windowScene = (UIWindowScene *)scene; + window = [[UIWindow alloc] initWithWindowScene:windowScene]; + } + } +#endif + + if (window == nil) { + window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; + } + + window.windowLevel = self.windowLevel; + window.backgroundColor = [UIColor clearColor]; + window.rootViewController = [SWActionSheetVC new]; + + SWActionSheetWindow = window; + return SWActionSheetWindow; + } +} + +- (SWActionSheetVC *)actionSheetContainer +{ + return (SWActionSheetVC *) [self window].rootViewController; +} + +- (instancetype)initWithView:(UIView *)aView windowLevel:(UIWindowLevel)windowLevel +{ + if ((self = [super init])) + { + view = aView; + _windowLevel = windowLevel; + self.backgroundColor = [UIColor colorWithWhite:0.f alpha:0.0f]; + _bgView = [UIView new]; + +// Support iOS 13 Dark Mode - support dynamic background color in iOS 13 +#if defined(__IPHONE_13_0) + if (@available(iOS 13.0, *)) { + _bgView.backgroundColor = [UIColor systemBackgroundColor]; + } + else { + _bgView.backgroundColor = [UIColor colorWithRed:247.f/255.f green:247.f/255.f blue:247.f/255.f alpha:1.0f]; + } +#else + _bgView.backgroundColor = [UIColor colorWithRed:247.f/255.f green:247.f/255.f blue:247.f/255.f alpha:1.0f]; +#endif + [self addSubview:_bgView]; + [self addSubview:view]; + } + return self; +} + + +- (void)configureFrameForBounds:(CGRect)bounds +{ + self.frame = CGRectMake(bounds.origin.x, bounds.origin.y, bounds.size.width, bounds.size.height + view.bounds.size.height); + view.frame = CGRectMake(view.bounds.origin.x, bounds.size.height, view.bounds.size.width, view.bounds.size.height); + view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin; + _bgView.frame = view.frame; + _bgView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; +} + +- (void)showFromBarButtonItem:(UIBarButtonItem *)item animated:(BOOL)animated +{ + [self showInContainerView]; +} + +- (void)showInContainerView +{ + // Make sheet window visible and active + UIWindow *sheetWindow = [self window]; + if (![sheetWindow isKeyWindow]) + [sheetWindow makeKeyAndVisible]; + sheetWindow.hidden = NO; + // Put our ActionSheet in Container (it will be presented as soon as possible) + self.actionSheetContainer.actionSheet = self; +} + +- (void)showInContainerViewAnimated:(BOOL)animated +{ + CGPoint toPoint; + CGFloat y = self.center.y - CGRectGetHeight(view.frame); + toPoint = CGPointMake(self.center.x, y); + // Present actions + void (^animations)(void) = ^{ + self.center = toPoint; + self.backgroundColor = [UIColor colorWithWhite:0.f alpha:0.5f]; + }; + // Present sheet + if (animated) + [UIView animateWithDuration:duration delay:delay options:options animations:animations completion:nil]; + else + animations(); + self.presented = YES; +} + +@end + + +#pragma mark - SWActionSheet Container + +@implementation SWActionSheetVC + + +- (UIStatusBarStyle)preferredStatusBarStyle { + return [UIApplication sharedApplication].statusBarStyle; +} + +- (void)setActionSheet:(SWActionSheet *)actionSheet +{ + // Prevent processing one action sheet twice + if (_actionSheet == actionSheet) + return; + // Dissmiss previous action sheet if it presented + if (_actionSheet.presented) + [_actionSheet dismissWithClickedButtonIndex:0 animated:YES]; + // Remember new action sheet + _actionSheet = actionSheet; + // Present new action sheet + [self presentActionSheetAnimated:YES]; +} + +- (void)viewWillAppear:(BOOL)animated +{ + [super viewWillAppear:animated]; + [self presentActionSheetAnimated:YES]; +} + +- (void)presentActionSheetAnimated:(BOOL)animated +{ + // New action sheet will be presented only when view controller will be loaded + if (_actionSheet && [self isViewLoaded] && !_actionSheet.presented) + { + [_actionSheet configureFrameForBounds:self.view.bounds]; + _actionSheet.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + [self.view addSubview:_actionSheet]; + [_actionSheet showInContainerViewAnimated:animated]; + } +} + +- (BOOL)prefersStatusBarHidden { + return [UIApplication sharedApplication].statusBarHidden; +} + +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_6_0 +// iOS6 support +// --- +- (BOOL)shouldAutorotate +{ + return YES; +} +#else + +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation +{ + return NO; +} +#endif +@end diff --git a/example/ios/Pods/ActionSheetPicker-3.0/README.md b/example/ios/Pods/ActionSheetPicker-3.0/README.md new file mode 100644 index 0000000..8c7745e --- /dev/null +++ b/example/ios/Pods/ActionSheetPicker-3.0/README.md @@ -0,0 +1,302 @@ +# ActionSheetPicker-3.0 + +[![Version](http://img.shields.io/cocoapods/v/ActionSheetPicker-3.0.svg)](http://cocoadocs.org/docsets/ActionSheetPicker-3.0) +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) +[![Build Status](https://travis-ci.org/skywinder/ActionSheetPicker-3.0.svg?branch=master)](https://travis-ci.org/skywinder/ActionSheetPicker-3.0) +[![Issues](http://img.shields.io/github/issues/skywinder/ActionSheetPicker-3.0.svg)](https://github.com/skywinder/ActionSheetPicker-3.0/issues?state=open) +[![License](https://img.shields.io/cocoapods/l/ActionSheetPicker-3.0.svg)](http://cocoadocs.org/docsets/ActionSheetPicker-3.0) +[![Platform](https://img.shields.io/cocoapods/p/ActionSheetPicker-3.0.svg)](http://cocoadocs.org/docsets/ActionSheetPicker-3.0)[![All Contributors](https://img.shields.io/badge/all_contributors-21-orange.svg?style=flat-square)](#contributors-) + +## Important update + +Now I fixed most of the things and merge PR' (thanks to [![All Contributors](https://img.shields.io/badge/all_contributors-20-orange.svg?style=flat-square)](#contributors-)). + +I did much work to support this library from iOS 5. (and till iOS 13 and we keep going) 🚀 + +### [I still need help with the future support of this repo](https://github.com/skywinder/ActionSheetPicker-3.0/issues/348). If you are interested to help - please **drop a comment into issue #348 🙏** + +Regards, [Petr Korolev](https://github.com/skywinder) + +--- + +- [Overview](#overview) + - [Benefits](#benefits) +- [QuickStart](#quickstart) + - [Basic Usage](#basic-usage) +- [Installation](#installation) +- [Example Projects](#example-projects) +- [Screenshots](#screenshots) +- [Apps using this library](#apps-using-this-library) +- [Maintainer and Contributor](#maintainer-and-contributor) +- [Contributing](#contributing) +- [Credits](#credits) +- [Contributors](#contributors) + +Please welcome: **ActionSheetPicker-3.0**! + +## ActionSheetPicker = UIPickerView + UIActionSheet + +![Animation](Screenshots/example.gif) + +Well, that's how it started. Now, the following is more accurate: + +- _**iPhone/iPod** ActionSheetPicker = ActionSheetPicker = A Picker + UIActionSheet_ +- _**iPad** ActionSheetPicker = A Picker + UIPopoverController_ + +## Overview + +Easily present an ActionSheet with a PickerView, allowing the user to select from a number of immutable options. + +### Benefits + +- Spawn pickers with convenience function - delegate or reference + not required. Just provide a target/action callback. +- Add buttons to UIToolbar for quick selection (see ActionSheetDatePicker below) +- Delegate protocol available for more control +- Universal (iPhone/iPod/iPad) + +## QuickStart + +There are 4 distinct picker view options: + +- `ActionSheetStringPicker` +- `ActionSheetDistancePicker` +- `ActionSheetDatePicker` +- `ActionSheetCustomPicker` + +We'll focus here on how to use the `ActionSheetStringPicker` since it's most likely the one you want to use. + +### Basic Usage + +**For detailed info about customizations, please look [BASIC USAGE](https://github.com/skywinder/ActionSheetPicker-3.0/blob/master/BASIC-USAGE.md)** + +- Custom buttons view +- Custom buttons callbacks +- Action by clicking outside of the picker +- Background color and blur effect +- Other customizations + +**For detailed examples, please check [Example Projects](#example-projects) in this repo.** + +#### `Swift` + +```swift + ActionSheetMultipleStringPicker.show(withTitle: "Multiple String Picker", rows: [ + ["One", "Two", "A lot"], + ["Many", "Many more", "Infinite"] + ], initialSelection: [2, 2], doneBlock: { + picker, indexes, values in + + print("values = \(values)") + print("indexes = \(indexes)") + print("picker = \(picker)") + return + }, cancel: { ActionMultipleStringCancelBlock in return }, origin: sender) +``` + +#### `Objective-C` + +```obj-c +// Inside a IBAction method: + +// Create an array of strings you want to show in the picker: +NSArray *colors = [NSArray arrayWithObjects:@"Red", @"Green", @"Blue", @"Orange", nil]; + +[ActionSheetStringPicker showPickerWithTitle:@"Select a Color" + rows:colors + initialSelection:0 + doneBlock:^(ActionSheetStringPicker *picker, NSInteger selectedIndex, id selectedValue) { + NSLog(@"Picker: %@, Index: %@, value: %@", + picker, selectedIndex, selectedValue); + } + cancelBlock:^(ActionSheetStringPicker *picker) { + NSLog(@"Block Picker Canceled"); + } + origin:sender]; +// You can also use self.view if you don't have a sender +``` + +## Installation + +### CocoaPods + +```ruby +pod 'ActionSheetPicker-3.0' +``` + +(**iOS 5.1.1-13.x** compatible!) + +[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. + +You can install it with the following command: + +```bash +gem install cocoapods +``` + +To integrate ActionSheetPicker-3.0 into your Xcode project using CocoaPods, specify it in your `Podfile`: + +```ruby +source 'https://github.com/CocoaPods/Specs.git' +use_frameworks! + +pod 'ActionSheetPicker-3.0' +``` + +Then, run the following command: + +```bash +pod install +``` + +### Import to project + +To import pod you should add string: + +- For `Obj-c` projects: + +```obj-c + #import "ActionSheetPicker.h" +``` + +- For `Swift` projects: + +```swift + import ActionSheetPicker_3_0 +``` + +### Carthage + +Carthage is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application. + +You can install Carthage with [Homebrew](http://brew.sh/) using the following command: + +```bash +brew update +brew install carthage +``` + +To integrate ActionSheetPicker-3.0 into your Xcode project using Carthage, specify it in your `Cartfile`: + +```ogdl +github "skywinder/ActionSheetPicker-3.0" +``` + +### Manually + +If you prefer not to use either of the aforementioned dependency managers, you can integrate ActionSheetPicker-3.0 into your project manually. + +The "old school" way is manually added to your project all from [Pickers](/Pickers) folder. + +### Embedded Framework + +- Add ActionSheetPicker-3.0 as a [submodule](http://git-scm.com/docs/git-submodule) by opening the Terminal, `cd`-ing into your top-level project directory, and entering the following command: + +```bash +git submodule add https://github.com/skywinder/ActionSheetPicker-3.0.git +``` + +- Open the `ActionSheetPicker-3.0` folder, and drag `CoreActionSheetPicker.xcodeproj` into the file navigator of your app project. +- In Xcode, navigate to the target configuration window by clicking on the blue project icon, and selecting the application target under the "Targets" heading in the sidebar. +- Ensure that the deployment target of CoreActionSheetPicker.framework matches that of the application target. +- In the tab bar at the top of that window, open the "Build Phases" panel. +- Expand the "Target Dependencies" group, and add `CoreActionSheetPicker.framework`. +- Click on the `+` button at the top left of the panel and select "New Copy Files Phase". Rename this new phase to "Copy Frameworks", set the "Destination" to "Frameworks", and add `CoreActionSheetPicker.framework`. + +## Example Projects + +`open ActionSheetPicker-3.0.xcworkspace` + +Here is 3 projects: + +- **CoreActionSheetPicker** - all picker files combined in one Framework. (available since `iOS 8`) +- **ActionSheetPicker** - modern and descriptive Obj-C project with many examples. +- **Swift-Example** - example, written on Swift. (only with basic 3 Pickers examples, for all examples please run `ActionSheetPicker` project) + +## Screenshots + +![ActionSheetPicker](https://raw.githubusercontent.com/skywinder/ActionSheetPicker-3.0/master/Screenshots/string.png "ActionSheetPicker") +![ActionSheetDatePicker](https://raw.githubusercontent.com/skywinder/ActionSheetPicker-3.0/master/Screenshots/date.png "ActionSheetDatePicker") +![ActionSheetDatePicker](https://raw.githubusercontent.com/Jack-s/ActionSheetPicker-3.0/master/Screenshots/time.png "ActionSheetDatePicker") +![CustomButtons](https://raw.githubusercontent.com/skywinder/ActionSheetPicker-3.0/master/Screenshots/custom.png "CustomButtons") +![iPad Support](https://raw.githubusercontent.com/skywinder/ActionSheetPicker-3.0/master/Screenshots/ipad.png "iPad Support") + +## [Apps using this library](https://github.com/skywinder/ActionSheetPicker-3.0/wiki/Apps-using-ActionSheetPicker-3.0) + +If you've used this project in a live app, please let me know! Nothing makes me happier than seeing someone else take my work and go wild with it. + +*If you are using `ActionSheetPicker-3.0` in your app or know of an app that uses it, please add it to [**this list**](https://github.com/skywinder/ActionSheetPicker-3.0/wiki/Apps-using-ActionSheetPicker-3.0).* + +## Maintainer and Contributor + +- [Petr Korolev](http://github.com/skywinder) (update to iOS 7 and iOS 8, implementing new pickers, community support). I did much work to support this library from iOS 5. (and till iOS 13 and we keep going 🚀). + +Now I fixed most of the things and merge PR' (thanks to [![All Contributors](https://img.shields.io/badge/all_contributors-20-orange.svg?style=flat-square)](#contributors-)!). + +### [I still need help with the future support of this repo](https://github.com/skywinder/ActionSheetPicker-3.0/issues/348). If you are interested to help - please **drop a comment into issue #348 🙏** + +## Contributing + +1. Create an issue to discuss your idea +2. Fork it [https://github.com/skywinder/ActionSheetPicker-3.0/fork](https://github.com/skywinder/ActionSheetPicker-3.0/fork) +3. Create your feature branch (`git checkout -b my-new-feature`) +4. Commit your changes (`git commit -am 'Add some feature'`) +5. Push to the branch (`git push origin my-new-feature`) +6. Create a new Pull Request + +**Bug reports, feature requests, patches, well-wishes, and rap demo tapes are always welcome.** + +### Discord + +We have a Discord channel where discuss about new ideas and implementation. Feel free to join and discuss with us! + +You can join our Discord using [this link](https://discord.gg/68NeeUx). + +## Credits + +- ActionSheetPicker was originally created by [Tim Cinel](http://github.com/TimCinel) ([@TimCinel](http://twitter.com/TimCinel)) Since the [Tim's repo](https://github.com/TimCinel/ActionSheetPicker) is not support iOS 7+, I forked from his repo and implement iOS 7-8 support, and also a bunch of UI fixes, crash-fixes, and different customization abilities. + +- And most of all, thanks to ActionSheetPicker-3.0's [growing list of contributors](https://github.com/skywinder/ActionSheetPicker-3.0/graphs/contributors). + +## Contributors ✨ + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Petr Korolev

💻 👀 💬 💡

Tim Cinel

💻 👀 📖

Jurģis Ķiršakmens

💬 💡

Nikos

📖

Vinh Tran

💻 🛡️

Kashif Hisam

💻

DYY_Xiaoer

💻 🛡️

Seth Delackner

💻

Zheng Li

💻

Andrea

💬 💻 🖋 🚧

Bino90

💻

arnoldxt

💻

Koji Hasegawa

🚇

Ali Ersoz

💻

KAWASHIMA Yoshiyuki

📖

Ricardo Hernandez

💻

Vincent Narbot

📖

Ezequiel França

📖

Nikola Mladenovic

📖

Umer Asif

🐛

longjun

💻
+ + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! diff --git a/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/AbstractActionSheetPicker.h b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/AbstractActionSheetPicker.h new file mode 120000 index 0000000..48af141 --- /dev/null +++ b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/AbstractActionSheetPicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/AbstractActionSheetPicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetCustomPicker.h b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetCustomPicker.h new file mode 120000 index 0000000..d5d134d --- /dev/null +++ b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetCustomPicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetCustomPicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetCustomPickerDelegate.h b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetCustomPickerDelegate.h new file mode 120000 index 0000000..753248e --- /dev/null +++ b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetCustomPickerDelegate.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetCustomPickerDelegate.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetDatePicker.h b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetDatePicker.h new file mode 120000 index 0000000..70dab14 --- /dev/null +++ b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetDatePicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetDatePicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetDistancePicker.h b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetDistancePicker.h new file mode 120000 index 0000000..058265c --- /dev/null +++ b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetDistancePicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetDistancePicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetLocalePicker.h b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetLocalePicker.h new file mode 120000 index 0000000..1160adc --- /dev/null +++ b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetLocalePicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetLocalePicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetMultipleStringPicker.h b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetMultipleStringPicker.h new file mode 120000 index 0000000..0b02a61 --- /dev/null +++ b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetMultipleStringPicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetMultipleStringPicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetPicker.h b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetPicker.h new file mode 120000 index 0000000..28a01a0 --- /dev/null +++ b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetPicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetPicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetStringPicker.h b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetStringPicker.h new file mode 120000 index 0000000..7d1d13a --- /dev/null +++ b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/ActionSheetStringPicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetStringPicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/DistancePickerView.h b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/DistancePickerView.h new file mode 120000 index 0000000..57b579d --- /dev/null +++ b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/DistancePickerView.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/DistancePickerView.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/SWActionSheet.h b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/SWActionSheet.h new file mode 120000 index 0000000..82b0d44 --- /dev/null +++ b/example/ios/Pods/Headers/Private/ActionSheetPicker-3.0/SWActionSheet.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/SWActionSheet.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/AbstractActionSheetPicker.h b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/AbstractActionSheetPicker.h new file mode 120000 index 0000000..48af141 --- /dev/null +++ b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/AbstractActionSheetPicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/AbstractActionSheetPicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetCustomPicker.h b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetCustomPicker.h new file mode 120000 index 0000000..d5d134d --- /dev/null +++ b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetCustomPicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetCustomPicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetCustomPickerDelegate.h b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetCustomPickerDelegate.h new file mode 120000 index 0000000..753248e --- /dev/null +++ b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetCustomPickerDelegate.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetCustomPickerDelegate.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetDatePicker.h b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetDatePicker.h new file mode 120000 index 0000000..70dab14 --- /dev/null +++ b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetDatePicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetDatePicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetDistancePicker.h b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetDistancePicker.h new file mode 120000 index 0000000..058265c --- /dev/null +++ b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetDistancePicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetDistancePicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetLocalePicker.h b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetLocalePicker.h new file mode 120000 index 0000000..1160adc --- /dev/null +++ b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetLocalePicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetLocalePicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetMultipleStringPicker.h b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetMultipleStringPicker.h new file mode 120000 index 0000000..0b02a61 --- /dev/null +++ b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetMultipleStringPicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetMultipleStringPicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetPicker.h b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetPicker.h new file mode 120000 index 0000000..28a01a0 --- /dev/null +++ b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetPicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetPicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetStringPicker.h b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetStringPicker.h new file mode 120000 index 0000000..7d1d13a --- /dev/null +++ b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/ActionSheetStringPicker.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/ActionSheetStringPicker.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/DistancePickerView.h b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/DistancePickerView.h new file mode 120000 index 0000000..57b579d --- /dev/null +++ b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/DistancePickerView.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/DistancePickerView.h \ No newline at end of file diff --git a/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/SWActionSheet.h b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/SWActionSheet.h new file mode 120000 index 0000000..82b0d44 --- /dev/null +++ b/example/ios/Pods/Headers/Public/ActionSheetPicker-3.0/SWActionSheet.h @@ -0,0 +1 @@ +../../../ActionSheetPicker-3.0/Pickers/SWActionSheet.h \ No newline at end of file diff --git a/example/ios/Pods/Manifest.lock b/example/ios/Pods/Manifest.lock index bca6e81..f3b13bf 100644 --- a/example/ios/Pods/Manifest.lock +++ b/example/ios/Pods/Manifest.lock @@ -1,4 +1,5 @@ PODS: + - ActionSheetPicker-3.0 (2.4.2) - AFNetworking (3.2.1): - AFNetworking/NSURLSession (= 3.2.1) - AFNetworking/Reachability (= 3.2.1) @@ -26,6 +27,7 @@ PODS: - SBJson (5.0.0) DEPENDENCIES: + - ActionSheetPicker-3.0 - AFNetworking - BIObjCHelpers - IQKeyboardManager (~> 4.0.2) @@ -37,7 +39,8 @@ DEPENDENCIES: - SBJson SPEC REPOS: - https://github.com/cocoapods/specs.git: + trunk: + - ActionSheetPicker-3.0 - AFNetworking - BIObjCHelpers - IQKeyboardManager @@ -49,6 +52,7 @@ SPEC REPOS: - SBJson SPEC CHECKSUMS: + ActionSheetPicker-3.0: 5b62e07b00bd970509cf5ece99cb7447eae5dd0d AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057 BIObjCHelpers: 378672b0f9309e4d2cbd4cabfb3afbe1ce225e40 IQKeyboardManager: 8eab4d8111418414619d1df8e4779ce5d0f8d7e2 @@ -59,6 +63,6 @@ SPEC CHECKSUMS: Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96 SBJson: 73c848dc34be51fda282fab12bda6c426f5ead08 -PODFILE CHECKSUM: 34364bfc2b6b95fb6aef3a3926035956b69f2fa0 +PODFILE CHECKSUM: 576741ffe95c8a171cfa378f4ab08e1f3f132ced -COCOAPODS: 1.7.5 +COCOAPODS: 1.8.4 diff --git a/example/ios/Pods/Pods.xcodeproj/project.pbxproj b/example/ios/Pods/Pods.xcodeproj/project.pbxproj index bf8153e..9993936 100644 --- a/example/ios/Pods/Pods.xcodeproj/project.pbxproj +++ b/example/ios/Pods/Pods.xcodeproj/project.pbxproj @@ -7,549 +7,608 @@ objects = { /* Begin PBXBuildFile section */ - 00B5354A919C0D97933E8449BDCEA4C5 /* Pods-TestApp-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E1292FE43E4F8F642A883A35B554CB2F /* Pods-TestApp-dummy.m */; }; - 011C41BF7F84E5FA606A21A7953E30C5 /* Mantle-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CB8AE263AF625FE4AF8F80399E726A82 /* Mantle-dummy.m */; }; - 030FCFCA90606B0176212D75C983688F /* BIActivityIndicatorContainerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EBB974A391A03A3BAA6ECE230019926 /* BIActivityIndicatorContainerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0343B86E9B9F5619970FCBD7370E033A /* AFCompatibilityMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = D3235EC90579FC1FB78B799DD67B660B /* AFCompatibilityMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 05756D2CFA623B9BC64055AB25F9598C /* BIOperationBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DB4E54C2CFE61F024F6F782FFE79F6A /* BIOperationBase.m */; }; - 05AB469F0F79C648F8E637F88CDB9E97 /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 42CB09523B5A09246246757DBD0DEC6D /* AFURLSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 071846CB07B3BF39566A0A83241B5568 /* EXTRuntimeExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = D003AD10E8DC36B32C593A6AC2687E99 /* EXTRuntimeExtensions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 07EA07B707E0FE40729573D48916A2F3 /* Lockbox.m in Sources */ = {isa = PBXBuildFile; fileRef = 73C815FB0B967F3C7948A26FFA03F2CB /* Lockbox.m */; }; - 085F502C1456C232B1A8E76775E2E327 /* BIDatasourceCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F8656CE46E4E28C7F08C42B0106F0AF /* BIDatasourceCollectionView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 08646C07C53C392C45A4DE0BB736C723 /* SBJson5StreamParser.m in Sources */ = {isa = PBXBuildFile; fileRef = FCDC01864B0ABC30752D13D3082E6A79 /* SBJson5StreamParser.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 089F9AADF7CF37C3F6D4061740559763 /* BIObjCHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = EE6005FABE8524DABA40F660CB722EA7 /* BIObjCHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 090BD69C1BFC398E41E0BDD8D91371CC /* BIHandlerTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D08B5299F51DDA0B29BD0659F9A665E /* BIHandlerTableView.m */; }; - 0A0D60CA0FB38FFC98FDF608B626C5C0 /* BIOperationNotifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 388A0002859AD60E914C4BEF232C1690 /* BIOperationNotifier.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0C26E8CE5202114A92A9CFFBA1A9CE88 /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = AC25CC612222C946BFC47B5AD8096F06 /* UIButton+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0C3620850AE8BA88FB388255BB4EB013 /* NSDate+BIAttributedString.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C79A845B5257500D3D743F7A0084C74 /* NSDate+BIAttributedString.m */; }; - 0E1B398830116EE3079E5EB9EFD67DE4 /* IQKeyboardManagerConstantsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 75BB5A3DCC80C12DD8E67762E144C6D5 /* IQKeyboardManagerConstantsInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0E8462F03B9E6D5602CA08F0D7BE7062 /* BIDatasourceFetchedCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 06AD0F2B95DB04B52AE1AD9F2CEE18E1 /* BIDatasourceFetchedCollectionView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0EC780BA43D580614F38745A579B412B /* EXTRuntimeExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = 15E145EA087FCE931BE92B8B7C27683A /* EXTRuntimeExtensions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 108D47CB44BB2DDB8C6CD93FCD0FDC25 /* BIDatasourceFetchedFeedTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D44B985328E97E6B2812BA25851B44B8 /* BIDatasourceFetchedFeedTableView.m */; }; - 10EB9A7552672DC328F8695A98E605B3 /* AFImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = E892EDD4D80F0DD0246F90B8158E359C /* AFImageDownloader.m */; }; - 1102564C9CDAC18DF8D6DB20F6523E72 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 221B07E279BD8909E2F9A0BB248589BB /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 115078083C0DA0161BF3687811104850 /* NSDictionary+MTLJSONKeyPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 0306F06070349B39C38E54A57359720A /* NSDictionary+MTLJSONKeyPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1659AA7998CD16BA4AFC3ADEF580E860 /* BIScrollDetails.h in Headers */ = {isa = PBXBuildFile; fileRef = 96E20804E4C28413A3CCF8DB43104BFE /* BIScrollDetails.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 16A238E84B4A4011485D95DCEF4D6753 /* SBJson5Parser.h in Headers */ = {isa = PBXBuildFile; fileRef = BCEC1FCE176DC732F266B70B3F4AE811 /* SBJson5Parser.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 19F64DB036733BC9021B8C1BB93DB8FC /* BIDatasourceBase.h in Headers */ = {isa = PBXBuildFile; fileRef = A24633D8A60F56D859390F17EC631CA2 /* BIDatasourceBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1A98F262CD393B6C9C07E9DB71597720 /* _BICollectionView+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DF0B1E77B0822EAA8581A5C187058DD /* _BICollectionView+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1ABE174BFF702EDDC3229373350FFC30 /* IQTitleBarButtonItem.h in Headers */ = {isa = PBXBuildFile; fileRef = EACCDF3FDAD410AED1AE3EECDC8E9BDF /* IQTitleBarButtonItem.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1CC3E60D408CF3B4DE180CE25C582EDB /* BIStarterProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DE4548E85940F754942FEBA45412311 /* BIStarterProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1CCB7963521F0ADCC546516DD3FA9FF6 /* NSDate+BIAttributedString.h in Headers */ = {isa = PBXBuildFile; fileRef = C544E84B4B8BE1B75082EF8B30BECEC0 /* NSDate+BIAttributedString.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1E35D48CC288679CF6392E061AC8F19E /* BIDatasourceFeedCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = D04EE36E590EC0AEA84DE52924D32B42 /* BIDatasourceFeedCollectionView.m */; }; - 1EA1235398DAC98440B2EFBE43839FD1 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = ACAAAA81D6E69B8A2E1180B1AC8DE999 /* AFSecurityPolicy.m */; }; - 1EE94AEFBDCEFCC60B484C6A5CCE007B /* BIScrollAdditionalNoContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C6DC04CB2292559CF3E6520BEB59A59 /* BIScrollAdditionalNoContentView.m */; }; - 1F66F73B61BEA115076A9CF7DD463832 /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F1BAAC370514ECC0091DCDB999B673A3 /* AFNetworkActivityIndicatorManager.m */; }; - 20CEFA3DC049262CBC3EACED97F8902C /* BIScrollAdditionalErrorNoContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = D143A88D9C7365EF57324AFD7C721DCC /* BIScrollAdditionalErrorNoContentView.m */; }; - 21BBB6D9EFCD83835A675B42AAEF6FA0 /* BITableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 943AF30140E7F3AF44B48190975D7C72 /* BITableViewCell.m */; }; - 21F8D8BF3DF244A446F93C26EEF87E06 /* BIScrollAdditionalLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = D54B1ADD79DF01D28E4331C2E04BD3E7 /* BIScrollAdditionalLoadingView.m */; }; - 25738129C5314F2E70A89687B132B1E3 /* IQToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CDE86567EED917343D431647CA0831F /* IQToolbar.m */; }; - 2627A0AECF68088FD7166350481E3E29 /* BIBatchRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = E175459654E650D11C25DE75D5864E98 /* BIBatchRequest.m */; }; - 26C1BC3879672779299B52E63F3591F1 /* IQKeyboardReturnKeyHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 815CFFF8574C7365FA4FBE6C99865145 /* IQKeyboardReturnKeyHandler.m */; }; - 2810E75B88D21CFDF872CE95230952A8 /* PINDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D47ED20F9B8BB80668CF5A10CF24570 /* PINDiskCache.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 283C2B5F2ED1843B5FE85DF5F04A3356 /* NSBundle+BIExtra.h in Headers */ = {isa = PBXBuildFile; fileRef = 23A06DB7B13EE49CD9E8D018C6A804B2 /* NSBundle+BIExtra.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 28A348B122D675ADFB8BDE789DF30C51 /* MTLModel+NSCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = D2F0C4E4D488416BEAAFD75D42F2F745 /* MTLModel+NSCoding.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 294515497AF6659E66E230EDFA76CB60 /* BIDatasourceFetchedTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 696D28FAADF066C807F4838A3F3A8971 /* BIDatasourceFetchedTableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2B13D8D947D72757872CC371296D62B3 /* _BIScrollViewProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = FE074814EA6D7ACA210CA9D9FCB8E207 /* _BIScrollViewProxy.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2B9CB389B3E1D4369BB6CEC496BC9C7D /* IQTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = FF36E657754817C7A03D9D5E2A73F4D0 /* IQTextView.m */; }; - 2C95C61175E1EB929A4B094581747835 /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 4100ADB50EDB8F58387C37CE933A0E25 /* AFURLResponseSerialization.m */; }; - 2ED1EDB1752822852CD42DA3D87CD694 /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = E3D88A7520077C0A9E78D011E55BCBD5 /* Reachability.m */; }; - 304FB2F3CB19F5C44D812D90AA2F1121 /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 61ECC996780FE7C2A91257871B0318E2 /* UIRefreshControl+AFNetworking.m */; }; - 3089AB3AFF04FE5175B5998CCCD04039 /* NSDictionary+MTLMappingAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 540E2B2F743260AE9F6D2B5A1D83EFC1 /* NSDictionary+MTLMappingAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 31B2F4E72AB0C34D6A2A286BA92E52AD /* IQTitleBarButtonItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 425CA2A28A4CEEC3270A2A6E539CB1B3 /* IQTitleBarButtonItem.m */; }; - 3233FD62C51EC9A6E573E2BE95F3AD12 /* Lockbox-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 44F84D05D1CEF4E6FEC2B8ECD7B6F785 /* Lockbox-dummy.m */; }; - 32D1FA6C4489B5FD4202D9DE5E05F8A9 /* NSArray+MTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EACCD6C8CCF94F00DE5827B72711EB9 /* NSArray+MTLManipulationAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 337C8A9592224E2629F71F4759AE0DF2 /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A263279A6B2CEB4D903282CB0E91947 /* UIWebView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 338CD42A6BEF6418FEB7321F0E9AD1EE /* SBJson5Parser.m in Sources */ = {isa = PBXBuildFile; fileRef = 960A624F358A539C9C1F84BF28054489 /* SBJson5Parser.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 33E2F1FFD341B2628100623897C2FFB0 /* IQPreviousNextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D387F5297B6F50F2CAC77CBC81438F1 /* IQPreviousNextView.m */; }; - 373FDB19C51C0A00E8F23785BD58B4AC /* IQUIViewController+Additions.m in Sources */ = {isa = PBXBuildFile; fileRef = CAE5E34E9339DE934B25EC46E9A6F1D1 /* IQUIViewController+Additions.m */; }; - 3801A443834985F278FE479B54319B4F /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9229EA430E10516C474D836DF3A48038 /* AFNetworkReachabilityManager.m */; }; - 38027C8D6E961104B13DE21110F9F8ED /* NSError+MTLModelException.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F0CBE111FBB567DD643E441E14EE335 /* NSError+MTLModelException.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 381829F9C9B382BC0EAD770066F0848B /* NSObject+MTLComparisonAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 78B7C042BC5C4B9D2820A057F5DF11BB /* NSObject+MTLComparisonAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 39267EF878EF2E139A1E7EBBC1B1F369 /* IQUITextFieldView+Additions.h in Headers */ = {isa = PBXBuildFile; fileRef = 7840B0D9ED038094977BBC44AA6B9F67 /* IQUITextFieldView+Additions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 39C687325A03A7B7BE0D2F6F4FE36FC9 /* IQUIView+Hierarchy.h in Headers */ = {isa = PBXBuildFile; fileRef = B7EEC35847334D494E6B23DA1D0E3ECC /* IQUIView+Hierarchy.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3C170B0EC4814B9BB4176C5F715D2C7F /* NSValueTransformer+MTLPredefinedTransformerAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 220082F67691EC1D7D0B0A33E08FE20E /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3C5E76A165F44F325C3C00E881E39661 /* Reachability.h in Headers */ = {isa = PBXBuildFile; fileRef = AAEA1F4E4BCD2525F2340BE2CC5AC23F /* Reachability.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3D2DB8CC30904FB5AC93DCB0FC26A468 /* BIHandlerTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = A0014FA6B06C7567795E18D944869847 /* BIHandlerTableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3D4DDA79784B3613BB6D244CE4CBA834 /* IQNSArray+Sort.h in Headers */ = {isa = PBXBuildFile; fileRef = 58FDD863168EC860C6C0870C08EAE9A8 /* IQNSArray+Sort.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3E144A601BA2DF1DE42FCA48CDB3D72F /* MTLValueTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D484BAE37792B8214664E48C4C3AD94 /* MTLValueTransformer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3F5684C4A3F30B8717EBA1AA94325679 /* BIObjCHelpers-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 89DA197029E9314C32F0F52AB056B82B /* BIObjCHelpers-dummy.m */; }; - 3F76C0CA120E4F9DFA3237E813F66E70 /* BIBatchResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = A4DA1D65353183131E81E838D7B16168 /* BIBatchResponse.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 40F9C3B7C0CCD0982FD14728F2595632 /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = F5CD52A2DFB1220D9E17214F93574F16 /* UIImageView+AFNetworking.m */; }; - 418985D1EA0253EAA3C02FC1F31CA5E8 /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 4748B7EC564AB248D3AA3A2D23971759 /* UIActivityIndicatorView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4284D7947740F12F9C79E999E3D24269 /* IQKeyboardManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D78F7575F98D0D1FEECFF8E7DFA0B7B /* IQKeyboardManager.m */; }; - 42CBEEB2E3E302471C1BEE8D0BA3262A /* Nullability.h in Headers */ = {isa = PBXBuildFile; fileRef = F242F63B2C8910B444C3B17A0DF29C2D /* Nullability.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4363BEEDC67E88F85A5EDF9415FC0E32 /* PINCacheObjectSubscripting.h in Headers */ = {isa = PBXBuildFile; fileRef = 217D272EF39C19E8285A943B46B280AB /* PINCacheObjectSubscripting.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 45E802DDAD78BD73EE0E01B139457F2E /* BIScrollAdditionalErrorNoContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 25133381292903423EDD01C1356F35A1 /* BIScrollAdditionalErrorNoContentView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 476469FFB1882ED80E6CCDE801BE4B7F /* IQBarButtonItem.h in Headers */ = {isa = PBXBuildFile; fileRef = BAEE04CEFB91CEEF55C2D3DD7E5A48A1 /* IQBarButtonItem.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4898B416C5F5D6751256BC1C7CB57B84 /* IQBarButtonItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D094C5C67A8FC18D0AF2F4893F96664 /* IQBarButtonItem.m */; }; - 4A946D7065C7D2471F3AFA809908BBB1 /* PINMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E0DAD7D2AE8904A383BF7082B32C38 /* PINMemoryCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4BC83EFD6534E016F909CAFF0A231F28 /* BIDatasourceTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = C94CC7592042553D5B8065E2105ED622 /* BIDatasourceTableView.m */; }; - 5090EBD2995B1EB3B1BFD75198B59D4F /* BIDatasourceFeedTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 86E2C3C32D7741C647FA780301A2811C /* BIDatasourceFeedTableView.m */; }; - 50A60292FC015B44C6D453CEF6A1546D /* UIView+BILoadXib.m in Sources */ = {isa = PBXBuildFile; fileRef = D29AA23A9DA9593AA8C0F509E73D1DDF /* UIView+BILoadXib.m */; }; - 50E027F1933AB7C0739769FEDE899A51 /* BIOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F85CBCE0199CD090EDD327CEF06715B /* BIOperationQueue.m */; }; - 517A26C2CD816A9447E07236F9B346BB /* IQToolbar.h in Headers */ = {isa = PBXBuildFile; fileRef = 46D63E51D0625BE58BE127D5E3C217F0 /* IQToolbar.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 551EDABAFCE6F89BB75C7174D4D9D059 /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = F6926CE0731335D7D6F41DEACDB26F81 /* UIActivityIndicatorView+AFNetworking.m */; }; - 55A5EB67ACD9E4F3D66CB7E81862D12A /* UIScrollView+InfiniteScroll.m in Sources */ = {isa = PBXBuildFile; fileRef = B12D738F605574C002D590C0E4BBC210 /* UIScrollView+InfiniteScroll.m */; }; - 55EC3BDE2E685287194EBD0FCDE4E9B8 /* BIScrollAdditionalLoadingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7376AA8F315296C8A35801E244EBEB16 /* BIScrollAdditionalLoadingView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5607AF83703C0AEDB12115740B6672BD /* AFAutoPurgingImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 01ACEE9E1BF80F2C34543761945F2D8A /* AFAutoPurgingImageCache.m */; }; - 5671A72ECAB90A855ECF6F69B750B4E1 /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = A89DC08E34593C187ACEC053CF268437 /* UIWebView+AFNetworking.m */; }; - 568E277B69539F987988882F502889B1 /* NSObject+MTLComparisonAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 1CFA272CBA304DB646C60AAEF5C34A4C /* NSObject+MTLComparisonAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 58FD5F3E1272A67CE2D9B4EB75557B86 /* BISerialOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 545BA2754FF5619B6455E120A203C1C5 /* BISerialOperationQueue.m */; }; - 5B17591B098299A5CF21098DB5CE12B1 /* MTLModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FC6843C25F1ADD094AA48FE75966D75 /* MTLModel.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 5CB4AC0CD987C4CB3332278545C301DE /* SBJson-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 374EA7F6A0E52980A82E740BD9D6DF10 /* SBJson-dummy.m */; }; - 5D0F374813ED282A1E36ECA61861A815 /* BITableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 55A63CCC4E65DDB160BBF3F1C6D8A0B3 /* BITableViewCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5E79593D1BB1193FBEB48C887A57A29D /* BILaunchStartersFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 02516C9470FF6FBDC9A071F687A7722A /* BILaunchStartersFactory.m */; }; - 5FF1B4EEDEE8BCA2E676E2548A412B02 /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = A436CA6DB413B8CC8B7390BFCAEBE1EA /* AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 62AA9D7241F83BC4DDAB9E2FCF0BF02F /* SBJson5StreamWriterState.h in Headers */ = {isa = PBXBuildFile; fileRef = E94B5C5D3BD003D551DA8E7216D275A2 /* SBJson5StreamWriterState.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 62C2E3D5D137372BFA26E664BDFA9418 /* BILifecycle.h in Headers */ = {isa = PBXBuildFile; fileRef = FCE1999480DA5892E14A088551A48221 /* BILifecycle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 63A808BB0B06A529AB1AD00FA0C77A18 /* NSValueTransformer+MTLInversionAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 9765A26000FA49705DE6CD0C621DC358 /* NSValueTransformer+MTLInversionAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 6444EDD942535FF53289411877DFFDD8 /* NSValueTransformer+MTLInversionAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D972B2C460E93D23EBAA0D8A9FCE9CFC /* NSValueTransformer+MTLInversionAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6525C2D655158C12DC90073AC6B21A0E /* UIScrollView+BIBatching.m in Sources */ = {isa = PBXBuildFile; fileRef = 5446A044645A2A786DDD7BC438857B0A /* UIScrollView+BIBatching.m */; }; - 65CB0B7F7AFB2CD58E6491BF560C92B6 /* BILifecycle.m in Sources */ = {isa = PBXBuildFile; fileRef = E72593C6F475667E6620B06D35A0C658 /* BILifecycle.m */; }; - 65D11E4202FF38C156C56DB1B17EFFF1 /* NSBundle+BIExtra.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FF274389B59C43B61DAAF4DB5D3BAE0 /* NSBundle+BIExtra.m */; }; - 662BFDD1D372A00138024F5868EB6EB4 /* IQUIView+Hierarchy.m in Sources */ = {isa = PBXBuildFile; fileRef = A37BE216C52D1B21AF97268602309C86 /* IQUIView+Hierarchy.m */; }; - 66B517FA79B909EDBDC21417AE19B89D /* IQKeyboardManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 11652317276D0E718D4B04DA53A2F2A5 /* IQKeyboardManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 69146225797F0F8AAE0D8FB0992066B9 /* EXTScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BF4E4C901DB6ED69F39AE1EE7B44617 /* EXTScope.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 69ABE07818A914DB61B712F87E56127D /* SBJson5StreamTokeniser.m in Sources */ = {isa = PBXBuildFile; fileRef = 32FDAF82D93E9F72597C641F282457D8 /* SBJson5StreamTokeniser.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 6B5B030904BA451F4FFE3AF2FD28D2DA /* AFImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A605216EDF7E92613EC0B95D59A62A5 /* AFImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6EB7082AF92D94AC6F5A64A51D21359F /* BICollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 548114EB19B8DFF15F88623D7207475C /* BICollectionView.m */; }; - 6F5BFB71F2F6CEEE5DD990A58F47934C /* SBJson5StreamWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CB42007C7E77387854F4B64559DBDF7 /* SBJson5StreamWriter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7146DBB58EEC9DBEBFE67F2E5A6EE5BB /* NSDictionary+MTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 90B2CCB5E0E5AEBE70ED4C47F68A1A21 /* NSDictionary+MTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 72797BC85469FCE7E6198B67EC88E851 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 71F28D3EFDA31BF52B315471179E1026 /* AFURLRequestSerialization.m */; }; - 76FA04750BE2A6FC745EE1A759383369 /* SBJson5StreamParserState.m in Sources */ = {isa = PBXBuildFile; fileRef = 30C28BB31105FFAD93D92E3D4713E782 /* SBJson5StreamParserState.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 78600BF179EAFD0B2FDE9AE97DED5D3B /* BIDatasourceCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = F94A09B4BFBE6D0303663AAE9A9F56FF /* BIDatasourceCollectionView.m */; }; - 7A792D56744F4105EC05F89C7EF5D01A /* SBJson5Writer.m in Sources */ = {isa = PBXBuildFile; fileRef = DB5E343FBC5E4BF560EAE52884321664 /* SBJson5Writer.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 7B3E5D126D98FE9DAB2D564CC3C74225 /* BIHandlerCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = D6630EB92A632FAF2CB3DE369F5729A6 /* BIHandlerCollectionView.m */; }; - 7B99605FFED92C0844E568822CE84140 /* BIBatchRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C3526E7580EDE03C3CAC1CADAEBAB3DE /* BIBatchRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7BAC83BD07E2F6EF6334AFD9F2925B81 /* BIDatasourceFetchedCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = E71A91E4AB4FCA6F0ACB8F54FD289A0E /* BIDatasourceFetchedCollectionView.m */; }; - 7D684D227C3D19E4A0939D65359809AE /* NSString+BIExtra.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D25936BC04CA22381023A33A10E0A8A /* NSString+BIExtra.m */; }; - 7F6D7898B83E3162F6110B06623A7732 /* MTLReflection.m in Sources */ = {isa = PBXBuildFile; fileRef = CCBC9FE1DE084E24965BA5EEAFDBA537 /* MTLReflection.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 80306F5604CE8EC03B87F2D2B5E191B4 /* IQPreviousNextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 323FA7A134227466D080745C947ED14A /* IQPreviousNextView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8231FDD98A7D1659F4FA5788AFEEE6DF /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CC09A788D8807DB92BC9045400E4C714 /* AFHTTPSessionManager.m */; }; - 82884C72648EF50B743E0DDE625723D0 /* SBJson5.h in Headers */ = {isa = PBXBuildFile; fileRef = 726FD55690315641EEEC0E1E855E65B6 /* SBJson5.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 85B46EF7D1BAFA5EDD940110CF657F85 /* BIScrollAdditionalNoContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 71222416617FD1F7655CFCDD315D8DB4 /* BIScrollAdditionalNoContentView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 86F7DB1F0F423BDB5B1B487955865BA6 /* MTLValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = D8BD68C2234E963E5B55788A1B7D3503 /* MTLValueTransformer.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 894126828AF68F98598CA7B53E737AEF /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 33EE6B78995B4DE1684E0702EB9B762B /* UIProgressView+AFNetworking.m */; }; - 8A1BABC56BE9608440D7D29BA3D8537F /* BIHandlerBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 64873A162CCCEB07E5185DDDA81FF309 /* BIHandlerBase.m */; }; - 8DB366EA85F8C748741C684BA4571B24 /* IQNSArray+Sort.m in Sources */ = {isa = PBXBuildFile; fileRef = 790DA447629E47CE51DFAF3C14A0765E /* IQNSArray+Sort.m */; }; - 8DFDCB5BCE61A70E0474985F503CF560 /* BIOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A12109754EA3A504AE7E12730B76323 /* BIOperationQueue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8F8F4B64201F35C558FC79F06837BFC3 /* IQUIView+IQKeyboardToolbar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5A42D61CC532212D0F62F87728DF1B9 /* IQUIView+IQKeyboardToolbar.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 91FC93090A829E5FECFFB893EB0E76C3 /* BIOperationBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A8B95B6C5C04143836702A614013037 /* BIOperationBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 926FFC18F35E3CA058F55A8A282E9532 /* BIStartersFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C79D6DBE92F7F45BC05912B9C8868A9 /* BIStartersFactory.m */; }; - 9416135F7182B513BFE0D69FBF435823 /* MTLReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DEEE04233F4A9DA4D9FCF1B84BB1830 /* MTLReflection.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 94B90099BC8710090A95488E43FDBAE3 /* PINDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = EE5F37D0849474D92EA2DB730480FAAF /* PINDiskCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 95325AC646050EEB7E6349AE1621A0F5 /* UIView+BILoadXib.h in Headers */ = {isa = PBXBuildFile; fileRef = F1507FA5CBED308DD3031C0D04871B94 /* UIView+BILoadXib.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9586256C1D60315FC6A1D41DE6B1F2D2 /* PINCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 83441611D7619206C2EF725D377E261A /* PINCache.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 97B72EDADE8FFBE73FDE3FC347CA1C36 /* BIActivityIndicatorContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2FFB6BDB603AFA1ED67D0CC7F0B55F3 /* BIActivityIndicatorContainerView.m */; }; - 996EF6D1140B2EFFC5DB3059D947F82E /* MTLTransformerErrorHandling.m in Sources */ = {isa = PBXBuildFile; fileRef = EAF3025E7866022EA0A4D5F4A7899533 /* MTLTransformerErrorHandling.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 9A2B549FE3AAC73794896443B4A257C1 /* BITableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 543005799D9C461F14C7F37B8CC05296 /* BITableView.m */; }; - 9A7A3B80A68DB4A21A6833AA4683A7AD /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = FFD51CECAA17A7EC9BBEB18F926E4A0A /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9D43FEECC9475E09E7A6C2DCADED0796 /* IQUIScrollView+Additions.h in Headers */ = {isa = PBXBuildFile; fileRef = 52D82E17E6999FDF7DE5EF3B60A2BF57 /* IQUIScrollView+Additions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9D48FBEDFE8E11E76066E03ADA0D4154 /* NSDictionary+MTLJSONKeyPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DB5B6A9FFD92CEF17396AFEBAFEA4F9 /* NSDictionary+MTLJSONKeyPath.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 9D98237685F7C52B0D0B6435915C385E /* NSError+MTLModelException.h in Headers */ = {isa = PBXBuildFile; fileRef = A3A7755FA824C9AB4652900720EE4BC6 /* NSError+MTLModelException.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9DDD7F27716131A0593D6B456C4BAC6B /* SBJson5StreamParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B55BD28DBE0E2BD3BE5347603F8EEC /* SBJson5StreamParser.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A113E22DBEEFFD8A476F28A504C209AB /* IQTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CD9A52A1BF8E3DC544E07A8F4D75233 /* IQTextView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A16187923EA1A156F18C909206809C30 /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = A659A674FC21C108DBC3BF8C810CFB06 /* UIButton+AFNetworking.m */; }; - A3D6E5A48C203C41D9A1966FC55B94D5 /* BIDatasourceBase.m in Sources */ = {isa = PBXBuildFile; fileRef = A06EFA7BDA3C797E2664A088EE80A0B4 /* BIDatasourceBase.m */; }; - A3E505F35CD5F9CA397794BE8A0F594F /* SBJson5StreamTokeniser.h in Headers */ = {isa = PBXBuildFile; fileRef = BEE33C8A55D6A9189E6ED81EF4016479 /* SBJson5StreamTokeniser.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A4B6CE3DA65080159DC44EAD29331AFF /* BIScrollAdditionalViewBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 51240630538E0C9C25C83663E3E4F557 /* BIScrollAdditionalViewBase.m */; }; - A65ED3E54E15A8545C799223E5A6D30E /* IQUIScrollView+Additions.m in Sources */ = {isa = PBXBuildFile; fileRef = 756411C84C1E00AEFCB4B12C61C62B9A /* IQUIScrollView+Additions.m */; }; - A6A21DBC6887035A56D1D51341670876 /* IQUIViewController+Additions.h in Headers */ = {isa = PBXBuildFile; fileRef = D798DED777ED1CD64DA23FA2CED5F0B0 /* IQUIViewController+Additions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A845819E8332E3CA279E6B00EAA55366 /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 38533C2A4E7C53668481100488721D53 /* UIRefreshControl+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A916606B7197B1D26179697F8B346284 /* BIBatchHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = F3455A79023C25328B601A6E88D85720 /* BIBatchHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A9C680A094BCDFEA1BA8E6EFF757B942 /* PINCache-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 41CC5F8A96B2944E81993463104DF9D1 /* PINCache-dummy.m */; }; - ACCF781BACFBC3EB759797482C9A30A4 /* IQKeyboardManager-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F62CDA6172B3A58097965C3920089AEA /* IQKeyboardManager-dummy.m */; }; - AE5D2D260599FE72BB1A9829CECFF4B3 /* BIStartersFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 50999014146371615025F465FA190E1F /* BIStartersFactory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AF2338A85BECD7A6700F1E2972CC1858 /* BIDatasourceTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = C245DB5AFF83CC8EEB9EB8486D2F21F1 /* BIDatasourceTableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B00EA522A62498626388BC649DFE2996 /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = DE20C6B12130302FF3D493227A2D630F /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B098BC9005738774F6288FF2879FD51D /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AD8DB6D48F20D19CE14ECF3E0BCF101C /* AFNetworking-dummy.m */; }; - B253A0A9A5ED4E5B2A93D9ECC11624E1 /* NSString+BIExtra.h in Headers */ = {isa = PBXBuildFile; fileRef = 146BD642A7B91B4F852BD90FF2B7BE9D /* NSString+BIExtra.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B27878E3B8F8ADB1FE01DBD6CB5812E7 /* UIImage+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 71F4B28F32670FA64F877E14CE476002 /* UIImage+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B4299F19A5417656C96F5949B99A0EDB /* SBJson5StreamWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 66E541FA70A29F1759FA9B4108C5A084 /* SBJson5StreamWriter.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - B5F845BAA103FC0F9A8F3F0D3871141D /* SBJson5StreamParserState.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F32250EB947298D2F65152A4A864837 /* SBJson5StreamParserState.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BAC55B2F8DAF3946A35BCE0FE7414246 /* UIScrollView+InfiniteScroll.h in Headers */ = {isa = PBXBuildFile; fileRef = FABB508FF2ABCD1CE43B1A1250E13A0A /* UIScrollView+InfiniteScroll.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BB044085456CA721DE7DB4442600D40A /* BIBatchResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = DB63928B8C4BD75AACF9672AB8CB6463 /* BIBatchResponse.m */; }; - BC5E60F02C096C19A20E25BFA510CFCF /* NSDictionary+MTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D6BCFF2C4B995A0A4B83C478A04F5E3A /* NSDictionary+MTLManipulationAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - BDFC6900D7B2751F924DC99F79DBF8ED /* Reachability-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B3117D0940C65DB2D5BB083B5C63A881 /* Reachability-dummy.m */; }; - C0356D04F6AF6492B6F194DF3DF7F16E /* NSDictionary+MTLMappingAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = C0AC79BEB880F2A1BEB3B9300C4779A8 /* NSDictionary+MTLMappingAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - C06F61A759022A62864BD9F8EE3660F3 /* AFAutoPurgingImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = B90CBDCD0364DCBF3383C90DE03E2A8B /* AFAutoPurgingImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C1EE07F0E0B54668574633B545FBCE48 /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = EBE204FCBE62506ADF890B75DE4763AC /* UIKit+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C49F38D870E3CD97C8CDBB1E8E1570E4 /* BISerialOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 91E64C83EEB5F70BA0F84FC901964CCE /* BISerialOperationQueue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C564C8D042998164475E13AD54B0A294 /* MBProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = 00B7C0C91A36EBDC32DBEFE8A0F78170 /* MBProgressHUD.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C693C5006D55A89D619F41ED39E4E93E /* BITableView.h in Headers */ = {isa = PBXBuildFile; fileRef = EC866A4C21C205DC93B9B65F9773603D /* BITableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C7FD66D3D320095B45AD9D39EF1B858B /* MBProgressHUD-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = ED0C8998DB096A327D56BD1CE61747D6 /* MBProgressHUD-dummy.m */; }; - C8FBA4F45F50D2DB51EF3AE4A880E900 /* BICollectionViewActivityIndicatorReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E59C29DF041569A0923AD415E1966E9 /* BICollectionViewActivityIndicatorReusableView.m */; }; - CBB01AEA737599B45BD13B082B45FD2B /* EXTKeyPathCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = FDF0F2B7937C1CC0575FCE501F52624A /* EXTKeyPathCoding.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CC557B437481228B845A91FC5E000D68 /* NSArray+MTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 978E837F5ED0415855F6DA6637985422 /* NSArray+MTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CC71978BCB9C6884C98BCF02F22A9949 /* BIDatasourceFetchedTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A3ADF8E5EE23E62F2D0073A952EBCBC /* BIDatasourceFetchedTableView.m */; }; - CC76F7AA6B5E24E27DA8C0315B54F1A2 /* MTLModel+NSCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 6689F211E7F33DBD738F57E172CF88D8 /* MTLModel+NSCoding.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - CD960C3DA9537F88F19E3B78A3EEC939 /* metamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DB6BC6D06F39B3C63D472BDE2AA2A70 /* metamacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CE686689E34661A1F3225F490FB4E95F /* MTLTransformerErrorHandling.h in Headers */ = {isa = PBXBuildFile; fileRef = AA30B0C4E8086DBE07C46A93C4ACA39E /* MTLTransformerErrorHandling.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CEED50CF7F7CB302913990FAEEF1398B /* BICollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 33C4869E7CABDE25AE065294B917F19C /* BICollectionView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D1B4C62C80564AEB0FB368F96D6F7A07 /* IQUIWindow+Hierarchy.h in Headers */ = {isa = PBXBuildFile; fileRef = 10116D10EE32D6F66E6E3C8435C1B188 /* IQUIWindow+Hierarchy.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D280A3B13923FF5FA778EF312BD965F7 /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 99F73C0998735017BE1047C0DB92833A /* AFHTTPSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D369BC94399B6105C789A81FE8910ACF /* IQKeyboardReturnKeyHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D6A51FBB1584FC057D6350A4B5B8914 /* IQKeyboardReturnKeyHandler.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D3DC240631E1FA883A5604B3E99BAE2B /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 577865EAACE2D8EB64AD741BE588DA00 /* UIProgressView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D4F26CC14166A6DD318083F46FCE2511 /* BIHandlerCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = D56BE33E5BCA121F4DBB38BB18D30FA7 /* BIHandlerCollectionView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D55123A8078069D3B7395BBB6E0661A3 /* MTLJSONAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = A6130548A67AA3A867C81712C7CF3939 /* MTLJSONAdapter.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - D569D00367B456F6CDFE2700097562FC /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = C0EBD30C507E7088D342770BA62EAF34 /* AFURLRequestSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D58712FEDE0C5B2028EA7B27544B79CE /* _BIScrollViewProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B11C70B7938740555C18309F3CD6E4B /* _BIScrollViewProxy.m */; }; - D6438BA4F863AE0A7891F212EE3C06D0 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F9254ACA93B8186B0E914ED3D2602FE /* MBProgressHUD.m */; }; - D66651784C8FB9AA7FA08C0BD4DC4EFA /* UIScrollView+BIBatching.h in Headers */ = {isa = PBXBuildFile; fileRef = 16EF0BC70C593340806B4F63795129A0 /* UIScrollView+BIBatching.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D752392E6E2723093FCD4241D9840627 /* IQUIWindow+Hierarchy.m in Sources */ = {isa = PBXBuildFile; fileRef = B01DC46B2F4462609E41BBE31806160B /* IQUIWindow+Hierarchy.m */; }; - D75A3233DE6BA6DAEC442EB7D0816202 /* BIScrollAdditionalViewBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CA76B16A848569B485FCED7304AB0A0 /* BIScrollAdditionalViewBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DA0CF0379D34F5BE061030F7BA14A1E7 /* BIOperationNotifier.m in Sources */ = {isa = PBXBuildFile; fileRef = E7CBABDCCA75ECD3723B9A14AEDA10DC /* BIOperationNotifier.m */; }; - DA9E41D5A3B46AEDEEA6A6D031A64B51 /* Lockbox.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DFF5CD82893CF40BAAA15292EC29CF3 /* Lockbox.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DB9693FA7DA9AC0D8D111A2C07903CE0 /* IQUITextFieldView+Additions.m in Sources */ = {isa = PBXBuildFile; fileRef = C4DA14362F5C0EA9E85C5C7DB7ACC288 /* IQUITextFieldView+Additions.m */; }; - DE9494744B5CB38D0C5E0CA34DA2DC43 /* PINMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = DCAB98503CA05A278BFF9B11D94241A0 /* PINMemoryCache.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - DFC2AF8A2BB4574E0A27FE5CD21453E4 /* IQKeyboardManagerConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 08FD4625D35247C01A9E84B5718607DD /* IQKeyboardManagerConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E1D09BC5E45671A891B599EFED84F2CD /* BICollectionViewActivityIndicatorReusableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 24DD3B538630107BD1E8CB37CBA02BDD /* BICollectionViewActivityIndicatorReusableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E275DC17F1830D84A7DD6D3FFC721E1C /* MTLJSONAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = D8C715A814DBE9B27788FED992B125EF /* MTLJSONAdapter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E60FEDB5FD08E7E014C485C9573C4358 /* BILaunchStartersFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BB7544597F09B2FDA52EFFB1417FB21 /* BILaunchStartersFactory.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E7351E56F4C49CE1F9559D5C69ECC1ED /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CC3DC11B5FF7737DE4EF48F96F1E0DC /* AFURLSessionManager.m */; }; - EA678AAB4CA77C33B0E264DEAFE562A7 /* BIDatasourceFetchedFeedTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = D99564D2491742FF1928AFAF925D2E9C /* BIDatasourceFetchedFeedTableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EB15A3A026C9395694876BCFEAD9C7C8 /* SBJson5Writer.h in Headers */ = {isa = PBXBuildFile; fileRef = 304034C61F14B7E290085EEA283854DA /* SBJson5Writer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F0BDCBADCACFE630FD68EEF3B95C1C9F /* IQUIView+IQKeyboardToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = 09BD6B6BF8AF4FE79217704EBFC2B580 /* IQUIView+IQKeyboardToolbar.m */; }; - F24DF0155C4DFF84CECE67836805226A /* _BITableView+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = C651AA1F128E0889BF07CB61709D6B8A /* _BITableView+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F253A5FFDB9F61D1546F2C536777FDE1 /* BIDatasourceFeedCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = E7DF5EB7C854B603DAD524F7856308C4 /* BIDatasourceFeedCollectionView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F54EF997F8DCBE5A997C4BF51E55DC90 /* Mantle.h in Headers */ = {isa = PBXBuildFile; fileRef = E558136827B852649D35B804EC5ADAF9 /* Mantle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F6BD4AEE3C06B310BAF38B2F45118FEC /* BIBatchHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = D57F6CCD6F584157385059EDF63BD0C4 /* BIBatchHelpers.m */; }; - F6DA21ED7C239C202E2F53A97F880376 /* EXTScope.m in Sources */ = {isa = PBXBuildFile; fileRef = 776EFF94B5DDAD67C53586856BC28954 /* EXTScope.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - F7FF0D14946C5370BD4891BF65B1F8D1 /* BIDatasourceFeedTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 9399B35B4F9578845E3D87E7D6A7CC47 /* BIDatasourceFeedTableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F88784A14E6EC80717B7A407F17F8BA5 /* NSValueTransformer+MTLPredefinedTransformerAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 43372D90F903B8800871CBE4DA887CDC /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - F8CAD95F4AB7E2A2D1B73B823F336707 /* MTLModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AE4FE3CA9578A5CCF49EFB93F10CE44 /* MTLModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F945A39E5ED559D5C8F0D70CFE913500 /* SBJson5StreamWriterState.m in Sources */ = {isa = PBXBuildFile; fileRef = 89ACDACCDB165E4EFEF326FCC36E4AD3 /* SBJson5StreamWriterState.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - F9AD2CFBEDD600706B921428D25DFA3A /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 35EAEEC725E82923B6D52BAB9BE6D2B6 /* UIImageView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FAC50C72C7ED42CAF1290712B877C10F /* BIHandlerBase.h in Headers */ = {isa = PBXBuildFile; fileRef = C157F59946E51D7D8C0B5D6A29E9411A /* BIHandlerBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FD331FB5B20677A9092BD46192638A31 /* PINCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 434DA60E9A7FFA4C38DB67B2995B0617 /* PINCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FEA19D8E9AEE6E4B821682A29C5D3F76 /* BITableViewUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 9691889027D1ADD406054B0CD222EE9F /* BITableViewUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FEAA3C60F4BDDAC22BD1A6B047DBAAE9 /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 12D888DD812C2C78CA1393273EEB903E /* AFNetworkActivityIndicatorManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 00D03C506513044C80CAC1A86F8DADFD /* ActionSheetPicker-3.0-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A13AE0199305078902273D198D5C671A /* ActionSheetPicker-3.0-dummy.m */; }; + 011C41BF7F84E5FA606A21A7953E30C5 /* Mantle-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AE027DFB1A69A94BD6471164BD433DF7 /* Mantle-dummy.m */; }; + 030FCFCA90606B0176212D75C983688F /* BIActivityIndicatorContainerView.h in Headers */ = {isa = PBXBuildFile; fileRef = A770AE012F78DE0A01F0BACC83088574 /* BIActivityIndicatorContainerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0343B86E9B9F5619970FCBD7370E033A /* AFCompatibilityMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = B7AD969F6FA74F43BB5A3C5108EED868 /* AFCompatibilityMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 05756D2CFA623B9BC64055AB25F9598C /* BIOperationBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A9B08B094725A783B46D6EDBAD07CBA /* BIOperationBase.m */; }; + 05AB469F0F79C648F8E637F88CDB9E97 /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = FCB27C733593B100FB4D3BE006EEDFBD /* AFURLSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 071846CB07B3BF39566A0A83241B5568 /* EXTRuntimeExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 90DA24E6F6111ED014D8961BE1CF49D6 /* EXTRuntimeExtensions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 07EA07B707E0FE40729573D48916A2F3 /* Lockbox.m in Sources */ = {isa = PBXBuildFile; fileRef = 94404E1AF5DA34B98FE06C051D563539 /* Lockbox.m */; }; + 085F502C1456C232B1A8E76775E2E327 /* BIDatasourceCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F59E4BD1C78152A70C4F1C18698C2F /* BIDatasourceCollectionView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 08646C07C53C392C45A4DE0BB736C723 /* SBJson5StreamParser.m in Sources */ = {isa = PBXBuildFile; fileRef = D903E718C371FCD869AF71FFD0B28FBC /* SBJson5StreamParser.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 089F9AADF7CF37C3F6D4061740559763 /* BIObjCHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 01109DE59707089148A9ACFEF454486F /* BIObjCHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 090BD69C1BFC398E41E0BDD8D91371CC /* BIHandlerTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CD625DB252813C749A2AFC4DFE40F26 /* BIHandlerTableView.m */; }; + 0A0D60CA0FB38FFC98FDF608B626C5C0 /* BIOperationNotifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E29449BAD4956DF04BAC472C09B4E43 /* BIOperationNotifier.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0C26E8CE5202114A92A9CFFBA1A9CE88 /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D09985117DAAE27AAFFA55BA67C4F98 /* UIButton+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0C3620850AE8BA88FB388255BB4EB013 /* NSDate+BIAttributedString.m in Sources */ = {isa = PBXBuildFile; fileRef = 85A9078851934621236581B2A4D6CB5A /* NSDate+BIAttributedString.m */; }; + 0E1B398830116EE3079E5EB9EFD67DE4 /* IQKeyboardManagerConstantsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 748876CD2D07BE659ECAB0C7A1D7FF45 /* IQKeyboardManagerConstantsInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0E5632DFBFF80C9A759A90C858CEE012 /* ActionSheetLocalePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 29CA6B338B2F28F1E141AF14BA32DB47 /* ActionSheetLocalePicker.m */; }; + 0E8462F03B9E6D5602CA08F0D7BE7062 /* BIDatasourceFetchedCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 66253BCB2F021488235B551552E9945C /* BIDatasourceFetchedCollectionView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0EC780BA43D580614F38745A579B412B /* EXTRuntimeExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = 15664D936F9FD80513B2FE0E511403DF /* EXTRuntimeExtensions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 108D47CB44BB2DDB8C6CD93FCD0FDC25 /* BIDatasourceFetchedFeedTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B8DC5015DDF9C817E541C9328DC9C6F /* BIDatasourceFetchedFeedTableView.m */; }; + 10EB9A7552672DC328F8695A98E605B3 /* AFImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = C7827F9D6743752E72132E71A7F6D3E9 /* AFImageDownloader.m */; }; + 1102564C9CDAC18DF8D6DB20F6523E72 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B3F3B77AD293D51EBC8B00AE6CA85DB5 /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 115078083C0DA0161BF3687811104850 /* NSDictionary+MTLJSONKeyPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 80440EDF2A0426F76477FA281DC31BE6 /* NSDictionary+MTLJSONKeyPath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1659AA7998CD16BA4AFC3ADEF580E860 /* BIScrollDetails.h in Headers */ = {isa = PBXBuildFile; fileRef = ACCBEAC04D3985D984832F82DB94E847 /* BIScrollDetails.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 16A238E84B4A4011485D95DCEF4D6753 /* SBJson5Parser.h in Headers */ = {isa = PBXBuildFile; fileRef = CFF7D3E9DCB5A0D6C0ECA8856AF69CA3 /* SBJson5Parser.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 19F64DB036733BC9021B8C1BB93DB8FC /* BIDatasourceBase.h in Headers */ = {isa = PBXBuildFile; fileRef = D4125A8C7A0F81B67175205DDC4F2AD1 /* BIDatasourceBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1A98F262CD393B6C9C07E9DB71597720 /* _BICollectionView+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 11D5DE8450E9860E795A8B7CE77A9FC5 /* _BICollectionView+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1ABE174BFF702EDDC3229373350FFC30 /* IQTitleBarButtonItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 81078687867F115C6FB801292209A692 /* IQTitleBarButtonItem.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1CC3E60D408CF3B4DE180CE25C582EDB /* BIStarterProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 087DCC328C5729E54D8B044ADE9F4F5C /* BIStarterProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1CCB7963521F0ADCC546516DD3FA9FF6 /* NSDate+BIAttributedString.h in Headers */ = {isa = PBXBuildFile; fileRef = 82A4E5A1774B7B0F7F3089B2F1846C4E /* NSDate+BIAttributedString.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1E2C58DC08AD139759704FE3A5357891 /* ActionSheetCustomPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = E4533362242E8561E51034496603AC43 /* ActionSheetCustomPicker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1E35D48CC288679CF6392E061AC8F19E /* BIDatasourceFeedCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = DED4465DE279E8C24C600AE54135EBAB /* BIDatasourceFeedCollectionView.m */; }; + 1EA1235398DAC98440B2EFBE43839FD1 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E678EAC84160F6EFC2490B3B5212F58 /* AFSecurityPolicy.m */; }; + 1EE94AEFBDCEFCC60B484C6A5CCE007B /* BIScrollAdditionalNoContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 510D3A8C93F003CAFD9E8E0024E09E51 /* BIScrollAdditionalNoContentView.m */; }; + 1F66F73B61BEA115076A9CF7DD463832 /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0563D9E86A13F92EE83051648A4CDC30 /* AFNetworkActivityIndicatorManager.m */; }; + 201AA0058FE78FDCAAC1A0D1DEC9A21B /* ActionSheetMultipleStringPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DE4F43EFAB90DD44F6F8F98221F398C /* ActionSheetMultipleStringPicker.m */; }; + 20CEFA3DC049262CBC3EACED97F8902C /* BIScrollAdditionalErrorNoContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5ABD16D9E91D3FC4D7F293E8C49E3675 /* BIScrollAdditionalErrorNoContentView.m */; }; + 21BBB6D9EFCD83835A675B42AAEF6FA0 /* BITableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = AAA809DC0691F357550B687ED41F90FC /* BITableViewCell.m */; }; + 21F8D8BF3DF244A446F93C26EEF87E06 /* BIScrollAdditionalLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 36D93AFAD9D354DCA6D5808699A76E51 /* BIScrollAdditionalLoadingView.m */; }; + 25738129C5314F2E70A89687B132B1E3 /* IQToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = 400C9F7939A830B23FCC549EA92A565D /* IQToolbar.m */; }; + 2627A0AECF68088FD7166350481E3E29 /* BIBatchRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = BE147DFC89B42A49A396A996D049F244 /* BIBatchRequest.m */; }; + 26C1BC3879672779299B52E63F3591F1 /* IQKeyboardReturnKeyHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DB46209C5541AB7F87E52255B6570F6 /* IQKeyboardReturnKeyHandler.m */; }; + 2810E75B88D21CFDF872CE95230952A8 /* PINDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = A1A66B0CED13EB8F642715BDA4F0ADA9 /* PINDiskCache.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 283C2B5F2ED1843B5FE85DF5F04A3356 /* NSBundle+BIExtra.h in Headers */ = {isa = PBXBuildFile; fileRef = E707DD7A4B6E7A6113B477E1D894EE12 /* NSBundle+BIExtra.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 28A348B122D675ADFB8BDE789DF30C51 /* MTLModel+NSCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 79EDC8A1A4B7B08D30B1C9C7DAECD672 /* MTLModel+NSCoding.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 294515497AF6659E66E230EDFA76CB60 /* BIDatasourceFetchedTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = F53887C0896029323EBF2C671C4C65E7 /* BIDatasourceFetchedTableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2A82F2A7E2029B0744F6B5D76D0BD2B7 /* AbstractActionSheetPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 33803BDC5AB10B321C13BE5F07031B9B /* AbstractActionSheetPicker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2B13D8D947D72757872CC371296D62B3 /* _BIScrollViewProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = F0242D7BAB53EC73D10FB8F10CC9A784 /* _BIScrollViewProxy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2B9CB389B3E1D4369BB6CEC496BC9C7D /* IQTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EE1130590C5CB9304B4DB5EBF2521D1 /* IQTextView.m */; }; + 2C95C61175E1EB929A4B094581747835 /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = ED20B8B98044E43C82BF88A37572C867 /* AFURLResponseSerialization.m */; }; + 2ED1EDB1752822852CD42DA3D87CD694 /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = FED4CD7B6148E720FB11BC4555217806 /* Reachability.m */; }; + 304FB2F3CB19F5C44D812D90AA2F1121 /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F05ED6B43BF914633F2EE8DE5D33FA /* UIRefreshControl+AFNetworking.m */; }; + 3089AB3AFF04FE5175B5998CCCD04039 /* NSDictionary+MTLMappingAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C954176EEF4F9FF92D809259ACAFCA8 /* NSDictionary+MTLMappingAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 31B2F4E72AB0C34D6A2A286BA92E52AD /* IQTitleBarButtonItem.m in Sources */ = {isa = PBXBuildFile; fileRef = D7319419A5E7DE096DBFFDF4D3733A80 /* IQTitleBarButtonItem.m */; }; + 3233FD62C51EC9A6E573E2BE95F3AD12 /* Lockbox-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0486DBBA6B4569325B6E605F3ABE7F4B /* Lockbox-dummy.m */; }; + 32D1FA6C4489B5FD4202D9DE5E05F8A9 /* NSArray+MTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DE17E5004A6C154CE64161DF0BCB6B7 /* NSArray+MTLManipulationAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 337C8A9592224E2629F71F4759AE0DF2 /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D28BE028B8ECE55637F5A8F35A87A2F /* UIWebView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 338CD42A6BEF6418FEB7321F0E9AD1EE /* SBJson5Parser.m in Sources */ = {isa = PBXBuildFile; fileRef = 8041F9FA341AA62BCE6B9966D105E331 /* SBJson5Parser.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 33E2F1FFD341B2628100623897C2FFB0 /* IQPreviousNextView.m in Sources */ = {isa = PBXBuildFile; fileRef = FA06BE05C443CC2B7754D77A74C6F6EE /* IQPreviousNextView.m */; }; + 373FDB19C51C0A00E8F23785BD58B4AC /* IQUIViewController+Additions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6709E4C37B6F8ABA1DA7F6028CE3FDE0 /* IQUIViewController+Additions.m */; }; + 3801A443834985F278FE479B54319B4F /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 728E1F08ACEE89FB9FBFCE5083D08B4C /* AFNetworkReachabilityManager.m */; }; + 38027C8D6E961104B13DE21110F9F8ED /* NSError+MTLModelException.m in Sources */ = {isa = PBXBuildFile; fileRef = 299367140F8E8FFA35FF02EE5C054D97 /* NSError+MTLModelException.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 381829F9C9B382BC0EAD770066F0848B /* NSObject+MTLComparisonAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = F437199DBFC00CE96FBEBD1EC50D8955 /* NSObject+MTLComparisonAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 39267EF878EF2E139A1E7EBBC1B1F369 /* IQUITextFieldView+Additions.h in Headers */ = {isa = PBXBuildFile; fileRef = 01666A8879FCBA52B27036E563978FB3 /* IQUITextFieldView+Additions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 39C687325A03A7B7BE0D2F6F4FE36FC9 /* IQUIView+Hierarchy.h in Headers */ = {isa = PBXBuildFile; fileRef = C472C5BD2007EBBBB8B808C52D164BC8 /* IQUIView+Hierarchy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3C170B0EC4814B9BB4176C5F715D2C7F /* NSValueTransformer+MTLPredefinedTransformerAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 2005265BA0EE118F9C1110F393ED30C8 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3C5E76A165F44F325C3C00E881E39661 /* Reachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 44F9114829BD3036797E7AC9AF98E50C /* Reachability.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3D2DB8CC30904FB5AC93DCB0FC26A468 /* BIHandlerTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1481CEC84434CA906F5FD2F4B22045F3 /* BIHandlerTableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3D4DDA79784B3613BB6D244CE4CBA834 /* IQNSArray+Sort.h in Headers */ = {isa = PBXBuildFile; fileRef = 5859B02B9EAC7B410F22EB3EB6761A91 /* IQNSArray+Sort.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3E144A601BA2DF1DE42FCA48CDB3D72F /* MTLValueTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = E155162DF358FD3328EE98FAC0C6DFC5 /* MTLValueTransformer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3F5684C4A3F30B8717EBA1AA94325679 /* BIObjCHelpers-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A31F4939109428F8CDC5D1D21E3BA548 /* BIObjCHelpers-dummy.m */; }; + 3F76C0CA120E4F9DFA3237E813F66E70 /* BIBatchResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 11D5E491BAF0D53C32B08BFF3DA39A2B /* BIBatchResponse.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 40F9C3B7C0CCD0982FD14728F2595632 /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 186A7C3AE6EAFC5786310AACF941AFBA /* UIImageView+AFNetworking.m */; }; + 418985D1EA0253EAA3C02FC1F31CA5E8 /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C1C06F6D7C45FEC0EB405F49B815127 /* UIActivityIndicatorView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4284D7947740F12F9C79E999E3D24269 /* IQKeyboardManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3245DADB540E31739E904C76D8233599 /* IQKeyboardManager.m */; }; + 42CBEEB2E3E302471C1BEE8D0BA3262A /* Nullability.h in Headers */ = {isa = PBXBuildFile; fileRef = 23DFC88975439D02C595CFE57F0330BE /* Nullability.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4363BEEDC67E88F85A5EDF9415FC0E32 /* PINCacheObjectSubscripting.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA31CCF0FFEB71718789B5398ED49E1 /* PINCacheObjectSubscripting.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 45E802DDAD78BD73EE0E01B139457F2E /* BIScrollAdditionalErrorNoContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = BEA19BE17ADEB17170418A0C3E034A5C /* BIScrollAdditionalErrorNoContentView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 476469FFB1882ED80E6CCDE801BE4B7F /* IQBarButtonItem.h in Headers */ = {isa = PBXBuildFile; fileRef = BD7924CE2AE97146089A01BA1CA44E83 /* IQBarButtonItem.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4898B416C5F5D6751256BC1C7CB57B84 /* IQBarButtonItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 2297787F107344CB5FB27157D40FF76C /* IQBarButtonItem.m */; }; + 4A946D7065C7D2471F3AFA809908BBB1 /* PINMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = E5B24AD3F3F7A9777D7E771F79B41241 /* PINMemoryCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4BC83EFD6534E016F909CAFF0A231F28 /* BIDatasourceTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = FED80B287634DDDD4334298ABFAF26B6 /* BIDatasourceTableView.m */; }; + 4F202F76F5929D717DDAFA381A0491B1 /* ActionSheetPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E66447AF3F228F723AB2AB6D1C2A3A0 /* ActionSheetPicker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5090EBD2995B1EB3B1BFD75198B59D4F /* BIDatasourceFeedTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 413E132BE90A174819E7A314124DEEAD /* BIDatasourceFeedTableView.m */; }; + 50A60292FC015B44C6D453CEF6A1546D /* UIView+BILoadXib.m in Sources */ = {isa = PBXBuildFile; fileRef = EEBB623A85B21947200CF1FBA0333A3C /* UIView+BILoadXib.m */; }; + 50E027F1933AB7C0739769FEDE899A51 /* BIOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 58879BFC1C5A46E0EB6BE77B4E1EEE9E /* BIOperationQueue.m */; }; + 517A26C2CD816A9447E07236F9B346BB /* IQToolbar.h in Headers */ = {isa = PBXBuildFile; fileRef = 65AF90A3E73753F4018C9F9441DB999C /* IQToolbar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 551EDABAFCE6F89BB75C7174D4D9D059 /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 543D36D3970AAA798544477D9F88555B /* UIActivityIndicatorView+AFNetworking.m */; }; + 55A5EB67ACD9E4F3D66CB7E81862D12A /* UIScrollView+InfiniteScroll.m in Sources */ = {isa = PBXBuildFile; fileRef = 099C394940542C0904262E674C3EC099 /* UIScrollView+InfiniteScroll.m */; }; + 55EC3BDE2E685287194EBD0FCDE4E9B8 /* BIScrollAdditionalLoadingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C27587E6533C811A9B458D2E2B3380D /* BIScrollAdditionalLoadingView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5607AF83703C0AEDB12115740B6672BD /* AFAutoPurgingImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E6E6B1ABE59791508D0A3011BD2AC87 /* AFAutoPurgingImageCache.m */; }; + 5671A72ECAB90A855ECF6F69B750B4E1 /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = DF9F1D522947AF5E87256AA218EAF8E3 /* UIWebView+AFNetworking.m */; }; + 568E277B69539F987988882F502889B1 /* NSObject+MTLComparisonAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B4C0EA11C9B7232E775B0B25FFEE91CC /* NSObject+MTLComparisonAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 58FD5F3E1272A67CE2D9B4EB75557B86 /* BISerialOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = AE10421747FA5F15EF9957034EFCFB0B /* BISerialOperationQueue.m */; }; + 5B17591B098299A5CF21098DB5CE12B1 /* MTLModel.m in Sources */ = {isa = PBXBuildFile; fileRef = FC002C59306BFD5489EF995816FACFFB /* MTLModel.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 5CB4AC0CD987C4CB3332278545C301DE /* SBJson-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F65B8851EC7CCB49240888892CFFB300 /* SBJson-dummy.m */; }; + 5D0F374813ED282A1E36ECA61861A815 /* BITableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 315F16AD2948065766DCFB6098514F9D /* BITableViewCell.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5E79593D1BB1193FBEB48C887A57A29D /* BILaunchStartersFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DC4C7A7BCB7A16F6DA9304350464563 /* BILaunchStartersFactory.m */; }; + 5FF1B4EEDEE8BCA2E676E2548A412B02 /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = FDF9D0531B606677ABE180205157B010 /* AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 62AA9D7241F83BC4DDAB9E2FCF0BF02F /* SBJson5StreamWriterState.h in Headers */ = {isa = PBXBuildFile; fileRef = 11DB0FB6E3C24AD156F410843C629755 /* SBJson5StreamWriterState.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 62C2E3D5D137372BFA26E664BDFA9418 /* BILifecycle.h in Headers */ = {isa = PBXBuildFile; fileRef = 365608C578B0363CABF8823C7AD62BC9 /* BILifecycle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 63A808BB0B06A529AB1AD00FA0C77A18 /* NSValueTransformer+MTLInversionAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 750A351C5D691228F52527B80F2A7745 /* NSValueTransformer+MTLInversionAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 6444EDD942535FF53289411877DFFDD8 /* NSValueTransformer+MTLInversionAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 89B9F02BF2499C59143F6FE42554BC41 /* NSValueTransformer+MTLInversionAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6525C2D655158C12DC90073AC6B21A0E /* UIScrollView+BIBatching.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E458D1BF79516F5AD90592A0D9DE51 /* UIScrollView+BIBatching.m */; }; + 65CB0B7F7AFB2CD58E6491BF560C92B6 /* BILifecycle.m in Sources */ = {isa = PBXBuildFile; fileRef = C25796821CE903B3B72F79D418884EA0 /* BILifecycle.m */; }; + 65D11E4202FF38C156C56DB1B17EFFF1 /* NSBundle+BIExtra.m in Sources */ = {isa = PBXBuildFile; fileRef = 37BF68EA497F6F49A25009BDA035DC9A /* NSBundle+BIExtra.m */; }; + 662BFDD1D372A00138024F5868EB6EB4 /* IQUIView+Hierarchy.m in Sources */ = {isa = PBXBuildFile; fileRef = B1722858ED9170C7559ACC8E6788D524 /* IQUIView+Hierarchy.m */; }; + 66B517FA79B909EDBDC21417AE19B89D /* IQKeyboardManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BB64E456E27C20F29D50253B51780C2 /* IQKeyboardManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 69146225797F0F8AAE0D8FB0992066B9 /* EXTScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 76ED4B8833FF30C03AF69A6819B6F11A /* EXTScope.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 69ABE07818A914DB61B712F87E56127D /* SBJson5StreamTokeniser.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A90C8819C579613FEC226239BAE6DCD /* SBJson5StreamTokeniser.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 6B5B030904BA451F4FFE3AF2FD28D2DA /* AFImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 629C94170CF5C9FCC2823666318F03D8 /* AFImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6EB7082AF92D94AC6F5A64A51D21359F /* BICollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = DC7D6291F723D79DC7902B8236388F1E /* BICollectionView.m */; }; + 6F5BFB71F2F6CEEE5DD990A58F47934C /* SBJson5StreamWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 99B5705539ABCCE19A857341424487FC /* SBJson5StreamWriter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7146DBB58EEC9DBEBFE67F2E5A6EE5BB /* NSDictionary+MTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D1A85876A6C5E5EFE8FF88FD69138A23 /* NSDictionary+MTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 72797BC85469FCE7E6198B67EC88E851 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = DA1FFA95539C130E182891682A0CB244 /* AFURLRequestSerialization.m */; }; + 76FA04750BE2A6FC745EE1A759383369 /* SBJson5StreamParserState.m in Sources */ = {isa = PBXBuildFile; fileRef = DF027DF7745FE0CD723931C837EA8895 /* SBJson5StreamParserState.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 78600BF179EAFD0B2FDE9AE97DED5D3B /* BIDatasourceCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2659B9189CF8F2E0AE79CF584B447853 /* BIDatasourceCollectionView.m */; }; + 7A792D56744F4105EC05F89C7EF5D01A /* SBJson5Writer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A46AA4C2AC496F227843B59EF1AB181 /* SBJson5Writer.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 7AD8778296AC87DF1E33330043944192 /* ActionSheetLocalePicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EB152066902B57DF4411DF4D57B225E /* ActionSheetLocalePicker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7B3E5D126D98FE9DAB2D564CC3C74225 /* BIHandlerCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8778734B0B7D593C6992A5575E78B2FE /* BIHandlerCollectionView.m */; }; + 7B99605FFED92C0844E568822CE84140 /* BIBatchRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C23BC123894C9B91DC739A2A96090FF5 /* BIBatchRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7BAC83BD07E2F6EF6334AFD9F2925B81 /* BIDatasourceFetchedCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9486168CFB5365D643B1A6E253F88154 /* BIDatasourceFetchedCollectionView.m */; }; + 7D684D227C3D19E4A0939D65359809AE /* NSString+BIExtra.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BB80C835D04160704DDD125C0336F34 /* NSString+BIExtra.m */; }; + 7F6D7898B83E3162F6110B06623A7732 /* MTLReflection.m in Sources */ = {isa = PBXBuildFile; fileRef = D17A1A838624F8C132131029F443F868 /* MTLReflection.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 80306F5604CE8EC03B87F2D2B5E191B4 /* IQPreviousNextView.h in Headers */ = {isa = PBXBuildFile; fileRef = C9C608148C54909900A81FAFF83C430B /* IQPreviousNextView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 80E24A27FCB985474974A000DC58E41F /* DistancePickerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8509773CA5F14A02CE21E0B6332186E1 /* DistancePickerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 823008395EBFD4DE718BD3C27279824E /* SWActionSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = 07BA67664FB57CB62C9320660E29C9A9 /* SWActionSheet.m */; }; + 8231FDD98A7D1659F4FA5788AFEEE6DF /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = EEC735157172AC9FC6F68ECD23F6F47B /* AFHTTPSessionManager.m */; }; + 82884C72648EF50B743E0DDE625723D0 /* SBJson5.h in Headers */ = {isa = PBXBuildFile; fileRef = A8DCF15FDD8F87BCDF068E7420B3A32B /* SBJson5.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 85B46EF7D1BAFA5EDD940110CF657F85 /* BIScrollAdditionalNoContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DC50607C77F25164CC4267DCF20938A /* BIScrollAdditionalNoContentView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 86F7DB1F0F423BDB5B1B487955865BA6 /* MTLValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 80AA8A5B6BE964EB905A0056F5A29BB7 /* MTLValueTransformer.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 894126828AF68F98598CA7B53E737AEF /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 68A23AF8E66A74F27E4A1C897D02C4E1 /* UIProgressView+AFNetworking.m */; }; + 89EF24DC2B6941258ACA3302D50D3B75 /* AbstractActionSheetPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DE76D614BBBC38ACB69C005AE4E6DAF /* AbstractActionSheetPicker.m */; }; + 8A1BABC56BE9608440D7D29BA3D8537F /* BIHandlerBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 19307301ABC577F60C5DA2F62F2F4122 /* BIHandlerBase.m */; }; + 8DB366EA85F8C748741C684BA4571B24 /* IQNSArray+Sort.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E56E838CCADDB6D706797F402ACCF7C /* IQNSArray+Sort.m */; }; + 8DFDCB5BCE61A70E0474985F503CF560 /* BIOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 7877E71FEF61F9EAAC96C3DEA0E65218 /* BIOperationQueue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8F8F4B64201F35C558FC79F06837BFC3 /* IQUIView+IQKeyboardToolbar.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D32036F60D79048DBB77D715D06E760 /* IQUIView+IQKeyboardToolbar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 91FC93090A829E5FECFFB893EB0E76C3 /* BIOperationBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 422BA3FE7D2AFD42FFB5E4D7848FEBB9 /* BIOperationBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 926FFC18F35E3CA058F55A8A282E9532 /* BIStartersFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A74B4F9641F518B6889AF9E21027E26 /* BIStartersFactory.m */; }; + 9416135F7182B513BFE0D69FBF435823 /* MTLReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 09723097EC3DD52F7ADB6644E959B552 /* MTLReflection.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 94B90099BC8710090A95488E43FDBAE3 /* PINDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CCAB26602244A642CE13CC0D16213352 /* PINDiskCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 95325AC646050EEB7E6349AE1621A0F5 /* UIView+BILoadXib.h in Headers */ = {isa = PBXBuildFile; fileRef = 312CB39EAF4C29F265B513A164FEE669 /* UIView+BILoadXib.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9586256C1D60315FC6A1D41DE6B1F2D2 /* PINCache.m in Sources */ = {isa = PBXBuildFile; fileRef = ED455E8F0E60641BD98557747473C401 /* PINCache.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 97B72EDADE8FFBE73FDE3FC347CA1C36 /* BIActivityIndicatorContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1CFBD11CD3BB7336B21ECB8502EC27FA /* BIActivityIndicatorContainerView.m */; }; + 996EF6D1140B2EFFC5DB3059D947F82E /* MTLTransformerErrorHandling.m in Sources */ = {isa = PBXBuildFile; fileRef = BDF0CC7CD60AB5E8865684ACAE8D3C2D /* MTLTransformerErrorHandling.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 9A2B549FE3AAC73794896443B4A257C1 /* BITableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 22768B465CECED05A2D620173E5A238A /* BITableView.m */; }; + 9A7A3B80A68DB4A21A6833AA4683A7AD /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C1ACE6AEAA54170E02A43BF500F8BFF /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9D43FEECC9475E09E7A6C2DCADED0796 /* IQUIScrollView+Additions.h in Headers */ = {isa = PBXBuildFile; fileRef = E43BE2829A043D79C8F6748AE13B24CB /* IQUIScrollView+Additions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9D48FBEDFE8E11E76066E03ADA0D4154 /* NSDictionary+MTLJSONKeyPath.m in Sources */ = {isa = PBXBuildFile; fileRef = A1C0180D366D79795CD5482BBFC6DE64 /* NSDictionary+MTLJSONKeyPath.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 9D98237685F7C52B0D0B6435915C385E /* NSError+MTLModelException.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D62EB7546F5241681D2994CB95F20C4 /* NSError+MTLModelException.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9DDD7F27716131A0593D6B456C4BAC6B /* SBJson5StreamParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B9D15A65A0399127B93E4B704461467 /* SBJson5StreamParser.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A113E22DBEEFFD8A476F28A504C209AB /* IQTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E7DBE6BB97EF8A55A29E489478E88F5 /* IQTextView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A16187923EA1A156F18C909206809C30 /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4245C1CE8B88AAD456D08624BF8C9371 /* UIButton+AFNetworking.m */; }; + A18173E73B617052AC12AD8264BED27A /* ActionSheetDatePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = B89CEA58AD90918128E286620165E2E7 /* ActionSheetDatePicker.m */; }; + A3D6E5A48C203C41D9A1966FC55B94D5 /* BIDatasourceBase.m in Sources */ = {isa = PBXBuildFile; fileRef = BE84B5B65E5BFFCC549F2D52B2AF7F7D /* BIDatasourceBase.m */; }; + A3E505F35CD5F9CA397794BE8A0F594F /* SBJson5StreamTokeniser.h in Headers */ = {isa = PBXBuildFile; fileRef = F00B8FA6D655F72502170132D3E5AE40 /* SBJson5StreamTokeniser.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A4B6CE3DA65080159DC44EAD29331AFF /* BIScrollAdditionalViewBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 28054C43CA70691806146D557C120C9C /* BIScrollAdditionalViewBase.m */; }; + A65ED3E54E15A8545C799223E5A6D30E /* IQUIScrollView+Additions.m in Sources */ = {isa = PBXBuildFile; fileRef = A090EAC7ADED4542BB0DC358B0C4C8C9 /* IQUIScrollView+Additions.m */; }; + A6A21DBC6887035A56D1D51341670876 /* IQUIViewController+Additions.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CB1F9DC60F11F8F54C38BB2B600DD28 /* IQUIViewController+Additions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A845819E8332E3CA279E6B00EAA55366 /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 07BC94A3A822349E24C41D2EB5A1A385 /* UIRefreshControl+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A916606B7197B1D26179697F8B346284 /* BIBatchHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 11AF516232558259D9A823D6C75F604C /* BIBatchHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A9C680A094BCDFEA1BA8E6EFF757B942 /* PINCache-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D2B90E5221A5451861E5E5A5D7C22C2B /* PINCache-dummy.m */; }; + AC8A8C8E94CC95FA39D0DBFD3F7E9BDF /* ActionSheetDistancePicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 803895A97D778C8D0B055D1BD8ECF7F0 /* ActionSheetDistancePicker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ACCF781BACFBC3EB759797482C9A30A4 /* IQKeyboardManager-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EF6E4B0A0EF66FE768437592ED95E62 /* IQKeyboardManager-dummy.m */; }; + AE5D2D260599FE72BB1A9829CECFF4B3 /* BIStartersFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = C79BC7B1A66324E06D26D23B80FED191 /* BIStartersFactory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AF2338A85BECD7A6700F1E2972CC1858 /* BIDatasourceTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 910ABE949A92CD1DA92EEC6F3EDACB62 /* BIDatasourceTableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B00EA522A62498626388BC649DFE2996 /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC684894CEB2E93913061AA14377144 /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B098BC9005738774F6288FF2879FD51D /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A3E38E4E94D7378BE3785DE30B19F17 /* AFNetworking-dummy.m */; }; + B253A0A9A5ED4E5B2A93D9ECC11624E1 /* NSString+BIExtra.h in Headers */ = {isa = PBXBuildFile; fileRef = B6B875DB2B8BCBC175530FF0CC31D9C6 /* NSString+BIExtra.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B27878E3B8F8ADB1FE01DBD6CB5812E7 /* UIImage+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = D4CA94E360CD6A003A67F9BAD61EBE3F /* UIImage+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B4299F19A5417656C96F5949B99A0EDB /* SBJson5StreamWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EEECC39F43D107A211236512665B537 /* SBJson5StreamWriter.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + B5F845BAA103FC0F9A8F3F0D3871141D /* SBJson5StreamParserState.h in Headers */ = {isa = PBXBuildFile; fileRef = B985F791806A954F4F85C99682BFB201 /* SBJson5StreamParserState.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B6AE1112249978AC335DB0F3A6056694 /* ActionSheetDistancePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 90D439DF5BB6B66269A09DB4A5CB8930 /* ActionSheetDistancePicker.m */; }; + B7B93D4BF33FC8C64E9E3EFFBA385992 /* ActionSheetMultipleStringPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = C7C9C8E752EB8FDED3699F5B38F430A7 /* ActionSheetMultipleStringPicker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BAC55B2F8DAF3946A35BCE0FE7414246 /* UIScrollView+InfiniteScroll.h in Headers */ = {isa = PBXBuildFile; fileRef = 62FAB0283416E5221E0583C772E3DF6E /* UIScrollView+InfiniteScroll.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BB044085456CA721DE7DB4442600D40A /* BIBatchResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = DB9B57010650D3476186C2985B856A29 /* BIBatchResponse.m */; }; + BC5E60F02C096C19A20E25BFA510CFCF /* NSDictionary+MTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CF6F0EA5AE01F662AE19A3CF179A3C24 /* NSDictionary+MTLManipulationAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + BD31180E2F3AD2BE65BD3A31461A527E /* ActionSheetStringPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = FBE9502FD84A76847ADE074A410E52AA /* ActionSheetStringPicker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BDFC6900D7B2751F924DC99F79DBF8ED /* Reachability-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BCF49018B6F8744B831A115AEDB5F922 /* Reachability-dummy.m */; }; + BF39673A6B13E1BA39B378360463EBE3 /* ActionSheetDatePicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DF7D46D71824AA45572270619656C01 /* ActionSheetDatePicker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C0356D04F6AF6492B6F194DF3DF7F16E /* NSDictionary+MTLMappingAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 74239C1FCC1807DFD62F627727C3F0AB /* NSDictionary+MTLMappingAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + C06F61A759022A62864BD9F8EE3660F3 /* AFAutoPurgingImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 368BD8FCFC82CDDB7F4F9A987277642D /* AFAutoPurgingImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C12CC7B8E4903944F6D73BB0170A88BF /* ActionSheetCustomPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D04168022E047DC65C9E36726A95C85 /* ActionSheetCustomPicker.m */; }; + C1EE07F0E0B54668574633B545FBCE48 /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = C535A2DB09B2419441C7A6BA45700332 /* UIKit+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C49F38D870E3CD97C8CDBB1E8E1570E4 /* BISerialOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 45ACF17DD84713BF88F19E271C8BE618 /* BISerialOperationQueue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C564C8D042998164475E13AD54B0A294 /* MBProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = CDE6CAF84D10346AE5A6FCEB163FE4AA /* MBProgressHUD.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C693C5006D55A89D619F41ED39E4E93E /* BITableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 206436018BC45CDB17DA0BDACE86ABF2 /* BITableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C7FD66D3D320095B45AD9D39EF1B858B /* MBProgressHUD-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 35984981DB81C856C307FE2135452790 /* MBProgressHUD-dummy.m */; }; + C8FBA4F45F50D2DB51EF3AE4A880E900 /* BICollectionViewActivityIndicatorReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 84DA373376A32B36BDE2E3320CD88846 /* BICollectionViewActivityIndicatorReusableView.m */; }; + CBB01AEA737599B45BD13B082B45FD2B /* EXTKeyPathCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = E93CEF1C42C91E01B08468F10352FF9D /* EXTKeyPathCoding.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CC557B437481228B845A91FC5E000D68 /* NSArray+MTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 35FAE10CA23A672CD7FCA6E2547E2208 /* NSArray+MTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CC71978BCB9C6884C98BCF02F22A9949 /* BIDatasourceFetchedTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = A7A265587B0C9779EF4A8FE87AAC8A1C /* BIDatasourceFetchedTableView.m */; }; + CC76F7AA6B5E24E27DA8C0315B54F1A2 /* MTLModel+NSCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F5788A2197EFC2216B1EBFEE92B0986 /* MTLModel+NSCoding.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + CD960C3DA9537F88F19E3B78A3EEC939 /* metamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 58F0F950556562CB407D4E852C622144 /* metamacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CE686689E34661A1F3225F490FB4E95F /* MTLTransformerErrorHandling.h in Headers */ = {isa = PBXBuildFile; fileRef = 157C9DCA339BA9136C40F2E1824EDB2C /* MTLTransformerErrorHandling.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CEED50CF7F7CB302913990FAEEF1398B /* BICollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 74017DBE62A7DFC56032896DA28967AE /* BICollectionView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D1B4C62C80564AEB0FB368F96D6F7A07 /* IQUIWindow+Hierarchy.h in Headers */ = {isa = PBXBuildFile; fileRef = CA16D8C5CBC73AED6C09B1C70C0059CD /* IQUIWindow+Hierarchy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D1EAAEAAA2A6C5F5267EF1075296A538 /* ActionSheetCustomPickerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 593EAB1BFADFB78EFD7B64F9D2233571 /* ActionSheetCustomPickerDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D280A3B13923FF5FA778EF312BD965F7 /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E21D71C79484AD65A6A9AE6FA03B442A /* AFHTTPSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D369BC94399B6105C789A81FE8910ACF /* IQKeyboardReturnKeyHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = A488EF8483262371D74884202E6DC520 /* IQKeyboardReturnKeyHandler.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D3DC240631E1FA883A5604B3E99BAE2B /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = F8AA7312F1F42CC1A812DF0A6B55204B /* UIProgressView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D4F26CC14166A6DD318083F46FCE2511 /* BIHandlerCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = FC99719C411D4E15301AE293FAA3F523 /* BIHandlerCollectionView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D55123A8078069D3B7395BBB6E0661A3 /* MTLJSONAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 16100E41D68EB864232E0776629D2D46 /* MTLJSONAdapter.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + D569D00367B456F6CDFE2700097562FC /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 111914991474B0072E9FE170727CF741 /* AFURLRequestSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D58712FEDE0C5B2028EA7B27544B79CE /* _BIScrollViewProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = D799443FD7E52BD77FFA2E86CDC56089 /* _BIScrollViewProxy.m */; }; + D6438BA4F863AE0A7891F212EE3C06D0 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = A6B49C8F4C3141E8FB39D3355687D071 /* MBProgressHUD.m */; }; + D66651784C8FB9AA7FA08C0BD4DC4EFA /* UIScrollView+BIBatching.h in Headers */ = {isa = PBXBuildFile; fileRef = F967766F294949B909612080663E2B9B /* UIScrollView+BIBatching.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D752392E6E2723093FCD4241D9840627 /* IQUIWindow+Hierarchy.m in Sources */ = {isa = PBXBuildFile; fileRef = 72393806E36877D8A77852213B48BCAD /* IQUIWindow+Hierarchy.m */; }; + D75A3233DE6BA6DAEC442EB7D0816202 /* BIScrollAdditionalViewBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 309ACB6517B9337D24B5AAB0FCD0D113 /* BIScrollAdditionalViewBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DA0CF0379D34F5BE061030F7BA14A1E7 /* BIOperationNotifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ADDDB594250E6BFC788F32022824EF8 /* BIOperationNotifier.m */; }; + DA9E41D5A3B46AEDEEA6A6D031A64B51 /* Lockbox.h in Headers */ = {isa = PBXBuildFile; fileRef = FCD444E715ED0F1F59D75D74107992CF /* Lockbox.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DB9693FA7DA9AC0D8D111A2C07903CE0 /* IQUITextFieldView+Additions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3984B2D8ACD80AF864329CC3329D1B24 /* IQUITextFieldView+Additions.m */; }; + DE9494744B5CB38D0C5E0CA34DA2DC43 /* PINMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9B46B9A0175599D32446EB08F51CB4 /* PINMemoryCache.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + DFC2AF8A2BB4574E0A27FE5CD21453E4 /* IQKeyboardManagerConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 547022564766494BABEC45F59D0040CA /* IQKeyboardManagerConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E1D09BC5E45671A891B599EFED84F2CD /* BICollectionViewActivityIndicatorReusableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AF0466154D6AF1497B403B35C377E96 /* BICollectionViewActivityIndicatorReusableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E275DC17F1830D84A7DD6D3FFC721E1C /* MTLJSONAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = F3500895AD79AF1F2CD8F11EA9F21064 /* MTLJSONAdapter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E45A021E32CF0D33CC68B84AC71528B8 /* DistancePickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2887DAA8D00310FD7F26CC068C85D726 /* DistancePickerView.m */; }; + E60FEDB5FD08E7E014C485C9573C4358 /* BILaunchStartersFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FBA4210EBF3D16F78946D7B37B6FABC /* BILaunchStartersFactory.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E7351E56F4C49CE1F9559D5C69ECC1ED /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 482948E025BCED36D25DC102145F4A77 /* AFURLSessionManager.m */; }; + EA678AAB4CA77C33B0E264DEAFE562A7 /* BIDatasourceFetchedFeedTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = A972A65B21B3AC37A5E80C3CB30F49EA /* BIDatasourceFetchedFeedTableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EB15A3A026C9395694876BCFEAD9C7C8 /* SBJson5Writer.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEBDEC0EC2B8F4E0E36E348B1418C80 /* SBJson5Writer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EE9D110757778BF8C17EF969806A7F04 /* ActionSheetStringPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = F031DBCF58E5A620B15E9FEA7F976BD9 /* ActionSheetStringPicker.m */; }; + EEC953AAECBFA61EE2138D33AC74DCAA /* SWActionSheet.h in Headers */ = {isa = PBXBuildFile; fileRef = C0F253C21AE54205F00C11F8BAE20932 /* SWActionSheet.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F076BC070DF1DC2CAFC278DC58010821 /* Pods-TestApp-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E1292FE43E4F8F642A883A35B554CB2F /* Pods-TestApp-dummy.m */; }; + F0BDCBADCACFE630FD68EEF3B95C1C9F /* IQUIView+IQKeyboardToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = B808E37A0DBD8EFCA91D1305A70778CE /* IQUIView+IQKeyboardToolbar.m */; }; + F24DF0155C4DFF84CECE67836805226A /* _BITableView+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 83029FAD04BEB50A361DFBF86F1A211B /* _BITableView+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F253A5FFDB9F61D1546F2C536777FDE1 /* BIDatasourceFeedCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = E25E7D1CA28EA4DDB91E2D70FD961108 /* BIDatasourceFeedCollectionView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F54EF997F8DCBE5A997C4BF51E55DC90 /* Mantle.h in Headers */ = {isa = PBXBuildFile; fileRef = 44ADB0494B359BE89BBE6C1F073DE610 /* Mantle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F6BD4AEE3C06B310BAF38B2F45118FEC /* BIBatchHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 347F9FEBA8D1B5191EB4C237F025D79B /* BIBatchHelpers.m */; }; + F6DA21ED7C239C202E2F53A97F880376 /* EXTScope.m in Sources */ = {isa = PBXBuildFile; fileRef = 3009C063AA980E5783A86C56BD3BC36B /* EXTScope.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + F7FF0D14946C5370BD4891BF65B1F8D1 /* BIDatasourceFeedTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6550D5E97DBC85434D955EE28D8EA3F9 /* BIDatasourceFeedTableView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F88784A14E6EC80717B7A407F17F8BA5 /* NSValueTransformer+MTLPredefinedTransformerAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 514ED7E7F33E1ECFB6D75758E1A8E5AB /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + F8CAD95F4AB7E2A2D1B73B823F336707 /* MTLModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 578512A4AA1F57E2379EFA50CD6120BD /* MTLModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F945A39E5ED559D5C8F0D70CFE913500 /* SBJson5StreamWriterState.m in Sources */ = {isa = PBXBuildFile; fileRef = 332A7B7B902BE263462C35969917E3A9 /* SBJson5StreamWriterState.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + F9AD2CFBEDD600706B921428D25DFA3A /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = D15CC949170FF12B5521B9A641D16112 /* UIImageView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FAC50C72C7ED42CAF1290712B877C10F /* BIHandlerBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 09CAFAAEFB7830CB08A37574356F653D /* BIHandlerBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FD331FB5B20677A9092BD46192638A31 /* PINCache.h in Headers */ = {isa = PBXBuildFile; fileRef = E9436DF9D451B4F9B03AB11F5C85FA87 /* PINCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FEA19D8E9AEE6E4B821682A29C5D3F76 /* BITableViewUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 59BCF33D4E97BBF6C191CF75655FD24E /* BITableViewUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FEAA3C60F4BDDAC22BD1A6B047DBAAE9 /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 60B1593D8ABC0E6253C1B4863C4990AA /* AFNetworkActivityIndicatorManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 0BA078611DDA58A59361A747C71C639B /* PBXContainerItemProxy */ = { + 00FA7A0920336E9814498B6375E5B4DC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = A927C3CD51C30012080D6CA07959B246; - remoteInfo = PINCache; + remoteGlobalIDString = 82B0A41D3031FF27D78E17B0A9A46FB0; + remoteInfo = MBProgressHUD; }; - 2BBE0E2C8A39F242E72FBE192D8500F7 /* PBXContainerItemProxy */ = { + 1A8F056A25D30D19CFB7FFB3A7A52524 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = FBA456CB50E371584C11231929A0971E; - remoteInfo = IQKeyboardManager; + remoteGlobalIDString = 0130B3724283586C0E9D2A112D4F2AA1; + remoteInfo = AFNetworking; }; - 30D67A9BE994BCEE8433F6D7F0936852 /* PBXContainerItemProxy */ = { + 24D55EF2C3CBCD6EC8BAD3D1B0FF1277 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 40BBB76E980F5CD19BEB5CE36045BA59; + remoteInfo = BIObjCHelpers; + }; + 517DC5C794F9EE9D02AE298F9FBA4F0C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = CAA047C0F5E4106F3904E8497FA17F97; remoteInfo = Reachability; }; - 441A2E8F432F721305B0F439A20C67C5 /* PBXContainerItemProxy */ = { + 7234B221C536B6E4F0FC9672D75C41F2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 82B0A41D3031FF27D78E17B0A9A46FB0; - remoteInfo = MBProgressHUD; + remoteGlobalIDString = 99A737B746331762ACD053E5EF1415F7; + remoteInfo = SBJson; }; - 56D9305B5EF6D3A6D1E95C5878C0536D /* PBXContainerItemProxy */ = { + 994C005AFC0659BCC82DF41B09E19A37 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 47CCF1D9F019FFC6546DA481B71A2C4E; remoteInfo = Mantle; }; - 8E05B208079D033F9E8C1C7259E5D439 /* PBXContainerItemProxy */ = { + A8F26F0B84529EDBB3676FB20D85B550 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 7E875D11AD986EDEB42F0F0170213445; - remoteInfo = Lockbox; + remoteGlobalIDString = A43B25DDF20FCB9228471F8F5135C866; + remoteInfo = "ActionSheetPicker-3.0"; }; - 9C4814AC1130987CC57C8D6A4041467B /* PBXContainerItemProxy */ = { + D867E73C2B0E1099B397806BC526C614 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 40BBB76E980F5CD19BEB5CE36045BA59; - remoteInfo = BIObjCHelpers; + remoteGlobalIDString = A927C3CD51C30012080D6CA07959B246; + remoteInfo = PINCache; }; - B9B947D8C1B661A48FEDC486C17AD5D8 /* PBXContainerItemProxy */ = { + DBEFDEA04B117B326446B80998B821DE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 0130B3724283586C0E9D2A112D4F2AA1; - remoteInfo = AFNetworking; + remoteGlobalIDString = 7E875D11AD986EDEB42F0F0170213445; + remoteInfo = Lockbox; }; - D47C7F4432DE131ED011A48A5E56F684 /* PBXContainerItemProxy */ = { + F946F8CAED71AE0EEED27B4B998A392B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 99A737B746331762ACD053E5EF1415F7; - remoteInfo = SBJson; + remoteGlobalIDString = FBA456CB50E371584C11231929A0971E; + remoteInfo = IQKeyboardManager; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00B7C0C91A36EBDC32DBEFE8A0F78170 /* MBProgressHUD.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MBProgressHUD.h; sourceTree = ""; }; - 0123345D2A391548B237D1824B6A4ACC /* Reachability-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Reachability-prefix.pch"; sourceTree = ""; }; - 01ACEE9E1BF80F2C34543761945F2D8A /* AFAutoPurgingImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFAutoPurgingImageCache.m; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.m"; sourceTree = ""; }; - 02516C9470FF6FBDC9A071F687A7722A /* BILaunchStartersFactory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BILaunchStartersFactory.m; path = BIObjCHelpers/Starters/BILaunchStartersFactory.m; sourceTree = ""; }; - 0306F06070349B39C38E54A57359720A /* NSDictionary+MTLJSONKeyPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+MTLJSONKeyPath.h"; path = "Mantle/NSDictionary+MTLJSONKeyPath.h"; sourceTree = ""; }; - 06AD0F2B95DB04B52AE1AD9F2CEE18E1 /* BIDatasourceFetchedCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceFetchedCollectionView.h; path = BIObjCHelpers/Datasource/CollectionView/BIDatasourceFetchedCollectionView.h; sourceTree = ""; }; - 07B55BD28DBE0E2BD3BE5347603F8EEC /* SBJson5StreamParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5StreamParser.h; path = Classes/SBJson5StreamParser.h; sourceTree = ""; }; - 07E51400BEEB7F9E1AFDA8F039571931 /* SBJson-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SBJson-prefix.pch"; sourceTree = ""; }; - 08FD4625D35247C01A9E84B5718607DD /* IQKeyboardManagerConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQKeyboardManagerConstants.h; path = IQKeyboardManager/Constants/IQKeyboardManagerConstants.h; sourceTree = ""; }; - 09BD6B6BF8AF4FE79217704EBFC2B580 /* IQUIView+IQKeyboardToolbar.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "IQUIView+IQKeyboardToolbar.m"; path = "IQKeyboardManager/IQToolbar/IQUIView+IQKeyboardToolbar.m"; sourceTree = ""; }; - 0A263279A6B2CEB4D903282CB0E91947 /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIWebView+AFNetworking.h"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.h"; sourceTree = ""; }; - 0CD9A52A1BF8E3DC544E07A8F4D75233 /* IQTextView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQTextView.h; path = IQKeyboardManager/IQTextView/IQTextView.h; sourceTree = ""; }; - 0D47ED20F9B8BB80668CF5A10CF24570 /* PINDiskCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PINDiskCache.m; path = PINCache/PINDiskCache.m; sourceTree = ""; }; - 0D49069F24A0B5A1FB7281CE4A421B38 /* BIObjCHelpers-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BIObjCHelpers-prefix.pch"; sourceTree = ""; }; - 10116D10EE32D6F66E6E3C8435C1B188 /* IQUIWindow+Hierarchy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "IQUIWindow+Hierarchy.h"; path = "IQKeyboardManager/Categories/IQUIWindow+Hierarchy.h"; sourceTree = ""; }; - 11652317276D0E718D4B04DA53A2F2A5 /* IQKeyboardManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQKeyboardManager.h; path = IQKeyboardManager/IQKeyboardManager.h; sourceTree = ""; }; - 12D888DD812C2C78CA1393273EEB903E /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h"; sourceTree = ""; }; - 146BD642A7B91B4F852BD90FF2B7BE9D /* NSString+BIExtra.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+BIExtra.h"; path = "BIObjCHelpers/Categories/NSString/NSString+BIExtra.h"; sourceTree = ""; }; - 15E145EA087FCE931BE92B8B7C27683A /* EXTRuntimeExtensions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXTRuntimeExtensions.h; path = Mantle/extobjc/EXTRuntimeExtensions.h; sourceTree = ""; }; - 16EF0BC70C593340806B4F63795129A0 /* UIScrollView+BIBatching.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+BIBatching.h"; path = "BIObjCHelpers/Views/ScrollView/UIScrollView+BIBatching.h"; sourceTree = ""; }; - 1BF4E4C901DB6ED69F39AE1EE7B44617 /* EXTScope.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXTScope.h; path = Mantle/extobjc/EXTScope.h; sourceTree = ""; }; - 1CFA272CBA304DB646C60AAEF5C34A4C /* NSObject+MTLComparisonAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+MTLComparisonAdditions.m"; path = "Mantle/NSObject+MTLComparisonAdditions.m"; sourceTree = ""; }; - 1D6A51FBB1584FC057D6350A4B5B8914 /* IQKeyboardReturnKeyHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQKeyboardReturnKeyHandler.h; path = IQKeyboardManager/IQKeyboardReturnKeyHandler.h; sourceTree = ""; }; - 1DB5B6A9FFD92CEF17396AFEBAFEA4F9 /* NSDictionary+MTLJSONKeyPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+MTLJSONKeyPath.m"; path = "Mantle/NSDictionary+MTLJSONKeyPath.m"; sourceTree = ""; }; - 1DE4548E85940F754942FEBA45412311 /* BIStarterProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIStarterProtocol.h; path = BIObjCHelpers/Starters/BIStarterProtocol.h; sourceTree = ""; }; - 1DFF5CD82893CF40BAAA15292EC29CF3 /* Lockbox.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Lockbox.h; sourceTree = ""; }; - 217D272EF39C19E8285A943B46B280AB /* PINCacheObjectSubscripting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PINCacheObjectSubscripting.h; path = PINCache/PINCacheObjectSubscripting.h; sourceTree = ""; }; - 220082F67691EC1D7D0B0A33E08FE20E /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValueTransformer+MTLPredefinedTransformerAdditions.h"; path = "Mantle/NSValueTransformer+MTLPredefinedTransformerAdditions.h"; sourceTree = ""; }; - 221B07E279BD8909E2F9A0BB248589BB /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; - 23A06DB7B13EE49CD9E8D018C6A804B2 /* NSBundle+BIExtra.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBundle+BIExtra.h"; path = "BIObjCHelpers/Categories/NSBundle/NSBundle+BIExtra.h"; sourceTree = ""; }; - 24DD3B538630107BD1E8CB37CBA02BDD /* BICollectionViewActivityIndicatorReusableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BICollectionViewActivityIndicatorReusableView.h; path = "BIObjCHelpers/Views/CollectionView/Activity Indicator/BICollectionViewActivityIndicatorReusableView.h"; sourceTree = ""; }; - 25133381292903423EDD01C1356F35A1 /* BIScrollAdditionalErrorNoContentView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIScrollAdditionalErrorNoContentView.h; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalErrorNoContentView.h; sourceTree = ""; }; + 01109DE59707089148A9ACFEF454486F /* BIObjCHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIObjCHelpers.h; path = BIObjCHelpers/SupportingFiles/BIObjCHelpers.h; sourceTree = ""; }; + 01666A8879FCBA52B27036E563978FB3 /* IQUITextFieldView+Additions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "IQUITextFieldView+Additions.h"; path = "IQKeyboardManager/Categories/IQUITextFieldView+Additions.h"; sourceTree = ""; }; + 0486DBBA6B4569325B6E605F3ABE7F4B /* Lockbox-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Lockbox-dummy.m"; sourceTree = ""; }; + 0563D9E86A13F92EE83051648A4CDC30 /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m"; sourceTree = ""; }; + 07BA67664FB57CB62C9320660E29C9A9 /* SWActionSheet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SWActionSheet.m; path = Pickers/SWActionSheet.m; sourceTree = ""; }; + 07BC94A3A822349E24C41D2EB5A1A385 /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIRefreshControl+AFNetworking.h"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.h"; sourceTree = ""; }; + 087DCC328C5729E54D8B044ADE9F4F5C /* BIStarterProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIStarterProtocol.h; path = BIObjCHelpers/Starters/BIStarterProtocol.h; sourceTree = ""; }; + 09723097EC3DD52F7ADB6644E959B552 /* MTLReflection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLReflection.h; path = Mantle/MTLReflection.h; sourceTree = ""; }; + 099C394940542C0904262E674C3EC099 /* UIScrollView+InfiniteScroll.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+InfiniteScroll.m"; path = "BIObjCHelpers/ExternalLibs/UIScrollView+InfiniteScroll/UIScrollView+InfiniteScroll.m"; sourceTree = ""; }; + 09CAFAAEFB7830CB08A37574356F653D /* BIHandlerBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIHandlerBase.h; path = BIObjCHelpers/Handlers/Base/BIHandlerBase.h; sourceTree = ""; }; + 0E56E838CCADDB6D706797F402ACCF7C /* IQNSArray+Sort.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "IQNSArray+Sort.m"; path = "IQKeyboardManager/Categories/IQNSArray+Sort.m"; sourceTree = ""; }; + 111914991474B0072E9FE170727CF741 /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; + 11AF516232558259D9A823D6C75F604C /* BIBatchHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIBatchHelpers.h; path = BIObjCHelpers/Batch/BIBatchHelpers.h; sourceTree = ""; }; + 11D5DE8450E9860E795A8B7CE77A9FC5 /* _BICollectionView+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "_BICollectionView+Internal.h"; path = "BIObjCHelpers/Views/CollectionView/_BICollectionView+Internal.h"; sourceTree = ""; }; + 11D5E491BAF0D53C32B08BFF3DA39A2B /* BIBatchResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIBatchResponse.h; path = BIObjCHelpers/Batch/BIBatchResponse.h; sourceTree = ""; }; + 11DB0FB6E3C24AD156F410843C629755 /* SBJson5StreamWriterState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5StreamWriterState.h; path = Classes/SBJson5StreamWriterState.h; sourceTree = ""; }; + 1481CEC84434CA906F5FD2F4B22045F3 /* BIHandlerTableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIHandlerTableView.h; path = BIObjCHelpers/Handlers/TableView/BIHandlerTableView.h; sourceTree = ""; }; + 15664D936F9FD80513B2FE0E511403DF /* EXTRuntimeExtensions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXTRuntimeExtensions.h; path = Mantle/extobjc/EXTRuntimeExtensions.h; sourceTree = ""; }; + 157C9DCA339BA9136C40F2E1824EDB2C /* MTLTransformerErrorHandling.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLTransformerErrorHandling.h; path = Mantle/MTLTransformerErrorHandling.h; sourceTree = ""; }; + 16100E41D68EB864232E0776629D2D46 /* MTLJSONAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLJSONAdapter.m; path = Mantle/MTLJSONAdapter.m; sourceTree = ""; }; + 186A7C3AE6EAFC5786310AACF941AFBA /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.m"; sourceTree = ""; }; + 19307301ABC577F60C5DA2F62F2F4122 /* BIHandlerBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIHandlerBase.m; path = BIObjCHelpers/Handlers/Base/BIHandlerBase.m; sourceTree = ""; }; + 1CFBD11CD3BB7336B21ECB8502EC27FA /* BIActivityIndicatorContainerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIActivityIndicatorContainerView.m; path = BIObjCHelpers/Views/TableView/ActivityIndicator/BIActivityIndicatorContainerView.m; sourceTree = ""; }; + 1D04168022E047DC65C9E36726A95C85 /* ActionSheetCustomPicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ActionSheetCustomPicker.m; path = Pickers/ActionSheetCustomPicker.m; sourceTree = ""; }; + 1E678EAC84160F6EFC2490B3B5212F58 /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; + 1E6E6B1ABE59791508D0A3011BD2AC87 /* AFAutoPurgingImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFAutoPurgingImageCache.m; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.m"; sourceTree = ""; }; + 2005265BA0EE118F9C1110F393ED30C8 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValueTransformer+MTLPredefinedTransformerAdditions.h"; path = "Mantle/NSValueTransformer+MTLPredefinedTransformerAdditions.h"; sourceTree = ""; }; + 206436018BC45CDB17DA0BDACE86ABF2 /* BITableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BITableView.h; path = BIObjCHelpers/Views/TableView/BITableView.h; sourceTree = ""; }; + 22768B465CECED05A2D620173E5A238A /* BITableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BITableView.m; path = BIObjCHelpers/Views/TableView/BITableView.m; sourceTree = ""; }; + 2297787F107344CB5FB27157D40FF76C /* IQBarButtonItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQBarButtonItem.m; path = IQKeyboardManager/IQToolbar/IQBarButtonItem.m; sourceTree = ""; }; + 23DFC88975439D02C595CFE57F0330BE /* Nullability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nullability.h; path = PINCache/Nullability.h; sourceTree = ""; }; 2583A13AD4D6659A5EE7CE100EB9F933 /* Pods-TestApp-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TestApp-acknowledgements.markdown"; sourceTree = ""; }; - 273F3D9CBE21CBEDA52EAE3527D6DEC9 /* IQKeyboardManager.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardManager.xcconfig; sourceTree = ""; }; - 2A12109754EA3A504AE7E12730B76323 /* BIOperationQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIOperationQueue.h; path = BIObjCHelpers/OperationQueue/BIOperationQueue.h; sourceTree = ""; }; - 2A3ADF8E5EE23E62F2D0073A952EBCBC /* BIDatasourceFetchedTableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceFetchedTableView.m; path = BIObjCHelpers/Datasource/TableView/BIDatasourceFetchedTableView.m; sourceTree = ""; }; - 2AE4FE3CA9578A5CCF49EFB93F10CE44 /* MTLModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLModel.h; path = Mantle/MTLModel.h; sourceTree = ""; }; - 2CC3DC11B5FF7737DE4EF48F96F1E0DC /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; - 2CDE86567EED917343D431647CA0831F /* IQToolbar.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQToolbar.m; path = IQKeyboardManager/IQToolbar/IQToolbar.m; sourceTree = ""; }; - 2D74B856FC15F49C4787C1A324512905 /* Lockbox.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Lockbox.xcconfig; sourceTree = ""; }; - 2DF0B1E77B0822EAA8581A5C187058DD /* _BICollectionView+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "_BICollectionView+Internal.h"; path = "BIObjCHelpers/Views/CollectionView/_BICollectionView+Internal.h"; sourceTree = ""; }; - 2F32250EB947298D2F65152A4A864837 /* SBJson5StreamParserState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5StreamParserState.h; path = Classes/SBJson5StreamParserState.h; sourceTree = ""; }; - 304034C61F14B7E290085EEA283854DA /* SBJson5Writer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5Writer.h; path = Classes/SBJson5Writer.h; sourceTree = ""; }; - 30C28BB31105FFAD93D92E3D4713E782 /* SBJson5StreamParserState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson5StreamParserState.m; path = Classes/SBJson5StreamParserState.m; sourceTree = ""; }; - 323FA7A134227466D080745C947ED14A /* IQPreviousNextView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQPreviousNextView.h; path = IQKeyboardManager/IQToolbar/IQPreviousNextView.h; sourceTree = ""; }; - 32FDAF82D93E9F72597C641F282457D8 /* SBJson5StreamTokeniser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson5StreamTokeniser.m; path = Classes/SBJson5StreamTokeniser.m; sourceTree = ""; }; - 33C4869E7CABDE25AE065294B917F19C /* BICollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BICollectionView.h; path = BIObjCHelpers/Views/CollectionView/BICollectionView.h; sourceTree = ""; }; - 33EE6B78995B4DE1684E0702EB9B762B /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIProgressView+AFNetworking.m"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.m"; sourceTree = ""; }; - 35EAEEC725E82923B6D52BAB9BE6D2B6 /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AFNetworking.h"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.h"; sourceTree = ""; }; - 374EA7F6A0E52980A82E740BD9D6DF10 /* SBJson-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SBJson-dummy.m"; sourceTree = ""; }; - 38533C2A4E7C53668481100488721D53 /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIRefreshControl+AFNetworking.h"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.h"; sourceTree = ""; }; - 388A0002859AD60E914C4BEF232C1690 /* BIOperationNotifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIOperationNotifier.h; path = BIObjCHelpers/Operations/BIOperationNotifier.h; sourceTree = ""; }; - 3A605216EDF7E92613EC0B95D59A62A5 /* AFImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFImageDownloader.h; path = "UIKit+AFNetworking/AFImageDownloader.h"; sourceTree = ""; }; - 3D094C5C67A8FC18D0AF2F4893F96664 /* IQBarButtonItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQBarButtonItem.m; path = IQKeyboardManager/IQToolbar/IQBarButtonItem.m; sourceTree = ""; }; - 3FC6843C25F1ADD094AA48FE75966D75 /* MTLModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLModel.m; path = Mantle/MTLModel.m; sourceTree = ""; }; + 2659B9189CF8F2E0AE79CF584B447853 /* BIDatasourceCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceCollectionView.m; path = BIObjCHelpers/Datasource/CollectionView/BIDatasourceCollectionView.m; sourceTree = ""; }; + 28054C43CA70691806146D557C120C9C /* BIScrollAdditionalViewBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIScrollAdditionalViewBase.m; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalViewBase.m; sourceTree = ""; }; + 2887DAA8D00310FD7F26CC068C85D726 /* DistancePickerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DistancePickerView.m; path = Pickers/DistancePickerView.m; sourceTree = ""; }; + 299367140F8E8FFA35FF02EE5C054D97 /* NSError+MTLModelException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSError+MTLModelException.m"; path = "Mantle/NSError+MTLModelException.m"; sourceTree = ""; }; + 29CA6B338B2F28F1E141AF14BA32DB47 /* ActionSheetLocalePicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ActionSheetLocalePicker.m; path = Pickers/ActionSheetLocalePicker.m; sourceTree = ""; }; + 2C1C06F6D7C45FEC0EB405F49B815127 /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIActivityIndicatorView+AFNetworking.h"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h"; sourceTree = ""; }; + 2DF7D46D71824AA45572270619656C01 /* ActionSheetDatePicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ActionSheetDatePicker.h; path = Pickers/ActionSheetDatePicker.h; sourceTree = ""; }; + 2F5788A2197EFC2216B1EBFEE92B0986 /* MTLModel+NSCoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MTLModel+NSCoding.m"; path = "Mantle/MTLModel+NSCoding.m"; sourceTree = ""; }; + 3009C063AA980E5783A86C56BD3BC36B /* EXTScope.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXTScope.m; path = Mantle/extobjc/EXTScope.m; sourceTree = ""; }; + 30858B202E713EEFBB5ED44C3FC64EC9 /* Lockbox.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Lockbox.xcconfig; sourceTree = ""; }; + 309ACB6517B9337D24B5AAB0FCD0D113 /* BIScrollAdditionalViewBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIScrollAdditionalViewBase.h; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalViewBase.h; sourceTree = ""; }; + 312CB39EAF4C29F265B513A164FEE669 /* UIView+BILoadXib.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+BILoadXib.h"; path = "BIObjCHelpers/Categories/UIView/UIView+BILoadXib.h"; sourceTree = ""; }; + 315F16AD2948065766DCFB6098514F9D /* BITableViewCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BITableViewCell.h; path = BIObjCHelpers/Views/TableView/Cell/BITableViewCell.h; sourceTree = ""; }; + 3245DADB540E31739E904C76D8233599 /* IQKeyboardManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQKeyboardManager.m; path = IQKeyboardManager/IQKeyboardManager.m; sourceTree = ""; }; + 332A7B7B902BE263462C35969917E3A9 /* SBJson5StreamWriterState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson5StreamWriterState.m; path = Classes/SBJson5StreamWriterState.m; sourceTree = ""; }; + 33803BDC5AB10B321C13BE5F07031B9B /* AbstractActionSheetPicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AbstractActionSheetPicker.h; path = Pickers/AbstractActionSheetPicker.h; sourceTree = ""; }; + 347F9FEBA8D1B5191EB4C237F025D79B /* BIBatchHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIBatchHelpers.m; path = BIObjCHelpers/Batch/BIBatchHelpers.m; sourceTree = ""; }; + 35984981DB81C856C307FE2135452790 /* MBProgressHUD-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MBProgressHUD-dummy.m"; sourceTree = ""; }; + 35FAE10CA23A672CD7FCA6E2547E2208 /* NSArray+MTLManipulationAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MTLManipulationAdditions.h"; path = "Mantle/NSArray+MTLManipulationAdditions.h"; sourceTree = ""; }; + 365608C578B0363CABF8823C7AD62BC9 /* BILifecycle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BILifecycle.h; path = BIObjCHelpers/Lifecycle/BILifecycle.h; sourceTree = ""; }; + 368BD8FCFC82CDDB7F4F9A987277642D /* AFAutoPurgingImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFAutoPurgingImageCache.h; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.h"; sourceTree = ""; }; + 36D93AFAD9D354DCA6D5808699A76E51 /* BIScrollAdditionalLoadingView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIScrollAdditionalLoadingView.m; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalLoadingView.m; sourceTree = ""; }; + 37BF68EA497F6F49A25009BDA035DC9A /* NSBundle+BIExtra.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBundle+BIExtra.m"; path = "BIObjCHelpers/Categories/NSBundle/NSBundle+BIExtra.m"; sourceTree = ""; }; + 3984B2D8ACD80AF864329CC3329D1B24 /* IQUITextFieldView+Additions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "IQUITextFieldView+Additions.m"; path = "IQKeyboardManager/Categories/IQUITextFieldView+Additions.m"; sourceTree = ""; }; + 3A90C8819C579613FEC226239BAE6DCD /* SBJson5StreamTokeniser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson5StreamTokeniser.m; path = Classes/SBJson5StreamTokeniser.m; sourceTree = ""; }; + 3B9B7F0C0833F8C6AB94886311B7EE69 /* BIObjCHelpers.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BIObjCHelpers.xcconfig; sourceTree = ""; }; + 3C3FD7FF1A4E5AE141A0DCC739573A6D /* Lockbox-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Lockbox-prefix.pch"; sourceTree = ""; }; + 3D09985117DAAE27AAFFA55BA67C4F98 /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AFNetworking.h"; path = "UIKit+AFNetworking/UIButton+AFNetworking.h"; sourceTree = ""; }; + 3DC4C7A7BCB7A16F6DA9304350464563 /* BILaunchStartersFactory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BILaunchStartersFactory.m; path = BIObjCHelpers/Starters/BILaunchStartersFactory.m; sourceTree = ""; }; + 400C9F7939A830B23FCC549EA92A565D /* IQToolbar.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQToolbar.m; path = IQKeyboardManager/IQToolbar/IQToolbar.m; sourceTree = ""; }; 400FF55D0451E7A8F33A3D0D3E11C1B9 /* libReachability.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libReachability.a; path = libReachability.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 40605E60CF95DA17A91203BC6882BAE4 /* Reachability.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Reachability.xcconfig; sourceTree = ""; }; - 4100ADB50EDB8F58387C37CE933A0E25 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; - 41CC5F8A96B2944E81993463104DF9D1 /* PINCache-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PINCache-dummy.m"; sourceTree = ""; }; - 425CA2A28A4CEEC3270A2A6E539CB1B3 /* IQTitleBarButtonItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQTitleBarButtonItem.m; path = IQKeyboardManager/IQToolbar/IQTitleBarButtonItem.m; sourceTree = ""; }; - 42CB09523B5A09246246757DBD0DEC6D /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; - 43372D90F903B8800871CBE4DA887CDC /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValueTransformer+MTLPredefinedTransformerAdditions.m"; path = "Mantle/NSValueTransformer+MTLPredefinedTransformerAdditions.m"; sourceTree = ""; }; - 434DA60E9A7FFA4C38DB67B2995B0617 /* PINCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PINCache.h; path = PINCache/PINCache.h; sourceTree = ""; }; - 44F84D05D1CEF4E6FEC2B8ECD7B6F785 /* Lockbox-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Lockbox-dummy.m"; sourceTree = ""; }; - 46D63E51D0625BE58BE127D5E3C217F0 /* IQToolbar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQToolbar.h; path = IQKeyboardManager/IQToolbar/IQToolbar.h; sourceTree = ""; }; - 4748B7EC564AB248D3AA3A2D23971759 /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIActivityIndicatorView+AFNetworking.h"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h"; sourceTree = ""; }; - 4C79A845B5257500D3D743F7A0084C74 /* NSDate+BIAttributedString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDate+BIAttributedString.m"; path = "BIObjCHelpers/Categories/NSDate/NSDate+BIAttributedString.m"; sourceTree = ""; }; - 4C79D6DBE92F7F45BC05912B9C8868A9 /* BIStartersFactory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIStartersFactory.m; path = BIObjCHelpers/Starters/BIStartersFactory.m; sourceTree = ""; }; - 4DB6BC6D06F39B3C63D472BDE2AA2A70 /* metamacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = metamacros.h; path = Mantle/extobjc/metamacros.h; sourceTree = ""; }; - 50999014146371615025F465FA190E1F /* BIStartersFactory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIStartersFactory.h; path = BIObjCHelpers/Starters/BIStartersFactory.h; sourceTree = ""; }; - 51240630538E0C9C25C83663E3E4F557 /* BIScrollAdditionalViewBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIScrollAdditionalViewBase.m; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalViewBase.m; sourceTree = ""; }; - 52D82E17E6999FDF7DE5EF3B60A2BF57 /* IQUIScrollView+Additions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "IQUIScrollView+Additions.h"; path = "IQKeyboardManager/Categories/IQUIScrollView+Additions.h"; sourceTree = ""; }; - 540E2B2F743260AE9F6D2B5A1D83EFC1 /* NSDictionary+MTLMappingAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+MTLMappingAdditions.h"; path = "Mantle/NSDictionary+MTLMappingAdditions.h"; sourceTree = ""; }; - 543005799D9C461F14C7F37B8CC05296 /* BITableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BITableView.m; path = BIObjCHelpers/Views/TableView/BITableView.m; sourceTree = ""; }; - 5446A044645A2A786DDD7BC438857B0A /* UIScrollView+BIBatching.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+BIBatching.m"; path = "BIObjCHelpers/Views/ScrollView/UIScrollView+BIBatching.m"; sourceTree = ""; }; - 545BA2754FF5619B6455E120A203C1C5 /* BISerialOperationQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BISerialOperationQueue.m; path = BIObjCHelpers/OperationQueue/BISerialOperationQueue.m; sourceTree = ""; }; - 548114EB19B8DFF15F88623D7207475C /* BICollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BICollectionView.m; path = BIObjCHelpers/Views/CollectionView/BICollectionView.m; sourceTree = ""; }; - 55A63CCC4E65DDB160BBF3F1C6D8A0B3 /* BITableViewCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BITableViewCell.h; path = BIObjCHelpers/Views/TableView/Cell/BITableViewCell.h; sourceTree = ""; }; - 577865EAACE2D8EB64AD741BE588DA00 /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIProgressView+AFNetworking.h"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.h"; sourceTree = ""; }; - 58FDD863168EC860C6C0870C08EAE9A8 /* IQNSArray+Sort.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "IQNSArray+Sort.h"; path = "IQKeyboardManager/Categories/IQNSArray+Sort.h"; sourceTree = ""; }; - 5CA76B16A848569B485FCED7304AB0A0 /* BIScrollAdditionalViewBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIScrollAdditionalViewBase.h; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalViewBase.h; sourceTree = ""; }; - 5E59C29DF041569A0923AD415E1966E9 /* BICollectionViewActivityIndicatorReusableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BICollectionViewActivityIndicatorReusableView.m; path = "BIObjCHelpers/Views/CollectionView/Activity Indicator/BICollectionViewActivityIndicatorReusableView.m"; sourceTree = ""; }; - 5F85CBCE0199CD090EDD327CEF06715B /* BIOperationQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIOperationQueue.m; path = BIObjCHelpers/OperationQueue/BIOperationQueue.m; sourceTree = ""; }; - 61ECC996780FE7C2A91257871B0318E2 /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIRefreshControl+AFNetworking.m"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.m"; sourceTree = ""; }; + 406F5DB5AB57A362BD045DE855348824 /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; + 413E132BE90A174819E7A314124DEEAD /* BIDatasourceFeedTableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceFeedTableView.m; path = BIObjCHelpers/Datasource/TableView/BIDatasourceFeedTableView.m; sourceTree = ""; }; + 422BA3FE7D2AFD42FFB5E4D7848FEBB9 /* BIOperationBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIOperationBase.h; path = BIObjCHelpers/Operations/BIOperationBase.h; sourceTree = ""; }; + 4245C1CE8B88AAD456D08624BF8C9371 /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AFNetworking.m"; path = "UIKit+AFNetworking/UIButton+AFNetworking.m"; sourceTree = ""; }; + 44ADB0494B359BE89BBE6C1F073DE610 /* Mantle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Mantle.h; path = Mantle/Mantle.h; sourceTree = ""; }; + 44F9114829BD3036797E7AC9AF98E50C /* Reachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Reachability.h; sourceTree = ""; }; + 45ACF17DD84713BF88F19E271C8BE618 /* BISerialOperationQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BISerialOperationQueue.h; path = BIObjCHelpers/OperationQueue/BISerialOperationQueue.h; sourceTree = ""; }; + 482948E025BCED36D25DC102145F4A77 /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; + 4B8DC5015DDF9C817E541C9328DC9C6F /* BIDatasourceFetchedFeedTableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceFetchedFeedTableView.m; path = BIObjCHelpers/Datasource/TableView/BIDatasourceFetchedFeedTableView.m; sourceTree = ""; }; + 4BB64E456E27C20F29D50253B51780C2 /* IQKeyboardManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQKeyboardManager.h; path = IQKeyboardManager/IQKeyboardManager.h; sourceTree = ""; }; + 4D62EB7546F5241681D2994CB95F20C4 /* NSError+MTLModelException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSError+MTLModelException.h"; path = "Mantle/NSError+MTLModelException.h"; sourceTree = ""; }; + 4DE76D614BBBC38ACB69C005AE4E6DAF /* AbstractActionSheetPicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AbstractActionSheetPicker.m; path = Pickers/AbstractActionSheetPicker.m; sourceTree = ""; }; + 4E66447AF3F228F723AB2AB6D1C2A3A0 /* ActionSheetPicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ActionSheetPicker.h; path = Pickers/ActionSheetPicker.h; sourceTree = ""; }; + 50611633D06ACE4371C28B29DD356640 /* SBJson-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SBJson-prefix.pch"; sourceTree = ""; }; + 510D3A8C93F003CAFD9E8E0024E09E51 /* BIScrollAdditionalNoContentView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIScrollAdditionalNoContentView.m; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalNoContentView.m; sourceTree = ""; }; + 514ED7E7F33E1ECFB6D75758E1A8E5AB /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValueTransformer+MTLPredefinedTransformerAdditions.m"; path = "Mantle/NSValueTransformer+MTLPredefinedTransformerAdditions.m"; sourceTree = ""; }; + 543D36D3970AAA798544477D9F88555B /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIActivityIndicatorView+AFNetworking.m"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m"; sourceTree = ""; }; + 547022564766494BABEC45F59D0040CA /* IQKeyboardManagerConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQKeyboardManagerConstants.h; path = IQKeyboardManager/Constants/IQKeyboardManagerConstants.h; sourceTree = ""; }; + 578512A4AA1F57E2379EFA50CD6120BD /* MTLModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLModel.h; path = Mantle/MTLModel.h; sourceTree = ""; }; + 5859B02B9EAC7B410F22EB3EB6761A91 /* IQNSArray+Sort.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "IQNSArray+Sort.h"; path = "IQKeyboardManager/Categories/IQNSArray+Sort.h"; sourceTree = ""; }; + 58879BFC1C5A46E0EB6BE77B4E1EEE9E /* BIOperationQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIOperationQueue.m; path = BIObjCHelpers/OperationQueue/BIOperationQueue.m; sourceTree = ""; }; + 58F0F950556562CB407D4E852C622144 /* metamacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = metamacros.h; path = Mantle/extobjc/metamacros.h; sourceTree = ""; }; + 593EAB1BFADFB78EFD7B64F9D2233571 /* ActionSheetCustomPickerDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ActionSheetCustomPickerDelegate.h; path = Pickers/ActionSheetCustomPickerDelegate.h; sourceTree = ""; }; + 59BCF33D4E97BBF6C191CF75655FD24E /* BITableViewUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BITableViewUtils.h; path = BIObjCHelpers/Utils/BITableViewUtils.h; sourceTree = ""; }; + 5A9B08B094725A783B46D6EDBAD07CBA /* BIOperationBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIOperationBase.m; path = BIObjCHelpers/Operations/BIOperationBase.m; sourceTree = ""; }; + 5ABD16D9E91D3FC4D7F293E8C49E3675 /* BIScrollAdditionalErrorNoContentView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIScrollAdditionalErrorNoContentView.m; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalErrorNoContentView.m; sourceTree = ""; }; + 5AF0466154D6AF1497B403B35C377E96 /* BICollectionViewActivityIndicatorReusableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BICollectionViewActivityIndicatorReusableView.h; path = "BIObjCHelpers/Views/CollectionView/Activity Indicator/BICollectionViewActivityIndicatorReusableView.h"; sourceTree = ""; }; + 5BB80C835D04160704DDD125C0336F34 /* NSString+BIExtra.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+BIExtra.m"; path = "BIObjCHelpers/Categories/NSString/NSString+BIExtra.m"; sourceTree = ""; }; + 5CD625DB252813C749A2AFC4DFE40F26 /* BIHandlerTableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIHandlerTableView.m; path = BIObjCHelpers/Handlers/TableView/BIHandlerTableView.m; sourceTree = ""; }; + 5D28BE028B8ECE55637F5A8F35A87A2F /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIWebView+AFNetworking.h"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.h"; sourceTree = ""; }; + 5D32036F60D79048DBB77D715D06E760 /* IQUIView+IQKeyboardToolbar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "IQUIView+IQKeyboardToolbar.h"; path = "IQKeyboardManager/IQToolbar/IQUIView+IQKeyboardToolbar.h"; sourceTree = ""; }; + 5EE1130590C5CB9304B4DB5EBF2521D1 /* IQTextView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQTextView.m; path = IQKeyboardManager/IQTextView/IQTextView.m; sourceTree = ""; }; + 5F4D90B902AC8EB74B95237983E0C2B8 /* Reachability-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Reachability-prefix.pch"; sourceTree = ""; }; + 60B1593D8ABC0E6253C1B4863C4990AA /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h"; sourceTree = ""; }; + 629C94170CF5C9FCC2823666318F03D8 /* AFImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFImageDownloader.h; path = "UIKit+AFNetworking/AFImageDownloader.h"; sourceTree = ""; }; + 62FAB0283416E5221E0583C772E3DF6E /* UIScrollView+InfiniteScroll.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+InfiniteScroll.h"; path = "BIObjCHelpers/ExternalLibs/UIScrollView+InfiniteScroll/UIScrollView+InfiniteScroll.h"; sourceTree = ""; }; 6320170E5A5A268B11CAE15D4EF6A9E3 /* libPINCache.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libPINCache.a; path = libPINCache.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 64873A162CCCEB07E5185DDDA81FF309 /* BIHandlerBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIHandlerBase.m; path = BIObjCHelpers/Handlers/Base/BIHandlerBase.m; sourceTree = ""; }; - 6689F211E7F33DBD738F57E172CF88D8 /* MTLModel+NSCoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MTLModel+NSCoding.m"; path = "Mantle/MTLModel+NSCoding.m"; sourceTree = ""; }; - 66E541FA70A29F1759FA9B4108C5A084 /* SBJson5StreamWriter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson5StreamWriter.m; path = Classes/SBJson5StreamWriter.m; sourceTree = ""; }; - 696D28FAADF066C807F4838A3F3A8971 /* BIDatasourceFetchedTableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceFetchedTableView.h; path = BIObjCHelpers/Datasource/TableView/BIDatasourceFetchedTableView.h; sourceTree = ""; }; - 6A8B95B6C5C04143836702A614013037 /* BIOperationBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIOperationBase.h; path = BIObjCHelpers/Operations/BIOperationBase.h; sourceTree = ""; }; + 6550D5E97DBC85434D955EE28D8EA3F9 /* BIDatasourceFeedTableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceFeedTableView.h; path = BIObjCHelpers/Datasource/TableView/BIDatasourceFeedTableView.h; sourceTree = ""; }; + 65AF90A3E73753F4018C9F9441DB999C /* IQToolbar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQToolbar.h; path = IQKeyboardManager/IQToolbar/IQToolbar.h; sourceTree = ""; }; + 66253BCB2F021488235B551552E9945C /* BIDatasourceFetchedCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceFetchedCollectionView.h; path = BIObjCHelpers/Datasource/CollectionView/BIDatasourceFetchedCollectionView.h; sourceTree = ""; }; + 6709E4C37B6F8ABA1DA7F6028CE3FDE0 /* IQUIViewController+Additions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "IQUIViewController+Additions.m"; path = "IQKeyboardManager/Categories/IQUIViewController+Additions.m"; sourceTree = ""; }; + 68A23AF8E66A74F27E4A1C897D02C4E1 /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIProgressView+AFNetworking.m"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.m"; sourceTree = ""; }; + 6A46AA4C2AC496F227843B59EF1AB181 /* SBJson5Writer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson5Writer.m; path = Classes/SBJson5Writer.m; sourceTree = ""; }; 6AC37F065C9D1CBE10A58948531E512B /* Pods-TestApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TestApp.release.xcconfig"; sourceTree = ""; }; + 6B9D15A65A0399127B93E4B704461467 /* SBJson5StreamParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5StreamParser.h; path = Classes/SBJson5StreamParser.h; sourceTree = ""; }; 6BCD3E077861DE8917A0FFFBC6BD96CF /* libMantle.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libMantle.a; path = libMantle.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 6DEEE04233F4A9DA4D9FCF1B84BB1830 /* MTLReflection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLReflection.h; path = Mantle/MTLReflection.h; sourceTree = ""; }; - 71222416617FD1F7655CFCDD315D8DB4 /* BIScrollAdditionalNoContentView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIScrollAdditionalNoContentView.h; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalNoContentView.h; sourceTree = ""; }; - 71F28D3EFDA31BF52B315471179E1026 /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; - 71F4B28F32670FA64F877E14CE476002 /* UIImage+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+AFNetworking.h"; path = "UIKit+AFNetworking/UIImage+AFNetworking.h"; sourceTree = ""; }; - 726FD55690315641EEEC0E1E855E65B6 /* SBJson5.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5.h; path = Classes/SBJson5.h; sourceTree = ""; }; - 7376AA8F315296C8A35801E244EBEB16 /* BIScrollAdditionalLoadingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIScrollAdditionalLoadingView.h; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalLoadingView.h; sourceTree = ""; }; - 73C815FB0B967F3C7948A26FFA03F2CB /* Lockbox.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Lockbox.m; sourceTree = ""; }; - 756411C84C1E00AEFCB4B12C61C62B9A /* IQUIScrollView+Additions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "IQUIScrollView+Additions.m"; path = "IQKeyboardManager/Categories/IQUIScrollView+Additions.m"; sourceTree = ""; }; - 75BB5A3DCC80C12DD8E67762E144C6D5 /* IQKeyboardManagerConstantsInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQKeyboardManagerConstantsInternal.h; path = IQKeyboardManager/Constants/IQKeyboardManagerConstantsInternal.h; sourceTree = ""; }; - 776EFF94B5DDAD67C53586856BC28954 /* EXTScope.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXTScope.m; path = Mantle/extobjc/EXTScope.m; sourceTree = ""; }; - 7840B0D9ED038094977BBC44AA6B9F67 /* IQUITextFieldView+Additions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "IQUITextFieldView+Additions.h"; path = "IQKeyboardManager/Categories/IQUITextFieldView+Additions.h"; sourceTree = ""; }; - 78B7C042BC5C4B9D2820A057F5DF11BB /* NSObject+MTLComparisonAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MTLComparisonAdditions.h"; path = "Mantle/NSObject+MTLComparisonAdditions.h"; sourceTree = ""; }; - 790DA447629E47CE51DFAF3C14A0765E /* IQNSArray+Sort.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "IQNSArray+Sort.m"; path = "IQKeyboardManager/Categories/IQNSArray+Sort.m"; sourceTree = ""; }; - 7BB7544597F09B2FDA52EFFB1417FB21 /* BILaunchStartersFactory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BILaunchStartersFactory.h; path = BIObjCHelpers/Starters/BILaunchStartersFactory.h; sourceTree = ""; }; - 7C6DC04CB2292559CF3E6520BEB59A59 /* BIScrollAdditionalNoContentView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIScrollAdditionalNoContentView.m; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalNoContentView.m; sourceTree = ""; }; - 7CB42007C7E77387854F4B64559DBDF7 /* SBJson5StreamWriter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5StreamWriter.h; path = Classes/SBJson5StreamWriter.h; sourceTree = ""; }; - 7D08B5299F51DDA0B29BD0659F9A665E /* BIHandlerTableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIHandlerTableView.m; path = BIObjCHelpers/Handlers/TableView/BIHandlerTableView.m; sourceTree = ""; }; - 7EACCD6C8CCF94F00DE5827B72711EB9 /* NSArray+MTLManipulationAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+MTLManipulationAdditions.m"; path = "Mantle/NSArray+MTLManipulationAdditions.m"; sourceTree = ""; }; - 7EBB974A391A03A3BAA6ECE230019926 /* BIActivityIndicatorContainerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIActivityIndicatorContainerView.h; path = BIObjCHelpers/Views/TableView/ActivityIndicator/BIActivityIndicatorContainerView.h; sourceTree = ""; }; - 7F8656CE46E4E28C7F08C42B0106F0AF /* BIDatasourceCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceCollectionView.h; path = BIObjCHelpers/Datasource/CollectionView/BIDatasourceCollectionView.h; sourceTree = ""; }; - 7F9254ACA93B8186B0E914ED3D2602FE /* MBProgressHUD.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MBProgressHUD.m; sourceTree = ""; }; - 815CFFF8574C7365FA4FBE6C99865145 /* IQKeyboardReturnKeyHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQKeyboardReturnKeyHandler.m; path = IQKeyboardManager/IQKeyboardReturnKeyHandler.m; sourceTree = ""; }; - 83441611D7619206C2EF725D377E261A /* PINCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PINCache.m; path = PINCache/PINCache.m; sourceTree = ""; }; - 86E2C3C32D7741C647FA780301A2811C /* BIDatasourceFeedTableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceFeedTableView.m; path = BIObjCHelpers/Datasource/TableView/BIDatasourceFeedTableView.m; sourceTree = ""; }; - 87A926E42500DFAC0AB4850C549C1491 /* PINCache.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PINCache.xcconfig; sourceTree = ""; }; - 89ACDACCDB165E4EFEF326FCC36E4AD3 /* SBJson5StreamWriterState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson5StreamWriterState.m; path = Classes/SBJson5StreamWriterState.m; sourceTree = ""; }; - 89DA197029E9314C32F0F52AB056B82B /* BIObjCHelpers-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BIObjCHelpers-dummy.m"; sourceTree = ""; }; + 6C1ACE6AEAA54170E02A43BF500F8BFF /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; + 6C954176EEF4F9FF92D809259ACAFCA8 /* NSDictionary+MTLMappingAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+MTLMappingAdditions.h"; path = "Mantle/NSDictionary+MTLMappingAdditions.h"; sourceTree = ""; }; + 6DB46209C5541AB7F87E52255B6570F6 /* IQKeyboardReturnKeyHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQKeyboardReturnKeyHandler.m; path = IQKeyboardManager/IQKeyboardReturnKeyHandler.m; sourceTree = ""; }; + 6DC50607C77F25164CC4267DCF20938A /* BIScrollAdditionalNoContentView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIScrollAdditionalNoContentView.h; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalNoContentView.h; sourceTree = ""; }; + 6DE4F43EFAB90DD44F6F8F98221F398C /* ActionSheetMultipleStringPicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ActionSheetMultipleStringPicker.m; path = Pickers/ActionSheetMultipleStringPicker.m; sourceTree = ""; }; + 6E7DBE6BB97EF8A55A29E489478E88F5 /* IQTextView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQTextView.h; path = IQKeyboardManager/IQTextView/IQTextView.h; sourceTree = ""; }; + 6EEECC39F43D107A211236512665B537 /* SBJson5StreamWriter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson5StreamWriter.m; path = Classes/SBJson5StreamWriter.m; sourceTree = ""; }; + 72393806E36877D8A77852213B48BCAD /* IQUIWindow+Hierarchy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "IQUIWindow+Hierarchy.m"; path = "IQKeyboardManager/Categories/IQUIWindow+Hierarchy.m"; sourceTree = ""; }; + 728E1F08ACEE89FB9FBFCE5083D08B4C /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; + 74017DBE62A7DFC56032896DA28967AE /* BICollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BICollectionView.h; path = BIObjCHelpers/Views/CollectionView/BICollectionView.h; sourceTree = ""; }; + 741947205E43EAD92D861AAEAB1D3B20 /* ActionSheetPicker-3.0-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ActionSheetPicker-3.0-prefix.pch"; sourceTree = ""; }; + 74239C1FCC1807DFD62F627727C3F0AB /* NSDictionary+MTLMappingAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+MTLMappingAdditions.m"; path = "Mantle/NSDictionary+MTLMappingAdditions.m"; sourceTree = ""; }; + 748876CD2D07BE659ECAB0C7A1D7FF45 /* IQKeyboardManagerConstantsInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQKeyboardManagerConstantsInternal.h; path = IQKeyboardManager/Constants/IQKeyboardManagerConstantsInternal.h; sourceTree = ""; }; + 750A351C5D691228F52527B80F2A7745 /* NSValueTransformer+MTLInversionAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValueTransformer+MTLInversionAdditions.m"; path = "Mantle/NSValueTransformer+MTLInversionAdditions.m"; sourceTree = ""; }; + 76ED4B8833FF30C03AF69A6819B6F11A /* EXTScope.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXTScope.h; path = Mantle/extobjc/EXTScope.h; sourceTree = ""; }; + 77A5CFCB5AB9F3313BA9172086827939 /* BIObjCHelpers-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BIObjCHelpers-prefix.pch"; sourceTree = ""; }; + 7877E71FEF61F9EAAC96C3DEA0E65218 /* BIOperationQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIOperationQueue.h; path = BIObjCHelpers/OperationQueue/BIOperationQueue.h; sourceTree = ""; }; + 79EDC8A1A4B7B08D30B1C9C7DAECD672 /* MTLModel+NSCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MTLModel+NSCoding.h"; path = "Mantle/MTLModel+NSCoding.h"; sourceTree = ""; }; + 7A74B4F9641F518B6889AF9E21027E26 /* BIStartersFactory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIStartersFactory.m; path = BIObjCHelpers/Starters/BIStartersFactory.m; sourceTree = ""; }; + 7CB1F9DC60F11F8F54C38BB2B600DD28 /* IQUIViewController+Additions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "IQUIViewController+Additions.h"; path = "IQKeyboardManager/Categories/IQUIViewController+Additions.h"; sourceTree = ""; }; + 7E29449BAD4956DF04BAC472C09B4E43 /* BIOperationNotifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIOperationNotifier.h; path = BIObjCHelpers/Operations/BIOperationNotifier.h; sourceTree = ""; }; + 7EB152066902B57DF4411DF4D57B225E /* ActionSheetLocalePicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ActionSheetLocalePicker.h; path = Pickers/ActionSheetLocalePicker.h; sourceTree = ""; }; + 7EF6E4B0A0EF66FE768437592ED95E62 /* IQKeyboardManager-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQKeyboardManager-dummy.m"; sourceTree = ""; }; + 803895A97D778C8D0B055D1BD8ECF7F0 /* ActionSheetDistancePicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ActionSheetDistancePicker.h; path = Pickers/ActionSheetDistancePicker.h; sourceTree = ""; }; + 8041F9FA341AA62BCE6B9966D105E331 /* SBJson5Parser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson5Parser.m; path = Classes/SBJson5Parser.m; sourceTree = ""; }; + 80440EDF2A0426F76477FA281DC31BE6 /* NSDictionary+MTLJSONKeyPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+MTLJSONKeyPath.h"; path = "Mantle/NSDictionary+MTLJSONKeyPath.h"; sourceTree = ""; }; + 80AA8A5B6BE964EB905A0056F5A29BB7 /* MTLValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLValueTransformer.m; path = Mantle/MTLValueTransformer.m; sourceTree = ""; }; + 81078687867F115C6FB801292209A692 /* IQTitleBarButtonItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQTitleBarButtonItem.h; path = IQKeyboardManager/IQToolbar/IQTitleBarButtonItem.h; sourceTree = ""; }; + 82A4E5A1774B7B0F7F3089B2F1846C4E /* NSDate+BIAttributedString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDate+BIAttributedString.h"; path = "BIObjCHelpers/Categories/NSDate/NSDate+BIAttributedString.h"; sourceTree = ""; }; + 83029FAD04BEB50A361DFBF86F1A211B /* _BITableView+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "_BITableView+Internal.h"; path = "BIObjCHelpers/Views/TableView/_BITableView+Internal.h"; sourceTree = ""; }; + 84DA373376A32B36BDE2E3320CD88846 /* BICollectionViewActivityIndicatorReusableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BICollectionViewActivityIndicatorReusableView.m; path = "BIObjCHelpers/Views/CollectionView/Activity Indicator/BICollectionViewActivityIndicatorReusableView.m"; sourceTree = ""; }; + 8509773CA5F14A02CE21E0B6332186E1 /* DistancePickerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DistancePickerView.h; path = Pickers/DistancePickerView.h; sourceTree = ""; }; + 858AC8C0BFF49E28E665FF738B20979F /* IQKeyboardManager-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardManager-prefix.pch"; sourceTree = ""; }; + 85A9078851934621236581B2A4D6CB5A /* NSDate+BIAttributedString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDate+BIAttributedString.m"; path = "BIObjCHelpers/Categories/NSDate/NSDate+BIAttributedString.m"; sourceTree = ""; }; + 8778734B0B7D593C6992A5575E78B2FE /* BIHandlerCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIHandlerCollectionView.m; path = BIObjCHelpers/Handlers/CollectionView/BIHandlerCollectionView.m; sourceTree = ""; }; + 89B9F02BF2499C59143F6FE42554BC41 /* NSValueTransformer+MTLInversionAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValueTransformer+MTLInversionAdditions.h"; path = "Mantle/NSValueTransformer+MTLInversionAdditions.h"; sourceTree = ""; }; + 8A3E38E4E94D7378BE3785DE30B19F17 /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; 8B8FAB0D627B17EDE1366984278705D9 /* libMBProgressHUD.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libMBProgressHUD.a; path = libMBProgressHUD.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D387F5297B6F50F2CAC77CBC81438F1 /* IQPreviousNextView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQPreviousNextView.m; path = IQKeyboardManager/IQToolbar/IQPreviousNextView.m; sourceTree = ""; }; - 8D78F7575F98D0D1FEECFF8E7DFA0B7B /* IQKeyboardManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQKeyboardManager.m; path = IQKeyboardManager/IQKeyboardManager.m; sourceTree = ""; }; - 8DB4E54C2CFE61F024F6F782FFE79F6A /* BIOperationBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIOperationBase.m; path = BIObjCHelpers/Operations/BIOperationBase.m; sourceTree = ""; }; - 8F0CBE111FBB567DD643E441E14EE335 /* NSError+MTLModelException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSError+MTLModelException.m"; path = "Mantle/NSError+MTLModelException.m"; sourceTree = ""; }; - 90B2CCB5E0E5AEBE70ED4C47F68A1A21 /* NSDictionary+MTLManipulationAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+MTLManipulationAdditions.h"; path = "Mantle/NSDictionary+MTLManipulationAdditions.h"; sourceTree = ""; }; - 91E64C83EEB5F70BA0F84FC901964CCE /* BISerialOperationQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BISerialOperationQueue.h; path = BIObjCHelpers/OperationQueue/BISerialOperationQueue.h; sourceTree = ""; }; - 9229EA430E10516C474D836DF3A48038 /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; - 9399B35B4F9578845E3D87E7D6A7CC47 /* BIDatasourceFeedTableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceFeedTableView.h; path = BIObjCHelpers/Datasource/TableView/BIDatasourceFeedTableView.h; sourceTree = ""; }; - 943AF30140E7F3AF44B48190975D7C72 /* BITableViewCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BITableViewCell.m; path = BIObjCHelpers/Views/TableView/Cell/BITableViewCell.m; sourceTree = ""; }; - 960A624F358A539C9C1F84BF28054489 /* SBJson5Parser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson5Parser.m; path = Classes/SBJson5Parser.m; sourceTree = ""; }; - 9691889027D1ADD406054B0CD222EE9F /* BITableViewUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BITableViewUtils.h; path = BIObjCHelpers/Utils/BITableViewUtils.h; sourceTree = ""; }; - 96E20804E4C28413A3CCF8DB43104BFE /* BIScrollDetails.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIScrollDetails.h; path = BIObjCHelpers/Utils/BIScrollDetails.h; sourceTree = ""; }; - 9765A26000FA49705DE6CD0C621DC358 /* NSValueTransformer+MTLInversionAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValueTransformer+MTLInversionAdditions.m"; path = "Mantle/NSValueTransformer+MTLInversionAdditions.m"; sourceTree = ""; }; - 978E837F5ED0415855F6DA6637985422 /* NSArray+MTLManipulationAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MTLManipulationAdditions.h"; path = "Mantle/NSArray+MTLManipulationAdditions.h"; sourceTree = ""; }; + 8BA31CCF0FFEB71718789B5398ED49E1 /* PINCacheObjectSubscripting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PINCacheObjectSubscripting.h; path = PINCache/PINCacheObjectSubscripting.h; sourceTree = ""; }; + 8C27587E6533C811A9B458D2E2B3380D /* BIScrollAdditionalLoadingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIScrollAdditionalLoadingView.h; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalLoadingView.h; sourceTree = ""; }; + 8C9B46B9A0175599D32446EB08F51CB4 /* PINMemoryCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PINMemoryCache.m; path = PINCache/PINMemoryCache.m; sourceTree = ""; }; + 90D439DF5BB6B66269A09DB4A5CB8930 /* ActionSheetDistancePicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ActionSheetDistancePicker.m; path = Pickers/ActionSheetDistancePicker.m; sourceTree = ""; }; + 90DA24E6F6111ED014D8961BE1CF49D6 /* EXTRuntimeExtensions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXTRuntimeExtensions.m; path = Mantle/extobjc/EXTRuntimeExtensions.m; sourceTree = ""; }; + 910ABE949A92CD1DA92EEC6F3EDACB62 /* BIDatasourceTableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceTableView.h; path = BIObjCHelpers/Datasource/TableView/BIDatasourceTableView.h; sourceTree = ""; }; + 928F59E3BF05BCF090D0A6144F08A73D /* IQKeyboardManager.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardManager.xcconfig; sourceTree = ""; }; + 94404E1AF5DA34B98FE06C051D563539 /* Lockbox.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Lockbox.m; sourceTree = ""; }; + 9486168CFB5365D643B1A6E253F88154 /* BIDatasourceFetchedCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceFetchedCollectionView.m; path = BIObjCHelpers/Datasource/CollectionView/BIDatasourceFetchedCollectionView.m; sourceTree = ""; }; 98527D7196957AAB07B79E2E2AFDE23E /* libIQKeyboardManager.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libIQKeyboardManager.a; path = libIQKeyboardManager.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 99F73C0998735017BE1047C0DB92833A /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; - 9B11C70B7938740555C18309F3CD6E4B /* _BIScrollViewProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _BIScrollViewProxy.m; path = BIObjCHelpers/Utils/Proxy/_BIScrollViewProxy.m; sourceTree = ""; }; - 9D25936BC04CA22381023A33A10E0A8A /* NSString+BIExtra.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+BIExtra.m"; path = "BIObjCHelpers/Categories/NSString/NSString+BIExtra.m"; sourceTree = ""; }; - 9D484BAE37792B8214664E48C4C3AD94 /* MTLValueTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLValueTransformer.h; path = Mantle/MTLValueTransformer.h; sourceTree = ""; }; + 99B5705539ABCCE19A857341424487FC /* SBJson5StreamWriter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5StreamWriter.h; path = Classes/SBJson5StreamWriter.h; sourceTree = ""; }; + 9ADDDB594250E6BFC788F32022824EF8 /* BIOperationNotifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIOperationNotifier.m; path = BIObjCHelpers/Operations/BIOperationNotifier.m; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9FF274389B59C43B61DAAF4DB5D3BAE0 /* NSBundle+BIExtra.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBundle+BIExtra.m"; path = "BIObjCHelpers/Categories/NSBundle/NSBundle+BIExtra.m"; sourceTree = ""; }; - A0014FA6B06C7567795E18D944869847 /* BIHandlerTableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIHandlerTableView.h; path = BIObjCHelpers/Handlers/TableView/BIHandlerTableView.h; sourceTree = ""; }; - A06EFA7BDA3C797E2664A088EE80A0B4 /* BIDatasourceBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceBase.m; path = BIObjCHelpers/Datasource/Base/BIDatasourceBase.m; sourceTree = ""; }; - A24633D8A60F56D859390F17EC631CA2 /* BIDatasourceBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceBase.h; path = BIObjCHelpers/Datasource/Base/BIDatasourceBase.h; sourceTree = ""; }; - A37BE216C52D1B21AF97268602309C86 /* IQUIView+Hierarchy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "IQUIView+Hierarchy.m"; path = "IQKeyboardManager/Categories/IQUIView+Hierarchy.m"; sourceTree = ""; }; - A3A7755FA824C9AB4652900720EE4BC6 /* NSError+MTLModelException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSError+MTLModelException.h"; path = "Mantle/NSError+MTLModelException.h"; sourceTree = ""; }; - A436CA6DB413B8CC8B7390BFCAEBE1EA /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; - A4DA1D65353183131E81E838D7B16168 /* BIBatchResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIBatchResponse.h; path = BIObjCHelpers/Batch/BIBatchResponse.h; sourceTree = ""; }; + 9DE17E5004A6C154CE64161DF0BCB6B7 /* NSArray+MTLManipulationAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+MTLManipulationAdditions.m"; path = "Mantle/NSArray+MTLManipulationAdditions.m"; sourceTree = ""; }; + 9FBA4210EBF3D16F78946D7B37B6FABC /* BILaunchStartersFactory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BILaunchStartersFactory.h; path = BIObjCHelpers/Starters/BILaunchStartersFactory.h; sourceTree = ""; }; + A090EAC7ADED4542BB0DC358B0C4C8C9 /* IQUIScrollView+Additions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "IQUIScrollView+Additions.m"; path = "IQKeyboardManager/Categories/IQUIScrollView+Additions.m"; sourceTree = ""; }; + A13AE0199305078902273D198D5C671A /* ActionSheetPicker-3.0-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ActionSheetPicker-3.0-dummy.m"; sourceTree = ""; }; + A1A66B0CED13EB8F642715BDA4F0ADA9 /* PINDiskCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PINDiskCache.m; path = PINCache/PINDiskCache.m; sourceTree = ""; }; + A1C0180D366D79795CD5482BBFC6DE64 /* NSDictionary+MTLJSONKeyPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+MTLJSONKeyPath.m"; path = "Mantle/NSDictionary+MTLJSONKeyPath.m"; sourceTree = ""; }; + A31F4939109428F8CDC5D1D21E3BA548 /* BIObjCHelpers-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BIObjCHelpers-dummy.m"; sourceTree = ""; }; + A488EF8483262371D74884202E6DC520 /* IQKeyboardReturnKeyHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQKeyboardReturnKeyHandler.h; path = IQKeyboardManager/IQKeyboardReturnKeyHandler.h; sourceTree = ""; }; A4FA15D44DF6BAC7550EDEED10862AA3 /* libAFNetworking.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libAFNetworking.a; path = libAFNetworking.a; sourceTree = BUILT_PRODUCTS_DIR; }; - A6130548A67AA3A867C81712C7CF3939 /* MTLJSONAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLJSONAdapter.m; path = Mantle/MTLJSONAdapter.m; sourceTree = ""; }; - A659A674FC21C108DBC3BF8C810CFB06 /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AFNetworking.m"; path = "UIKit+AFNetworking/UIButton+AFNetworking.m"; sourceTree = ""; }; - A6C7024E09354E903EA7A60CC02A4745 /* Lockbox-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Lockbox-prefix.pch"; sourceTree = ""; }; - A89DC08E34593C187ACEC053CF268437 /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIWebView+AFNetworking.m"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.m"; sourceTree = ""; }; - AA30B0C4E8086DBE07C46A93C4ACA39E /* MTLTransformerErrorHandling.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLTransformerErrorHandling.h; path = Mantle/MTLTransformerErrorHandling.h; sourceTree = ""; }; + A6B49C8F4C3141E8FB39D3355687D071 /* MBProgressHUD.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MBProgressHUD.m; sourceTree = ""; }; + A770AE012F78DE0A01F0BACC83088574 /* BIActivityIndicatorContainerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIActivityIndicatorContainerView.h; path = BIObjCHelpers/Views/TableView/ActivityIndicator/BIActivityIndicatorContainerView.h; sourceTree = ""; }; + A7A265587B0C9779EF4A8FE87AAC8A1C /* BIDatasourceFetchedTableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceFetchedTableView.m; path = BIObjCHelpers/Datasource/TableView/BIDatasourceFetchedTableView.m; sourceTree = ""; }; + A8DCF15FDD8F87BCDF068E7420B3A32B /* SBJson5.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5.h; path = Classes/SBJson5.h; sourceTree = ""; }; + A972A65B21B3AC37A5E80C3CB30F49EA /* BIDatasourceFetchedFeedTableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceFetchedFeedTableView.h; path = BIObjCHelpers/Datasource/TableView/BIDatasourceFetchedFeedTableView.h; sourceTree = ""; }; + A9F59E4BD1C78152A70C4F1C18698C2F /* BIDatasourceCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceCollectionView.h; path = BIObjCHelpers/Datasource/CollectionView/BIDatasourceCollectionView.h; sourceTree = ""; }; AA94CCC41BA545854AAE9382F2D53028 /* libBIObjCHelpers.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libBIObjCHelpers.a; path = libBIObjCHelpers.a; sourceTree = BUILT_PRODUCTS_DIR; }; - AAEA1F4E4BCD2525F2340BE2CC5AC23F /* Reachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Reachability.h; sourceTree = ""; }; - AC25CC612222C946BFC47B5AD8096F06 /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AFNetworking.h"; path = "UIKit+AFNetworking/UIButton+AFNetworking.h"; sourceTree = ""; }; - ACAAAA81D6E69B8A2E1180B1AC8DE999 /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; - AD8DB6D48F20D19CE14ECF3E0BCF101C /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; + AAA809DC0691F357550B687ED41F90FC /* BITableViewCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BITableViewCell.m; path = BIObjCHelpers/Views/TableView/Cell/BITableViewCell.m; sourceTree = ""; }; + AAC684894CEB2E93913061AA14377144 /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; + AC17522B0F91924FBB4BFFDE289C175E /* MBProgressHUD.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MBProgressHUD.xcconfig; sourceTree = ""; }; + ACCBEAC04D3985D984832F82DB94E847 /* BIScrollDetails.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIScrollDetails.h; path = BIObjCHelpers/Utils/BIScrollDetails.h; sourceTree = ""; }; ADB310452830CEAE8AC8EB845E07587A /* Pods-TestApp-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TestApp-acknowledgements.plist"; sourceTree = ""; }; + AE027DFB1A69A94BD6471164BD433DF7 /* Mantle-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Mantle-dummy.m"; sourceTree = ""; }; + AE10421747FA5F15EF9957034EFCFB0B /* BISerialOperationQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BISerialOperationQueue.m; path = BIObjCHelpers/OperationQueue/BISerialOperationQueue.m; sourceTree = ""; }; AF5DD94E0C9594A6E2D1D50BF7D33507 /* libLockbox.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libLockbox.a; path = libLockbox.a; sourceTree = BUILT_PRODUCTS_DIR; }; - B009B9059F51B90A57993C2E883782E4 /* Mantle.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Mantle.xcconfig; sourceTree = ""; }; - B01DC46B2F4462609E41BBE31806160B /* IQUIWindow+Hierarchy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "IQUIWindow+Hierarchy.m"; path = "IQKeyboardManager/Categories/IQUIWindow+Hierarchy.m"; sourceTree = ""; }; - B12D738F605574C002D590C0E4BBC210 /* UIScrollView+InfiniteScroll.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+InfiniteScroll.m"; path = "BIObjCHelpers/ExternalLibs/UIScrollView+InfiniteScroll/UIScrollView+InfiniteScroll.m"; sourceTree = ""; }; - B249CEF14FD02BC0A70EB530B3BE7200 /* SBJson.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SBJson.xcconfig; sourceTree = ""; }; - B3117D0940C65DB2D5BB083B5C63A881 /* Reachability-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Reachability-dummy.m"; sourceTree = ""; }; - B4B9827A9FE4879A03E16A520A2FEBB1 /* IQKeyboardManager.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = IQKeyboardManager.bundle; path = IQKeyboardManager/Resources/IQKeyboardManager.bundle; sourceTree = ""; }; - B7947B64FC3286806806B82C53D5E8EF /* IQKeyboardManager-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardManager-prefix.pch"; sourceTree = ""; }; - B7EEC35847334D494E6B23DA1D0E3ECC /* IQUIView+Hierarchy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "IQUIView+Hierarchy.h"; path = "IQKeyboardManager/Categories/IQUIView+Hierarchy.h"; sourceTree = ""; }; - B90CBDCD0364DCBF3383C90DE03E2A8B /* AFAutoPurgingImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFAutoPurgingImageCache.h; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.h"; sourceTree = ""; }; - BAEE04CEFB91CEEF55C2D3DD7E5A48A1 /* IQBarButtonItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQBarButtonItem.h; path = IQKeyboardManager/IQToolbar/IQBarButtonItem.h; sourceTree = ""; }; + AF726F0CF7B3C51482325B4C7681674D /* PINCache.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PINCache.xcconfig; sourceTree = ""; }; + B01010A8C145B3512C4020F715B1AE86 /* Mantle.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Mantle.xcconfig; sourceTree = ""; }; + B0BE0FE6005E1E22087377C0A16AAB09 /* ActionSheetPicker-3.0.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "ActionSheetPicker-3.0.xcconfig"; sourceTree = ""; }; + B1722858ED9170C7559ACC8E6788D524 /* IQUIView+Hierarchy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "IQUIView+Hierarchy.m"; path = "IQKeyboardManager/Categories/IQUIView+Hierarchy.m"; sourceTree = ""; }; + B3E458D1BF79516F5AD90592A0D9DE51 /* UIScrollView+BIBatching.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+BIBatching.m"; path = "BIObjCHelpers/Views/ScrollView/UIScrollView+BIBatching.m"; sourceTree = ""; }; + B3F3B77AD293D51EBC8B00AE6CA85DB5 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; + B4C0EA11C9B7232E775B0B25FFEE91CC /* NSObject+MTLComparisonAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+MTLComparisonAdditions.m"; path = "Mantle/NSObject+MTLComparisonAdditions.m"; sourceTree = ""; }; + B6303C06F01AC91C694628774C98F99D /* Reachability.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Reachability.xcconfig; sourceTree = ""; }; + B6B875DB2B8BCBC175530FF0CC31D9C6 /* NSString+BIExtra.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+BIExtra.h"; path = "BIObjCHelpers/Categories/NSString/NSString+BIExtra.h"; sourceTree = ""; }; + B7AD969F6FA74F43BB5A3C5108EED868 /* AFCompatibilityMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFCompatibilityMacros.h; path = AFNetworking/AFCompatibilityMacros.h; sourceTree = ""; }; + B808E37A0DBD8EFCA91D1305A70778CE /* IQUIView+IQKeyboardToolbar.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "IQUIView+IQKeyboardToolbar.m"; path = "IQKeyboardManager/IQToolbar/IQUIView+IQKeyboardToolbar.m"; sourceTree = ""; }; + B89CEA58AD90918128E286620165E2E7 /* ActionSheetDatePicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ActionSheetDatePicker.m; path = Pickers/ActionSheetDatePicker.m; sourceTree = ""; }; + B985F791806A954F4F85C99682BFB201 /* SBJson5StreamParserState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5StreamParserState.h; path = Classes/SBJson5StreamParserState.h; sourceTree = ""; }; BB187783AB6937557464B9BDBA92D85E /* Pods-TestApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TestApp.debug.xcconfig"; sourceTree = ""; }; - BCEC1FCE176DC732F266B70B3F4AE811 /* SBJson5Parser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5Parser.h; path = Classes/SBJson5Parser.h; sourceTree = ""; }; - BEE33C8A55D6A9189E6ED81EF4016479 /* SBJson5StreamTokeniser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5StreamTokeniser.h; path = Classes/SBJson5StreamTokeniser.h; sourceTree = ""; }; - C0AC79BEB880F2A1BEB3B9300C4779A8 /* NSDictionary+MTLMappingAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+MTLMappingAdditions.m"; path = "Mantle/NSDictionary+MTLMappingAdditions.m"; sourceTree = ""; }; - C0EBD30C507E7088D342770BA62EAF34 /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; - C157F59946E51D7D8C0B5D6A29E9411A /* BIHandlerBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIHandlerBase.h; path = BIObjCHelpers/Handlers/Base/BIHandlerBase.h; sourceTree = ""; }; - C245DB5AFF83CC8EEB9EB8486D2F21F1 /* BIDatasourceTableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceTableView.h; path = BIObjCHelpers/Datasource/TableView/BIDatasourceTableView.h; sourceTree = ""; }; - C3526E7580EDE03C3CAC1CADAEBAB3DE /* BIBatchRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIBatchRequest.h; path = BIObjCHelpers/Batch/BIBatchRequest.h; sourceTree = ""; }; - C3E0DAD7D2AE8904A383BF7082B32C38 /* PINMemoryCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PINMemoryCache.h; path = PINCache/PINMemoryCache.h; sourceTree = ""; }; - C4DA14362F5C0EA9E85C5C7DB7ACC288 /* IQUITextFieldView+Additions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "IQUITextFieldView+Additions.m"; path = "IQKeyboardManager/Categories/IQUITextFieldView+Additions.m"; sourceTree = ""; }; - C544E84B4B8BE1B75082EF8B30BECEC0 /* NSDate+BIAttributedString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDate+BIAttributedString.h"; path = "BIObjCHelpers/Categories/NSDate/NSDate+BIAttributedString.h"; sourceTree = ""; }; - C651AA1F128E0889BF07CB61709D6B8A /* _BITableView+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "_BITableView+Internal.h"; path = "BIObjCHelpers/Views/TableView/_BITableView+Internal.h"; sourceTree = ""; }; - C94CC7592042553D5B8065E2105ED622 /* BIDatasourceTableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceTableView.m; path = BIObjCHelpers/Datasource/TableView/BIDatasourceTableView.m; sourceTree = ""; }; - CAE5E34E9339DE934B25EC46E9A6F1D1 /* IQUIViewController+Additions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "IQUIViewController+Additions.m"; path = "IQKeyboardManager/Categories/IQUIViewController+Additions.m"; sourceTree = ""; }; - CB8AE263AF625FE4AF8F80399E726A82 /* Mantle-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Mantle-dummy.m"; sourceTree = ""; }; - CC09A788D8807DB92BC9045400E4C714 /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; - CCBC9FE1DE084E24965BA5EEAFDBA537 /* MTLReflection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLReflection.m; path = Mantle/MTLReflection.m; sourceTree = ""; }; - D003AD10E8DC36B32C593A6AC2687E99 /* EXTRuntimeExtensions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXTRuntimeExtensions.m; path = Mantle/extobjc/EXTRuntimeExtensions.m; sourceTree = ""; }; - D04EE36E590EC0AEA84DE52924D32B42 /* BIDatasourceFeedCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceFeedCollectionView.m; path = BIObjCHelpers/Datasource/CollectionView/BIDatasourceFeedCollectionView.m; sourceTree = ""; }; - D143A88D9C7365EF57324AFD7C721DCC /* BIScrollAdditionalErrorNoContentView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIScrollAdditionalErrorNoContentView.m; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalErrorNoContentView.m; sourceTree = ""; }; - D1AF037642F2214D79236B5F0D46B411 /* Mantle-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Mantle-prefix.pch"; sourceTree = ""; }; - D29AA23A9DA9593AA8C0F509E73D1DDF /* UIView+BILoadXib.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+BILoadXib.m"; path = "BIObjCHelpers/Categories/UIView/UIView+BILoadXib.m"; sourceTree = ""; }; - D2F0C4E4D488416BEAAFD75D42F2F745 /* MTLModel+NSCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MTLModel+NSCoding.h"; path = "Mantle/MTLModel+NSCoding.h"; sourceTree = ""; }; - D2FFB6BDB603AFA1ED67D0CC7F0B55F3 /* BIActivityIndicatorContainerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIActivityIndicatorContainerView.m; path = BIObjCHelpers/Views/TableView/ActivityIndicator/BIActivityIndicatorContainerView.m; sourceTree = ""; }; - D3235EC90579FC1FB78B799DD67B660B /* AFCompatibilityMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFCompatibilityMacros.h; path = AFNetworking/AFCompatibilityMacros.h; sourceTree = ""; }; - D44B985328E97E6B2812BA25851B44B8 /* BIDatasourceFetchedFeedTableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceFetchedFeedTableView.m; path = BIObjCHelpers/Datasource/TableView/BIDatasourceFetchedFeedTableView.m; sourceTree = ""; }; - D54B1ADD79DF01D28E4331C2E04BD3E7 /* BIScrollAdditionalLoadingView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIScrollAdditionalLoadingView.m; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalLoadingView.m; sourceTree = ""; }; - D56BE33E5BCA121F4DBB38BB18D30FA7 /* BIHandlerCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIHandlerCollectionView.h; path = BIObjCHelpers/Handlers/CollectionView/BIHandlerCollectionView.h; sourceTree = ""; }; - D57F6CCD6F584157385059EDF63BD0C4 /* BIBatchHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIBatchHelpers.m; path = BIObjCHelpers/Batch/BIBatchHelpers.m; sourceTree = ""; }; - D6630EB92A632FAF2CB3DE369F5729A6 /* BIHandlerCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIHandlerCollectionView.m; path = BIObjCHelpers/Handlers/CollectionView/BIHandlerCollectionView.m; sourceTree = ""; }; - D6BCFF2C4B995A0A4B83C478A04F5E3A /* NSDictionary+MTLManipulationAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+MTLManipulationAdditions.m"; path = "Mantle/NSDictionary+MTLManipulationAdditions.m"; sourceTree = ""; }; - D798DED777ED1CD64DA23FA2CED5F0B0 /* IQUIViewController+Additions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "IQUIViewController+Additions.h"; path = "IQKeyboardManager/Categories/IQUIViewController+Additions.h"; sourceTree = ""; }; - D81D5FC896763119FB236B50A813BDF9 /* MBProgressHUD.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MBProgressHUD.xcconfig; sourceTree = ""; }; - D8BD68C2234E963E5B55788A1B7D3503 /* MTLValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLValueTransformer.m; path = Mantle/MTLValueTransformer.m; sourceTree = ""; }; - D8C715A814DBE9B27788FED992B125EF /* MTLJSONAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLJSONAdapter.h; path = Mantle/MTLJSONAdapter.h; sourceTree = ""; }; - D972B2C460E93D23EBAA0D8A9FCE9CFC /* NSValueTransformer+MTLInversionAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValueTransformer+MTLInversionAdditions.h"; path = "Mantle/NSValueTransformer+MTLInversionAdditions.h"; sourceTree = ""; }; - D99564D2491742FF1928AFAF925D2E9C /* BIDatasourceFetchedFeedTableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceFetchedFeedTableView.h; path = BIObjCHelpers/Datasource/TableView/BIDatasourceFetchedFeedTableView.h; sourceTree = ""; }; - DB5E343FBC5E4BF560EAE52884321664 /* SBJson5Writer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson5Writer.m; path = Classes/SBJson5Writer.m; sourceTree = ""; }; - DB63928B8C4BD75AACF9672AB8CB6463 /* BIBatchResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIBatchResponse.m; path = BIObjCHelpers/Batch/BIBatchResponse.m; sourceTree = ""; }; - DC5C7B1065C061EBBE7066FE7122371E /* AFNetworking.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.xcconfig; sourceTree = ""; }; - DCAB98503CA05A278BFF9B11D94241A0 /* PINMemoryCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PINMemoryCache.m; path = PINCache/PINMemoryCache.m; sourceTree = ""; }; + BCF49018B6F8744B831A115AEDB5F922 /* Reachability-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Reachability-dummy.m"; sourceTree = ""; }; + BD28C804172B6A315675457B5BA5086B /* AFNetworking.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.xcconfig; sourceTree = ""; }; + BD7924CE2AE97146089A01BA1CA44E83 /* IQBarButtonItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQBarButtonItem.h; path = IQKeyboardManager/IQToolbar/IQBarButtonItem.h; sourceTree = ""; }; + BDF0CC7CD60AB5E8865684ACAE8D3C2D /* MTLTransformerErrorHandling.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLTransformerErrorHandling.m; path = Mantle/MTLTransformerErrorHandling.m; sourceTree = ""; }; + BE147DFC89B42A49A396A996D049F244 /* BIBatchRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIBatchRequest.m; path = BIObjCHelpers/Batch/BIBatchRequest.m; sourceTree = ""; }; + BE84B5B65E5BFFCC549F2D52B2AF7F7D /* BIDatasourceBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceBase.m; path = BIObjCHelpers/Datasource/Base/BIDatasourceBase.m; sourceTree = ""; }; + BEA19BE17ADEB17170418A0C3E034A5C /* BIScrollAdditionalErrorNoContentView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIScrollAdditionalErrorNoContentView.h; path = BIObjCHelpers/Views/TableView/Additions/BIScrollAdditionalErrorNoContentView.h; sourceTree = ""; }; + C0F253C21AE54205F00C11F8BAE20932 /* SWActionSheet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SWActionSheet.h; path = Pickers/SWActionSheet.h; sourceTree = ""; }; + C23BC123894C9B91DC739A2A96090FF5 /* BIBatchRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIBatchRequest.h; path = BIObjCHelpers/Batch/BIBatchRequest.h; sourceTree = ""; }; + C25796821CE903B3B72F79D418884EA0 /* BILifecycle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BILifecycle.m; path = BIObjCHelpers/Lifecycle/BILifecycle.m; sourceTree = ""; }; + C44EE7D31410C13D23864B37D37F8360 /* SBJson.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SBJson.xcconfig; sourceTree = ""; }; + C472C5BD2007EBBBB8B808C52D164BC8 /* IQUIView+Hierarchy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "IQUIView+Hierarchy.h"; path = "IQKeyboardManager/Categories/IQUIView+Hierarchy.h"; sourceTree = ""; }; + C535A2DB09B2419441C7A6BA45700332 /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIKit+AFNetworking.h"; path = "UIKit+AFNetworking/UIKit+AFNetworking.h"; sourceTree = ""; }; + C7827F9D6743752E72132E71A7F6D3E9 /* AFImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFImageDownloader.m; path = "UIKit+AFNetworking/AFImageDownloader.m"; sourceTree = ""; }; + C79BC7B1A66324E06D26D23B80FED191 /* BIStartersFactory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIStartersFactory.h; path = BIObjCHelpers/Starters/BIStartersFactory.h; sourceTree = ""; }; + C7C9C8E752EB8FDED3699F5B38F430A7 /* ActionSheetMultipleStringPicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ActionSheetMultipleStringPicker.h; path = Pickers/ActionSheetMultipleStringPicker.h; sourceTree = ""; }; + C871BE3EF9127DCB915289249185EE50 /* Mantle-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Mantle-prefix.pch"; sourceTree = ""; }; + C9C608148C54909900A81FAFF83C430B /* IQPreviousNextView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQPreviousNextView.h; path = IQKeyboardManager/IQToolbar/IQPreviousNextView.h; sourceTree = ""; }; + CA16D8C5CBC73AED6C09B1C70C0059CD /* IQUIWindow+Hierarchy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "IQUIWindow+Hierarchy.h"; path = "IQKeyboardManager/Categories/IQUIWindow+Hierarchy.h"; sourceTree = ""; }; + CCAB26602244A642CE13CC0D16213352 /* PINDiskCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PINDiskCache.h; path = PINCache/PINDiskCache.h; sourceTree = ""; }; + CDE6CAF84D10346AE5A6FCEB163FE4AA /* MBProgressHUD.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MBProgressHUD.h; sourceTree = ""; }; + CF6F0EA5AE01F662AE19A3CF179A3C24 /* NSDictionary+MTLManipulationAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+MTLManipulationAdditions.m"; path = "Mantle/NSDictionary+MTLManipulationAdditions.m"; sourceTree = ""; }; + CFF7D3E9DCB5A0D6C0ECA8856AF69CA3 /* SBJson5Parser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5Parser.h; path = Classes/SBJson5Parser.h; sourceTree = ""; }; + D15CC949170FF12B5521B9A641D16112 /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AFNetworking.h"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.h"; sourceTree = ""; }; + D17A1A838624F8C132131029F443F868 /* MTLReflection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLReflection.m; path = Mantle/MTLReflection.m; sourceTree = ""; }; + D1A85876A6C5E5EFE8FF88FD69138A23 /* NSDictionary+MTLManipulationAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+MTLManipulationAdditions.h"; path = "Mantle/NSDictionary+MTLManipulationAdditions.h"; sourceTree = ""; }; + D2B90E5221A5451861E5E5A5D7C22C2B /* PINCache-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PINCache-dummy.m"; sourceTree = ""; }; + D3C01EDDC7206A2AE9E451939072866D /* MBProgressHUD-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MBProgressHUD-prefix.pch"; sourceTree = ""; }; + D4125A8C7A0F81B67175205DDC4F2AD1 /* BIDatasourceBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceBase.h; path = BIObjCHelpers/Datasource/Base/BIDatasourceBase.h; sourceTree = ""; }; + D4CA94E360CD6A003A67F9BAD61EBE3F /* UIImage+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+AFNetworking.h"; path = "UIKit+AFNetworking/UIImage+AFNetworking.h"; sourceTree = ""; }; + D6E470A0C684D4FBC08BDF7A28A2A38B /* libActionSheetPicker-3.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libActionSheetPicker-3.0.a"; path = "libActionSheetPicker-3.0.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + D7319419A5E7DE096DBFFDF4D3733A80 /* IQTitleBarButtonItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQTitleBarButtonItem.m; path = IQKeyboardManager/IQToolbar/IQTitleBarButtonItem.m; sourceTree = ""; }; + D799443FD7E52BD77FFA2E86CDC56089 /* _BIScrollViewProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _BIScrollViewProxy.m; path = BIObjCHelpers/Utils/Proxy/_BIScrollViewProxy.m; sourceTree = ""; }; + D903E718C371FCD869AF71FFD0B28FBC /* SBJson5StreamParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson5StreamParser.m; path = Classes/SBJson5StreamParser.m; sourceTree = ""; }; + DA1FFA95539C130E182891682A0CB244 /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; + DAEBDEC0EC2B8F4E0E36E348B1418C80 /* SBJson5Writer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5Writer.h; path = Classes/SBJson5Writer.h; sourceTree = ""; }; + DB9B57010650D3476186C2985B856A29 /* BIBatchResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIBatchResponse.m; path = BIObjCHelpers/Batch/BIBatchResponse.m; sourceTree = ""; }; + DC7D6291F723D79DC7902B8236388F1E /* BICollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BICollectionView.m; path = BIObjCHelpers/Views/CollectionView/BICollectionView.m; sourceTree = ""; }; DDF6A31DFFDAE17F80A34E666AA79832 /* libSBJson.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSBJson.a; path = libSBJson.a; sourceTree = BUILT_PRODUCTS_DIR; }; - DE20C6B12130302FF3D493227A2D630F /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; + DED4465DE279E8C24C600AE54135EBAB /* BIDatasourceFeedCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceFeedCollectionView.m; path = BIObjCHelpers/Datasource/CollectionView/BIDatasourceFeedCollectionView.m; sourceTree = ""; }; + DF027DF7745FE0CD723931C837EA8895 /* SBJson5StreamParserState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson5StreamParserState.m; path = Classes/SBJson5StreamParserState.m; sourceTree = ""; }; + DF9F1D522947AF5E87256AA218EAF8E3 /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIWebView+AFNetworking.m"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.m"; sourceTree = ""; }; E1292FE43E4F8F642A883A35B554CB2F /* Pods-TestApp-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TestApp-dummy.m"; sourceTree = ""; }; - E175459654E650D11C25DE75D5864E98 /* BIBatchRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIBatchRequest.m; path = BIObjCHelpers/Batch/BIBatchRequest.m; sourceTree = ""; }; - E3D88A7520077C0A9E78D011E55BCBD5 /* Reachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Reachability.m; sourceTree = ""; }; + E155162DF358FD3328EE98FAC0C6DFC5 /* MTLValueTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLValueTransformer.h; path = Mantle/MTLValueTransformer.h; sourceTree = ""; }; + E21D71C79484AD65A6A9AE6FA03B442A /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; + E25E7D1CA28EA4DDB91E2D70FD961108 /* BIDatasourceFeedCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceFeedCollectionView.h; path = BIObjCHelpers/Datasource/CollectionView/BIDatasourceFeedCollectionView.h; sourceTree = ""; }; + E43BE2829A043D79C8F6748AE13B24CB /* IQUIScrollView+Additions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "IQUIScrollView+Additions.h"; path = "IQKeyboardManager/Categories/IQUIScrollView+Additions.h"; sourceTree = ""; }; + E4533362242E8561E51034496603AC43 /* ActionSheetCustomPicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ActionSheetCustomPicker.h; path = Pickers/ActionSheetCustomPicker.h; sourceTree = ""; }; + E4904E28D616D6CC50F9D0591BD25527 /* IQKeyboardManager.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = IQKeyboardManager.bundle; path = IQKeyboardManager/Resources/IQKeyboardManager.bundle; sourceTree = ""; }; E537555010E35D7CDF9D7F38811C24DE /* libPods-TestApp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-TestApp.a"; path = "libPods-TestApp.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E558136827B852649D35B804EC5ADAF9 /* Mantle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Mantle.h; path = Mantle/Mantle.h; sourceTree = ""; }; - E6F8860E7CF2909EDB6AC473994417BC /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; - E71A91E4AB4FCA6F0ACB8F54FD289A0E /* BIDatasourceFetchedCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceFetchedCollectionView.m; path = BIObjCHelpers/Datasource/CollectionView/BIDatasourceFetchedCollectionView.m; sourceTree = ""; }; - E72593C6F475667E6620B06D35A0C658 /* BILifecycle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BILifecycle.m; path = BIObjCHelpers/Lifecycle/BILifecycle.m; sourceTree = ""; }; - E7B492487C31BFEC3B7D395ABF6C945B /* BIObjCHelpers.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BIObjCHelpers.xcconfig; sourceTree = ""; }; - E7CBABDCCA75ECD3723B9A14AEDA10DC /* BIOperationNotifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIOperationNotifier.m; path = BIObjCHelpers/Operations/BIOperationNotifier.m; sourceTree = ""; }; - E7DF5EB7C854B603DAD524F7856308C4 /* BIDatasourceFeedCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceFeedCollectionView.h; path = BIObjCHelpers/Datasource/CollectionView/BIDatasourceFeedCollectionView.h; sourceTree = ""; }; - E892EDD4D80F0DD0246F90B8158E359C /* AFImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFImageDownloader.m; path = "UIKit+AFNetworking/AFImageDownloader.m"; sourceTree = ""; }; - E94B5C5D3BD003D551DA8E7216D275A2 /* SBJson5StreamWriterState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5StreamWriterState.h; path = Classes/SBJson5StreamWriterState.h; sourceTree = ""; }; - EAA7642DB2BE157608721CAFEDD6D8FF /* PINCache-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PINCache-prefix.pch"; sourceTree = ""; }; - EACCDF3FDAD410AED1AE3EECDC8E9BDF /* IQTitleBarButtonItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IQTitleBarButtonItem.h; path = IQKeyboardManager/IQToolbar/IQTitleBarButtonItem.h; sourceTree = ""; }; - EAF3025E7866022EA0A4D5F4A7899533 /* MTLTransformerErrorHandling.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLTransformerErrorHandling.m; path = Mantle/MTLTransformerErrorHandling.m; sourceTree = ""; }; - EBE204FCBE62506ADF890B75DE4763AC /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIKit+AFNetworking.h"; path = "UIKit+AFNetworking/UIKit+AFNetworking.h"; sourceTree = ""; }; - EC866A4C21C205DC93B9B65F9773603D /* BITableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BITableView.h; path = BIObjCHelpers/Views/TableView/BITableView.h; sourceTree = ""; }; - ED0C8998DB096A327D56BD1CE61747D6 /* MBProgressHUD-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MBProgressHUD-dummy.m"; sourceTree = ""; }; - EE5F37D0849474D92EA2DB730480FAAF /* PINDiskCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PINDiskCache.h; path = PINCache/PINDiskCache.h; sourceTree = ""; }; - EE6005FABE8524DABA40F660CB722EA7 /* BIObjCHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIObjCHelpers.h; path = BIObjCHelpers/SupportingFiles/BIObjCHelpers.h; sourceTree = ""; }; - F1507FA5CBED308DD3031C0D04871B94 /* UIView+BILoadXib.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+BILoadXib.h"; path = "BIObjCHelpers/Categories/UIView/UIView+BILoadXib.h"; sourceTree = ""; }; - F1BAAC370514ECC0091DCDB999B673A3 /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m"; sourceTree = ""; }; - F242F63B2C8910B444C3B17A0DF29C2D /* Nullability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nullability.h; path = PINCache/Nullability.h; sourceTree = ""; }; - F3455A79023C25328B601A6E88D85720 /* BIBatchHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIBatchHelpers.h; path = BIObjCHelpers/Batch/BIBatchHelpers.h; sourceTree = ""; }; - F5A42D61CC532212D0F62F87728DF1B9 /* IQUIView+IQKeyboardToolbar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "IQUIView+IQKeyboardToolbar.h"; path = "IQKeyboardManager/IQToolbar/IQUIView+IQKeyboardToolbar.h"; sourceTree = ""; }; - F5CD52A2DFB1220D9E17214F93574F16 /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.m"; sourceTree = ""; }; - F5E8BE4C4C7406C6C5FFB90F99C2871B /* MBProgressHUD-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MBProgressHUD-prefix.pch"; sourceTree = ""; }; - F62CDA6172B3A58097965C3920089AEA /* IQKeyboardManager-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQKeyboardManager-dummy.m"; sourceTree = ""; }; - F6926CE0731335D7D6F41DEACDB26F81 /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIActivityIndicatorView+AFNetworking.m"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m"; sourceTree = ""; }; - F94A09B4BFBE6D0303663AAE9A9F56FF /* BIDatasourceCollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceCollectionView.m; path = BIObjCHelpers/Datasource/CollectionView/BIDatasourceCollectionView.m; sourceTree = ""; }; - FABB508FF2ABCD1CE43B1A1250E13A0A /* UIScrollView+InfiniteScroll.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+InfiniteScroll.h"; path = "BIObjCHelpers/ExternalLibs/UIScrollView+InfiniteScroll/UIScrollView+InfiniteScroll.h"; sourceTree = ""; }; - FCDC01864B0ABC30752D13D3082E6A79 /* SBJson5StreamParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson5StreamParser.m; path = Classes/SBJson5StreamParser.m; sourceTree = ""; }; - FCE1999480DA5892E14A088551A48221 /* BILifecycle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BILifecycle.h; path = BIObjCHelpers/Lifecycle/BILifecycle.h; sourceTree = ""; }; - FDF0F2B7937C1CC0575FCE501F52624A /* EXTKeyPathCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXTKeyPathCoding.h; path = Mantle/extobjc/EXTKeyPathCoding.h; sourceTree = ""; }; - FE074814EA6D7ACA210CA9D9FCB8E207 /* _BIScrollViewProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _BIScrollViewProxy.h; path = BIObjCHelpers/Utils/Proxy/_BIScrollViewProxy.h; sourceTree = ""; }; - FF36E657754817C7A03D9D5E2A73F4D0 /* IQTextView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQTextView.m; path = IQKeyboardManager/IQTextView/IQTextView.m; sourceTree = ""; }; - FFD51CECAA17A7EC9BBEB18F926E4A0A /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; + E5B24AD3F3F7A9777D7E771F79B41241 /* PINMemoryCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PINMemoryCache.h; path = PINCache/PINMemoryCache.h; sourceTree = ""; }; + E707DD7A4B6E7A6113B477E1D894EE12 /* NSBundle+BIExtra.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBundle+BIExtra.h"; path = "BIObjCHelpers/Categories/NSBundle/NSBundle+BIExtra.h"; sourceTree = ""; }; + E93CEF1C42C91E01B08468F10352FF9D /* EXTKeyPathCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXTKeyPathCoding.h; path = Mantle/extobjc/EXTKeyPathCoding.h; sourceTree = ""; }; + E9436DF9D451B4F9B03AB11F5C85FA87 /* PINCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PINCache.h; path = PINCache/PINCache.h; sourceTree = ""; }; + ED20B8B98044E43C82BF88A37572C867 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; + ED455E8F0E60641BD98557747473C401 /* PINCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PINCache.m; path = PINCache/PINCache.m; sourceTree = ""; }; + EEBB623A85B21947200CF1FBA0333A3C /* UIView+BILoadXib.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+BILoadXib.m"; path = "BIObjCHelpers/Categories/UIView/UIView+BILoadXib.m"; sourceTree = ""; }; + EEC735157172AC9FC6F68ECD23F6F47B /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; + F00B8FA6D655F72502170132D3E5AE40 /* SBJson5StreamTokeniser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson5StreamTokeniser.h; path = Classes/SBJson5StreamTokeniser.h; sourceTree = ""; }; + F0242D7BAB53EC73D10FB8F10CC9A784 /* _BIScrollViewProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _BIScrollViewProxy.h; path = BIObjCHelpers/Utils/Proxy/_BIScrollViewProxy.h; sourceTree = ""; }; + F031DBCF58E5A620B15E9FEA7F976BD9 /* ActionSheetStringPicker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ActionSheetStringPicker.m; path = Pickers/ActionSheetStringPicker.m; sourceTree = ""; }; + F3500895AD79AF1F2CD8F11EA9F21064 /* MTLJSONAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MTLJSONAdapter.h; path = Mantle/MTLJSONAdapter.h; sourceTree = ""; }; + F437199DBFC00CE96FBEBD1EC50D8955 /* NSObject+MTLComparisonAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MTLComparisonAdditions.h"; path = "Mantle/NSObject+MTLComparisonAdditions.h"; sourceTree = ""; }; + F4F05ED6B43BF914633F2EE8DE5D33FA /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIRefreshControl+AFNetworking.m"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.m"; sourceTree = ""; }; + F53887C0896029323EBF2C671C4C65E7 /* BIDatasourceFetchedTableView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIDatasourceFetchedTableView.h; path = BIObjCHelpers/Datasource/TableView/BIDatasourceFetchedTableView.h; sourceTree = ""; }; + F65B8851EC7CCB49240888892CFFB300 /* SBJson-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SBJson-dummy.m"; sourceTree = ""; }; + F8AA7312F1F42CC1A812DF0A6B55204B /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIProgressView+AFNetworking.h"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.h"; sourceTree = ""; }; + F967766F294949B909612080663E2B9B /* UIScrollView+BIBatching.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+BIBatching.h"; path = "BIObjCHelpers/Views/ScrollView/UIScrollView+BIBatching.h"; sourceTree = ""; }; + FA06BE05C443CC2B7754D77A74C6F6EE /* IQPreviousNextView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IQPreviousNextView.m; path = IQKeyboardManager/IQToolbar/IQPreviousNextView.m; sourceTree = ""; }; + FBE9502FD84A76847ADE074A410E52AA /* ActionSheetStringPicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ActionSheetStringPicker.h; path = Pickers/ActionSheetStringPicker.h; sourceTree = ""; }; + FC002C59306BFD5489EF995816FACFFB /* MTLModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MTLModel.m; path = Mantle/MTLModel.m; sourceTree = ""; }; + FC6EABBACD6088CE61DB2635399139D8 /* PINCache-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PINCache-prefix.pch"; sourceTree = ""; }; + FC99719C411D4E15301AE293FAA3F523 /* BIHandlerCollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BIHandlerCollectionView.h; path = BIObjCHelpers/Handlers/CollectionView/BIHandlerCollectionView.h; sourceTree = ""; }; + FCB27C733593B100FB4D3BE006EEDFBD /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; + FCD444E715ED0F1F59D75D74107992CF /* Lockbox.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Lockbox.h; sourceTree = ""; }; + FDF9D0531B606677ABE180205157B010 /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; + FED4CD7B6148E720FB11BC4555217806 /* Reachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Reachability.m; sourceTree = ""; }; + FED80B287634DDDD4334298ABFAF26B6 /* BIDatasourceTableView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BIDatasourceTableView.m; path = BIObjCHelpers/Datasource/TableView/BIDatasourceTableView.m; sourceTree = ""; }; FFDBBC625B9094E909C77849DD7E3D7A /* Pods-TestApp-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TestApp-resources.sh"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 0C3C7A8DE33227932865161C3E693F1D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 23B9539E410B0DFA42D616E6824C9317 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -578,7 +637,7 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 9AED1B9E03489173ED6BA51087F13105 /* Frameworks */ = { + 77C5C286A72A129CE182002DE53452CA /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -623,307 +682,427 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 04854723E17ACD91F9307EA67F53D26D /* Support Files */ = { + 03DF167AE563DF3DAE71D78FCEB6691C /* Security */ = { isa = PBXGroup; children = ( - 87A926E42500DFAC0AB4850C549C1491 /* PINCache.xcconfig */, - 41CC5F8A96B2944E81993463104DF9D1 /* PINCache-dummy.m */, - EAA7642DB2BE157608721CAFEDD6D8FF /* PINCache-prefix.pch */, + AAC684894CEB2E93913061AA14377144 /* AFSecurityPolicy.h */, + 1E678EAC84160F6EFC2490B3B5212F58 /* AFSecurityPolicy.m */, ); - name = "Support Files"; - path = "../Target Support Files/PINCache"; + name = Security; sourceTree = ""; }; - 06812D087D02E3DA4E806AE4CD2E1806 /* MBProgressHUD */ = { + 05686F4A3F593310F69BF49F4CFE4CC6 /* Reachability */ = { isa = PBXGroup; children = ( - 00B7C0C91A36EBDC32DBEFE8A0F78170 /* MBProgressHUD.h */, - 7F9254ACA93B8186B0E914ED3D2602FE /* MBProgressHUD.m */, - B6C35399C2A1B7F5803395B0CE2F70A0 /* Support Files */, + B3F3B77AD293D51EBC8B00AE6CA85DB5 /* AFNetworkReachabilityManager.h */, + 728E1F08ACEE89FB9FBFCE5083D08B4C /* AFNetworkReachabilityManager.m */, ); - name = MBProgressHUD; - path = MBProgressHUD; + name = Reachability; sourceTree = ""; }; - 0A02C510FCCF65CC4E3AE573E23E24F6 /* Support Files */ = { + 0ABA179CE5DA6BA19CF13D79EE7FAD8C /* Support Files */ = { isa = PBXGroup; children = ( - 273F3D9CBE21CBEDA52EAE3527D6DEC9 /* IQKeyboardManager.xcconfig */, - F62CDA6172B3A58097965C3920089AEA /* IQKeyboardManager-dummy.m */, - B7947B64FC3286806806B82C53D5E8EF /* IQKeyboardManager-prefix.pch */, + 928F59E3BF05BCF090D0A6144F08A73D /* IQKeyboardManager.xcconfig */, + 7EF6E4B0A0EF66FE768437592ED95E62 /* IQKeyboardManager-dummy.m */, + 858AC8C0BFF49E28E665FF738B20979F /* IQKeyboardManager-prefix.pch */, ); name = "Support Files"; path = "../Target Support Files/IQKeyboardManager"; sourceTree = ""; }; - 10886773F883B32B7EA5BDD97F584AF3 /* Mantle */ = { + 27C916E49ADF15D5F41027C00B0C984B /* IQKeyboardManager */ = { isa = PBXGroup; children = ( - E558136827B852649D35B804EC5ADAF9 /* Mantle.h */, - D8C715A814DBE9B27788FED992B125EF /* MTLJSONAdapter.h */, - A6130548A67AA3A867C81712C7CF3939 /* MTLJSONAdapter.m */, - 2AE4FE3CA9578A5CCF49EFB93F10CE44 /* MTLModel.h */, - 3FC6843C25F1ADD094AA48FE75966D75 /* MTLModel.m */, - D2F0C4E4D488416BEAAFD75D42F2F745 /* MTLModel+NSCoding.h */, - 6689F211E7F33DBD738F57E172CF88D8 /* MTLModel+NSCoding.m */, - 6DEEE04233F4A9DA4D9FCF1B84BB1830 /* MTLReflection.h */, - CCBC9FE1DE084E24965BA5EEAFDBA537 /* MTLReflection.m */, - AA30B0C4E8086DBE07C46A93C4ACA39E /* MTLTransformerErrorHandling.h */, - EAF3025E7866022EA0A4D5F4A7899533 /* MTLTransformerErrorHandling.m */, - 9D484BAE37792B8214664E48C4C3AD94 /* MTLValueTransformer.h */, - D8BD68C2234E963E5B55788A1B7D3503 /* MTLValueTransformer.m */, - 978E837F5ED0415855F6DA6637985422 /* NSArray+MTLManipulationAdditions.h */, - 7EACCD6C8CCF94F00DE5827B72711EB9 /* NSArray+MTLManipulationAdditions.m */, - 0306F06070349B39C38E54A57359720A /* NSDictionary+MTLJSONKeyPath.h */, - 1DB5B6A9FFD92CEF17396AFEBAFEA4F9 /* NSDictionary+MTLJSONKeyPath.m */, - 90B2CCB5E0E5AEBE70ED4C47F68A1A21 /* NSDictionary+MTLManipulationAdditions.h */, - D6BCFF2C4B995A0A4B83C478A04F5E3A /* NSDictionary+MTLManipulationAdditions.m */, - 540E2B2F743260AE9F6D2B5A1D83EFC1 /* NSDictionary+MTLMappingAdditions.h */, - C0AC79BEB880F2A1BEB3B9300C4779A8 /* NSDictionary+MTLMappingAdditions.m */, - A3A7755FA824C9AB4652900720EE4BC6 /* NSError+MTLModelException.h */, - 8F0CBE111FBB567DD643E441E14EE335 /* NSError+MTLModelException.m */, - 78B7C042BC5C4B9D2820A057F5DF11BB /* NSObject+MTLComparisonAdditions.h */, - 1CFA272CBA304DB646C60AAEF5C34A4C /* NSObject+MTLComparisonAdditions.m */, - D972B2C460E93D23EBAA0D8A9FCE9CFC /* NSValueTransformer+MTLInversionAdditions.h */, - 9765A26000FA49705DE6CD0C621DC358 /* NSValueTransformer+MTLInversionAdditions.m */, - 220082F67691EC1D7D0B0A33E08FE20E /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */, - 43372D90F903B8800871CBE4DA887CDC /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */, - 37643C3B499C910BE8C6ED552CD7C9D1 /* extobjc */, - 159744DF2E4EF93E4DFD6CC4744613D7 /* Support Files */, + BD7924CE2AE97146089A01BA1CA44E83 /* IQBarButtonItem.h */, + 2297787F107344CB5FB27157D40FF76C /* IQBarButtonItem.m */, + 4BB64E456E27C20F29D50253B51780C2 /* IQKeyboardManager.h */, + 3245DADB540E31739E904C76D8233599 /* IQKeyboardManager.m */, + 547022564766494BABEC45F59D0040CA /* IQKeyboardManagerConstants.h */, + 748876CD2D07BE659ECAB0C7A1D7FF45 /* IQKeyboardManagerConstantsInternal.h */, + A488EF8483262371D74884202E6DC520 /* IQKeyboardReturnKeyHandler.h */, + 6DB46209C5541AB7F87E52255B6570F6 /* IQKeyboardReturnKeyHandler.m */, + 5859B02B9EAC7B410F22EB3EB6761A91 /* IQNSArray+Sort.h */, + 0E56E838CCADDB6D706797F402ACCF7C /* IQNSArray+Sort.m */, + C9C608148C54909900A81FAFF83C430B /* IQPreviousNextView.h */, + FA06BE05C443CC2B7754D77A74C6F6EE /* IQPreviousNextView.m */, + 6E7DBE6BB97EF8A55A29E489478E88F5 /* IQTextView.h */, + 5EE1130590C5CB9304B4DB5EBF2521D1 /* IQTextView.m */, + 81078687867F115C6FB801292209A692 /* IQTitleBarButtonItem.h */, + D7319419A5E7DE096DBFFDF4D3733A80 /* IQTitleBarButtonItem.m */, + 65AF90A3E73753F4018C9F9441DB999C /* IQToolbar.h */, + 400C9F7939A830B23FCC549EA92A565D /* IQToolbar.m */, + E43BE2829A043D79C8F6748AE13B24CB /* IQUIScrollView+Additions.h */, + A090EAC7ADED4542BB0DC358B0C4C8C9 /* IQUIScrollView+Additions.m */, + 01666A8879FCBA52B27036E563978FB3 /* IQUITextFieldView+Additions.h */, + 3984B2D8ACD80AF864329CC3329D1B24 /* IQUITextFieldView+Additions.m */, + C472C5BD2007EBBBB8B808C52D164BC8 /* IQUIView+Hierarchy.h */, + B1722858ED9170C7559ACC8E6788D524 /* IQUIView+Hierarchy.m */, + 5D32036F60D79048DBB77D715D06E760 /* IQUIView+IQKeyboardToolbar.h */, + B808E37A0DBD8EFCA91D1305A70778CE /* IQUIView+IQKeyboardToolbar.m */, + 7CB1F9DC60F11F8F54C38BB2B600DD28 /* IQUIViewController+Additions.h */, + 6709E4C37B6F8ABA1DA7F6028CE3FDE0 /* IQUIViewController+Additions.m */, + CA16D8C5CBC73AED6C09B1C70C0059CD /* IQUIWindow+Hierarchy.h */, + 72393806E36877D8A77852213B48BCAD /* IQUIWindow+Hierarchy.m */, + 2BFAC065A4E4C00CEE4041B53B7C8B7C /* Resources */, + 0ABA179CE5DA6BA19CF13D79EE7FAD8C /* Support Files */, ); - name = Mantle; - path = Mantle; + name = IQKeyboardManager; + path = IQKeyboardManager; sourceTree = ""; }; - 159744DF2E4EF93E4DFD6CC4744613D7 /* Support Files */ = { + 2BFAC065A4E4C00CEE4041B53B7C8B7C /* Resources */ = { isa = PBXGroup; children = ( - B009B9059F51B90A57993C2E883782E4 /* Mantle.xcconfig */, - CB8AE263AF625FE4AF8F80399E726A82 /* Mantle-dummy.m */, - D1AF037642F2214D79236B5F0D46B411 /* Mantle-prefix.pch */, + E4904E28D616D6CC50F9D0591BD25527 /* IQKeyboardManager.bundle */, ); - name = "Support Files"; - path = "../Target Support Files/Mantle"; + name = Resources; sourceTree = ""; }; - 195EC2230DD2022B2330B6F3C864BFE3 /* PINCache */ = { + 40E68AF59F06850A2E7FEA305882F69F /* Products */ = { isa = PBXGroup; children = ( - F242F63B2C8910B444C3B17A0DF29C2D /* Nullability.h */, - 434DA60E9A7FFA4C38DB67B2995B0617 /* PINCache.h */, - 83441611D7619206C2EF725D377E261A /* PINCache.m */, - 217D272EF39C19E8285A943B46B280AB /* PINCacheObjectSubscripting.h */, - EE5F37D0849474D92EA2DB730480FAAF /* PINDiskCache.h */, - 0D47ED20F9B8BB80668CF5A10CF24570 /* PINDiskCache.m */, - C3E0DAD7D2AE8904A383BF7082B32C38 /* PINMemoryCache.h */, - DCAB98503CA05A278BFF9B11D94241A0 /* PINMemoryCache.m */, - 04854723E17ACD91F9307EA67F53D26D /* Support Files */, + D6E470A0C684D4FBC08BDF7A28A2A38B /* libActionSheetPicker-3.0.a */, + A4FA15D44DF6BAC7550EDEED10862AA3 /* libAFNetworking.a */, + AA94CCC41BA545854AAE9382F2D53028 /* libBIObjCHelpers.a */, + 98527D7196957AAB07B79E2E2AFDE23E /* libIQKeyboardManager.a */, + AF5DD94E0C9594A6E2D1D50BF7D33507 /* libLockbox.a */, + 6BCD3E077861DE8917A0FFFBC6BD96CF /* libMantle.a */, + 8B8FAB0D627B17EDE1366984278705D9 /* libMBProgressHUD.a */, + 6320170E5A5A268B11CAE15D4EF6A9E3 /* libPINCache.a */, + E537555010E35D7CDF9D7F38811C24DE /* libPods-TestApp.a */, + 400FF55D0451E7A8F33A3D0D3E11C1B9 /* libReachability.a */, + DDF6A31DFFDAE17F80A34E666AA79832 /* libSBJson.a */, ); - name = PINCache; - path = PINCache; + name = Products; sourceTree = ""; }; - 1D6A65FC7FFC7214F5CF940E80BB6FF2 /* Support Files */ = { + 4D13EC0B5B6646F9597C683016007254 /* Support Files */ = { isa = PBXGroup; children = ( - B249CEF14FD02BC0A70EB530B3BE7200 /* SBJson.xcconfig */, - 374EA7F6A0E52980A82E740BD9D6DF10 /* SBJson-dummy.m */, - 07E51400BEEB7F9E1AFDA8F039571931 /* SBJson-prefix.pch */, + C44EE7D31410C13D23864B37D37F8360 /* SBJson.xcconfig */, + F65B8851EC7CCB49240888892CFFB300 /* SBJson-dummy.m */, + 50611633D06ACE4371C28B29DD356640 /* SBJson-prefix.pch */, ); name = "Support Files"; path = "../Target Support Files/SBJson"; sourceTree = ""; }; - 1D8EE8E013F6637A7B7F267E65A5841E /* NSURLSession */ = { + 5C452486853170FCAF78A3C6721CB44D /* Pods-TestApp */ = { + isa = PBXGroup; + children = ( + 2583A13AD4D6659A5EE7CE100EB9F933 /* Pods-TestApp-acknowledgements.markdown */, + ADB310452830CEAE8AC8EB845E07587A /* Pods-TestApp-acknowledgements.plist */, + E1292FE43E4F8F642A883A35B554CB2F /* Pods-TestApp-dummy.m */, + FFDBBC625B9094E909C77849DD7E3D7A /* Pods-TestApp-resources.sh */, + BB187783AB6937557464B9BDBA92D85E /* Pods-TestApp.debug.xcconfig */, + 6AC37F065C9D1CBE10A58948531E512B /* Pods-TestApp.release.xcconfig */, + ); + name = "Pods-TestApp"; + path = "Target Support Files/Pods-TestApp"; + sourceTree = ""; + }; + 5CEB33F7093B77569FEF725A0F2DC769 /* Mantle */ = { isa = PBXGroup; children = ( - D3235EC90579FC1FB78B799DD67B660B /* AFCompatibilityMacros.h */, - 99F73C0998735017BE1047C0DB92833A /* AFHTTPSessionManager.h */, - CC09A788D8807DB92BC9045400E4C714 /* AFHTTPSessionManager.m */, - 42CB09523B5A09246246757DBD0DEC6D /* AFURLSessionManager.h */, - 2CC3DC11B5FF7737DE4EF48F96F1E0DC /* AFURLSessionManager.m */, + 44ADB0494B359BE89BBE6C1F073DE610 /* Mantle.h */, + F3500895AD79AF1F2CD8F11EA9F21064 /* MTLJSONAdapter.h */, + 16100E41D68EB864232E0776629D2D46 /* MTLJSONAdapter.m */, + 578512A4AA1F57E2379EFA50CD6120BD /* MTLModel.h */, + FC002C59306BFD5489EF995816FACFFB /* MTLModel.m */, + 79EDC8A1A4B7B08D30B1C9C7DAECD672 /* MTLModel+NSCoding.h */, + 2F5788A2197EFC2216B1EBFEE92B0986 /* MTLModel+NSCoding.m */, + 09723097EC3DD52F7ADB6644E959B552 /* MTLReflection.h */, + D17A1A838624F8C132131029F443F868 /* MTLReflection.m */, + 157C9DCA339BA9136C40F2E1824EDB2C /* MTLTransformerErrorHandling.h */, + BDF0CC7CD60AB5E8865684ACAE8D3C2D /* MTLTransformerErrorHandling.m */, + E155162DF358FD3328EE98FAC0C6DFC5 /* MTLValueTransformer.h */, + 80AA8A5B6BE964EB905A0056F5A29BB7 /* MTLValueTransformer.m */, + 35FAE10CA23A672CD7FCA6E2547E2208 /* NSArray+MTLManipulationAdditions.h */, + 9DE17E5004A6C154CE64161DF0BCB6B7 /* NSArray+MTLManipulationAdditions.m */, + 80440EDF2A0426F76477FA281DC31BE6 /* NSDictionary+MTLJSONKeyPath.h */, + A1C0180D366D79795CD5482BBFC6DE64 /* NSDictionary+MTLJSONKeyPath.m */, + D1A85876A6C5E5EFE8FF88FD69138A23 /* NSDictionary+MTLManipulationAdditions.h */, + CF6F0EA5AE01F662AE19A3CF179A3C24 /* NSDictionary+MTLManipulationAdditions.m */, + 6C954176EEF4F9FF92D809259ACAFCA8 /* NSDictionary+MTLMappingAdditions.h */, + 74239C1FCC1807DFD62F627727C3F0AB /* NSDictionary+MTLMappingAdditions.m */, + 4D62EB7546F5241681D2994CB95F20C4 /* NSError+MTLModelException.h */, + 299367140F8E8FFA35FF02EE5C054D97 /* NSError+MTLModelException.m */, + F437199DBFC00CE96FBEBD1EC50D8955 /* NSObject+MTLComparisonAdditions.h */, + B4C0EA11C9B7232E775B0B25FFEE91CC /* NSObject+MTLComparisonAdditions.m */, + 89B9F02BF2499C59143F6FE42554BC41 /* NSValueTransformer+MTLInversionAdditions.h */, + 750A351C5D691228F52527B80F2A7745 /* NSValueTransformer+MTLInversionAdditions.m */, + 2005265BA0EE118F9C1110F393ED30C8 /* NSValueTransformer+MTLPredefinedTransformerAdditions.h */, + 514ED7E7F33E1ECFB6D75758E1A8E5AB /* NSValueTransformer+MTLPredefinedTransformerAdditions.m */, + A3B2D1311933B4B2C8B1684E10D3E706 /* extobjc */, + A258907ADBDA68493217864A7C2D20DC /* Support Files */, ); - name = NSURLSession; + name = Mantle; + path = Mantle; sourceTree = ""; }; - 2D208B86615EA08B795858B47FC43A5F /* Support Files */ = { + 6184BDD656F15DBAFF8D871F8D637C08 /* Support Files */ = { isa = PBXGroup; children = ( - DC5C7B1065C061EBBE7066FE7122371E /* AFNetworking.xcconfig */, - AD8DB6D48F20D19CE14ECF3E0BCF101C /* AFNetworking-dummy.m */, - E6F8860E7CF2909EDB6AC473994417BC /* AFNetworking-prefix.pch */, + AF726F0CF7B3C51482325B4C7681674D /* PINCache.xcconfig */, + D2B90E5221A5451861E5E5A5D7C22C2B /* PINCache-dummy.m */, + FC6EABBACD6088CE61DB2635399139D8 /* PINCache-prefix.pch */, ); name = "Support Files"; - path = "../Target Support Files/AFNetworking"; + path = "../Target Support Files/PINCache"; sourceTree = ""; }; - 2F541213B24B480969D5ECD51A46A8E4 /* Support Files */ = { + 63A6093F104D183CF3A49F94BF7A9C1B /* Support Files */ = { isa = PBXGroup; children = ( - 40605E60CF95DA17A91203BC6882BAE4 /* Reachability.xcconfig */, - B3117D0940C65DB2D5BB083B5C63A881 /* Reachability-dummy.m */, - 0123345D2A391548B237D1824B6A4ACC /* Reachability-prefix.pch */, + B0BE0FE6005E1E22087377C0A16AAB09 /* ActionSheetPicker-3.0.xcconfig */, + A13AE0199305078902273D198D5C671A /* ActionSheetPicker-3.0-dummy.m */, + 741947205E43EAD92D861AAEAB1D3B20 /* ActionSheetPicker-3.0-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/ActionSheetPicker-3.0"; + sourceTree = ""; + }; + 678F64DAFF8C6BF959783C1FF0628F82 /* Support Files */ = { + isa = PBXGroup; + children = ( + B6303C06F01AC91C694628774C98F99D /* Reachability.xcconfig */, + BCF49018B6F8744B831A115AEDB5F922 /* Reachability-dummy.m */, + 5F4D90B902AC8EB74B95237983E0C2B8 /* Reachability-prefix.pch */, ); name = "Support Files"; path = "../Target Support Files/Reachability"; sourceTree = ""; }; - 37643C3B499C910BE8C6ED552CD7C9D1 /* extobjc */ = { + 7303C4C1BEA482E327A4042DC8267737 /* Support Files */ = { isa = PBXGroup; children = ( - FDF0F2B7937C1CC0575FCE501F52624A /* EXTKeyPathCoding.h */, - 15E145EA087FCE931BE92B8B7C27683A /* EXTRuntimeExtensions.h */, - D003AD10E8DC36B32C593A6AC2687E99 /* EXTRuntimeExtensions.m */, - 1BF4E4C901DB6ED69F39AE1EE7B44617 /* EXTScope.h */, - 776EFF94B5DDAD67C53586856BC28954 /* EXTScope.m */, - 4DB6BC6D06F39B3C63D472BDE2AA2A70 /* metamacros.h */, + AC17522B0F91924FBB4BFFDE289C175E /* MBProgressHUD.xcconfig */, + 35984981DB81C856C307FE2135452790 /* MBProgressHUD-dummy.m */, + D3C01EDDC7206A2AE9E451939072866D /* MBProgressHUD-prefix.pch */, ); - name = extobjc; + name = "Support Files"; + path = "../Target Support Files/MBProgressHUD"; sourceTree = ""; }; - 4129E3FFA32D284C5497F03FAF4ECF23 /* Products */ = { + 7CB1A646E181E94517010607B3AD69EE /* SBJson */ = { isa = PBXGroup; children = ( - A4FA15D44DF6BAC7550EDEED10862AA3 /* libAFNetworking.a */, - AA94CCC41BA545854AAE9382F2D53028 /* libBIObjCHelpers.a */, - 98527D7196957AAB07B79E2E2AFDE23E /* libIQKeyboardManager.a */, - AF5DD94E0C9594A6E2D1D50BF7D33507 /* libLockbox.a */, - 6BCD3E077861DE8917A0FFFBC6BD96CF /* libMantle.a */, - 8B8FAB0D627B17EDE1366984278705D9 /* libMBProgressHUD.a */, - 6320170E5A5A268B11CAE15D4EF6A9E3 /* libPINCache.a */, - E537555010E35D7CDF9D7F38811C24DE /* libPods-TestApp.a */, - 400FF55D0451E7A8F33A3D0D3E11C1B9 /* libReachability.a */, - DDF6A31DFFDAE17F80A34E666AA79832 /* libSBJson.a */, + A8DCF15FDD8F87BCDF068E7420B3A32B /* SBJson5.h */, + CFF7D3E9DCB5A0D6C0ECA8856AF69CA3 /* SBJson5Parser.h */, + 8041F9FA341AA62BCE6B9966D105E331 /* SBJson5Parser.m */, + 6B9D15A65A0399127B93E4B704461467 /* SBJson5StreamParser.h */, + D903E718C371FCD869AF71FFD0B28FBC /* SBJson5StreamParser.m */, + B985F791806A954F4F85C99682BFB201 /* SBJson5StreamParserState.h */, + DF027DF7745FE0CD723931C837EA8895 /* SBJson5StreamParserState.m */, + F00B8FA6D655F72502170132D3E5AE40 /* SBJson5StreamTokeniser.h */, + 3A90C8819C579613FEC226239BAE6DCD /* SBJson5StreamTokeniser.m */, + 99B5705539ABCCE19A857341424487FC /* SBJson5StreamWriter.h */, + 6EEECC39F43D107A211236512665B537 /* SBJson5StreamWriter.m */, + 11DB0FB6E3C24AD156F410843C629755 /* SBJson5StreamWriterState.h */, + 332A7B7B902BE263462C35969917E3A9 /* SBJson5StreamWriterState.m */, + DAEBDEC0EC2B8F4E0E36E348B1418C80 /* SBJson5Writer.h */, + 6A46AA4C2AC496F227843B59EF1AB181 /* SBJson5Writer.m */, + 4D13EC0B5B6646F9597C683016007254 /* Support Files */, ); - name = Products; + name = SBJson; + path = SBJson; sourceTree = ""; }; - 41E759439A829746698E42C4673F573F /* Resources */ = { + 7EE8D899DFF6117BF8ACF4D871EF4088 /* BIObjCHelpers */ = { isa = PBXGroup; children = ( - B4B9827A9FE4879A03E16A520A2FEBB1 /* IQKeyboardManager.bundle */, + 11D5DE8450E9860E795A8B7CE77A9FC5 /* _BICollectionView+Internal.h */, + F0242D7BAB53EC73D10FB8F10CC9A784 /* _BIScrollViewProxy.h */, + D799443FD7E52BD77FFA2E86CDC56089 /* _BIScrollViewProxy.m */, + 83029FAD04BEB50A361DFBF86F1A211B /* _BITableView+Internal.h */, + A770AE012F78DE0A01F0BACC83088574 /* BIActivityIndicatorContainerView.h */, + 1CFBD11CD3BB7336B21ECB8502EC27FA /* BIActivityIndicatorContainerView.m */, + 11AF516232558259D9A823D6C75F604C /* BIBatchHelpers.h */, + 347F9FEBA8D1B5191EB4C237F025D79B /* BIBatchHelpers.m */, + C23BC123894C9B91DC739A2A96090FF5 /* BIBatchRequest.h */, + BE147DFC89B42A49A396A996D049F244 /* BIBatchRequest.m */, + 11D5E491BAF0D53C32B08BFF3DA39A2B /* BIBatchResponse.h */, + DB9B57010650D3476186C2985B856A29 /* BIBatchResponse.m */, + 74017DBE62A7DFC56032896DA28967AE /* BICollectionView.h */, + DC7D6291F723D79DC7902B8236388F1E /* BICollectionView.m */, + 5AF0466154D6AF1497B403B35C377E96 /* BICollectionViewActivityIndicatorReusableView.h */, + 84DA373376A32B36BDE2E3320CD88846 /* BICollectionViewActivityIndicatorReusableView.m */, + D4125A8C7A0F81B67175205DDC4F2AD1 /* BIDatasourceBase.h */, + BE84B5B65E5BFFCC549F2D52B2AF7F7D /* BIDatasourceBase.m */, + A9F59E4BD1C78152A70C4F1C18698C2F /* BIDatasourceCollectionView.h */, + 2659B9189CF8F2E0AE79CF584B447853 /* BIDatasourceCollectionView.m */, + E25E7D1CA28EA4DDB91E2D70FD961108 /* BIDatasourceFeedCollectionView.h */, + DED4465DE279E8C24C600AE54135EBAB /* BIDatasourceFeedCollectionView.m */, + 6550D5E97DBC85434D955EE28D8EA3F9 /* BIDatasourceFeedTableView.h */, + 413E132BE90A174819E7A314124DEEAD /* BIDatasourceFeedTableView.m */, + 66253BCB2F021488235B551552E9945C /* BIDatasourceFetchedCollectionView.h */, + 9486168CFB5365D643B1A6E253F88154 /* BIDatasourceFetchedCollectionView.m */, + A972A65B21B3AC37A5E80C3CB30F49EA /* BIDatasourceFetchedFeedTableView.h */, + 4B8DC5015DDF9C817E541C9328DC9C6F /* BIDatasourceFetchedFeedTableView.m */, + F53887C0896029323EBF2C671C4C65E7 /* BIDatasourceFetchedTableView.h */, + A7A265587B0C9779EF4A8FE87AAC8A1C /* BIDatasourceFetchedTableView.m */, + 910ABE949A92CD1DA92EEC6F3EDACB62 /* BIDatasourceTableView.h */, + FED80B287634DDDD4334298ABFAF26B6 /* BIDatasourceTableView.m */, + 09CAFAAEFB7830CB08A37574356F653D /* BIHandlerBase.h */, + 19307301ABC577F60C5DA2F62F2F4122 /* BIHandlerBase.m */, + FC99719C411D4E15301AE293FAA3F523 /* BIHandlerCollectionView.h */, + 8778734B0B7D593C6992A5575E78B2FE /* BIHandlerCollectionView.m */, + 1481CEC84434CA906F5FD2F4B22045F3 /* BIHandlerTableView.h */, + 5CD625DB252813C749A2AFC4DFE40F26 /* BIHandlerTableView.m */, + 9FBA4210EBF3D16F78946D7B37B6FABC /* BILaunchStartersFactory.h */, + 3DC4C7A7BCB7A16F6DA9304350464563 /* BILaunchStartersFactory.m */, + 365608C578B0363CABF8823C7AD62BC9 /* BILifecycle.h */, + C25796821CE903B3B72F79D418884EA0 /* BILifecycle.m */, + 01109DE59707089148A9ACFEF454486F /* BIObjCHelpers.h */, + 422BA3FE7D2AFD42FFB5E4D7848FEBB9 /* BIOperationBase.h */, + 5A9B08B094725A783B46D6EDBAD07CBA /* BIOperationBase.m */, + 7E29449BAD4956DF04BAC472C09B4E43 /* BIOperationNotifier.h */, + 9ADDDB594250E6BFC788F32022824EF8 /* BIOperationNotifier.m */, + 7877E71FEF61F9EAAC96C3DEA0E65218 /* BIOperationQueue.h */, + 58879BFC1C5A46E0EB6BE77B4E1EEE9E /* BIOperationQueue.m */, + BEA19BE17ADEB17170418A0C3E034A5C /* BIScrollAdditionalErrorNoContentView.h */, + 5ABD16D9E91D3FC4D7F293E8C49E3675 /* BIScrollAdditionalErrorNoContentView.m */, + 8C27587E6533C811A9B458D2E2B3380D /* BIScrollAdditionalLoadingView.h */, + 36D93AFAD9D354DCA6D5808699A76E51 /* BIScrollAdditionalLoadingView.m */, + 6DC50607C77F25164CC4267DCF20938A /* BIScrollAdditionalNoContentView.h */, + 510D3A8C93F003CAFD9E8E0024E09E51 /* BIScrollAdditionalNoContentView.m */, + 309ACB6517B9337D24B5AAB0FCD0D113 /* BIScrollAdditionalViewBase.h */, + 28054C43CA70691806146D557C120C9C /* BIScrollAdditionalViewBase.m */, + ACCBEAC04D3985D984832F82DB94E847 /* BIScrollDetails.h */, + 45ACF17DD84713BF88F19E271C8BE618 /* BISerialOperationQueue.h */, + AE10421747FA5F15EF9957034EFCFB0B /* BISerialOperationQueue.m */, + 087DCC328C5729E54D8B044ADE9F4F5C /* BIStarterProtocol.h */, + C79BC7B1A66324E06D26D23B80FED191 /* BIStartersFactory.h */, + 7A74B4F9641F518B6889AF9E21027E26 /* BIStartersFactory.m */, + 206436018BC45CDB17DA0BDACE86ABF2 /* BITableView.h */, + 22768B465CECED05A2D620173E5A238A /* BITableView.m */, + 315F16AD2948065766DCFB6098514F9D /* BITableViewCell.h */, + AAA809DC0691F357550B687ED41F90FC /* BITableViewCell.m */, + 59BCF33D4E97BBF6C191CF75655FD24E /* BITableViewUtils.h */, + E707DD7A4B6E7A6113B477E1D894EE12 /* NSBundle+BIExtra.h */, + 37BF68EA497F6F49A25009BDA035DC9A /* NSBundle+BIExtra.m */, + 82A4E5A1774B7B0F7F3089B2F1846C4E /* NSDate+BIAttributedString.h */, + 85A9078851934621236581B2A4D6CB5A /* NSDate+BIAttributedString.m */, + B6B875DB2B8BCBC175530FF0CC31D9C6 /* NSString+BIExtra.h */, + 5BB80C835D04160704DDD125C0336F34 /* NSString+BIExtra.m */, + F967766F294949B909612080663E2B9B /* UIScrollView+BIBatching.h */, + B3E458D1BF79516F5AD90592A0D9DE51 /* UIScrollView+BIBatching.m */, + 62FAB0283416E5221E0583C772E3DF6E /* UIScrollView+InfiniteScroll.h */, + 099C394940542C0904262E674C3EC099 /* UIScrollView+InfiniteScroll.m */, + 312CB39EAF4C29F265B513A164FEE669 /* UIView+BILoadXib.h */, + EEBB623A85B21947200CF1FBA0333A3C /* UIView+BILoadXib.m */, + D1372B04A4957CB45284510474678469 /* Support Files */, ); - name = Resources; + name = BIObjCHelpers; + path = BIObjCHelpers; sourceTree = ""; }; - 4466F6E602049100DFDE3235B2324834 /* Lockbox */ = { + 80D0B08203EC706FF2D8688B6AC17115 /* Serialization */ = { isa = PBXGroup; children = ( - 1DFF5CD82893CF40BAAA15292EC29CF3 /* Lockbox.h */, - 73C815FB0B967F3C7948A26FFA03F2CB /* Lockbox.m */, - 47BF2DED22AF27850B8CE24A8A4A742A /* Support Files */, + 111914991474B0072E9FE170727CF741 /* AFURLRequestSerialization.h */, + DA1FFA95539C130E182891682A0CB244 /* AFURLRequestSerialization.m */, + 6C1ACE6AEAA54170E02A43BF500F8BFF /* AFURLResponseSerialization.h */, + ED20B8B98044E43C82BF88A37572C867 /* AFURLResponseSerialization.m */, ); - name = Lockbox; - path = Lockbox; + name = Serialization; sourceTree = ""; }; - 47BF2DED22AF27850B8CE24A8A4A742A /* Support Files */ = { + 8BD27C1390310D4923A18B0957985CB5 /* NSURLSession */ = { isa = PBXGroup; children = ( - 2D74B856FC15F49C4787C1A324512905 /* Lockbox.xcconfig */, - 44F84D05D1CEF4E6FEC2B8ECD7B6F785 /* Lockbox-dummy.m */, - A6C7024E09354E903EA7A60CC02A4745 /* Lockbox-prefix.pch */, + B7AD969F6FA74F43BB5A3C5108EED868 /* AFCompatibilityMacros.h */, + E21D71C79484AD65A6A9AE6FA03B442A /* AFHTTPSessionManager.h */, + EEC735157172AC9FC6F68ECD23F6F47B /* AFHTTPSessionManager.m */, + FCB27C733593B100FB4D3BE006EEDFBD /* AFURLSessionManager.h */, + 482948E025BCED36D25DC102145F4A77 /* AFURLSessionManager.m */, ); - name = "Support Files"; - path = "../Target Support Files/Lockbox"; + name = NSURLSession; sourceTree = ""; }; - 524E450EC1DBFBD17C9DE69EA8DDE0F4 /* IQKeyboardManager */ = { + 8EA20B3B5342E32FB243A48B5B08AF0C /* Lockbox */ = { isa = PBXGroup; children = ( - BAEE04CEFB91CEEF55C2D3DD7E5A48A1 /* IQBarButtonItem.h */, - 3D094C5C67A8FC18D0AF2F4893F96664 /* IQBarButtonItem.m */, - 11652317276D0E718D4B04DA53A2F2A5 /* IQKeyboardManager.h */, - 8D78F7575F98D0D1FEECFF8E7DFA0B7B /* IQKeyboardManager.m */, - 08FD4625D35247C01A9E84B5718607DD /* IQKeyboardManagerConstants.h */, - 75BB5A3DCC80C12DD8E67762E144C6D5 /* IQKeyboardManagerConstantsInternal.h */, - 1D6A51FBB1584FC057D6350A4B5B8914 /* IQKeyboardReturnKeyHandler.h */, - 815CFFF8574C7365FA4FBE6C99865145 /* IQKeyboardReturnKeyHandler.m */, - 58FDD863168EC860C6C0870C08EAE9A8 /* IQNSArray+Sort.h */, - 790DA447629E47CE51DFAF3C14A0765E /* IQNSArray+Sort.m */, - 323FA7A134227466D080745C947ED14A /* IQPreviousNextView.h */, - 8D387F5297B6F50F2CAC77CBC81438F1 /* IQPreviousNextView.m */, - 0CD9A52A1BF8E3DC544E07A8F4D75233 /* IQTextView.h */, - FF36E657754817C7A03D9D5E2A73F4D0 /* IQTextView.m */, - EACCDF3FDAD410AED1AE3EECDC8E9BDF /* IQTitleBarButtonItem.h */, - 425CA2A28A4CEEC3270A2A6E539CB1B3 /* IQTitleBarButtonItem.m */, - 46D63E51D0625BE58BE127D5E3C217F0 /* IQToolbar.h */, - 2CDE86567EED917343D431647CA0831F /* IQToolbar.m */, - 52D82E17E6999FDF7DE5EF3B60A2BF57 /* IQUIScrollView+Additions.h */, - 756411C84C1E00AEFCB4B12C61C62B9A /* IQUIScrollView+Additions.m */, - 7840B0D9ED038094977BBC44AA6B9F67 /* IQUITextFieldView+Additions.h */, - C4DA14362F5C0EA9E85C5C7DB7ACC288 /* IQUITextFieldView+Additions.m */, - B7EEC35847334D494E6B23DA1D0E3ECC /* IQUIView+Hierarchy.h */, - A37BE216C52D1B21AF97268602309C86 /* IQUIView+Hierarchy.m */, - F5A42D61CC532212D0F62F87728DF1B9 /* IQUIView+IQKeyboardToolbar.h */, - 09BD6B6BF8AF4FE79217704EBFC2B580 /* IQUIView+IQKeyboardToolbar.m */, - D798DED777ED1CD64DA23FA2CED5F0B0 /* IQUIViewController+Additions.h */, - CAE5E34E9339DE934B25EC46E9A6F1D1 /* IQUIViewController+Additions.m */, - 10116D10EE32D6F66E6E3C8435C1B188 /* IQUIWindow+Hierarchy.h */, - B01DC46B2F4462609E41BBE31806160B /* IQUIWindow+Hierarchy.m */, - 41E759439A829746698E42C4673F573F /* Resources */, - 0A02C510FCCF65CC4E3AE573E23E24F6 /* Support Files */, + FCD444E715ED0F1F59D75D74107992CF /* Lockbox.h */, + 94404E1AF5DA34B98FE06C051D563539 /* Lockbox.m */, + E6E58E6F09FFDAED0A7F8704F94625D2 /* Support Files */, ); - name = IQKeyboardManager; - path = IQKeyboardManager; + name = Lockbox; + path = Lockbox; sourceTree = ""; }; - 5C452486853170FCAF78A3C6721CB44D /* Pods-TestApp */ = { + A0A384B592625B7ACF7DA4C30670A379 /* Support Files */ = { isa = PBXGroup; children = ( - 2583A13AD4D6659A5EE7CE100EB9F933 /* Pods-TestApp-acknowledgements.markdown */, - ADB310452830CEAE8AC8EB845E07587A /* Pods-TestApp-acknowledgements.plist */, - E1292FE43E4F8F642A883A35B554CB2F /* Pods-TestApp-dummy.m */, - FFDBBC625B9094E909C77849DD7E3D7A /* Pods-TestApp-resources.sh */, - BB187783AB6937557464B9BDBA92D85E /* Pods-TestApp.debug.xcconfig */, - 6AC37F065C9D1CBE10A58948531E512B /* Pods-TestApp.release.xcconfig */, + BD28C804172B6A315675457B5BA5086B /* AFNetworking.xcconfig */, + 8A3E38E4E94D7378BE3785DE30B19F17 /* AFNetworking-dummy.m */, + 406F5DB5AB57A362BD045DE855348824 /* AFNetworking-prefix.pch */, ); - name = "Pods-TestApp"; - path = "Target Support Files/Pods-TestApp"; + name = "Support Files"; + path = "../Target Support Files/AFNetworking"; sourceTree = ""; }; - 5EA1E1D148A8F6BD40530384CC140D51 /* AFNetworking */ = { + A247D5CA10FB05EFBD7B39B4F49221A3 /* MBProgressHUD */ = { isa = PBXGroup; children = ( - A436CA6DB413B8CC8B7390BFCAEBE1EA /* AFNetworking.h */, - 1D8EE8E013F6637A7B7F267E65A5841E /* NSURLSession */, - 950D50A86B559B7229D79D285577B459 /* Reachability */, - A00541EB64FAB7E1B6F7CC2CC77E7A05 /* Security */, - 948EA5FE967459F1BA36E0FEAF60F388 /* Serialization */, - 2D208B86615EA08B795858B47FC43A5F /* Support Files */, - B869200A926EAD584A475262AB519BFB /* UIKit */, + CDE6CAF84D10346AE5A6FCEB163FE4AA /* MBProgressHUD.h */, + A6B49C8F4C3141E8FB39D3355687D071 /* MBProgressHUD.m */, + 7303C4C1BEA482E327A4042DC8267737 /* Support Files */, ); - name = AFNetworking; - path = AFNetworking; + name = MBProgressHUD; + path = MBProgressHUD; sourceTree = ""; }; - 948EA5FE967459F1BA36E0FEAF60F388 /* Serialization */ = { + A258907ADBDA68493217864A7C2D20DC /* Support Files */ = { isa = PBXGroup; children = ( - C0EBD30C507E7088D342770BA62EAF34 /* AFURLRequestSerialization.h */, - 71F28D3EFDA31BF52B315471179E1026 /* AFURLRequestSerialization.m */, - FFD51CECAA17A7EC9BBEB18F926E4A0A /* AFURLResponseSerialization.h */, - 4100ADB50EDB8F58387C37CE933A0E25 /* AFURLResponseSerialization.m */, + B01010A8C145B3512C4020F715B1AE86 /* Mantle.xcconfig */, + AE027DFB1A69A94BD6471164BD433DF7 /* Mantle-dummy.m */, + C871BE3EF9127DCB915289249185EE50 /* Mantle-prefix.pch */, ); - name = Serialization; + name = "Support Files"; + path = "../Target Support Files/Mantle"; sourceTree = ""; }; - 950D50A86B559B7229D79D285577B459 /* Reachability */ = { + A3B2D1311933B4B2C8B1684E10D3E706 /* extobjc */ = { isa = PBXGroup; children = ( - 221B07E279BD8909E2F9A0BB248589BB /* AFNetworkReachabilityManager.h */, - 9229EA430E10516C474D836DF3A48038 /* AFNetworkReachabilityManager.m */, + E93CEF1C42C91E01B08468F10352FF9D /* EXTKeyPathCoding.h */, + 15664D936F9FD80513B2FE0E511403DF /* EXTRuntimeExtensions.h */, + 90DA24E6F6111ED014D8961BE1CF49D6 /* EXTRuntimeExtensions.m */, + 76ED4B8833FF30C03AF69A6819B6F11A /* EXTScope.h */, + 3009C063AA980E5783A86C56BD3BC36B /* EXTScope.m */, + 58F0F950556562CB407D4E852C622144 /* metamacros.h */, ); - name = Reachability; + name = extobjc; sourceTree = ""; }; - A00541EB64FAB7E1B6F7CC2CC77E7A05 /* Security */ = { + A9F627BF1769D590140BC9717D02E6F3 /* UIKit */ = { isa = PBXGroup; children = ( - DE20C6B12130302FF3D493227A2D630F /* AFSecurityPolicy.h */, - ACAAAA81D6E69B8A2E1180B1AC8DE999 /* AFSecurityPolicy.m */, + 368BD8FCFC82CDDB7F4F9A987277642D /* AFAutoPurgingImageCache.h */, + 1E6E6B1ABE59791508D0A3011BD2AC87 /* AFAutoPurgingImageCache.m */, + 629C94170CF5C9FCC2823666318F03D8 /* AFImageDownloader.h */, + C7827F9D6743752E72132E71A7F6D3E9 /* AFImageDownloader.m */, + 60B1593D8ABC0E6253C1B4863C4990AA /* AFNetworkActivityIndicatorManager.h */, + 0563D9E86A13F92EE83051648A4CDC30 /* AFNetworkActivityIndicatorManager.m */, + 2C1C06F6D7C45FEC0EB405F49B815127 /* UIActivityIndicatorView+AFNetworking.h */, + 543D36D3970AAA798544477D9F88555B /* UIActivityIndicatorView+AFNetworking.m */, + 3D09985117DAAE27AAFFA55BA67C4F98 /* UIButton+AFNetworking.h */, + 4245C1CE8B88AAD456D08624BF8C9371 /* UIButton+AFNetworking.m */, + D4CA94E360CD6A003A67F9BAD61EBE3F /* UIImage+AFNetworking.h */, + D15CC949170FF12B5521B9A641D16112 /* UIImageView+AFNetworking.h */, + 186A7C3AE6EAFC5786310AACF941AFBA /* UIImageView+AFNetworking.m */, + C535A2DB09B2419441C7A6BA45700332 /* UIKit+AFNetworking.h */, + F8AA7312F1F42CC1A812DF0A6B55204B /* UIProgressView+AFNetworking.h */, + 68A23AF8E66A74F27E4A1C897D02C4E1 /* UIProgressView+AFNetworking.m */, + 07BC94A3A822349E24C41D2EB5A1A385 /* UIRefreshControl+AFNetworking.h */, + F4F05ED6B43BF914633F2EE8DE5D33FA /* UIRefreshControl+AFNetworking.m */, + 5D28BE028B8ECE55637F5A8F35A87A2F /* UIWebView+AFNetworking.h */, + DF9F1D522947AF5E87256AA218EAF8E3 /* UIWebView+AFNetworking.m */, ); - name = Security; + name = UIKit; sourceTree = ""; }; AC6577599C9C050163E44E0F8093AEC3 /* Targets Support Files */ = { @@ -934,182 +1113,104 @@ name = "Targets Support Files"; sourceTree = ""; }; - ACA1531FCA318A1336255012D6B48F99 /* Pods */ = { + B44744B1F95529D4784FF3E948822B68 /* AFNetworking */ = { isa = PBXGroup; children = ( - 5EA1E1D148A8F6BD40530384CC140D51 /* AFNetworking */, - C0D63842A8832582FE5646C84CA8ED0D /* BIObjCHelpers */, - 524E450EC1DBFBD17C9DE69EA8DDE0F4 /* IQKeyboardManager */, - 4466F6E602049100DFDE3235B2324834 /* Lockbox */, - 10886773F883B32B7EA5BDD97F584AF3 /* Mantle */, - 06812D087D02E3DA4E806AE4CD2E1806 /* MBProgressHUD */, - 195EC2230DD2022B2330B6F3C864BFE3 /* PINCache */, - F50CE3027834DAE11E1F03F15D7EB757 /* Reachability */, - BCDDC361AA0600D53E1912DBB828D848 /* SBJson */, + FDF9D0531B606677ABE180205157B010 /* AFNetworking.h */, + 8BD27C1390310D4923A18B0957985CB5 /* NSURLSession */, + 05686F4A3F593310F69BF49F4CFE4CC6 /* Reachability */, + 03DF167AE563DF3DAE71D78FCEB6691C /* Security */, + 80D0B08203EC706FF2D8688B6AC17115 /* Serialization */, + A0A384B592625B7ACF7DA4C30670A379 /* Support Files */, + A9F627BF1769D590140BC9717D02E6F3 /* UIKit */, ); - name = Pods; + name = AFNetworking; + path = AFNetworking; sourceTree = ""; }; - B6C35399C2A1B7F5803395B0CE2F70A0 /* Support Files */ = { + CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( - D81D5FC896763119FB236B50A813BDF9 /* MBProgressHUD.xcconfig */, - ED0C8998DB096A327D56BD1CE61747D6 /* MBProgressHUD-dummy.m */, - F5E8BE4C4C7406C6C5FFB90F99C2871B /* MBProgressHUD-prefix.pch */, + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + D89477F20FB1DE18A04690586D7808C4 /* Frameworks */, + D020039065085BABBDBC2878CC1EE948 /* Pods */, + 40E68AF59F06850A2E7FEA305882F69F /* Products */, + AC6577599C9C050163E44E0F8093AEC3 /* Targets Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/MBProgressHUD"; sourceTree = ""; }; - B869200A926EAD584A475262AB519BFB /* UIKit */ = { + CFBD9F94EFACB9B2F517CD06854555B0 /* ActionSheetPicker-3.0 */ = { isa = PBXGroup; children = ( - B90CBDCD0364DCBF3383C90DE03E2A8B /* AFAutoPurgingImageCache.h */, - 01ACEE9E1BF80F2C34543761945F2D8A /* AFAutoPurgingImageCache.m */, - 3A605216EDF7E92613EC0B95D59A62A5 /* AFImageDownloader.h */, - E892EDD4D80F0DD0246F90B8158E359C /* AFImageDownloader.m */, - 12D888DD812C2C78CA1393273EEB903E /* AFNetworkActivityIndicatorManager.h */, - F1BAAC370514ECC0091DCDB999B673A3 /* AFNetworkActivityIndicatorManager.m */, - 4748B7EC564AB248D3AA3A2D23971759 /* UIActivityIndicatorView+AFNetworking.h */, - F6926CE0731335D7D6F41DEACDB26F81 /* UIActivityIndicatorView+AFNetworking.m */, - AC25CC612222C946BFC47B5AD8096F06 /* UIButton+AFNetworking.h */, - A659A674FC21C108DBC3BF8C810CFB06 /* UIButton+AFNetworking.m */, - 71F4B28F32670FA64F877E14CE476002 /* UIImage+AFNetworking.h */, - 35EAEEC725E82923B6D52BAB9BE6D2B6 /* UIImageView+AFNetworking.h */, - F5CD52A2DFB1220D9E17214F93574F16 /* UIImageView+AFNetworking.m */, - EBE204FCBE62506ADF890B75DE4763AC /* UIKit+AFNetworking.h */, - 577865EAACE2D8EB64AD741BE588DA00 /* UIProgressView+AFNetworking.h */, - 33EE6B78995B4DE1684E0702EB9B762B /* UIProgressView+AFNetworking.m */, - 38533C2A4E7C53668481100488721D53 /* UIRefreshControl+AFNetworking.h */, - 61ECC996780FE7C2A91257871B0318E2 /* UIRefreshControl+AFNetworking.m */, - 0A263279A6B2CEB4D903282CB0E91947 /* UIWebView+AFNetworking.h */, - A89DC08E34593C187ACEC053CF268437 /* UIWebView+AFNetworking.m */, - ); - name = UIKit; + 33803BDC5AB10B321C13BE5F07031B9B /* AbstractActionSheetPicker.h */, + 4DE76D614BBBC38ACB69C005AE4E6DAF /* AbstractActionSheetPicker.m */, + E4533362242E8561E51034496603AC43 /* ActionSheetCustomPicker.h */, + 1D04168022E047DC65C9E36726A95C85 /* ActionSheetCustomPicker.m */, + 593EAB1BFADFB78EFD7B64F9D2233571 /* ActionSheetCustomPickerDelegate.h */, + 2DF7D46D71824AA45572270619656C01 /* ActionSheetDatePicker.h */, + B89CEA58AD90918128E286620165E2E7 /* ActionSheetDatePicker.m */, + 803895A97D778C8D0B055D1BD8ECF7F0 /* ActionSheetDistancePicker.h */, + 90D439DF5BB6B66269A09DB4A5CB8930 /* ActionSheetDistancePicker.m */, + 7EB152066902B57DF4411DF4D57B225E /* ActionSheetLocalePicker.h */, + 29CA6B338B2F28F1E141AF14BA32DB47 /* ActionSheetLocalePicker.m */, + C7C9C8E752EB8FDED3699F5B38F430A7 /* ActionSheetMultipleStringPicker.h */, + 6DE4F43EFAB90DD44F6F8F98221F398C /* ActionSheetMultipleStringPicker.m */, + 4E66447AF3F228F723AB2AB6D1C2A3A0 /* ActionSheetPicker.h */, + FBE9502FD84A76847ADE074A410E52AA /* ActionSheetStringPicker.h */, + F031DBCF58E5A620B15E9FEA7F976BD9 /* ActionSheetStringPicker.m */, + 8509773CA5F14A02CE21E0B6332186E1 /* DistancePickerView.h */, + 2887DAA8D00310FD7F26CC068C85D726 /* DistancePickerView.m */, + C0F253C21AE54205F00C11F8BAE20932 /* SWActionSheet.h */, + 07BA67664FB57CB62C9320660E29C9A9 /* SWActionSheet.m */, + 63A6093F104D183CF3A49F94BF7A9C1B /* Support Files */, + ); + name = "ActionSheetPicker-3.0"; + path = "ActionSheetPicker-3.0"; sourceTree = ""; }; - BCDDC361AA0600D53E1912DBB828D848 /* SBJson */ = { + D020039065085BABBDBC2878CC1EE948 /* Pods */ = { isa = PBXGroup; children = ( - 726FD55690315641EEEC0E1E855E65B6 /* SBJson5.h */, - BCEC1FCE176DC732F266B70B3F4AE811 /* SBJson5Parser.h */, - 960A624F358A539C9C1F84BF28054489 /* SBJson5Parser.m */, - 07B55BD28DBE0E2BD3BE5347603F8EEC /* SBJson5StreamParser.h */, - FCDC01864B0ABC30752D13D3082E6A79 /* SBJson5StreamParser.m */, - 2F32250EB947298D2F65152A4A864837 /* SBJson5StreamParserState.h */, - 30C28BB31105FFAD93D92E3D4713E782 /* SBJson5StreamParserState.m */, - BEE33C8A55D6A9189E6ED81EF4016479 /* SBJson5StreamTokeniser.h */, - 32FDAF82D93E9F72597C641F282457D8 /* SBJson5StreamTokeniser.m */, - 7CB42007C7E77387854F4B64559DBDF7 /* SBJson5StreamWriter.h */, - 66E541FA70A29F1759FA9B4108C5A084 /* SBJson5StreamWriter.m */, - E94B5C5D3BD003D551DA8E7216D275A2 /* SBJson5StreamWriterState.h */, - 89ACDACCDB165E4EFEF326FCC36E4AD3 /* SBJson5StreamWriterState.m */, - 304034C61F14B7E290085EEA283854DA /* SBJson5Writer.h */, - DB5E343FBC5E4BF560EAE52884321664 /* SBJson5Writer.m */, - 1D6A65FC7FFC7214F5CF940E80BB6FF2 /* Support Files */, + CFBD9F94EFACB9B2F517CD06854555B0 /* ActionSheetPicker-3.0 */, + B44744B1F95529D4784FF3E948822B68 /* AFNetworking */, + 7EE8D899DFF6117BF8ACF4D871EF4088 /* BIObjCHelpers */, + 27C916E49ADF15D5F41027C00B0C984B /* IQKeyboardManager */, + 8EA20B3B5342E32FB243A48B5B08AF0C /* Lockbox */, + 5CEB33F7093B77569FEF725A0F2DC769 /* Mantle */, + A247D5CA10FB05EFBD7B39B4F49221A3 /* MBProgressHUD */, + D5A2ECE955F732E5AE780B2CC1E89AB4 /* PINCache */, + ECCF7069B17999110E2A2811EA82AB9D /* Reachability */, + 7CB1A646E181E94517010607B3AD69EE /* SBJson */, ); - name = SBJson; - path = SBJson; + name = Pods; sourceTree = ""; }; - C0D63842A8832582FE5646C84CA8ED0D /* BIObjCHelpers */ = { + D1372B04A4957CB45284510474678469 /* Support Files */ = { isa = PBXGroup; children = ( - 2DF0B1E77B0822EAA8581A5C187058DD /* _BICollectionView+Internal.h */, - FE074814EA6D7ACA210CA9D9FCB8E207 /* _BIScrollViewProxy.h */, - 9B11C70B7938740555C18309F3CD6E4B /* _BIScrollViewProxy.m */, - C651AA1F128E0889BF07CB61709D6B8A /* _BITableView+Internal.h */, - 7EBB974A391A03A3BAA6ECE230019926 /* BIActivityIndicatorContainerView.h */, - D2FFB6BDB603AFA1ED67D0CC7F0B55F3 /* BIActivityIndicatorContainerView.m */, - F3455A79023C25328B601A6E88D85720 /* BIBatchHelpers.h */, - D57F6CCD6F584157385059EDF63BD0C4 /* BIBatchHelpers.m */, - C3526E7580EDE03C3CAC1CADAEBAB3DE /* BIBatchRequest.h */, - E175459654E650D11C25DE75D5864E98 /* BIBatchRequest.m */, - A4DA1D65353183131E81E838D7B16168 /* BIBatchResponse.h */, - DB63928B8C4BD75AACF9672AB8CB6463 /* BIBatchResponse.m */, - 33C4869E7CABDE25AE065294B917F19C /* BICollectionView.h */, - 548114EB19B8DFF15F88623D7207475C /* BICollectionView.m */, - 24DD3B538630107BD1E8CB37CBA02BDD /* BICollectionViewActivityIndicatorReusableView.h */, - 5E59C29DF041569A0923AD415E1966E9 /* BICollectionViewActivityIndicatorReusableView.m */, - A24633D8A60F56D859390F17EC631CA2 /* BIDatasourceBase.h */, - A06EFA7BDA3C797E2664A088EE80A0B4 /* BIDatasourceBase.m */, - 7F8656CE46E4E28C7F08C42B0106F0AF /* BIDatasourceCollectionView.h */, - F94A09B4BFBE6D0303663AAE9A9F56FF /* BIDatasourceCollectionView.m */, - E7DF5EB7C854B603DAD524F7856308C4 /* BIDatasourceFeedCollectionView.h */, - D04EE36E590EC0AEA84DE52924D32B42 /* BIDatasourceFeedCollectionView.m */, - 9399B35B4F9578845E3D87E7D6A7CC47 /* BIDatasourceFeedTableView.h */, - 86E2C3C32D7741C647FA780301A2811C /* BIDatasourceFeedTableView.m */, - 06AD0F2B95DB04B52AE1AD9F2CEE18E1 /* BIDatasourceFetchedCollectionView.h */, - E71A91E4AB4FCA6F0ACB8F54FD289A0E /* BIDatasourceFetchedCollectionView.m */, - D99564D2491742FF1928AFAF925D2E9C /* BIDatasourceFetchedFeedTableView.h */, - D44B985328E97E6B2812BA25851B44B8 /* BIDatasourceFetchedFeedTableView.m */, - 696D28FAADF066C807F4838A3F3A8971 /* BIDatasourceFetchedTableView.h */, - 2A3ADF8E5EE23E62F2D0073A952EBCBC /* BIDatasourceFetchedTableView.m */, - C245DB5AFF83CC8EEB9EB8486D2F21F1 /* BIDatasourceTableView.h */, - C94CC7592042553D5B8065E2105ED622 /* BIDatasourceTableView.m */, - C157F59946E51D7D8C0B5D6A29E9411A /* BIHandlerBase.h */, - 64873A162CCCEB07E5185DDDA81FF309 /* BIHandlerBase.m */, - D56BE33E5BCA121F4DBB38BB18D30FA7 /* BIHandlerCollectionView.h */, - D6630EB92A632FAF2CB3DE369F5729A6 /* BIHandlerCollectionView.m */, - A0014FA6B06C7567795E18D944869847 /* BIHandlerTableView.h */, - 7D08B5299F51DDA0B29BD0659F9A665E /* BIHandlerTableView.m */, - 7BB7544597F09B2FDA52EFFB1417FB21 /* BILaunchStartersFactory.h */, - 02516C9470FF6FBDC9A071F687A7722A /* BILaunchStartersFactory.m */, - FCE1999480DA5892E14A088551A48221 /* BILifecycle.h */, - E72593C6F475667E6620B06D35A0C658 /* BILifecycle.m */, - EE6005FABE8524DABA40F660CB722EA7 /* BIObjCHelpers.h */, - 6A8B95B6C5C04143836702A614013037 /* BIOperationBase.h */, - 8DB4E54C2CFE61F024F6F782FFE79F6A /* BIOperationBase.m */, - 388A0002859AD60E914C4BEF232C1690 /* BIOperationNotifier.h */, - E7CBABDCCA75ECD3723B9A14AEDA10DC /* BIOperationNotifier.m */, - 2A12109754EA3A504AE7E12730B76323 /* BIOperationQueue.h */, - 5F85CBCE0199CD090EDD327CEF06715B /* BIOperationQueue.m */, - 25133381292903423EDD01C1356F35A1 /* BIScrollAdditionalErrorNoContentView.h */, - D143A88D9C7365EF57324AFD7C721DCC /* BIScrollAdditionalErrorNoContentView.m */, - 7376AA8F315296C8A35801E244EBEB16 /* BIScrollAdditionalLoadingView.h */, - D54B1ADD79DF01D28E4331C2E04BD3E7 /* BIScrollAdditionalLoadingView.m */, - 71222416617FD1F7655CFCDD315D8DB4 /* BIScrollAdditionalNoContentView.h */, - 7C6DC04CB2292559CF3E6520BEB59A59 /* BIScrollAdditionalNoContentView.m */, - 5CA76B16A848569B485FCED7304AB0A0 /* BIScrollAdditionalViewBase.h */, - 51240630538E0C9C25C83663E3E4F557 /* BIScrollAdditionalViewBase.m */, - 96E20804E4C28413A3CCF8DB43104BFE /* BIScrollDetails.h */, - 91E64C83EEB5F70BA0F84FC901964CCE /* BISerialOperationQueue.h */, - 545BA2754FF5619B6455E120A203C1C5 /* BISerialOperationQueue.m */, - 1DE4548E85940F754942FEBA45412311 /* BIStarterProtocol.h */, - 50999014146371615025F465FA190E1F /* BIStartersFactory.h */, - 4C79D6DBE92F7F45BC05912B9C8868A9 /* BIStartersFactory.m */, - EC866A4C21C205DC93B9B65F9773603D /* BITableView.h */, - 543005799D9C461F14C7F37B8CC05296 /* BITableView.m */, - 55A63CCC4E65DDB160BBF3F1C6D8A0B3 /* BITableViewCell.h */, - 943AF30140E7F3AF44B48190975D7C72 /* BITableViewCell.m */, - 9691889027D1ADD406054B0CD222EE9F /* BITableViewUtils.h */, - 23A06DB7B13EE49CD9E8D018C6A804B2 /* NSBundle+BIExtra.h */, - 9FF274389B59C43B61DAAF4DB5D3BAE0 /* NSBundle+BIExtra.m */, - C544E84B4B8BE1B75082EF8B30BECEC0 /* NSDate+BIAttributedString.h */, - 4C79A845B5257500D3D743F7A0084C74 /* NSDate+BIAttributedString.m */, - 146BD642A7B91B4F852BD90FF2B7BE9D /* NSString+BIExtra.h */, - 9D25936BC04CA22381023A33A10E0A8A /* NSString+BIExtra.m */, - 16EF0BC70C593340806B4F63795129A0 /* UIScrollView+BIBatching.h */, - 5446A044645A2A786DDD7BC438857B0A /* UIScrollView+BIBatching.m */, - FABB508FF2ABCD1CE43B1A1250E13A0A /* UIScrollView+InfiniteScroll.h */, - B12D738F605574C002D590C0E4BBC210 /* UIScrollView+InfiniteScroll.m */, - F1507FA5CBED308DD3031C0D04871B94 /* UIView+BILoadXib.h */, - D29AA23A9DA9593AA8C0F509E73D1DDF /* UIView+BILoadXib.m */, - D93C80FF9611F0B5F862A2612AB0144E /* Support Files */, + 3B9B7F0C0833F8C6AB94886311B7EE69 /* BIObjCHelpers.xcconfig */, + A31F4939109428F8CDC5D1D21E3BA548 /* BIObjCHelpers-dummy.m */, + 77A5CFCB5AB9F3313BA9172086827939 /* BIObjCHelpers-prefix.pch */, ); - name = BIObjCHelpers; - path = BIObjCHelpers; + name = "Support Files"; + path = "../Target Support Files/BIObjCHelpers"; sourceTree = ""; }; - CF1408CF629C7361332E53B88F7BD30C = { + D5A2ECE955F732E5AE780B2CC1E89AB4 /* PINCache */ = { isa = PBXGroup; children = ( - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - D89477F20FB1DE18A04690586D7808C4 /* Frameworks */, - ACA1531FCA318A1336255012D6B48F99 /* Pods */, - 4129E3FFA32D284C5497F03FAF4ECF23 /* Products */, - AC6577599C9C050163E44E0F8093AEC3 /* Targets Support Files */, + 23DFC88975439D02C595CFE57F0330BE /* Nullability.h */, + E9436DF9D451B4F9B03AB11F5C85FA87 /* PINCache.h */, + ED455E8F0E60641BD98557747473C401 /* PINCache.m */, + 8BA31CCF0FFEB71718789B5398ED49E1 /* PINCacheObjectSubscripting.h */, + CCAB26602244A642CE13CC0D16213352 /* PINDiskCache.h */, + A1A66B0CED13EB8F642715BDA4F0ADA9 /* PINDiskCache.m */, + E5B24AD3F3F7A9777D7E771F79B41241 /* PINMemoryCache.h */, + 8C9B46B9A0175599D32446EB08F51CB4 /* PINMemoryCache.m */, + 6184BDD656F15DBAFF8D871F8D637C08 /* Support Files */, ); + name = PINCache; + path = PINCache; sourceTree = ""; }; D89477F20FB1DE18A04690586D7808C4 /* Frameworks */ = { @@ -1119,23 +1220,23 @@ name = Frameworks; sourceTree = ""; }; - D93C80FF9611F0B5F862A2612AB0144E /* Support Files */ = { + E6E58E6F09FFDAED0A7F8704F94625D2 /* Support Files */ = { isa = PBXGroup; children = ( - E7B492487C31BFEC3B7D395ABF6C945B /* BIObjCHelpers.xcconfig */, - 89DA197029E9314C32F0F52AB056B82B /* BIObjCHelpers-dummy.m */, - 0D49069F24A0B5A1FB7281CE4A421B38 /* BIObjCHelpers-prefix.pch */, + 30858B202E713EEFBB5ED44C3FC64EC9 /* Lockbox.xcconfig */, + 0486DBBA6B4569325B6E605F3ABE7F4B /* Lockbox-dummy.m */, + 3C3FD7FF1A4E5AE141A0DCC739573A6D /* Lockbox-prefix.pch */, ); name = "Support Files"; - path = "../Target Support Files/BIObjCHelpers"; + path = "../Target Support Files/Lockbox"; sourceTree = ""; }; - F50CE3027834DAE11E1F03F15D7EB757 /* Reachability */ = { + ECCF7069B17999110E2A2811EA82AB9D /* Reachability */ = { isa = PBXGroup; children = ( - AAEA1F4E4BCD2525F2340BE2CC5AC23F /* Reachability.h */, - E3D88A7520077C0A9E78D011E55BCBD5 /* Reachability.m */, - 2F541213B24B480969D5ECD51A46A8E4 /* Support Files */, + 44F9114829BD3036797E7AC9AF98E50C /* Reachability.h */, + FED4CD7B6148E720FB11BC4555217806 /* Reachability.m */, + 678F64DAFF8C6BF959783C1FF0628F82 /* Support Files */, ); name = Reachability; path = Reachability; @@ -1246,6 +1347,31 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 45473463AC98775C6AF1EBFA0ABF3B77 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 2A82F2A7E2029B0744F6B5D76D0BD2B7 /* AbstractActionSheetPicker.h in Headers */, + 1E2C58DC08AD139759704FE3A5357891 /* ActionSheetCustomPicker.h in Headers */, + D1EAAEAAA2A6C5F5267EF1075296A538 /* ActionSheetCustomPickerDelegate.h in Headers */, + BF39673A6B13E1BA39B378360463EBE3 /* ActionSheetDatePicker.h in Headers */, + AC8A8C8E94CC95FA39D0DBFD3F7E9BDF /* ActionSheetDistancePicker.h in Headers */, + 7AD8778296AC87DF1E33330043944192 /* ActionSheetLocalePicker.h in Headers */, + B7B93D4BF33FC8C64E9E3EFFBA385992 /* ActionSheetMultipleStringPicker.h in Headers */, + 4F202F76F5929D717DDAFA381A0491B1 /* ActionSheetPicker.h in Headers */, + BD31180E2F3AD2BE65BD3A31461A527E /* ActionSheetStringPicker.h in Headers */, + 80E24A27FCB985474974A000DC58E41F /* DistancePickerView.h in Headers */, + EEC953AAECBFA61EE2138D33AC74DCAA /* SWActionSheet.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 625CEEC64411C7B1B3C3277D13B4EAEE /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 9D95B658EF17E5C927EA88A7087F0A9D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -1312,13 +1438,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - E52F7696A174FBAF4061978022E8945E /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; F69A1D7D9933B5C2BFB41B06C24EC219 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -1432,6 +1551,23 @@ productReference = DDF6A31DFFDAE17F80A34E666AA79832 /* libSBJson.a */; productType = "com.apple.product-type.library.static"; }; + A43B25DDF20FCB9228471F8F5135C866 /* ActionSheetPicker-3.0 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4C383B79D9A13A4747824FF6D2D9E9FE /* Build configuration list for PBXNativeTarget "ActionSheetPicker-3.0" */; + buildPhases = ( + 45473463AC98775C6AF1EBFA0ABF3B77 /* Headers */, + 019B892B82E2FF9CDD66FDABFDA2541D /* Sources */, + 77C5C286A72A129CE182002DE53452CA /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "ActionSheetPicker-3.0"; + productName = "ActionSheetPicker-3.0"; + productReference = D6E470A0C684D4FBC08BDF7A28A2A38B /* libActionSheetPicker-3.0.a */; + productType = "com.apple.product-type.library.static"; + }; A927C3CD51C30012080D6CA07959B246 /* PINCache */ = { isa = PBXNativeTarget; buildConfigurationList = B46F251ED13F675B0F6DB348E0A990C5 /* Build configuration list for PBXNativeTarget "PINCache" */; @@ -1468,24 +1604,25 @@ }; CDFBFBA537A3451DF3B07484C1A6929D /* Pods-TestApp */ = { isa = PBXNativeTarget; - buildConfigurationList = 6CF1ABCACEB0F679C5C3CF6F150144A9 /* Build configuration list for PBXNativeTarget "Pods-TestApp" */; + buildConfigurationList = DA7F62AFBCDC2BB00100F7F99B85CA50 /* Build configuration list for PBXNativeTarget "Pods-TestApp" */; buildPhases = ( - E52F7696A174FBAF4061978022E8945E /* Headers */, - 46D4D2E0EAD049890FD0DD83D347DBC3 /* Sources */, - 9AED1B9E03489173ED6BA51087F13105 /* Frameworks */, + 625CEEC64411C7B1B3C3277D13B4EAEE /* Headers */, + 0C7CFC51A59D5493D013BDF081124120 /* Sources */, + 0C3C7A8DE33227932865161C3E693F1D /* Frameworks */, ); buildRules = ( ); dependencies = ( - 6582B5991372494A19517AD72BCEEBB8 /* PBXTargetDependency */, - 9EC2AAF0E42FF1BD9E164F1A16960AFA /* PBXTargetDependency */, - 11E6522F3CDDC08CA4C85EEA8DAD7CE3 /* PBXTargetDependency */, - BF1C5168E608F462DB092DEE53B45D53 /* PBXTargetDependency */, - 0FC042B60ED617A1ABF0C1AF7F0EE645 /* PBXTargetDependency */, - C235A3B33CFEE37610522759D620C09F /* PBXTargetDependency */, - 155FC7EBE2DBE2AA9AE54DCC9CF3AF8D /* PBXTargetDependency */, - E50E604A170E638B0BA703675EB9652A /* PBXTargetDependency */, - BB4E5C76D5CB12925F1CFC26DF2C1529 /* PBXTargetDependency */, + 6062074659C3E3A50B94CC8CA5C6531E /* PBXTargetDependency */, + 5D2A0C1162395B7E9194257A1085E23E /* PBXTargetDependency */, + 437E899C0FF2EE8D1F7C4427F9447B41 /* PBXTargetDependency */, + CFDEC14D8495D2DE0C001991CD483A92 /* PBXTargetDependency */, + F13A810D38B33E9677EE79A98FF14681 /* PBXTargetDependency */, + 5941CB9590F72FD0AAFA110BE3F71C11 /* PBXTargetDependency */, + 0E676D2E75157D9CDF3D700D3F712459 /* PBXTargetDependency */, + CD21899FB9651B55020E1CDCBA9532A4 /* PBXTargetDependency */, + 85B43B803AC162746994D0631162F31C /* PBXTargetDependency */, + A55D37F633C22B27576153C23022104E /* PBXTargetDependency */, ); name = "Pods-TestApp"; productName = "Pods-TestApp"; @@ -1524,12 +1661,14 @@ hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = 4129E3FFA32D284C5497F03FAF4ECF23 /* Products */; + productRefGroup = 40E68AF59F06850A2E7FEA305882F69F /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( + A43B25DDF20FCB9228471F8F5135C866 /* ActionSheetPicker-3.0 */, 0130B3724283586C0E9D2A112D4F2AA1 /* AFNetworking */, 40BBB76E980F5CD19BEB5CE36045BA59 /* BIObjCHelpers */, FBA456CB50E371584C11231929A0971E /* IQKeyboardManager */, @@ -1568,6 +1707,23 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 019B892B82E2FF9CDD66FDABFDA2541D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 89EF24DC2B6941258ACA3302D50D3B75 /* AbstractActionSheetPicker.m in Sources */, + C12CC7B8E4903944F6D73BB0170A88BF /* ActionSheetCustomPicker.m in Sources */, + A18173E73B617052AC12AD8264BED27A /* ActionSheetDatePicker.m in Sources */, + B6AE1112249978AC335DB0F3A6056694 /* ActionSheetDistancePicker.m in Sources */, + 0E5632DFBFF80C9A759A90C858CEE012 /* ActionSheetLocalePicker.m in Sources */, + 201AA0058FE78FDCAAC1A0D1DEC9A21B /* ActionSheetMultipleStringPicker.m in Sources */, + 00D03C506513044C80CAC1A86F8DADFD /* ActionSheetPicker-3.0-dummy.m in Sources */, + EE9D110757778BF8C17EF969806A7F04 /* ActionSheetStringPicker.m in Sources */, + E45A021E32CF0D33CC68B84AC71528B8 /* DistancePickerView.m in Sources */, + 823008395EBFD4DE718BD3C27279824E /* SWActionSheet.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 0725DA95FCC863F191072F495A23A762 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1592,20 +1748,20 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 12490B6EBA14F6030F9CBD9575807097 /* Sources */ = { + 0C7CFC51A59D5493D013BDF081124120 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C7FD66D3D320095B45AD9D39EF1B858B /* MBProgressHUD-dummy.m in Sources */, - D6438BA4F863AE0A7891F212EE3C06D0 /* MBProgressHUD.m in Sources */, + F076BC070DF1DC2CAFC278DC58010821 /* Pods-TestApp-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 46D4D2E0EAD049890FD0DD83D347DBC3 /* Sources */ = { + 12490B6EBA14F6030F9CBD9575807097 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 00B5354A919C0D97933E8449BDCEA4C5 /* Pods-TestApp-dummy.m in Sources */, + C7FD66D3D320095B45AD9D39EF1B858B /* MBProgressHUD-dummy.m in Sources */, + D6438BA4F863AE0A7891F212EE3C06D0 /* MBProgressHUD.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1723,66 +1879,72 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0FC042B60ED617A1ABF0C1AF7F0EE645 /* PBXTargetDependency */ = { + 0E676D2E75157D9CDF3D700D3F712459 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = MBProgressHUD; - target = 82B0A41D3031FF27D78E17B0A9A46FB0 /* MBProgressHUD */; - targetProxy = 441A2E8F432F721305B0F439A20C67C5 /* PBXContainerItemProxy */; + name = Mantle; + target = 47CCF1D9F019FFC6546DA481B71A2C4E /* Mantle */; + targetProxy = 994C005AFC0659BCC82DF41B09E19A37 /* PBXContainerItemProxy */; }; - 11E6522F3CDDC08CA4C85EEA8DAD7CE3 /* PBXTargetDependency */ = { + 437E899C0FF2EE8D1F7C4427F9447B41 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = IQKeyboardManager; - target = FBA456CB50E371584C11231929A0971E /* IQKeyboardManager */; - targetProxy = 2BBE0E2C8A39F242E72FBE192D8500F7 /* PBXContainerItemProxy */; + name = BIObjCHelpers; + target = 40BBB76E980F5CD19BEB5CE36045BA59 /* BIObjCHelpers */; + targetProxy = 24D55EF2C3CBCD6EC8BAD3D1B0FF1277 /* PBXContainerItemProxy */; }; - 155FC7EBE2DBE2AA9AE54DCC9CF3AF8D /* PBXTargetDependency */ = { + 5941CB9590F72FD0AAFA110BE3F71C11 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PINCache; - target = A927C3CD51C30012080D6CA07959B246 /* PINCache */; - targetProxy = 0BA078611DDA58A59361A747C71C639B /* PBXContainerItemProxy */; + name = MBProgressHUD; + target = 82B0A41D3031FF27D78E17B0A9A46FB0 /* MBProgressHUD */; + targetProxy = 00FA7A0920336E9814498B6375E5B4DC /* PBXContainerItemProxy */; + }; + 5D2A0C1162395B7E9194257A1085E23E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "ActionSheetPicker-3.0"; + target = A43B25DDF20FCB9228471F8F5135C866 /* ActionSheetPicker-3.0 */; + targetProxy = A8F26F0B84529EDBB3676FB20D85B550 /* PBXContainerItemProxy */; }; - 6582B5991372494A19517AD72BCEEBB8 /* PBXTargetDependency */ = { + 6062074659C3E3A50B94CC8CA5C6531E /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AFNetworking; target = 0130B3724283586C0E9D2A112D4F2AA1 /* AFNetworking */; - targetProxy = B9B947D8C1B661A48FEDC486C17AD5D8 /* PBXContainerItemProxy */; + targetProxy = 1A8F056A25D30D19CFB7FFB3A7A52524 /* PBXContainerItemProxy */; }; - 9EC2AAF0E42FF1BD9E164F1A16960AFA /* PBXTargetDependency */ = { + 85B43B803AC162746994D0631162F31C /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = BIObjCHelpers; - target = 40BBB76E980F5CD19BEB5CE36045BA59 /* BIObjCHelpers */; - targetProxy = 9C4814AC1130987CC57C8D6A4041467B /* PBXContainerItemProxy */; + name = Reachability; + target = CAA047C0F5E4106F3904E8497FA17F97 /* Reachability */; + targetProxy = 517DC5C794F9EE9D02AE298F9FBA4F0C /* PBXContainerItemProxy */; }; - BB4E5C76D5CB12925F1CFC26DF2C1529 /* PBXTargetDependency */ = { + A55D37F633C22B27576153C23022104E /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SBJson; target = 99A737B746331762ACD053E5EF1415F7 /* SBJson */; - targetProxy = D47C7F4432DE131ED011A48A5E56F684 /* PBXContainerItemProxy */; + targetProxy = 7234B221C536B6E4F0FC9672D75C41F2 /* PBXContainerItemProxy */; }; - BF1C5168E608F462DB092DEE53B45D53 /* PBXTargetDependency */ = { + CD21899FB9651B55020E1CDCBA9532A4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Lockbox; - target = 7E875D11AD986EDEB42F0F0170213445 /* Lockbox */; - targetProxy = 8E05B208079D033F9E8C1C7259E5D439 /* PBXContainerItemProxy */; + name = PINCache; + target = A927C3CD51C30012080D6CA07959B246 /* PINCache */; + targetProxy = D867E73C2B0E1099B397806BC526C614 /* PBXContainerItemProxy */; }; - C235A3B33CFEE37610522759D620C09F /* PBXTargetDependency */ = { + CFDEC14D8495D2DE0C001991CD483A92 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Mantle; - target = 47CCF1D9F019FFC6546DA481B71A2C4E /* Mantle */; - targetProxy = 56D9305B5EF6D3A6D1E95C5878C0536D /* PBXContainerItemProxy */; + name = IQKeyboardManager; + target = FBA456CB50E371584C11231929A0971E /* IQKeyboardManager */; + targetProxy = F946F8CAED71AE0EEED27B4B998A392B /* PBXContainerItemProxy */; }; - E50E604A170E638B0BA703675EB9652A /* PBXTargetDependency */ = { + F13A810D38B33E9677EE79A98FF14681 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Reachability; - target = CAA047C0F5E4106F3904E8497FA17F97 /* Reachability */; - targetProxy = 30D67A9BE994BCEE8433F6D7F0936852 /* PBXContainerItemProxy */; + name = Lockbox; + target = 7E875D11AD986EDEB42F0F0170213445 /* Lockbox */; + targetProxy = DBEFDEA04B117B326446B80998B821DE /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ 2713A1AD3CC7005816E6C476FEBAD19D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D81D5FC896763119FB236B50A813BDF9 /* MBProgressHUD.xcconfig */; + baseConfigurationReference = AC17522B0F91924FBB4BFFDE289C175E /* MBProgressHUD.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1806,7 +1968,7 @@ }; 4484698E869C2871CF4E69366F4724FA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2D74B856FC15F49C4787C1A324512905 /* Lockbox.xcconfig */; + baseConfigurationReference = 30858B202E713EEFBB5ED44C3FC64EC9 /* Lockbox.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1830,7 +1992,7 @@ }; 45140C7410858AD1DCDDB3FFF010A36D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B249CEF14FD02BC0A70EB530B3BE7200 /* SBJson.xcconfig */; + baseConfigurationReference = C44EE7D31410C13D23864B37D37F8360 /* SBJson.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1852,23 +2014,25 @@ }; name = Release; }; - 5730F2C3E61764BB9B491D00FF340D6A /* Release */ = { + 4BF4D190ADACEAB78766F38E6C1FE61D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6AC37F065C9D1CBE10A58948531E512B /* Pods-TestApp.release.xcconfig */; + baseConfigurationReference = B0BE0FE6005E1E22087377C0A16AAB09 /* ActionSheetPicker-3.0.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MACH_O_TYPE = staticlib; + GCC_PREFIX_HEADER = "Target Support Files/ActionSheetPicker-3.0/ActionSheetPicker-3.0-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = ActionSheetPicker_3_0; + PRODUCT_NAME = "ActionSheetPicker-3.0"; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -1876,7 +2040,7 @@ }; 5E472B313AAA528C22C1BF1D61D97C44 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DC5C7B1065C061EBBE7066FE7122371E /* AFNetworking.xcconfig */; + baseConfigurationReference = BD28C804172B6A315675457B5BA5086B /* AFNetworking.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1899,7 +2063,7 @@ }; 690C1B11780ABBA0F742607D082E784B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D81D5FC896763119FB236B50A813BDF9 /* MBProgressHUD.xcconfig */; + baseConfigurationReference = AC17522B0F91924FBB4BFFDE289C175E /* MBProgressHUD.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1922,7 +2086,7 @@ }; 8422698694DE45E16B1B3870FF96D0AB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 273F3D9CBE21CBEDA52EAE3527D6DEC9 /* IQKeyboardManager.xcconfig */; + baseConfigurationReference = 928F59E3BF05BCF090D0A6144F08A73D /* IQKeyboardManager.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1945,7 +2109,7 @@ }; 85179D61A823C15EBEDE375E61731263 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 40605E60CF95DA17A91203BC6882BAE4 /* Reachability.xcconfig */; + baseConfigurationReference = B6303C06F01AC91C694628774C98F99D /* Reachability.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2092,7 +2256,7 @@ }; 96E41C759060566FAF828E76E3372018 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 87A926E42500DFAC0AB4850C549C1491 /* PINCache.xcconfig */; + baseConfigurationReference = AF726F0CF7B3C51482325B4C7681674D /* PINCache.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2115,7 +2279,7 @@ }; 98D4F72C2303CDA290BD9A7E8C1D1A85 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B249CEF14FD02BC0A70EB530B3BE7200 /* SBJson.xcconfig */; + baseConfigurationReference = C44EE7D31410C13D23864B37D37F8360 /* SBJson.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2136,54 +2300,55 @@ }; name = Debug; }; - A26081984499868E52C81B028654CC22 /* Release */ = { + A1F33A4CE24DD53EFBD2040BCAC69C39 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 40605E60CF95DA17A91203BC6882BAE4 /* Reachability.xcconfig */; + baseConfigurationReference = 6AC37F065C9D1CBE10A58948531E512B /* Pods-TestApp.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Reachability/Reachability-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACH_O_TYPE = staticlib; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Reachability; - PRODUCT_NAME = Reachability; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; name = Release; }; - A7FF68B5A26090CA5A7508ED081D037D /* Debug */ = { + A26081984499868E52C81B028654CC22 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BB187783AB6937557464B9BDBA92D85E /* Pods-TestApp.debug.xcconfig */; + baseConfigurationReference = B6303C06F01AC91C694628774C98F99D /* Reachability.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MACH_O_TYPE = staticlib; + GCC_PREFIX_HEADER = "Target Support Files/Reachability/Reachability-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = Reachability; + PRODUCT_NAME = Reachability; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; B292B3225E0F83EA67F314184646CAEC /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E7B492487C31BFEC3B7D395ABF6C945B /* BIObjCHelpers.xcconfig */; + baseConfigurationReference = 3B9B7F0C0833F8C6AB94886311B7EE69 /* BIObjCHelpers.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2207,7 +2372,7 @@ }; BCAF0E53AFA2C83B24ACA5BF9F712D9B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2D74B856FC15F49C4787C1A324512905 /* Lockbox.xcconfig */; + baseConfigurationReference = 30858B202E713EEFBB5ED44C3FC64EC9 /* Lockbox.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2230,7 +2395,7 @@ }; C65B6FC7FF9E5EF73401B687A4FF97D6 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B009B9059F51B90A57993C2E883782E4 /* Mantle.xcconfig */; + baseConfigurationReference = B01010A8C145B3512C4020F715B1AE86 /* Mantle.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2254,7 +2419,7 @@ }; DA7BBD615B7E2FB13640AAD26A35684A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 273F3D9CBE21CBEDA52EAE3527D6DEC9 /* IQKeyboardManager.xcconfig */; + baseConfigurationReference = 928F59E3BF05BCF090D0A6144F08A73D /* IQKeyboardManager.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2278,7 +2443,7 @@ }; E026641951119B1C5290B9EF3A365F9B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E7B492487C31BFEC3B7D395ABF6C945B /* BIObjCHelpers.xcconfig */; + baseConfigurationReference = 3B9B7F0C0833F8C6AB94886311B7EE69 /* BIObjCHelpers.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2301,7 +2466,7 @@ }; E87035D2FC8E9069EE6B238DD5057A0D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B009B9059F51B90A57993C2E883782E4 /* Mantle.xcconfig */; + baseConfigurationReference = B01010A8C145B3512C4020F715B1AE86 /* Mantle.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2324,7 +2489,7 @@ }; EF5F2F1D23984A8B4DF6A884F345DC88 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 87A926E42500DFAC0AB4850C549C1491 /* PINCache.xcconfig */; + baseConfigurationReference = AF726F0CF7B3C51482325B4C7681674D /* PINCache.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2348,7 +2513,7 @@ }; F0E0DE99D8C9C7D10672428D98A470BF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DC5C7B1065C061EBBE7066FE7122371E /* AFNetworking.xcconfig */; + baseConfigurationReference = BD28C804172B6A315675457B5BA5086B /* AFNetworking.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2370,6 +2535,50 @@ }; name = Release; }; + F1D0BDD3936C7AC6B127CBCF3A0F46D1 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = BB187783AB6937557464B9BDBA92D85E /* Pods-TestApp.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACH_O_TYPE = staticlib; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + FB49D5FA134B50E91F3DB05A6C8D9B51 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B0BE0FE6005E1E22087377C0A16AAB09 /* ActionSheetPicker-3.0.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/ActionSheetPicker-3.0/ActionSheetPicker-3.0-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.1; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = ActionSheetPicker_3_0; + PRODUCT_NAME = "ActionSheetPicker-3.0"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -2409,20 +2618,20 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 62BADA72327611F98F3563366171FCEF /* Build configuration list for PBXNativeTarget "Lockbox" */ = { + 4C383B79D9A13A4747824FF6D2D9E9FE /* Build configuration list for PBXNativeTarget "ActionSheetPicker-3.0" */ = { isa = XCConfigurationList; buildConfigurations = ( - BCAF0E53AFA2C83B24ACA5BF9F712D9B /* Debug */, - 4484698E869C2871CF4E69366F4724FA /* Release */, + FB49D5FA134B50E91F3DB05A6C8D9B51 /* Debug */, + 4BF4D190ADACEAB78766F38E6C1FE61D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6CF1ABCACEB0F679C5C3CF6F150144A9 /* Build configuration list for PBXNativeTarget "Pods-TestApp" */ = { + 62BADA72327611F98F3563366171FCEF /* Build configuration list for PBXNativeTarget "Lockbox" */ = { isa = XCConfigurationList; buildConfigurations = ( - A7FF68B5A26090CA5A7508ED081D037D /* Debug */, - 5730F2C3E61764BB9B491D00FF340D6A /* Release */, + BCAF0E53AFA2C83B24ACA5BF9F712D9B /* Debug */, + 4484698E869C2871CF4E69366F4724FA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2454,6 +2663,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + DA7F62AFBCDC2BB00100F7F99B85CA50 /* Build configuration list for PBXNativeTarget "Pods-TestApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F1D0BDD3936C7AC6B127CBCF3A0F46D1 /* Debug */, + A1F33A4CE24DD53EFBD2040BCAC69C39 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; E91C08FC4130D8EE22E760EC10DD3C7E /* Build configuration list for PBXNativeTarget "Mantle" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/example/ios/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig b/example/ios/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig index 2a9e916..9af64af 100644 --- a/example/ios/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig +++ b/example/ios/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig @@ -7,3 +7,4 @@ PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/AFNetworking PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/example/ios/Pods/Target Support Files/ActionSheetPicker-3.0/ActionSheetPicker-3.0-dummy.m b/example/ios/Pods/Target Support Files/ActionSheetPicker-3.0/ActionSheetPicker-3.0-dummy.m new file mode 100644 index 0000000..aa2e50d --- /dev/null +++ b/example/ios/Pods/Target Support Files/ActionSheetPicker-3.0/ActionSheetPicker-3.0-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_ActionSheetPicker_3_0 : NSObject +@end +@implementation PodsDummy_ActionSheetPicker_3_0 +@end diff --git a/example/ios/Pods/Target Support Files/ActionSheetPicker-3.0/ActionSheetPicker-3.0-prefix.pch b/example/ios/Pods/Target Support Files/ActionSheetPicker-3.0/ActionSheetPicker-3.0-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/example/ios/Pods/Target Support Files/ActionSheetPicker-3.0/ActionSheetPicker-3.0-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/example/ios/Pods/Target Support Files/ActionSheetPicker-3.0/ActionSheetPicker-3.0.xcconfig b/example/ios/Pods/Target Support Files/ActionSheetPicker-3.0/ActionSheetPicker-3.0.xcconfig new file mode 100644 index 0000000..4b8afca --- /dev/null +++ b/example/ios/Pods/Target Support Files/ActionSheetPicker-3.0/ActionSheetPicker-3.0.xcconfig @@ -0,0 +1,10 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ActionSheetPicker-3.0 +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/ActionSheetPicker-3.0" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/ActionSheetPicker-3.0" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/ActionSheetPicker-3.0 +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/example/ios/Pods/Target Support Files/BIObjCHelpers/BIObjCHelpers.xcconfig b/example/ios/Pods/Target Support Files/BIObjCHelpers/BIObjCHelpers.xcconfig index ac6a4c0..67420e2 100644 --- a/example/ios/Pods/Target Support Files/BIObjCHelpers/BIObjCHelpers.xcconfig +++ b/example/ios/Pods/Target Support Files/BIObjCHelpers/BIObjCHelpers.xcconfig @@ -7,3 +7,4 @@ PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/BIObjCHelpers PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/example/ios/Pods/Target Support Files/IQKeyboardManager/IQKeyboardManager.xcconfig b/example/ios/Pods/Target Support Files/IQKeyboardManager/IQKeyboardManager.xcconfig index 15df626..ab62cbd 100644 --- a/example/ios/Pods/Target Support Files/IQKeyboardManager/IQKeyboardManager.xcconfig +++ b/example/ios/Pods/Target Support Files/IQKeyboardManager/IQKeyboardManager.xcconfig @@ -7,3 +7,4 @@ PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardManager PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/example/ios/Pods/Target Support Files/Lockbox/Lockbox.xcconfig b/example/ios/Pods/Target Support Files/Lockbox/Lockbox.xcconfig index 1d4a8d9..3bb4b98 100644 --- a/example/ios/Pods/Target Support Files/Lockbox/Lockbox.xcconfig +++ b/example/ios/Pods/Target Support Files/Lockbox/Lockbox.xcconfig @@ -7,3 +7,4 @@ PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/Lockbox PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/example/ios/Pods/Target Support Files/MBProgressHUD/MBProgressHUD.xcconfig b/example/ios/Pods/Target Support Files/MBProgressHUD/MBProgressHUD.xcconfig index 4e0415b..56d3325 100644 --- a/example/ios/Pods/Target Support Files/MBProgressHUD/MBProgressHUD.xcconfig +++ b/example/ios/Pods/Target Support Files/MBProgressHUD/MBProgressHUD.xcconfig @@ -7,3 +7,4 @@ PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/MBProgressHUD PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/example/ios/Pods/Target Support Files/Mantle/Mantle.xcconfig b/example/ios/Pods/Target Support Files/Mantle/Mantle.xcconfig index 04ff801..3d63879 100644 --- a/example/ios/Pods/Target Support Files/Mantle/Mantle.xcconfig +++ b/example/ios/Pods/Target Support Files/Mantle/Mantle.xcconfig @@ -7,3 +7,4 @@ PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/Mantle PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/example/ios/Pods/Target Support Files/PINCache/PINCache.xcconfig b/example/ios/Pods/Target Support Files/PINCache/PINCache.xcconfig index 0125bb5..3dc8454 100644 --- a/example/ios/Pods/Target Support Files/PINCache/PINCache.xcconfig +++ b/example/ios/Pods/Target Support Files/PINCache/PINCache.xcconfig @@ -7,3 +7,4 @@ PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/PINCache PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp-acknowledgements.markdown b/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp-acknowledgements.markdown index 0acb3ae..fbc7c96 100644 --- a/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp-acknowledgements.markdown +++ b/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp-acknowledgements.markdown @@ -24,6 +24,34 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +## ActionSheetPicker-3.0 + +Copyright (c) 2011, Tim Cinel (see AUTHORS) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + ## BIObjCHelpers The MIT License (MIT) diff --git a/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp-acknowledgements.plist b/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp-acknowledgements.plist index b29c007..4aaea7a 100644 --- a/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp-acknowledgements.plist +++ b/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp-acknowledgements.plist @@ -41,6 +41,40 @@ THE SOFTWARE. Type PSGroupSpecifier + + FooterText + Copyright (c) 2011, Tim Cinel (see AUTHORS) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the <organization> nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + License + BSD + Title + ActionSheetPicker-3.0 + Type + PSGroupSpecifier + FooterText The MIT License (MIT) diff --git a/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp.debug.xcconfig b/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp.debug.xcconfig index 7cb1cfb..2154747 100644 --- a/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp.debug.xcconfig +++ b/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp.debug.xcconfig @@ -1,8 +1,9 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/BIObjCHelpers" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/Lockbox" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/Mantle" "${PODS_ROOT}/Headers/Public/PINCache" "${PODS_ROOT}/Headers/Public/Reachability" "${PODS_ROOT}/Headers/Public/SBJson" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/BIObjCHelpers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager" "${PODS_CONFIGURATION_BUILD_DIR}/Lockbox" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/PINCache" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SBJson" -OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"BIObjCHelpers" -l"IQKeyboardManager" -l"Lockbox" -l"MBProgressHUD" -l"Mantle" -l"PINCache" -l"Reachability" -l"SBJson" -framework "CoreGraphics" -framework "Foundation" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -weak_framework "UIKit" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/ActionSheetPicker-3.0" "${PODS_ROOT}/Headers/Public/BIObjCHelpers" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/Lockbox" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/Mantle" "${PODS_ROOT}/Headers/Public/PINCache" "${PODS_ROOT}/Headers/Public/Reachability" "${PODS_ROOT}/Headers/Public/SBJson" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/ActionSheetPicker-3.0" "${PODS_CONFIGURATION_BUILD_DIR}/BIObjCHelpers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager" "${PODS_CONFIGURATION_BUILD_DIR}/Lockbox" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/PINCache" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SBJson" +OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"ActionSheetPicker-3.0" -l"BIObjCHelpers" -l"IQKeyboardManager" -l"Lockbox" -l"MBProgressHUD" -l"Mantle" -l"PINCache" -l"Reachability" -l"SBJson" -framework "CoreGraphics" -framework "Foundation" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -weak_framework "UIKit" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp.release.xcconfig b/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp.release.xcconfig index 7cb1cfb..2154747 100644 --- a/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp.release.xcconfig +++ b/example/ios/Pods/Target Support Files/Pods-TestApp/Pods-TestApp.release.xcconfig @@ -1,8 +1,9 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/BIObjCHelpers" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/Lockbox" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/Mantle" "${PODS_ROOT}/Headers/Public/PINCache" "${PODS_ROOT}/Headers/Public/Reachability" "${PODS_ROOT}/Headers/Public/SBJson" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/BIObjCHelpers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager" "${PODS_CONFIGURATION_BUILD_DIR}/Lockbox" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/PINCache" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SBJson" -OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"BIObjCHelpers" -l"IQKeyboardManager" -l"Lockbox" -l"MBProgressHUD" -l"Mantle" -l"PINCache" -l"Reachability" -l"SBJson" -framework "CoreGraphics" -framework "Foundation" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -weak_framework "UIKit" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/ActionSheetPicker-3.0" "${PODS_ROOT}/Headers/Public/BIObjCHelpers" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/Lockbox" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/Mantle" "${PODS_ROOT}/Headers/Public/PINCache" "${PODS_ROOT}/Headers/Public/Reachability" "${PODS_ROOT}/Headers/Public/SBJson" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/ActionSheetPicker-3.0" "${PODS_CONFIGURATION_BUILD_DIR}/BIObjCHelpers" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager" "${PODS_CONFIGURATION_BUILD_DIR}/Lockbox" "${PODS_CONFIGURATION_BUILD_DIR}/MBProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Mantle" "${PODS_CONFIGURATION_BUILD_DIR}/PINCache" "${PODS_CONFIGURATION_BUILD_DIR}/Reachability" "${PODS_CONFIGURATION_BUILD_DIR}/SBJson" +OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"ActionSheetPicker-3.0" -l"BIObjCHelpers" -l"IQKeyboardManager" -l"Lockbox" -l"MBProgressHUD" -l"Mantle" -l"PINCache" -l"Reachability" -l"SBJson" -framework "CoreGraphics" -framework "Foundation" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -weak_framework "UIKit" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/example/ios/Pods/Target Support Files/Reachability/Reachability.xcconfig b/example/ios/Pods/Target Support Files/Reachability/Reachability.xcconfig index 58be6b8..7b7febc 100644 --- a/example/ios/Pods/Target Support Files/Reachability/Reachability.xcconfig +++ b/example/ios/Pods/Target Support Files/Reachability/Reachability.xcconfig @@ -7,3 +7,4 @@ PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/Reachability PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/example/ios/Pods/Target Support Files/SBJson/SBJson.xcconfig b/example/ios/Pods/Target Support Files/SBJson/SBJson.xcconfig index 340e5af..731cfd7 100644 --- a/example/ios/Pods/Target Support Files/SBJson/SBJson.xcconfig +++ b/example/ios/Pods/Target Support Files/SBJson/SBJson.xcconfig @@ -7,3 +7,4 @@ PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/SBJson PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/example/package-lock.json b/example/package-lock.json index a977cf2..27adf0a 100644 --- a/example/package-lock.json +++ b/example/package-lock.json @@ -1217,9 +1217,9 @@ } }, "@paytabscom/react-native-paytabs-library": { - "version": "1.0.6", - "resolved": "https://npm.pkg.github.com/download/@paytabscom/react-native-paytabs-library/1.0.6/a2ee6d463ace8f27e1e4a61bb3c5fb666916782571412d9bab2d43c3fc78201c", - "integrity": "sha512-bNbY6HvtIhRhtCUdVYZHpyq/f6ffO3Mdza43TPFRkFZoLqRS4SFzyihnvd4Z5jkp6Mo1hMusAtqXlKQTedmmBw==" + "version": "1.0.7", + "resolved": "https://npm.pkg.github.com/download/@paytabscom/react-native-paytabs-library/1.0.7/c94193265e9497b02c35888e5dc20f3ca91ae153b7c945aa401d5768d8a043d7", + "integrity": "sha512-6c/5YlsMi9IGK4PViK/aAlYqi6OUrG5DTQjRlTtsG2GD4BHihQGMEpHrAdMZ59VxrmaI+zRngubfJmY5II0qqQ==" }, "@react-native-community/cli": { "version": "1.4.6", diff --git a/example/package.json b/example/package.json index e2eaa28..a51cf21 100644 --- a/example/package.json +++ b/example/package.json @@ -7,7 +7,7 @@ "test": "jest" }, "dependencies": { - "@paytabscom/react-native-paytabs-library": "^1.0.6", + "@paytabscom/react-native-paytabs-library": "^1.0.7", "react": "16.8.3", "react-native": "0.59.1" },