├── .gitignore ├── LICENSE ├── MessageJudge.xcodeproj ├── project.pbxproj └── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ └── MessageJudge.xcscmblueprint ├── MessageJudge.xcworkspace └── contents.xcworkspacedata ├── MessageJudge ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── appicon-120px-1.png │ │ ├── appicon-120px.png │ │ ├── appicon-180px.png │ │ ├── appicon-40px.png │ │ ├── appicon-58px.png │ │ ├── appicon-60px.png │ │ ├── appicon-80px.png │ │ ├── appicon-87px.png │ │ └── icon_1024.png │ ├── Contents.json │ ├── blacklist-tab.imageset │ │ ├── Contents.json │ │ ├── blacklist-tab@2x.png │ │ └── blacklist-tab@3x.png │ ├── menu-tab.imageset │ │ ├── Contents.json │ │ ├── menu-tab@2x.png │ │ └── menu-tab@3x.png │ └── whitelist-tab.imageset │ │ ├── Contents.json │ │ ├── whitelist-tab@2x.png │ │ └── whitelist-tab@3x.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── GlobalDefine.h ├── I18n │ └── zh-Hans.lproj │ │ ├── InfoPlist.strings │ │ └── Localizable.strings ├── Info.plist ├── Interface │ ├── ConditionGroup │ │ ├── MJConditionCell.h │ │ ├── MJConditionCell.m │ │ ├── MJConditionViewController.h │ │ ├── MJConditionViewController.m │ │ ├── MJGroupViewController.h │ │ └── MJGroupViewController.m │ ├── GroupList │ │ ├── MJGroupCell.h │ │ ├── MJGroupCell.m │ │ ├── MJGroupListViewController.h │ │ └── MJGroupListViewController.m │ ├── Menu │ │ ├── MJMenuViewController.h │ │ └── MJMenuViewController.m │ └── Tabbar │ │ ├── MJTabBarController.h │ │ └── MJTabBarController.m ├── MessageJudge.entitlements ├── Rule │ ├── MJCondition.h │ ├── MJCondition.m │ ├── MJConditionGroup.h │ ├── MJConditionGroup.m │ ├── MJJudgementRule.h │ ├── MJJudgementRule.m │ ├── MJQueryRequest.h │ └── MJQueryRequest.m ├── main.m └── zh-Hans.lproj │ └── LaunchScreen.strings ├── MessageJudgeExt ├── Info.plist ├── MessageFilterExtension.h ├── MessageFilterExtension.m └── MessageJudgeExt.entitlements ├── MessageJudgeTests ├── Info.plist └── MessageJudgeTests.m ├── Podfile ├── Podfile.lock ├── Pods ├── Headers │ ├── Private │ │ ├── Masonry │ │ │ ├── MASCompositeConstraint.h │ │ │ ├── MASConstraint+Private.h │ │ │ ├── MASConstraint.h │ │ │ ├── MASConstraintMaker.h │ │ │ ├── MASLayoutConstraint.h │ │ │ ├── MASUtilities.h │ │ │ ├── MASViewAttribute.h │ │ │ ├── MASViewConstraint.h │ │ │ ├── Masonry.h │ │ │ ├── NSArray+MASAdditions.h │ │ │ ├── NSArray+MASShorthandAdditions.h │ │ │ ├── NSLayoutConstraint+MASDebugAdditions.h │ │ │ ├── View+MASAdditions.h │ │ │ ├── View+MASShorthandAdditions.h │ │ │ └── ViewController+MASAdditions.h │ │ ├── XLForm │ │ │ ├── NSArray+XLFormAdditions.h │ │ │ ├── NSExpression+XLFormAdditions.h │ │ │ ├── NSObject+XLFormAdditions.h │ │ │ ├── NSPredicate+XLFormAdditions.h │ │ │ ├── NSString+XLFormAdditions.h │ │ │ ├── UIView+XLFormAdditions.h │ │ │ ├── XLForm.h │ │ │ ├── XLFormBaseCell.h │ │ │ ├── XLFormButtonCell.h │ │ │ ├── XLFormCheckCell.h │ │ │ ├── XLFormDateCell.h │ │ │ ├── XLFormDatePickerCell.h │ │ │ ├── XLFormDescriptor.h │ │ │ ├── XLFormDescriptorCell.h │ │ │ ├── XLFormDescriptorDelegate.h │ │ │ ├── XLFormImageCell.h │ │ │ ├── XLFormInlineRowDescriptorCell.h │ │ │ ├── XLFormInlineSelectorCell.h │ │ │ ├── XLFormLeftRightSelectorCell.h │ │ │ ├── XLFormOptionsObject.h │ │ │ ├── XLFormOptionsViewController.h │ │ │ ├── XLFormPickerCell.h │ │ │ ├── XLFormRegexValidator.h │ │ │ ├── XLFormRightDetailCell.h │ │ │ ├── XLFormRightImageButton.h │ │ │ ├── XLFormRowDescriptor.h │ │ │ ├── XLFormRowDescriptorViewController.h │ │ │ ├── XLFormRowNavigationAccessoryView.h │ │ │ ├── XLFormSectionDescriptor.h │ │ │ ├── XLFormSegmentedCell.h │ │ │ ├── XLFormSelectorCell.h │ │ │ ├── XLFormSliderCell.h │ │ │ ├── XLFormStepCounterCell.h │ │ │ ├── XLFormSwitchCell.h │ │ │ ├── XLFormTextFieldCell.h │ │ │ ├── XLFormTextView.h │ │ │ ├── XLFormTextViewCell.h │ │ │ ├── XLFormValidationStatus.h │ │ │ ├── XLFormValidator.h │ │ │ ├── XLFormValidatorProtocol.h │ │ │ └── XLFormViewController.h │ │ └── YYModel │ │ │ ├── NSObject+YYModel.h │ │ │ ├── YYClassInfo.h │ │ │ └── YYModel.h │ └── Public │ │ ├── Masonry │ │ ├── MASCompositeConstraint.h │ │ ├── MASConstraint+Private.h │ │ ├── MASConstraint.h │ │ ├── MASConstraintMaker.h │ │ ├── MASLayoutConstraint.h │ │ ├── MASUtilities.h │ │ ├── MASViewAttribute.h │ │ ├── MASViewConstraint.h │ │ ├── Masonry.h │ │ ├── NSArray+MASAdditions.h │ │ ├── NSArray+MASShorthandAdditions.h │ │ ├── NSLayoutConstraint+MASDebugAdditions.h │ │ ├── View+MASAdditions.h │ │ ├── View+MASShorthandAdditions.h │ │ └── ViewController+MASAdditions.h │ │ ├── XLForm │ │ ├── NSArray+XLFormAdditions.h │ │ ├── NSExpression+XLFormAdditions.h │ │ ├── NSObject+XLFormAdditions.h │ │ ├── NSPredicate+XLFormAdditions.h │ │ ├── NSString+XLFormAdditions.h │ │ ├── UIView+XLFormAdditions.h │ │ ├── XLForm.h │ │ ├── XLFormBaseCell.h │ │ ├── XLFormButtonCell.h │ │ ├── XLFormCheckCell.h │ │ ├── XLFormDateCell.h │ │ ├── XLFormDatePickerCell.h │ │ ├── XLFormDescriptor.h │ │ ├── XLFormDescriptorCell.h │ │ ├── XLFormDescriptorDelegate.h │ │ ├── XLFormImageCell.h │ │ ├── XLFormInlineRowDescriptorCell.h │ │ ├── XLFormInlineSelectorCell.h │ │ ├── XLFormLeftRightSelectorCell.h │ │ ├── XLFormOptionsObject.h │ │ ├── XLFormOptionsViewController.h │ │ ├── XLFormPickerCell.h │ │ ├── XLFormRegexValidator.h │ │ ├── XLFormRightDetailCell.h │ │ ├── XLFormRightImageButton.h │ │ ├── XLFormRowDescriptor.h │ │ ├── XLFormRowDescriptorViewController.h │ │ ├── XLFormRowNavigationAccessoryView.h │ │ ├── XLFormSectionDescriptor.h │ │ ├── XLFormSegmentedCell.h │ │ ├── XLFormSelectorCell.h │ │ ├── XLFormSliderCell.h │ │ ├── XLFormStepCounterCell.h │ │ ├── XLFormSwitchCell.h │ │ ├── XLFormTextFieldCell.h │ │ ├── XLFormTextView.h │ │ ├── XLFormTextViewCell.h │ │ ├── XLFormValidationStatus.h │ │ ├── XLFormValidator.h │ │ ├── XLFormValidatorProtocol.h │ │ └── XLFormViewController.h │ │ └── YYModel │ │ ├── NSObject+YYModel.h │ │ ├── YYClassInfo.h │ │ └── YYModel.h ├── Manifest.lock ├── Masonry │ ├── LICENSE │ ├── Masonry │ │ ├── MASCompositeConstraint.h │ │ ├── MASCompositeConstraint.m │ │ ├── MASConstraint+Private.h │ │ ├── MASConstraint.h │ │ ├── MASConstraint.m │ │ ├── MASConstraintMaker.h │ │ ├── MASConstraintMaker.m │ │ ├── MASLayoutConstraint.h │ │ ├── MASLayoutConstraint.m │ │ ├── MASUtilities.h │ │ ├── MASViewAttribute.h │ │ ├── MASViewAttribute.m │ │ ├── MASViewConstraint.h │ │ ├── MASViewConstraint.m │ │ ├── Masonry.h │ │ ├── NSArray+MASAdditions.h │ │ ├── NSArray+MASAdditions.m │ │ ├── NSArray+MASShorthandAdditions.h │ │ ├── NSLayoutConstraint+MASDebugAdditions.h │ │ ├── NSLayoutConstraint+MASDebugAdditions.m │ │ ├── View+MASAdditions.h │ │ ├── View+MASAdditions.m │ │ ├── View+MASShorthandAdditions.h │ │ ├── ViewController+MASAdditions.h │ │ └── ViewController+MASAdditions.m │ └── README.md ├── Pods.xcodeproj │ └── project.pbxproj ├── Target Support Files │ ├── Masonry │ │ ├── Masonry-dummy.m │ │ ├── Masonry-prefix.pch │ │ └── Masonry.xcconfig │ ├── Pods-MessageJudge │ │ ├── Pods-MessageJudge-acknowledgements.markdown │ │ ├── Pods-MessageJudge-acknowledgements.plist │ │ ├── Pods-MessageJudge-dummy.m │ │ ├── Pods-MessageJudge-frameworks.sh │ │ ├── Pods-MessageJudge-resources.sh │ │ ├── Pods-MessageJudge.debug.xcconfig │ │ └── Pods-MessageJudge.release.xcconfig │ ├── Pods-MessageJudgeExt │ │ ├── Pods-MessageJudgeExt-acknowledgements.markdown │ │ ├── Pods-MessageJudgeExt-acknowledgements.plist │ │ ├── Pods-MessageJudgeExt-dummy.m │ │ ├── Pods-MessageJudgeExt-resources.sh │ │ ├── Pods-MessageJudgeExt.debug.xcconfig │ │ └── Pods-MessageJudgeExt.release.xcconfig │ ├── Pods-MessageJudgeTests │ │ ├── Pods-MessageJudgeTests-acknowledgements.markdown │ │ ├── Pods-MessageJudgeTests-acknowledgements.plist │ │ ├── Pods-MessageJudgeTests-dummy.m │ │ ├── Pods-MessageJudgeTests-frameworks.sh │ │ ├── Pods-MessageJudgeTests-resources.sh │ │ ├── Pods-MessageJudgeTests.debug.xcconfig │ │ └── Pods-MessageJudgeTests.release.xcconfig │ ├── XLForm │ │ ├── XLForm-dummy.m │ │ ├── XLForm-prefix.pch │ │ └── XLForm.xcconfig │ └── YYModel │ │ ├── YYModel-dummy.m │ │ ├── YYModel-prefix.pch │ │ └── YYModel.xcconfig ├── XLForm │ ├── LICENSE │ ├── README.md │ └── XLForm │ │ ├── XL │ │ ├── Cell │ │ │ ├── XLFormBaseCell.h │ │ │ ├── XLFormBaseCell.m │ │ │ ├── XLFormButtonCell.h │ │ │ ├── XLFormButtonCell.m │ │ │ ├── XLFormCheckCell.h │ │ │ ├── XLFormCheckCell.m │ │ │ ├── XLFormDateCell.h │ │ │ ├── XLFormDateCell.m │ │ │ ├── XLFormDatePickerCell.h │ │ │ ├── XLFormDatePickerCell.m │ │ │ ├── XLFormDescriptorCell.h │ │ │ ├── XLFormImageCell.h │ │ │ ├── XLFormImageCell.m │ │ │ ├── XLFormInlineRowDescriptorCell.h │ │ │ ├── XLFormInlineSelectorCell.h │ │ │ ├── XLFormInlineSelectorCell.m │ │ │ ├── XLFormLeftRightSelectorCell.h │ │ │ ├── XLFormLeftRightSelectorCell.m │ │ │ ├── XLFormPickerCell.h │ │ │ ├── XLFormPickerCell.m │ │ │ ├── XLFormSegmentedCell.h │ │ │ ├── XLFormSegmentedCell.m │ │ │ ├── XLFormSelectorCell.h │ │ │ ├── XLFormSelectorCell.m │ │ │ ├── XLFormSliderCell.h │ │ │ ├── XLFormSliderCell.m │ │ │ ├── XLFormStepCounterCell.h │ │ │ ├── XLFormStepCounterCell.m │ │ │ ├── XLFormSwitchCell.h │ │ │ ├── XLFormSwitchCell.m │ │ │ ├── XLFormTextFieldCell.h │ │ │ ├── XLFormTextFieldCell.m │ │ │ ├── XLFormTextViewCell.h │ │ │ └── XLFormTextViewCell.m │ │ ├── Controllers │ │ │ ├── XLFormOptionsObject.h │ │ │ ├── XLFormOptionsObject.m │ │ │ ├── XLFormOptionsViewController.h │ │ │ ├── XLFormOptionsViewController.m │ │ │ ├── XLFormRowDescriptorViewController.h │ │ │ ├── XLFormViewController.h │ │ │ └── XLFormViewController.m │ │ ├── Descriptors │ │ │ ├── XLFormDescriptor.h │ │ │ ├── XLFormDescriptor.m │ │ │ ├── XLFormDescriptorDelegate.h │ │ │ ├── XLFormRowDescriptor.h │ │ │ ├── XLFormRowDescriptor.m │ │ │ ├── XLFormSectionDescriptor.h │ │ │ └── XLFormSectionDescriptor.m │ │ ├── Helpers │ │ │ ├── NSArray+XLFormAdditions.h │ │ │ ├── NSArray+XLFormAdditions.m │ │ │ ├── NSExpression+XLFormAdditions.h │ │ │ ├── NSExpression+XLFormAdditions.m │ │ │ ├── NSObject+XLFormAdditions.h │ │ │ ├── NSObject+XLFormAdditions.m │ │ │ ├── NSPredicate+XLFormAdditions.h │ │ │ ├── NSPredicate+XLFormAdditions.m │ │ │ ├── NSString+XLFormAdditions.h │ │ │ ├── NSString+XLFormAdditions.m │ │ │ ├── UIView+XLFormAdditions.h │ │ │ ├── UIView+XLFormAdditions.m │ │ │ └── Views │ │ │ │ ├── XLFormRightDetailCell.h │ │ │ │ ├── XLFormRightDetailCell.m │ │ │ │ ├── XLFormRightImageButton.h │ │ │ │ ├── XLFormRightImageButton.m │ │ │ │ ├── XLFormRowNavigationAccessoryView.h │ │ │ │ ├── XLFormRowNavigationAccessoryView.m │ │ │ │ ├── XLFormTextView.h │ │ │ │ └── XLFormTextView.m │ │ ├── Validation │ │ │ ├── XLFormRegexValidator.h │ │ │ ├── XLFormRegexValidator.m │ │ │ ├── XLFormValidationStatus.h │ │ │ ├── XLFormValidationStatus.m │ │ │ ├── XLFormValidator.h │ │ │ ├── XLFormValidator.m │ │ │ └── XLFormValidatorProtocol.h │ │ ├── XLForm.h │ │ └── XLForm.m │ │ └── XLForm.bundle │ │ └── forwardarrow@2x.png └── YYModel │ ├── LICENSE │ ├── README.md │ └── YYModel │ ├── NSObject+YYModel.h │ ├── NSObject+YYModel.m │ ├── YYClassInfo.h │ ├── YYClassInfo.m │ └── YYModel.h └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## Build generated 6 | build/ 7 | DerivedData/ 8 | 9 | ## Various settings 10 | *.pbxuser 11 | !default.pbxuser 12 | *.mode1v3 13 | !default.mode1v3 14 | *.mode2v3 15 | !default.mode2v3 16 | *.perspectivev3 17 | !default.perspectivev3 18 | xcuserdata/ 19 | 20 | ## Other 21 | *.moved-aside 22 | *.xcuserstate 23 | 24 | ## Obj-C/Swift specific 25 | *.hmap 26 | *.ipa 27 | *.dSYM.zip 28 | *.dSYM 29 | 30 | # CocoaPods 31 | # 32 | # We recommend against adding the Pods directory to your .gitignore. However 33 | # you should judge for yourself, the pros and cons are mentioned at: 34 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 35 | # 36 | # Pods/ 37 | 38 | # Carthage 39 | # 40 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 41 | # Carthage/Checkouts 42 | 43 | Carthage/Build 44 | 45 | # fastlane 46 | # 47 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 48 | # screenshots whenever they are needed. 49 | # For more information about the recommended setup visit: 50 | # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md 51 | 52 | fastlane/report.xml 53 | fastlane/screenshots 54 | 55 | #Code Injection 56 | # 57 | # After new code Injection tools there's a generated folder /iOSInjectionProject 58 | # https://github.com/johnno1962/injectionforxcode 59 | 60 | iOSInjectionProject/ 61 | 62 | .DS_Store 63 | -------------------------------------------------------------------------------- /MessageJudge.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MessageJudge.xcodeproj/project.xcworkspace/xcshareddata/MessageJudge.xcscmblueprint: -------------------------------------------------------------------------------- 1 | { 2 | "DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "D718AF98605085DC1D37F4E34F7F877B63B2022A", 3 | "DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : { 4 | 5 | }, 6 | "DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : { 7 | "C3339B365A7E5D6D5058E70B093D4E7EA5F9D6A9" : 9223372036854775807, 8 | "D718AF98605085DC1D37F4E34F7F877B63B2022A" : 9223372036854775807 9 | }, 10 | "DVTSourceControlWorkspaceBlueprintIdentifierKey" : "2E33B33C-7445-4D9F-9D79-4FFF99544139", 11 | "DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : { 12 | "C3339B365A7E5D6D5058E70B093D4E7EA5F9D6A9" : "YYModel\/", 13 | "D718AF98605085DC1D37F4E34F7F877B63B2022A" : "MessageJudge\/" 14 | }, 15 | "DVTSourceControlWorkspaceBlueprintNameKey" : "MessageJudge", 16 | "DVTSourceControlWorkspaceBlueprintVersion" : 204, 17 | "DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "MessageJudge.xcodeproj", 18 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [ 19 | { 20 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/ibireme\/YYModel", 21 | "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", 22 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "C3339B365A7E5D6D5058E70B093D4E7EA5F9D6A9" 23 | }, 24 | { 25 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "github.com:Bynil\/MessageJudge.git", 26 | "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", 27 | "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "D718AF98605085DC1D37F4E34F7F877B63B2022A" 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /MessageJudge.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MessageJudge/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 08/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /MessageJudge/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 08/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | #import "MJTabBarController.h" 11 | 12 | @interface AppDelegate () 13 | 14 | @end 15 | 16 | @implementation AppDelegate 17 | 18 | 19 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 20 | self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 21 | MJTabBarController *tabbarController = [[MJTabBarController alloc] init]; 22 | self.window.rootViewController = tabbarController; 23 | [self.window makeKeyAndVisible]; 24 | return YES; 25 | } 26 | 27 | 28 | - (void)applicationWillResignActive:(UIApplication *)application { 29 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 30 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 31 | } 32 | 33 | 34 | - (void)applicationDidEnterBackground:(UIApplication *)application { 35 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 36 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 37 | } 38 | 39 | 40 | - (void)applicationWillEnterForeground:(UIApplication *)application { 41 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 42 | } 43 | 44 | 45 | - (void)applicationDidBecomeActive:(UIApplication *)application { 46 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 47 | } 48 | 49 | 50 | - (void)applicationWillTerminate:(UIApplication *)application { 51 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 52 | } 53 | 54 | 55 | @end 56 | -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "20x20", 5 | "idiom" : "iphone", 6 | "filename" : "appicon-40px.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "20x20", 11 | "idiom" : "iphone", 12 | "filename" : "appicon-60px.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "29x29", 17 | "idiom" : "iphone", 18 | "filename" : "appicon-58px.png", 19 | "scale" : "2x" 20 | }, 21 | { 22 | "size" : "29x29", 23 | "idiom" : "iphone", 24 | "filename" : "appicon-87px.png", 25 | "scale" : "3x" 26 | }, 27 | { 28 | "size" : "40x40", 29 | "idiom" : "iphone", 30 | "filename" : "appicon-80px.png", 31 | "scale" : "2x" 32 | }, 33 | { 34 | "size" : "40x40", 35 | "idiom" : "iphone", 36 | "filename" : "appicon-120px-1.png", 37 | "scale" : "3x" 38 | }, 39 | { 40 | "size" : "60x60", 41 | "idiom" : "iphone", 42 | "filename" : "appicon-120px.png", 43 | "scale" : "2x" 44 | }, 45 | { 46 | "size" : "60x60", 47 | "idiom" : "iphone", 48 | "filename" : "appicon-180px.png", 49 | "scale" : "3x" 50 | }, 51 | { 52 | "idiom" : "ipad", 53 | "size" : "20x20", 54 | "scale" : "1x" 55 | }, 56 | { 57 | "idiom" : "ipad", 58 | "size" : "20x20", 59 | "scale" : "2x" 60 | }, 61 | { 62 | "idiom" : "ipad", 63 | "size" : "29x29", 64 | "scale" : "1x" 65 | }, 66 | { 67 | "idiom" : "ipad", 68 | "size" : "29x29", 69 | "scale" : "2x" 70 | }, 71 | { 72 | "idiom" : "ipad", 73 | "size" : "40x40", 74 | "scale" : "1x" 75 | }, 76 | { 77 | "idiom" : "ipad", 78 | "size" : "40x40", 79 | "scale" : "2x" 80 | }, 81 | { 82 | "idiom" : "ipad", 83 | "size" : "76x76", 84 | "scale" : "1x" 85 | }, 86 | { 87 | "idiom" : "ipad", 88 | "size" : "76x76", 89 | "scale" : "2x" 90 | }, 91 | { 92 | "idiom" : "ipad", 93 | "size" : "83.5x83.5", 94 | "scale" : "2x" 95 | }, 96 | { 97 | "size" : "1024x1024", 98 | "idiom" : "ios-marketing", 99 | "filename" : "icon_1024.png", 100 | "scale" : "1x" 101 | } 102 | ], 103 | "info" : { 104 | "version" : 1, 105 | "author" : "xcode" 106 | } 107 | } -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-120px-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-120px-1.png -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-120px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-120px.png -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-180px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-180px.png -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-40px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-40px.png -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-58px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-58px.png -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-60px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-60px.png -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-80px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-80px.png -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-87px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/AppIcon.appiconset/appicon-87px.png -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/AppIcon.appiconset/icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/AppIcon.appiconset/icon_1024.png -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/blacklist-tab.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "blacklist-tab@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "blacklist-tab@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/blacklist-tab.imageset/blacklist-tab@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/blacklist-tab.imageset/blacklist-tab@2x.png -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/blacklist-tab.imageset/blacklist-tab@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/blacklist-tab.imageset/blacklist-tab@3x.png -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/menu-tab.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "menu-tab@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "menu-tab@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/menu-tab.imageset/menu-tab@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/menu-tab.imageset/menu-tab@2x.png -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/menu-tab.imageset/menu-tab@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/menu-tab.imageset/menu-tab@3x.png -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/whitelist-tab.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "whitelist-tab@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "whitelist-tab@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/whitelist-tab.imageset/whitelist-tab@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/whitelist-tab.imageset/whitelist-tab@2x.png -------------------------------------------------------------------------------- /MessageJudge/Assets.xcassets/whitelist-tab.imageset/whitelist-tab@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/MessageJudge/Assets.xcassets/whitelist-tab.imageset/whitelist-tab@3x.png -------------------------------------------------------------------------------- /MessageJudge/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /MessageJudge/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /MessageJudge/GlobalDefine.h: -------------------------------------------------------------------------------- 1 | // 2 | // GlobalDefine.h 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 11/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #ifndef GlobalDefine_h 10 | #define GlobalDefine_h 11 | 12 | 13 | #endif /* GlobalDefine_h */ 14 | 15 | #define MJLocalize(key) NSLocalizedString(key, nil) 16 | 17 | #define RGBColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0] 18 | -------------------------------------------------------------------------------- /MessageJudge/I18n/zh-Hans.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* 2 | InfoPlist.strings 3 | MessageJudge 4 | 5 | Created by GeXiao on 11/06/2017. 6 | Copyright © 2017 GeXiao. All rights reserved. 7 | */ 8 | CFBundleDisplayName ="短信审判员"; 9 | -------------------------------------------------------------------------------- /MessageJudge/I18n/zh-Hans.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | /* 2 | Localizable.strings 3 | MessageJudge 4 | 5 | Created by GeXiao on 11/06/2017. 6 | Copyright © 2017 GeXiao. All rights reserved. 7 | */ 8 | 9 | "Whitelist" = "白名单"; 10 | "Blacklist" = "黑名单"; 11 | "Menu" = "选项"; 12 | "Whitelist Groups" = "白名单条件组"; 13 | "Blacklist Groups" = "黑名单条件组"; 14 | "Sender" = "发送者"; 15 | "Content" = "内容"; 16 | "Invalid target" = "无效目标"; 17 | "has prefix" = "含有前缀"; 18 | "has suffix" = "含有后缀"; 19 | "contains" = "包含"; 20 | "doesn't contain" = "不包含"; 21 | "matches regex" = "匹配正则"; 22 | "New Group" = "新的条件组"; 23 | "OK" = "确认"; 24 | "Cancel" = "取消"; 25 | "Group Alias (Optional)" = "条件组别名(可选)"; 26 | "%ld conditions" = "%ld 个条件"; 27 | 28 | "Condition Configuration" = "条件配置"; 29 | "Target" = "目标"; 30 | "Pattern" = "模式"; 31 | "Keyword" = "关键词"; 32 | "Choose message's sender or content as object that attempts to match with." = "选择信息发送者或信息内容作为将要匹配的对象。"; 33 | "Select one match pattern." = "选择一个匹配模式。"; 34 | "Required" = "必填"; 35 | 36 | "Project" = "项目"; 37 | "Usage" = "使用说明"; 38 | "Source code" = "开源代码"; 39 | 40 | "Backup rules to iCloud" = "备份规则至 iCloud"; 41 | "Recover rules from iCloud" = "从 iCloud 恢复规则"; 42 | 43 | "Warning" = "警告"; 44 | "Continue" = "继续"; 45 | "This action will replace your rules existing on iCloud" = "备份操作会直接覆盖 iCloud 里已存在的规则"; 46 | "This action will replace your local rules" = "恢复操作会直接覆盖本地的规则"; 47 | -------------------------------------------------------------------------------- /MessageJudge/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleDisplayName 8 | Message Judge 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.2 21 | CFBundleVersion 22 | 6 23 | ITSAppUsesNonExemptEncryption 24 | 25 | LSRequiresIPhoneOS 26 | 27 | NSPhotoLibraryUsageDescription 28 | Nothing 29 | UILaunchStoryboardName 30 | LaunchScreen 31 | UIMainStoryboardFile 32 | Main 33 | UIRequiredDeviceCapabilities 34 | 35 | armv7 36 | 37 | UISupportedInterfaceOrientations 38 | 39 | UIInterfaceOrientationPortrait 40 | 41 | UISupportedInterfaceOrientations~ipad 42 | 43 | UIInterfaceOrientationPortrait 44 | UIInterfaceOrientationPortraitUpsideDown 45 | UIInterfaceOrientationLandscapeLeft 46 | UIInterfaceOrientationLandscapeRight 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /MessageJudge/Interface/ConditionGroup/MJConditionCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJConditionCell.h 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 11/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | static NSString *MJConditionCellReuseIdentifier = @"MJConditionCellReuseIdentifier"; 12 | 13 | @class MJCondition; 14 | 15 | @interface MJConditionCell : UITableViewCell 16 | 17 | - (void)renderCellWithCondition:(MJCondition *)condition; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /MessageJudge/Interface/ConditionGroup/MJConditionViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJConditionViewController.h 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 12/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class MJCondition; 12 | 13 | @interface MJConditionViewController : XLFormViewController 14 | 15 | @property (nonatomic, strong, readonly) MJCondition *condition; 16 | 17 | - (instancetype)initWithCondition:(MJCondition *)condition; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /MessageJudge/Interface/ConditionGroup/MJGroupViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJGroupViewController.h 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 11/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class MJConditionGroup; 12 | 13 | @interface MJGroupViewController : UITableViewController 14 | 15 | - (instancetype)initWithConditionGroup:(MJConditionGroup *)group; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /MessageJudge/Interface/GroupList/MJGroupCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJGroupCell.h 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 11/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "MJConditionGroup.h" 11 | 12 | static NSString *MJGroupCellReuseIdentifier = @"MJGroupCellReuseIdentifier"; 13 | 14 | @interface MJGroupCell : UITableViewCell 15 | 16 | - (void)renderCellWithGroup:(MJConditionGroup *)group; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /MessageJudge/Interface/GroupList/MJGroupCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // MJGroupCell.m 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 11/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import "MJGroupCell.h" 10 | #import "GlobalDefine.h" 11 | 12 | @implementation MJGroupCell 13 | 14 | - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { 15 | if (self = [super initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:reuseIdentifier]) { 16 | 17 | } 18 | return self; 19 | } 20 | 21 | - (void)renderCellWithGroup:(MJConditionGroup *)group { 22 | self.textLabel.text = group.alias; 23 | self.detailTextLabel.text = [NSString stringWithFormat:MJLocalize(@"%ld conditions"), (long)group.conditions.count]; 24 | } 25 | 26 | - (void)prepareForReuse { 27 | [super prepareForReuse]; 28 | self.textLabel.text = @""; 29 | self.detailTextLabel.text = @""; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /MessageJudge/Interface/GroupList/MJGroupListViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJGroupListViewController.h 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 11/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef NS_ENUM(NSInteger, MJGroupListType) { 12 | MJGroupListTypeWhiteList = 0, 13 | MJGroupListTypeBlackList, 14 | }; 15 | 16 | @class MJConditionGroup; 17 | 18 | @interface MJGroupListViewController : UITableViewController 19 | 20 | @property (nonatomic, assign) MJGroupListType type; 21 | @property (nonatomic, strong, readonly) NSMutableArray *groupList; 22 | 23 | - (instancetype)initWithListType:(MJGroupListType)type; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /MessageJudge/Interface/Menu/MJMenuViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJMenuViewController.h 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 12/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MJMenuViewController : XLFormViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /MessageJudge/Interface/Tabbar/MJTabBarController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJTabBarController.h 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 09/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MJTabBarController : UITabBarController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /MessageJudge/Interface/Tabbar/MJTabBarController.m: -------------------------------------------------------------------------------- 1 | // 2 | // MJTabBarController.m 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 09/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import "MJTabBarController.h" 10 | #import "MJGroupListViewController.h" 11 | #import "GlobalDefine.h" 12 | #import "MJJudgementRule.h" 13 | #import "YYModel.h" 14 | #import "MJMenuViewController.h" 15 | 16 | @interface MJTabBarController () 17 | 18 | @end 19 | 20 | @implementation MJTabBarController 21 | 22 | - (void)viewDidLoad { 23 | [super viewDidLoad]; 24 | 25 | MJGroupListViewController *whiteListViewController = [[MJGroupListViewController alloc] initWithListType:MJGroupListTypeWhiteList]; 26 | MJGroupListViewController *blackListViewController = [[MJGroupListViewController alloc] initWithListType:MJGroupListTypeBlackList]; 27 | 28 | UINavigationController *whiteListNav = [[UINavigationController alloc] initWithRootViewController:whiteListViewController]; 29 | whiteListNav.tabBarItem.title = MJLocalize(@"Whitelist"); 30 | whiteListNav.tabBarItem.image = [UIImage imageNamed:@"whitelist-tab"]; 31 | 32 | UINavigationController *blackListNav = [[UINavigationController alloc] initWithRootViewController:blackListViewController]; 33 | blackListNav.tabBarItem.title = MJLocalize(@"Blacklist"); 34 | blackListNav.tabBarItem.image = [UIImage imageNamed:@"blacklist-tab"]; 35 | 36 | MJMenuViewController *menuViewController = [MJMenuViewController new]; 37 | UINavigationController *menuNav = [[UINavigationController alloc] initWithRootViewController:menuViewController]; 38 | menuViewController.tabBarItem.title = MJLocalize(@"Menu"); 39 | menuViewController.tabBarItem.image = [UIImage imageNamed:@"menu-tab"]; 40 | self.viewControllers = @[whiteListNav, blackListNav, menuNav]; 41 | } 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /MessageJudge/MessageJudge.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.developer.icloud-container-identifiers 6 | 7 | com.apple.developer.ubiquity-kvstore-identifier 8 | $(TeamIdentifierPrefix)$(CFBundleIdentifier) 9 | com.apple.security.application-groups 10 | 11 | group.me.gexiao.messagejudge 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MessageJudge/Rule/MJCondition.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJCondition.h 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 08/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "MJQueryRequest.h" 11 | 12 | typedef NS_ENUM(NSInteger, MJConditionTarget) { 13 | MJConditionTargetSender = 0, 14 | MJConditionTargetContent 15 | }; 16 | 17 | typedef NS_ENUM(NSInteger, MJConditionType) { 18 | MJConditionTypeHasPrefix = 0, 19 | MJConditionTypeHasSuffix, 20 | MJConditionTypeContains, 21 | MJConditionTypeNotContains, 22 | MJConditionTypeContainsRegex 23 | }; 24 | 25 | @interface MJCondition : NSObject 26 | 27 | @property (nonatomic, assign) MJConditionTarget conditionTarget; 28 | @property (nonatomic, assign) MJConditionType conditionType; 29 | @property (nonatomic, copy) NSString *keyword; 30 | 31 | - (BOOL)isMatchedForRequest:(MJQueryRequest *)request; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /MessageJudge/Rule/MJCondition.m: -------------------------------------------------------------------------------- 1 | // 2 | // MJCondition.m 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 08/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import "MJCondition.h" 10 | 11 | @implementation MJCondition 12 | 13 | - (BOOL)isMatchedForRequest:(MJQueryRequest *)request { 14 | NSString *target; 15 | switch (self.conditionTarget) { 16 | case MJConditionTargetSender: 17 | target = request.sender; 18 | break; 19 | case MJConditionTargetContent: 20 | target = request.messageBody; 21 | break; 22 | default: 23 | target = request.messageBody; 24 | break; 25 | } 26 | if (target.length < 1) { 27 | return NO; 28 | } 29 | BOOL result = NO; 30 | switch (self.conditionType) { 31 | case MJConditionTypeHasPrefix: 32 | result = [target hasPrefix:self.keyword]; 33 | break; 34 | case MJConditionTypeHasSuffix: 35 | result = [target hasSuffix:self.keyword]; 36 | break; 37 | case MJConditionTypeContains: 38 | result = [target containsString:self.keyword]; 39 | break; 40 | case MJConditionTypeNotContains: 41 | result = ![target containsString:self.keyword]; 42 | break; 43 | case MJConditionTypeContainsRegex: 44 | result = [target rangeOfString:self.keyword options:NSRegularExpressionSearch].location != NSNotFound; 45 | break; 46 | default: 47 | break; 48 | } 49 | return result; 50 | } 51 | 52 | @end 53 | -------------------------------------------------------------------------------- /MessageJudge/Rule/MJConditionGroup.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJConditionGroup.h 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 08/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "MJCondition.h" 11 | 12 | @interface MJConditionGroup : NSObject 13 | 14 | @property (nonatomic, copy) NSString *alias; 15 | @property (nonatomic, strong) NSMutableArray *conditions; 16 | 17 | - (BOOL)isMatchedForRequest:(MJQueryRequest *)request; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /MessageJudge/Rule/MJConditionGroup.m: -------------------------------------------------------------------------------- 1 | // 2 | // MJConditionGroup.m 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 08/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import "MJConditionGroup.h" 10 | 11 | @implementation MJConditionGroup 12 | 13 | - (instancetype)init { 14 | self = [super init]; 15 | if (self) { 16 | _conditions = [@[] mutableCopy]; 17 | } 18 | return self; 19 | } 20 | 21 | + (NSDictionary *)modelContainerPropertyGenericClass { 22 | return @{@"conditions" : [MJCondition class]}; 23 | } 24 | 25 | - (BOOL)isMatchedForRequest:(MJQueryRequest *)request { 26 | if (self.conditions) { 27 | for (MJCondition *condition in self.conditions) { 28 | if (![condition isMatchedForRequest:request]) { 29 | return NO; 30 | } 31 | } 32 | } 33 | return YES; 34 | } 35 | @end 36 | -------------------------------------------------------------------------------- /MessageJudge/Rule/MJJudgementRule.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJJudgementRule.h 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 08/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "MJConditionGroup.h" 11 | 12 | #define MJGlobalRule [MJJudgementRule globalRule] 13 | 14 | // MJExtentsionAppGroupName must be same with your App Group's name 15 | // (Project -> Compabilities -> App Groups) 16 | static NSString *MJExtentsionAppGroupName = @"group.me.gexiao.messagejudge"; 17 | static NSString *MJExtentsionRuleKey = @"MJExtentsionRuleKey"; 18 | 19 | @interface MJJudgementRule : NSObject 20 | 21 | @property (nonatomic, strong) NSMutableArray *whiteConditionGroupList; 22 | @property (nonatomic, strong) NSMutableArray *blackConditionGroupList; 23 | 24 | + (instancetype)globalRule; 25 | + (void)regenerateShareInstance; 26 | 27 | - (BOOL)isUnwantedMessageForSystemQueryRequest:(ILMessageFilterQueryRequest *)systemRequest; 28 | - (BOOL)save; 29 | 30 | - (BOOL)backupRuleToIcloud; 31 | - (BOOL)syncRuleFromIcloud; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /MessageJudge/Rule/MJQueryRequest.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJQueryRequest.h 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 09/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | // A container for system request to avoid API breaking 13 | @interface MJQueryRequest : NSObject 14 | 15 | @property (nonatomic, readonly, nullable) NSString *sender; 16 | @property (nonatomic, readonly, nullable) NSString *messageBody; 17 | 18 | - (instancetype _Nonnull)initWithSystemQueryRequest:(ILMessageFilterQueryRequest *_Nonnull)request; 19 | 20 | - (instancetype _Nonnull)initWithSender:(NSString *_Nullable)sender messageBody:(NSString *_Nullable)messageBody; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /MessageJudge/Rule/MJQueryRequest.m: -------------------------------------------------------------------------------- 1 | // 2 | // MJQueryRequest.m 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 09/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import "MJQueryRequest.h" 10 | 11 | @implementation MJQueryRequest 12 | 13 | - (instancetype)initWithSystemQueryRequest:(ILMessageFilterQueryRequest *)request { 14 | self = [super init]; 15 | if (self) { 16 | _sender = request.sender; 17 | _messageBody = request.messageBody; 18 | } 19 | return self; 20 | } 21 | 22 | - (instancetype _Nonnull)initWithSender:(NSString *_Nullable)sender messageBody:(NSString *_Nullable)messageBody { 23 | self = [super init]; 24 | if (self) { 25 | _sender = sender; 26 | _messageBody = messageBody; 27 | } 28 | return self; 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /MessageJudge/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // MessageJudge 4 | // 5 | // Created by GeXiao on 08/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MessageJudge/zh-Hans.lproj/LaunchScreen.strings: -------------------------------------------------------------------------------- 1 | 2 | /* Class = "UILabel"; text = "Message
Judge"; ObjectID = "JJF-Br-YlR"; */ 3 | "JJF-Br-YlR.text" = "Message
Judge"; 4 | -------------------------------------------------------------------------------- /MessageJudgeExt/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleDisplayName 8 | Message Judge Extension 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | XPC! 19 | CFBundleShortVersionString 20 | 1.2 21 | CFBundleVersion 22 | 6 23 | NSExtension 24 | 25 | NSExtensionAttributes 26 | 27 | ILMessageFilterExtensionNetworkURL 28 | https://www.example-sms-filter-application.com/api 29 | 30 | NSExtensionPointIdentifier 31 | com.apple.identitylookup.message-filter 32 | NSExtensionPrincipalClass 33 | MessageFilterExtension 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /MessageJudgeExt/MessageFilterExtension.h: -------------------------------------------------------------------------------- 1 | // 2 | // MessageFilterExtension.h 3 | // MessageJudgeExt 4 | // 5 | // Created by GeXiao on 08/06/2017. 6 | // Copyright © 2017 GeXiao. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MessageFilterExtension : ILMessageFilterExtension 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /MessageJudgeExt/MessageJudgeExt.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.application-groups 6 | 7 | group.me.gexiao.messagejudge 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MessageJudgeTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | platform :ios, '11.0' 3 | 4 | target 'MessageJudge' do 5 | # Uncomment the next line if you're using Swift or would like to use dynamic frameworks 6 | # use_frameworks! 7 | 8 | # Pods for MessageJudge 9 | pod 'YYModel' 10 | pod 'Masonry' 11 | pod 'XLForm', '~> 3.0' 12 | 13 | target 'MessageJudgeTests' do 14 | inherit! :search_paths 15 | # Pods for testing 16 | end 17 | 18 | end 19 | 20 | target 'MessageJudgeExt' do 21 | # Uncomment the next line if you're using Swift or would like to use dynamic frameworks 22 | # use_frameworks! 23 | 24 | # Pods for MessageJudgeExt 25 | pod 'YYModel' 26 | 27 | end 28 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Masonry (1.0.2) 3 | - XLForm (3.3.0) 4 | - YYModel (1.0.4) 5 | 6 | DEPENDENCIES: 7 | - Masonry 8 | - XLForm (~> 3.0) 9 | - YYModel 10 | 11 | SPEC CHECKSUMS: 12 | Masonry: 7c429b56da9d4ee0bbb3ed77a5ea710d6a5df39e 13 | XLForm: d5c391dfc62865927b5bcab0a5a0dbfb3e02b0ec 14 | YYModel: 2a7fdd96aaa4b86a824e26d0c517de8928c04b30 15 | 16 | PODFILE CHECKSUM: 88f33f32e7017c21ce75deb4317e0403270289be 17 | 18 | COCOAPODS: 1.2.1 19 | -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASCompositeConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASCompositeConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASConstraint+Private.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint+Private.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASConstraintMaker.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraintMaker.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASLayoutConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASUtilities.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASViewAttribute.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewAttribute.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/MASViewConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/Masonry.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/Masonry.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/NSArray+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/NSArray+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASShorthandAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/View+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/View+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASShorthandAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Masonry/ViewController+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/ViewController+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/NSArray+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/NSArray+XLFormAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/NSExpression+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/NSExpression+XLFormAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/NSObject+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/NSObject+XLFormAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/NSPredicate+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/NSPredicate+XLFormAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/NSString+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/NSString+XLFormAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/UIView+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/UIView+XLFormAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLForm.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/XLForm.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormBaseCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormBaseCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormButtonCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormButtonCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormCheckCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormCheckCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormDateCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormDateCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormDatePickerCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormDatePickerCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormDescriptor.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Descriptors/XLFormDescriptor.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormDescriptorCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormDescriptorCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormDescriptorDelegate.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Descriptors/XLFormDescriptorDelegate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormImageCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormImageCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormInlineRowDescriptorCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormInlineRowDescriptorCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormInlineSelectorCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormInlineSelectorCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormLeftRightSelectorCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormLeftRightSelectorCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormOptionsObject.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Controllers/XLFormOptionsObject.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormOptionsViewController.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Controllers/XLFormOptionsViewController.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormPickerCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormPickerCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormRegexValidator.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Validation/XLFormRegexValidator.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormRightDetailCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/Views/XLFormRightDetailCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormRightImageButton.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/Views/XLFormRightImageButton.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormRowDescriptor.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Descriptors/XLFormRowDescriptor.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormRowDescriptorViewController.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Controllers/XLFormRowDescriptorViewController.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormRowNavigationAccessoryView.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/Views/XLFormRowNavigationAccessoryView.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormSectionDescriptor.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Descriptors/XLFormSectionDescriptor.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormSegmentedCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormSegmentedCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormSelectorCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormSelectorCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormSliderCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormSliderCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormStepCounterCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormStepCounterCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormSwitchCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormSwitchCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormTextFieldCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormTextFieldCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormTextView.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/Views/XLFormTextView.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormTextViewCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormTextViewCell.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormValidationStatus.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Validation/XLFormValidationStatus.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormValidator.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Validation/XLFormValidator.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormValidatorProtocol.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Validation/XLFormValidatorProtocol.h -------------------------------------------------------------------------------- /Pods/Headers/Private/XLForm/XLFormViewController.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Controllers/XLFormViewController.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYModel/NSObject+YYModel.h: -------------------------------------------------------------------------------- 1 | ../../../YYModel/YYModel/NSObject+YYModel.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYModel/YYClassInfo.h: -------------------------------------------------------------------------------- 1 | ../../../YYModel/YYModel/YYClassInfo.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYModel/YYModel.h: -------------------------------------------------------------------------------- 1 | ../../../YYModel/YYModel/YYModel.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASCompositeConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASCompositeConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASConstraint+Private.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint+Private.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASConstraintMaker.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraintMaker.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASLayoutConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASUtilities.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASViewAttribute.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewAttribute.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/MASViewConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewConstraint.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/Masonry.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/Masonry.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/NSArray+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/NSArray+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASShorthandAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/View+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/View+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASShorthandAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Masonry/ViewController+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/ViewController+MASAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/NSArray+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/NSArray+XLFormAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/NSExpression+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/NSExpression+XLFormAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/NSObject+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/NSObject+XLFormAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/NSPredicate+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/NSPredicate+XLFormAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/NSString+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/NSString+XLFormAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/UIView+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/UIView+XLFormAdditions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLForm.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/XLForm.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormBaseCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormBaseCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormButtonCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormButtonCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormCheckCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormCheckCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormDateCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormDateCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormDatePickerCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormDatePickerCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormDescriptor.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Descriptors/XLFormDescriptor.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormDescriptorCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormDescriptorCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormDescriptorDelegate.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Descriptors/XLFormDescriptorDelegate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormImageCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormImageCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormInlineRowDescriptorCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormInlineRowDescriptorCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormInlineSelectorCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormInlineSelectorCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormLeftRightSelectorCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormLeftRightSelectorCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormOptionsObject.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Controllers/XLFormOptionsObject.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormOptionsViewController.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Controllers/XLFormOptionsViewController.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormPickerCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormPickerCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormRegexValidator.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Validation/XLFormRegexValidator.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormRightDetailCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/Views/XLFormRightDetailCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormRightImageButton.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/Views/XLFormRightImageButton.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormRowDescriptor.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Descriptors/XLFormRowDescriptor.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormRowDescriptorViewController.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Controllers/XLFormRowDescriptorViewController.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormRowNavigationAccessoryView.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/Views/XLFormRowNavigationAccessoryView.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormSectionDescriptor.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Descriptors/XLFormSectionDescriptor.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormSegmentedCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormSegmentedCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormSelectorCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormSelectorCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormSliderCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormSliderCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormStepCounterCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormStepCounterCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormSwitchCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormSwitchCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormTextFieldCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormTextFieldCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormTextView.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Helpers/Views/XLFormTextView.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormTextViewCell.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Cell/XLFormTextViewCell.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormValidationStatus.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Validation/XLFormValidationStatus.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormValidator.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Validation/XLFormValidator.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormValidatorProtocol.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Validation/XLFormValidatorProtocol.h -------------------------------------------------------------------------------- /Pods/Headers/Public/XLForm/XLFormViewController.h: -------------------------------------------------------------------------------- 1 | ../../../XLForm/XLForm/XL/Controllers/XLFormViewController.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYModel/NSObject+YYModel.h: -------------------------------------------------------------------------------- 1 | ../../../YYModel/YYModel/NSObject+YYModel.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYModel/YYClassInfo.h: -------------------------------------------------------------------------------- 1 | ../../../YYModel/YYModel/YYClassInfo.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYModel/YYModel.h: -------------------------------------------------------------------------------- 1 | ../../../YYModel/YYModel/YYModel.h -------------------------------------------------------------------------------- /Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Masonry (1.0.2) 3 | - XLForm (3.3.0) 4 | - YYModel (1.0.4) 5 | 6 | DEPENDENCIES: 7 | - Masonry 8 | - XLForm (~> 3.0) 9 | - YYModel 10 | 11 | SPEC CHECKSUMS: 12 | Masonry: 7c429b56da9d4ee0bbb3ed77a5ea710d6a5df39e 13 | XLForm: d5c391dfc62865927b5bcab0a5a0dbfb3e02b0ec 14 | YYModel: 2a7fdd96aaa4b86a824e26d0c517de8928c04b30 15 | 16 | PODFILE CHECKSUM: 88f33f32e7017c21ce75deb4317e0403270289be 17 | 18 | COCOAPODS: 1.2.1 19 | -------------------------------------------------------------------------------- /Pods/Masonry/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASCompositeConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASCompositeConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 21/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASConstraint.h" 10 | #import "MASUtilities.h" 11 | 12 | /** 13 | * A group of MASConstraint objects 14 | */ 15 | @interface MASCompositeConstraint : MASConstraint 16 | 17 | /** 18 | * Creates a composite with a predefined array of children 19 | * 20 | * @param children child MASConstraints 21 | * 22 | * @return a composite constraint 23 | */ 24 | - (id)initWithChildren:(NSArray *)children; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASConstraint+Private.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASConstraint+Private.h 3 | // Masonry 4 | // 5 | // Created by Nick Tymchenko on 29/04/14. 6 | // Copyright (c) 2014 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASConstraint.h" 10 | 11 | @protocol MASConstraintDelegate; 12 | 13 | 14 | @interface MASConstraint () 15 | 16 | /** 17 | * Whether or not to check for an existing constraint instead of adding constraint 18 | */ 19 | @property (nonatomic, assign) BOOL updateExisting; 20 | 21 | /** 22 | * Usually MASConstraintMaker but could be a parent MASConstraint 23 | */ 24 | @property (nonatomic, weak) id delegate; 25 | 26 | /** 27 | * Based on a provided value type, is equal to calling: 28 | * NSNumber - setOffset: 29 | * NSValue with CGPoint - setPointOffset: 30 | * NSValue with CGSize - setSizeOffset: 31 | * NSValue with MASEdgeInsets - setInsets: 32 | */ 33 | - (void)setLayoutConstantWithValue:(NSValue *)value; 34 | 35 | @end 36 | 37 | 38 | @interface MASConstraint (Abstract) 39 | 40 | /** 41 | * Sets the constraint relation to given NSLayoutRelation 42 | * returns a block which accepts one of the following: 43 | * MASViewAttribute, UIView, NSValue, NSArray 44 | * see readme for more details. 45 | */ 46 | - (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation; 47 | 48 | /** 49 | * Override to set a custom chaining behaviour 50 | */ 51 | - (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute; 52 | 53 | @end 54 | 55 | 56 | @protocol MASConstraintDelegate 57 | 58 | /** 59 | * Notifies the delegate when the constraint needs to be replaced with another constraint. For example 60 | * A MASViewConstraint may turn into a MASCompositeConstraint when an array is passed to one of the equality blocks 61 | */ 62 | - (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint; 63 | 64 | - (MASConstraint *)constraint:(MASConstraint *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute; 65 | 66 | @end 67 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASLayoutConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * When you are debugging or printing the constraints attached to a view this subclass 13 | * makes it easier to identify which constraints have been created via Masonry 14 | */ 15 | @interface MASLayoutConstraint : NSLayoutConstraint 16 | 17 | /** 18 | * a key to associate with this constraint 19 | */ 20 | @property (nonatomic, strong) id mas_key; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASLayoutConstraint.m: -------------------------------------------------------------------------------- 1 | // 2 | // MASLayoutConstraint.m 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASLayoutConstraint.h" 10 | 11 | @implementation MASLayoutConstraint 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASViewAttribute.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASAttribute.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 21/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * An immutable tuple which stores the view and the related NSLayoutAttribute. 13 | * Describes part of either the left or right hand side of a constraint equation 14 | */ 15 | @interface MASViewAttribute : NSObject 16 | 17 | /** 18 | * The view which the reciever relates to. Can be nil if item is not a view. 19 | */ 20 | @property (nonatomic, weak, readonly) MAS_VIEW *view; 21 | 22 | /** 23 | * The item which the reciever relates to. 24 | */ 25 | @property (nonatomic, weak, readonly) id item; 26 | 27 | /** 28 | * The attribute which the reciever relates to 29 | */ 30 | @property (nonatomic, assign, readonly) NSLayoutAttribute layoutAttribute; 31 | 32 | /** 33 | * Convenience initializer. 34 | */ 35 | - (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute; 36 | 37 | /** 38 | * The designated initializer. 39 | */ 40 | - (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute; 41 | 42 | /** 43 | * Determine whether the layoutAttribute is a size attribute 44 | * 45 | * @return YES if layoutAttribute is equal to NSLayoutAttributeWidth or NSLayoutAttributeHeight 46 | */ 47 | - (BOOL)isSizeAttribute; 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASViewAttribute.m: -------------------------------------------------------------------------------- 1 | // 2 | // MASAttribute.m 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 21/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASViewAttribute.h" 10 | 11 | @implementation MASViewAttribute 12 | 13 | - (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute { 14 | self = [self initWithView:view item:view layoutAttribute:layoutAttribute]; 15 | return self; 16 | } 17 | 18 | - (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute { 19 | self = [super init]; 20 | if (!self) return nil; 21 | 22 | _view = view; 23 | _item = item; 24 | _layoutAttribute = layoutAttribute; 25 | 26 | return self; 27 | } 28 | 29 | - (BOOL)isSizeAttribute { 30 | return self.layoutAttribute == NSLayoutAttributeWidth 31 | || self.layoutAttribute == NSLayoutAttributeHeight; 32 | } 33 | 34 | - (BOOL)isEqual:(MASViewAttribute *)viewAttribute { 35 | if ([viewAttribute isKindOfClass:self.class]) { 36 | return self.view == viewAttribute.view 37 | && self.layoutAttribute == viewAttribute.layoutAttribute; 38 | } 39 | return [super isEqual:viewAttribute]; 40 | } 41 | 42 | - (NSUInteger)hash { 43 | return MAS_NSUINTROTATE([self.view hash], MAS_NSUINT_BIT / 2) ^ self.layoutAttribute; 44 | } 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASViewConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 20/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASViewAttribute.h" 10 | #import "MASConstraint.h" 11 | #import "MASLayoutConstraint.h" 12 | #import "MASUtilities.h" 13 | 14 | /** 15 | * A single constraint. 16 | * Contains the attributes neccessary for creating a NSLayoutConstraint and adding it to the appropriate view 17 | */ 18 | @interface MASViewConstraint : MASConstraint 19 | 20 | /** 21 | * First item/view and first attribute of the NSLayoutConstraint 22 | */ 23 | @property (nonatomic, strong, readonly) MASViewAttribute *firstViewAttribute; 24 | 25 | /** 26 | * Second item/view and second attribute of the NSLayoutConstraint 27 | */ 28 | @property (nonatomic, strong, readonly) MASViewAttribute *secondViewAttribute; 29 | 30 | /** 31 | * initialises the MASViewConstraint with the first part of the equation 32 | * 33 | * @param firstViewAttribute view.mas_left, view.mas_width etc. 34 | * 35 | * @return a new view constraint 36 | */ 37 | - (id)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute; 38 | 39 | /** 40 | * Returns all MASViewConstraints installed with this view as a first item. 41 | * 42 | * @param view A view to retrieve constraints for. 43 | * 44 | * @return An array of MASViewConstraints. 45 | */ 46 | + (NSArray *)installedConstraintsForView:(MAS_VIEW *)view; 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/Masonry.h: -------------------------------------------------------------------------------- 1 | // 2 | // Masonry.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 20/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for Masonry. 12 | FOUNDATION_EXPORT double MasonryVersionNumber; 13 | 14 | //! Project version string for Masonry. 15 | FOUNDATION_EXPORT const unsigned char MasonryVersionString[]; 16 | 17 | #import "MASUtilities.h" 18 | #import "View+MASAdditions.h" 19 | #import "View+MASShorthandAdditions.h" 20 | #import "ViewController+MASAdditions.h" 21 | #import "NSArray+MASAdditions.h" 22 | #import "NSArray+MASShorthandAdditions.h" 23 | #import "MASConstraint.h" 24 | #import "MASCompositeConstraint.h" 25 | #import "MASViewAttribute.h" 26 | #import "MASViewConstraint.h" 27 | #import "MASConstraintMaker.h" 28 | #import "MASLayoutConstraint.h" 29 | #import "NSLayoutConstraint+MASDebugAdditions.h" 30 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/NSArray+MASAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+MASAdditions.h 3 | // 4 | // 5 | // Created by Daniel Hammond on 11/26/13. 6 | // 7 | // 8 | 9 | #import "MASUtilities.h" 10 | #import "MASConstraintMaker.h" 11 | #import "MASViewAttribute.h" 12 | 13 | typedef NS_ENUM(NSUInteger, MASAxisType) { 14 | MASAxisTypeHorizontal, 15 | MASAxisTypeVertical 16 | }; 17 | 18 | @interface NSArray (MASAdditions) 19 | 20 | /** 21 | * Creates a MASConstraintMaker with each view in the callee. 22 | * Any constraints defined are added to the view or the appropriate superview once the block has finished executing on each view 23 | * 24 | * @param block scope within which you can build up the constraints which you wish to apply to each view. 25 | * 26 | * @return Array of created MASConstraints 27 | */ 28 | - (NSArray *)mas_makeConstraints:(void (^)(MASConstraintMaker *make))block; 29 | 30 | /** 31 | * Creates a MASConstraintMaker with each view in the callee. 32 | * Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view. 33 | * If an existing constraint exists then it will be updated instead. 34 | * 35 | * @param block scope within which you can build up the constraints which you wish to apply to each view. 36 | * 37 | * @return Array of created/updated MASConstraints 38 | */ 39 | - (NSArray *)mas_updateConstraints:(void (^)(MASConstraintMaker *make))block; 40 | 41 | /** 42 | * Creates a MASConstraintMaker with each view in the callee. 43 | * Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view. 44 | * All constraints previously installed for the views will be removed. 45 | * 46 | * @param block scope within which you can build up the constraints which you wish to apply to each view. 47 | * 48 | * @return Array of created/updated MASConstraints 49 | */ 50 | - (NSArray *)mas_remakeConstraints:(void (^)(MASConstraintMaker *make))block; 51 | 52 | /** 53 | * distribute with fixed spacing 54 | * 55 | * @param axisType which axis to distribute items along 56 | * @param fixedSpacing the spacing between each item 57 | * @param leadSpacing the spacing before the first item and the container 58 | * @param tailSpacing the spacing after the last item and the container 59 | */ 60 | - (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CGFloat)fixedSpacing leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing; 61 | 62 | /** 63 | * distribute with fixed item size 64 | * 65 | * @param axisType which axis to distribute items along 66 | * @param fixedItemLength the fixed length of each item 67 | * @param leadSpacing the spacing before the first item and the container 68 | * @param tailSpacing the spacing after the last item and the container 69 | */ 70 | - (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing; 71 | 72 | @end 73 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/NSArray+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+MASShorthandAdditions.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 22/07/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "NSArray+MASAdditions.h" 10 | 11 | #ifdef MAS_SHORTHAND 12 | 13 | /** 14 | * Shorthand array additions without the 'mas_' prefixes, 15 | * only enabled if MAS_SHORTHAND is defined 16 | */ 17 | @interface NSArray (MASShorthandAdditions) 18 | 19 | - (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *make))block; 20 | - (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *make))block; 21 | - (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *make))block; 22 | 23 | @end 24 | 25 | @implementation NSArray (MASShorthandAdditions) 26 | 27 | - (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *))block { 28 | return [self mas_makeConstraints:block]; 29 | } 30 | 31 | - (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *))block { 32 | return [self mas_updateConstraints:block]; 33 | } 34 | 35 | - (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *))block { 36 | return [self mas_remakeConstraints:block]; 37 | } 38 | 39 | @end 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSLayoutConstraint+MASDebugAdditions.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * makes debug and log output of NSLayoutConstraints more readable 13 | */ 14 | @interface NSLayoutConstraint (MASDebugAdditions) 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/ViewController+MASAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewController+MASAdditions.h 3 | // Masonry 4 | // 5 | // Created by Craig Siemens on 2015-06-23. 6 | // 7 | // 8 | 9 | #import "MASUtilities.h" 10 | #import "MASConstraintMaker.h" 11 | #import "MASViewAttribute.h" 12 | 13 | #ifdef MAS_VIEW_CONTROLLER 14 | 15 | @interface MAS_VIEW_CONTROLLER (MASAdditions) 16 | 17 | /** 18 | * following properties return a new MASViewAttribute with appropriate UILayoutGuide and NSLayoutAttribute 19 | */ 20 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuide; 21 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuide; 22 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuideTop; 23 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuideBottom; 24 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuideTop; 25 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuideBottom; 26 | 27 | 28 | @end 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/ViewController+MASAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewController+MASAdditions.m 3 | // Masonry 4 | // 5 | // Created by Craig Siemens on 2015-06-23. 6 | // 7 | // 8 | 9 | #import "ViewController+MASAdditions.h" 10 | 11 | #ifdef MAS_VIEW_CONTROLLER 12 | 13 | @implementation MAS_VIEW_CONTROLLER (MASAdditions) 14 | 15 | - (MASViewAttribute *)mas_topLayoutGuide { 16 | return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeBottom]; 17 | } 18 | - (MASViewAttribute *)mas_topLayoutGuideTop { 19 | return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeTop]; 20 | } 21 | - (MASViewAttribute *)mas_topLayoutGuideBottom { 22 | return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeBottom]; 23 | } 24 | 25 | - (MASViewAttribute *)mas_bottomLayoutGuide { 26 | return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeTop]; 27 | } 28 | - (MASViewAttribute *)mas_bottomLayoutGuideTop { 29 | return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeTop]; 30 | } 31 | - (MASViewAttribute *)mas_bottomLayoutGuideBottom { 32 | return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeBottom]; 33 | } 34 | 35 | 36 | 37 | @end 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Masonry : NSObject 3 | @end 4 | @implementation PodsDummy_Masonry 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Masonry 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Masonry" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/XLForm" "${PODS_ROOT}/Headers/Public/YYModel" 4 | OTHER_LDFLAGS = -framework "Foundation" -framework "UIKit" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Masonry 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-MessageJudge/Pods-MessageJudge-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_MessageJudge : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_MessageJudge 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-MessageJudge/Pods-MessageJudge.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/XLForm" "${PODS_ROOT}/Headers/Public/YYModel" 3 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Masonry" "$PODS_CONFIGURATION_BUILD_DIR/XLForm" "$PODS_CONFIGURATION_BUILD_DIR/YYModel" 4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/XLForm" -isystem "${PODS_ROOT}/Headers/Public/YYModel" 5 | OTHER_LDFLAGS = $(inherited) -ObjC -l"Masonry" -l"XLForm" -l"YYModel" -framework "CoreFoundation" -framework "CoreGraphics" -framework "Foundation" -framework "UIKit" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-MessageJudge/Pods-MessageJudge.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/XLForm" "${PODS_ROOT}/Headers/Public/YYModel" 3 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Masonry" "$PODS_CONFIGURATION_BUILD_DIR/XLForm" "$PODS_CONFIGURATION_BUILD_DIR/YYModel" 4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/XLForm" -isystem "${PODS_ROOT}/Headers/Public/YYModel" 5 | OTHER_LDFLAGS = $(inherited) -ObjC -l"Masonry" -l"XLForm" -l"YYModel" -framework "CoreFoundation" -framework "CoreGraphics" -framework "Foundation" -framework "UIKit" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-MessageJudgeExt/Pods-MessageJudgeExt-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## YYModel 5 | 6 | The MIT License (MIT) 7 | 8 | Copyright (c) 2015 ibireme 9 | 10 | Permission is hereby granted, free of charge, to any person obtaining a copy 11 | of this software and associated documentation files (the "Software"), to deal 12 | in the Software without restriction, including without limitation the rights 13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | copies of the Software, and to permit persons to whom the Software is 15 | furnished to do so, subject to the following conditions: 16 | 17 | The above copyright notice and this permission notice shall be included in all 18 | copies or substantial portions of the Software. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | SOFTWARE. 27 | 28 | 29 | Generated by CocoaPods - https://cocoapods.org 30 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-MessageJudgeExt/Pods-MessageJudgeExt-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | The MIT License (MIT) 18 | 19 | Copyright (c) 2015 ibireme <ibireme@gmail.com> 20 | 21 | Permission is hereby granted, free of charge, to any person obtaining a copy 22 | of this software and associated documentation files (the "Software"), to deal 23 | in the Software without restriction, including without limitation the rights 24 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 25 | copies of the Software, and to permit persons to whom the Software is 26 | furnished to do so, subject to the following conditions: 27 | 28 | The above copyright notice and this permission notice shall be included in all 29 | copies or substantial portions of the Software. 30 | 31 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 32 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 33 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 34 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 35 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 36 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 37 | SOFTWARE. 38 | 39 | 40 | License 41 | MIT 42 | Title 43 | YYModel 44 | Type 45 | PSGroupSpecifier 46 | 47 | 48 | FooterText 49 | Generated by CocoaPods - https://cocoapods.org 50 | Title 51 | 52 | Type 53 | PSGroupSpecifier 54 | 55 | 56 | StringsTable 57 | Acknowledgements 58 | Title 59 | Acknowledgements 60 | 61 | 62 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-MessageJudgeExt/Pods-MessageJudgeExt-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_MessageJudgeExt : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_MessageJudgeExt 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-MessageJudgeExt/Pods-MessageJudgeExt.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/XLForm" "${PODS_ROOT}/Headers/Public/YYModel" 3 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/YYModel" 4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/XLForm" -isystem "${PODS_ROOT}/Headers/Public/YYModel" 5 | OTHER_LDFLAGS = $(inherited) -ObjC -l"YYModel" -framework "CoreFoundation" -framework "Foundation" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-MessageJudgeExt/Pods-MessageJudgeExt.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/XLForm" "${PODS_ROOT}/Headers/Public/YYModel" 3 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/YYModel" 4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/XLForm" -isystem "${PODS_ROOT}/Headers/Public/YYModel" 5 | OTHER_LDFLAGS = $(inherited) -ObjC -l"YYModel" -framework "CoreFoundation" -framework "Foundation" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-MessageJudgeTests/Pods-MessageJudgeTests-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | Generated by CocoaPods - https://cocoapods.org 4 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-MessageJudgeTests/Pods-MessageJudgeTests-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Generated by CocoaPods - https://cocoapods.org 18 | Title 19 | 20 | Type 21 | PSGroupSpecifier 22 | 23 | 24 | StringsTable 25 | Acknowledgements 26 | Title 27 | Acknowledgements 28 | 29 | 30 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-MessageJudgeTests/Pods-MessageJudgeTests-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_MessageJudgeTests : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_MessageJudgeTests 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-MessageJudgeTests/Pods-MessageJudgeTests.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/XLForm" "${PODS_ROOT}/Headers/Public/YYModel" 3 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Masonry" "$PODS_CONFIGURATION_BUILD_DIR/XLForm" "$PODS_CONFIGURATION_BUILD_DIR/YYModel" 4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/XLForm" -isystem "${PODS_ROOT}/Headers/Public/YYModel" 5 | OTHER_LDFLAGS = $(inherited) -ObjC -framework "CoreFoundation" -framework "CoreGraphics" -framework "Foundation" -framework "UIKit" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-MessageJudgeTests/Pods-MessageJudgeTests.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/XLForm" "${PODS_ROOT}/Headers/Public/YYModel" 3 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Masonry" "$PODS_CONFIGURATION_BUILD_DIR/XLForm" "$PODS_CONFIGURATION_BUILD_DIR/YYModel" 4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/XLForm" -isystem "${PODS_ROOT}/Headers/Public/YYModel" 5 | OTHER_LDFLAGS = $(inherited) -ObjC -framework "CoreFoundation" -framework "CoreGraphics" -framework "Foundation" -framework "UIKit" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/XLForm/XLForm-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_XLForm : NSObject 3 | @end 4 | @implementation PodsDummy_XLForm 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/XLForm/XLForm-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/XLForm/XLForm.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/XLForm 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/XLForm" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/XLForm" "${PODS_ROOT}/Headers/Public/YYModel" 4 | OTHER_LDFLAGS = -framework "CoreGraphics" -framework "Foundation" -framework "UIKit" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/XLForm 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/YYModel/YYModel-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_YYModel : NSObject 3 | @end 4 | @implementation PodsDummy_YYModel 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/YYModel/YYModel-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/YYModel/YYModel.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/YYModel 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/YYModel" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/XLForm" "${PODS_ROOT}/Headers/Public/YYModel" 4 | OTHER_LDFLAGS = -framework "CoreFoundation" -framework "Foundation" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/YYModel 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /Pods/XLForm/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Xmartlabs ( http://xmartlabs.com ) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormBaseCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormBaseCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormDescriptorCell.h" 27 | #import "XLFormViewController.h" 28 | #import 29 | 30 | @class XLFormViewController; 31 | @class XLFormRowDescriptor; 32 | 33 | 34 | @interface XLFormBaseCell : UITableViewCell 35 | 36 | @property (nonatomic, weak) XLFormRowDescriptor * rowDescriptor; 37 | 38 | -(XLFormViewController *)formViewController; 39 | 40 | @end 41 | 42 | 43 | @protocol XLFormReturnKeyProtocol 44 | 45 | @property UIReturnKeyType returnKeyType; 46 | @property UIReturnKeyType nextReturnKeyType; 47 | 48 | @end 49 | 50 | 51 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormBaseCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormBaseCell.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | 28 | @implementation XLFormBaseCell 29 | 30 | - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 31 | { 32 | self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 33 | if (self) { 34 | [self configure]; 35 | } 36 | return self; 37 | } 38 | 39 | - (void)awakeFromNib 40 | { 41 | [super awakeFromNib]; 42 | [self configure]; 43 | } 44 | 45 | - (void)configure 46 | { 47 | } 48 | 49 | - (void)update 50 | { 51 | self.textLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody]; 52 | self.detailTextLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody]; 53 | self.textLabel.textColor = self.rowDescriptor.isDisabled ? [UIColor grayColor] : [UIColor blackColor]; 54 | } 55 | 56 | -(void)highlight 57 | { 58 | } 59 | 60 | -(void)unhighlight 61 | { 62 | } 63 | 64 | -(XLFormViewController *)formViewController 65 | { 66 | id responder = self; 67 | while (responder){ 68 | if ([responder isKindOfClass:[XLFormViewController class]]){ 69 | return responder; 70 | } 71 | responder = [responder nextResponder]; 72 | } 73 | return nil; 74 | } 75 | 76 | #pragma mark - Navigation Between Fields 77 | 78 | -(UIView *)inputAccessoryView 79 | { 80 | UIView * inputAccessoryView = [self.formViewController inputAccessoryViewForRowDescriptor:self.rowDescriptor]; 81 | if (inputAccessoryView){ 82 | return inputAccessoryView; 83 | } 84 | return [super inputAccessoryView]; 85 | } 86 | 87 | -(BOOL)formDescriptorCellCanBecomeFirstResponder 88 | { 89 | return NO; 90 | } 91 | 92 | #pragma mark - 93 | 94 | -(BOOL)becomeFirstResponder 95 | { 96 | BOOL result = [super becomeFirstResponder]; 97 | if (result){ 98 | [self.formViewController beginEditing:self.rowDescriptor]; 99 | } 100 | return result; 101 | } 102 | 103 | -(BOOL)resignFirstResponder 104 | { 105 | BOOL result = [super resignFirstResponder]; 106 | if (result){ 107 | [self.formViewController endEditing:self.rowDescriptor]; 108 | } 109 | return result; 110 | } 111 | 112 | @end 113 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormButtonCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormButtonCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | #import 28 | 29 | @interface XLFormButtonCell : XLFormBaseCell 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormCheckCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormCheckCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | 28 | @interface XLFormCheckCell : XLFormBaseCell 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormCheckCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormCheckCell.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormCheckCell.h" 27 | 28 | @implementation XLFormCheckCell 29 | 30 | #pragma mark - XLFormDescriptorCell 31 | 32 | - (void)configure 33 | { 34 | [super configure]; 35 | self.accessoryType = UITableViewCellAccessoryCheckmark; 36 | self.editingAccessoryType = self.accessoryType; 37 | } 38 | 39 | - (void)update 40 | { 41 | [super update]; 42 | self.textLabel.text = self.rowDescriptor.title; 43 | self.accessoryType = [self.rowDescriptor.value boolValue] ? UITableViewCellAccessoryCheckmark : UITableViewCellAccessoryNone; 44 | self.editingAccessoryType = self.accessoryType; 45 | CGFloat red, green, blue, alpha; 46 | [self.tintColor getRed:&red green:&green blue:&blue alpha:&alpha]; 47 | self.selectionStyle = UITableViewCellSelectionStyleDefault; 48 | if (self.rowDescriptor.isDisabled){ 49 | [self setTintColor:[UIColor colorWithRed:red green:green blue:blue alpha:0.3]]; 50 | self.selectionStyle = UITableViewCellSelectionStyleNone; 51 | } 52 | else{ 53 | [self setTintColor:[UIColor colorWithRed:red green:green blue:blue alpha:1]]; 54 | } 55 | } 56 | // 57 | 58 | -(void)formDescriptorCellDidSelectedWithFormController:(XLFormViewController *)controller 59 | { 60 | self.rowDescriptor.value = [NSNumber numberWithBool:![self.rowDescriptor.value boolValue]]; 61 | [self.formViewController updateFormRow:self.rowDescriptor]; 62 | [controller.tableView deselectRowAtIndexPath:[controller.form indexPathOfFormRow:self.rowDescriptor] animated:YES]; 63 | } 64 | 65 | @end 66 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormDateCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormDateCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | 28 | typedef NS_ENUM(NSUInteger, XLFormDateDatePickerMode) { 29 | XLFormDateDatePickerModeGetFromRowDescriptor, 30 | XLFormDateDatePickerModeDate, 31 | XLFormDateDatePickerModeDateTime, 32 | XLFormDateDatePickerModeTime 33 | }; 34 | 35 | @interface XLFormDateCell : XLFormBaseCell 36 | 37 | @property (nonatomic) XLFormDateDatePickerMode formDatePickerMode; 38 | @property (nonatomic) NSDate *minimumDate; 39 | @property (nonatomic) NSDate *maximumDate; 40 | @property (nonatomic) NSInteger minuteInterval; 41 | @property (nonatomic) NSLocale *locale; 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormDatePickerCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormDatePickerCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLForm.h" 27 | #import "XLFormBaseCell.h" 28 | 29 | #import 30 | 31 | @interface XLFormDatePickerCell : XLFormBaseCell 32 | 33 | @property (nonatomic, readonly) UIDatePicker * datePicker; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormDatePickerCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormDatePickerCell.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "UIView+XLFormAdditions.h" 27 | 28 | #import "XLFormDatePickerCell.h" 29 | 30 | @implementation XLFormDatePickerCell 31 | 32 | @synthesize datePicker = _datePicker; 33 | @synthesize inlineRowDescriptor = _inlineRowDescriptor; 34 | 35 | -(BOOL)canResignFirstResponder 36 | { 37 | return YES; 38 | } 39 | 40 | #pragma mark - Properties 41 | 42 | -(UIDatePicker *)datePicker 43 | { 44 | if (_datePicker) return _datePicker; 45 | _datePicker = [UIDatePicker autolayoutView]; 46 | [_datePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged]; 47 | return _datePicker; 48 | } 49 | 50 | #pragma mark- Target Action 51 | 52 | - (void)datePickerValueChanged:(UIDatePicker *)sender 53 | { 54 | if (self.inlineRowDescriptor){ 55 | self.inlineRowDescriptor.value = sender.date; 56 | [self.formViewController updateFormRow:self.inlineRowDescriptor]; 57 | } 58 | else{ 59 | [self becomeFirstResponder]; 60 | self.rowDescriptor.value = sender.date; 61 | } 62 | } 63 | 64 | #pragma mark - XLFormDescriptorCell 65 | 66 | -(void)configure 67 | { 68 | [super configure]; 69 | [self.contentView addSubview:self.datePicker]; 70 | [self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.datePicker attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeCenterX multiplier:1 constant:0]]; 71 | [self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[datePicker]-0-|" options:0 metrics:0 views:@{@"datePicker" : self.datePicker}]]; 72 | } 73 | 74 | -(void)update 75 | { 76 | [super update]; 77 | [self.datePicker setUserInteractionEnabled:![self.rowDescriptor isDisabled]]; 78 | } 79 | 80 | 81 | +(CGFloat)formDescriptorCellHeightForRowDescriptor:(XLFormRowDescriptor *)rowDescriptor 82 | { 83 | return 216.0f; 84 | } 85 | 86 | @end 87 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormDescriptorCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormDescriptorCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | 29 | @class XLFormRowDescriptor; 30 | @class XLFormViewController; 31 | 32 | @protocol XLFormDescriptorCell 33 | 34 | @required 35 | 36 | @property (nonatomic, weak) XLFormRowDescriptor * rowDescriptor; 37 | -(void)configure; 38 | -(void)update; 39 | 40 | @optional 41 | 42 | +(CGFloat)formDescriptorCellHeightForRowDescriptor:(XLFormRowDescriptor *)rowDescriptor; 43 | -(BOOL)formDescriptorCellCanBecomeFirstResponder; 44 | -(BOOL)formDescriptorCellBecomeFirstResponder; 45 | -(void)formDescriptorCellDidSelectedWithFormController:(XLFormViewController *)controller; 46 | -(NSString *)formDescriptorHttpParameterName; 47 | 48 | 49 | -(void)highlight; 50 | -(void)unhighlight; 51 | 52 | 53 | @end 54 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormImageCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormBaseCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | 28 | @interface XLFormImageCell : XLFormBaseCell 29 | 30 | @end 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormInlineRowDescriptorCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormInlineRowDescriptorCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | @protocol XLFormInlineRowDescriptorCell 29 | 30 | @property (nonatomic, weak) XLFormRowDescriptor * inlineRowDescriptor; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormInlineSelectorCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormInlineSelectorCell.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | 28 | @interface XLFormInlineSelectorCell : XLFormBaseCell 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormLeftRightSelectorCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormLeftRightSelectorCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLForm.h" 27 | #import 28 | 29 | 30 | @interface XLFormLeftRightSelectorCell : XLFormBaseCell 31 | 32 | @property (nonatomic, readonly) UIButton * leftButton; 33 | @property (nonatomic, readonly) UILabel * rightLabel; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormPickerCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormPickerCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLForm.h" 27 | #import "XLFormBaseCell.h" 28 | 29 | @interface XLFormPickerCell : XLFormBaseCell 30 | 31 | @property (nonatomic) UIPickerView * pickerView; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormSegmentedCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormSegmentedCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | 28 | @interface XLFormSegmentedCell : XLFormBaseCell 29 | 30 | @property (nonatomic, readonly) UILabel * textLabel; 31 | @property (nonatomic, readonly) UISegmentedControl *segmentedControl; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormSelectorCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormSelectorCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | #import 28 | 29 | @interface XLFormSelectorCell : XLFormBaseCell 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormSliderCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormSliderCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLForm.h" 27 | 28 | @interface XLFormSliderCell : XLFormBaseCell 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormStepCounterCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormStepCounterCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | #import 28 | 29 | @interface XLFormStepCounterCell : XLFormBaseCell 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormSwitchCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormSwitchCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | 28 | @interface XLFormSwitchCell : XLFormBaseCell 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormSwitchCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormSwitchCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRowDescriptor.h" 27 | 28 | #import "XLFormSwitchCell.h" 29 | 30 | @implementation XLFormSwitchCell 31 | 32 | #pragma mark - XLFormDescriptorCell 33 | 34 | - (void)configure 35 | { 36 | [super configure]; 37 | self.selectionStyle = UITableViewCellSelectionStyleNone; 38 | self.accessoryView = [[UISwitch alloc] init]; 39 | self.editingAccessoryView = self.accessoryView; 40 | [self.switchControl addTarget:self action:@selector(valueChanged) forControlEvents:UIControlEventValueChanged]; 41 | } 42 | 43 | - (void)update 44 | { 45 | [super update]; 46 | self.textLabel.text = self.rowDescriptor.title; 47 | self.switchControl.on = [self.rowDescriptor.value boolValue]; 48 | self.switchControl.enabled = !self.rowDescriptor.isDisabled; 49 | } 50 | 51 | - (UISwitch *)switchControl 52 | { 53 | return (UISwitch *)self.accessoryView; 54 | } 55 | 56 | - (void)valueChanged 57 | { 58 | self.rowDescriptor.value = @(self.switchControl.on); 59 | } 60 | 61 | @end 62 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormTextFieldCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormTextFieldCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormBaseCell.h" 27 | #import 28 | 29 | extern NSString *const XLFormTextFieldLengthPercentage; 30 | extern NSString *const XLFormTextFieldMaxNumberOfCharacters; 31 | 32 | @interface XLFormTextFieldCell : XLFormBaseCell 33 | 34 | @property (nonatomic, readonly) UILabel * textLabel; 35 | @property (nonatomic, readonly) UITextField * textField; 36 | 37 | @property (nonatomic) NSNumber *textFieldLengthPercentage; 38 | @property (nonatomic) NSNumber *textFieldMaxNumberOfCharacters; 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Cell/XLFormTextViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormTextViewCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormTextView.h" 27 | #import "XLFormBaseCell.h" 28 | #import 29 | 30 | extern NSString *const XLFormTextViewLengthPercentage; 31 | extern NSString *const XLFormTextViewMaxNumberOfCharacters; 32 | 33 | @interface XLFormTextViewCell : XLFormBaseCell 34 | 35 | @property (nonatomic, readonly) UILabel * label DEPRECATED_ATTRIBUTE DEPRECATED_MSG_ATTRIBUTE("Use textLabel instead"); 36 | @property (nonatomic, readonly) UILabel * textLabel; 37 | @property (nonatomic, readonly) XLFormTextView * textView; 38 | 39 | @property (nonatomic) NSNumber *textViewLengthPercentage; 40 | @property (nonatomic) NSNumber *textViewMaxNumberOfCharacters; 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Controllers/XLFormOptionsObject.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormOptionsObject.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRowDescriptor.h" 27 | #import 28 | 29 | @interface XLFormOptionsObject : NSObject 30 | 31 | +(XLFormOptionsObject *)formOptionsObjectWithValue:(id)value displayText:(NSString *)displayText; 32 | +(XLFormOptionsObject *)formOptionsOptionForValue:(id)value fromOptions:(NSArray *)options; 33 | +(XLFormOptionsObject *)formOptionsOptionForDisplayText:(NSString *)displayText fromOptions:(NSArray *)options; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Controllers/XLFormOptionsViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormOptionsViewController.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | 27 | 28 | #import "XLFormRowDescriptorViewController.h" 29 | #import "XLFormRowDescriptor.h" 30 | 31 | @interface XLFormOptionsViewController : UITableViewController 32 | 33 | - (instancetype)initWithStyle:(UITableViewStyle)style; 34 | 35 | 36 | - (instancetype)initWithStyle:(UITableViewStyle)style 37 | titleHeaderSection:(NSString *)titleHeaderSection 38 | titleFooterSection:(NSString *)titleFooterSection; 39 | 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Controllers/XLFormRowDescriptorViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRowDescriptorViewController.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | 27 | #import "XLFormRowDescriptor.h" 28 | #import 29 | 30 | @protocol XLFormRowDescriptorViewController 31 | 32 | @required 33 | @property (nonatomic) XLFormRowDescriptor * rowDescriptor; 34 | 35 | @end 36 | 37 | @protocol XLFormRowDescriptorPopoverViewController 38 | 39 | @required 40 | @property (nonatomic) UIPopoverController * popoverController; 41 | 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Descriptors/XLFormDescriptorDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormDescriptorDelegate.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormDescriptor.h" 27 | #import 28 | 29 | @class XLFormSectionDescriptor; 30 | 31 | typedef NS_ENUM(NSUInteger, XLPredicateType) { 32 | XLPredicateTypeDisabled = 0, 33 | XLPredicateTypeHidden 34 | }; 35 | 36 | 37 | @protocol XLFormDescriptorDelegate 38 | 39 | @required 40 | 41 | -(void)formSectionHasBeenRemoved:(XLFormSectionDescriptor *)formSection atIndex:(NSUInteger)index; 42 | -(void)formSectionHasBeenAdded:(XLFormSectionDescriptor *)formSection atIndex:(NSUInteger)index; 43 | -(void)formRowHasBeenAdded:(XLFormRowDescriptor *)formRow atIndexPath:(NSIndexPath *)indexPath; 44 | -(void)formRowHasBeenRemoved:(XLFormRowDescriptor *)formRow atIndexPath:(NSIndexPath *)indexPath; 45 | -(void)formRowDescriptorValueHasChanged:(XLFormRowDescriptor *)formRow oldValue:(id)oldValue newValue:(id)newValue; 46 | -(void)formRowDescriptorPredicateHasChanged:(XLFormRowDescriptor *)formRow 47 | oldValue:(id)oldValue 48 | newValue:(id)newValue 49 | predicateType:(XLPredicateType)predicateType; 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Descriptors/XLFormSectionDescriptor.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormSectionDescriptor.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRowDescriptor.h" 27 | #import 28 | 29 | typedef NS_OPTIONS(NSUInteger, XLFormSectionOptions) { 30 | XLFormSectionOptionNone = 0, 31 | XLFormSectionOptionCanInsert = 1 << 0, 32 | XLFormSectionOptionCanDelete = 1 << 1, 33 | XLFormSectionOptionCanReorder = 1 << 2 34 | }; 35 | 36 | typedef NS_ENUM(NSUInteger, XLFormSectionInsertMode) { 37 | XLFormSectionInsertModeLastRow = 0, 38 | XLFormSectionInsertModeButton = 2 39 | }; 40 | 41 | @class XLFormDescriptor; 42 | 43 | @interface XLFormSectionDescriptor : NSObject 44 | 45 | @property (nonatomic, nullable) NSString * title; 46 | @property (nonatomic, nullable) NSString * footerTitle; 47 | @property (readonly, nonnull) NSMutableArray * formRows; 48 | 49 | @property (readonly) XLFormSectionInsertMode sectionInsertMode; 50 | @property (readonly) XLFormSectionOptions sectionOptions; 51 | @property (nullable) XLFormRowDescriptor * multivaluedRowTemplate; 52 | @property (readonly, nullable) XLFormRowDescriptor * multivaluedAddButton; 53 | @property (nonatomic, nullable) NSString * multivaluedTag; 54 | 55 | @property (weak, null_unspecified) XLFormDescriptor * formDescriptor; 56 | 57 | @property (nonnull) id hidden; 58 | -(BOOL)isHidden; 59 | 60 | +(nonnull instancetype)formSection; 61 | +(nonnull instancetype)formSectionWithTitle:(nullable NSString *)title; 62 | +(nonnull instancetype)formSectionWithTitle:(nullable NSString *)title multivaluedSection:(BOOL)multivaluedSection DEPRECATED_ATTRIBUTE DEPRECATED_MSG_ATTRIBUTE("Use formSectionWithTitle:sectionType: instead"); 63 | +(nonnull instancetype)formSectionWithTitle:(nullable NSString *)title sectionOptions:(XLFormSectionOptions)sectionOptions; 64 | +(nonnull instancetype)formSectionWithTitle:(nullable NSString *)title sectionOptions:(XLFormSectionOptions)sectionOptions sectionInsertMode:(XLFormSectionInsertMode)sectionInsertMode; 65 | 66 | -(BOOL)isMultivaluedSection; 67 | -(void)addFormRow:(nonnull XLFormRowDescriptor *)formRow; 68 | -(void)addFormRow:(nonnull XLFormRowDescriptor *)formRow afterRow:(nonnull XLFormRowDescriptor *)afterRow; 69 | -(void)addFormRow:(nonnull XLFormRowDescriptor *)formRow beforeRow:(nonnull XLFormRowDescriptor *)beforeRow; 70 | -(void)removeFormRowAtIndex:(NSUInteger)index; 71 | -(void)removeFormRow:(nonnull XLFormRowDescriptor *)formRow; 72 | 73 | @end 74 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSArray+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+XLFormAdditions.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | @interface NSArray (XLFormAdditions) 29 | 30 | -(NSInteger)formIndexForItem:(id)item; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSArray+XLFormAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+XLFormAdditions.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "NSArray+XLFormAdditions.h" 27 | #import "NSObject+XLFormAdditions.h" 28 | 29 | @implementation NSArray (XLFormAdditions) 30 | 31 | -(NSInteger)formIndexForItem:(id)item 32 | { 33 | for (id selectedValueItem in self) { 34 | if ([[selectedValueItem valueData] isEqual:[item valueData]]){ 35 | return [self indexOfObject:selectedValueItem]; 36 | } 37 | } 38 | return NSNotFound; 39 | } 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSExpression+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSExpression+XLFormAdditions.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | 27 | #import 28 | 29 | @interface NSExpression (XLFormAdditions) 30 | 31 | -(NSMutableArray*) getExpressionVars; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSExpression+XLFormAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSExpression+XLFormAdditions.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | 27 | #import "NSExpression+XLFormAdditions.h" 28 | 29 | @implementation NSExpression (XLFormAdditions) 30 | 31 | 32 | -(NSMutableArray*) getExpressionVars{ 33 | switch (self.expressionType) { 34 | case NSFunctionExpressionType:{ 35 | NSString* str = [NSString stringWithFormat:@"%@", self]; 36 | if ([str rangeOfString:@"."].location != NSNotFound) 37 | str = [str substringWithRange:NSMakeRange(1, [str rangeOfString:@"."].location - 1)]; 38 | else 39 | str = [str substringFromIndex:1]; 40 | return [[NSMutableArray alloc] initWithObjects: str, nil]; 41 | break; 42 | } 43 | default: 44 | return nil; 45 | break; 46 | } 47 | } 48 | 49 | 50 | @end 51 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSObject+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+XLFormAdditions.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | @interface NSObject (XLFormAdditions) 29 | 30 | -(NSString *)displayText; 31 | -(id)valueData; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSObject+XLFormAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+XLFormAdditions.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRowDescriptor.h" 27 | 28 | #import "NSObject+XLFormAdditions.h" 29 | 30 | @implementation NSObject (XLFormAdditions) 31 | 32 | -(NSString *)displayText 33 | { 34 | if ([self conformsToProtocol:@protocol(XLFormOptionObject)]){ 35 | return [(id)self formDisplayText]; 36 | } 37 | if ([self isKindOfClass:[NSString class]] || [self isKindOfClass:[NSNumber class]]){ 38 | return [self description]; 39 | } 40 | return nil; 41 | } 42 | 43 | -(id)valueData 44 | { 45 | if ([self isKindOfClass:[NSString class]] || [self isKindOfClass:[NSNumber class]] || [self isKindOfClass:[NSDate class]]){ 46 | return self; 47 | } 48 | if ([self isKindOfClass:[NSArray class]]) { 49 | NSMutableArray * result = [NSMutableArray array]; 50 | [(NSArray *)self enumerateObjectsUsingBlock:^(id obj, NSUInteger __unused idx, BOOL __unused *stop) { 51 | [result addObject:[obj valueData]]; 52 | }]; 53 | return result; 54 | } 55 | if ([self conformsToProtocol:@protocol(XLFormOptionObject)]){ 56 | return [(id)self formValue]; 57 | } 58 | return nil; 59 | } 60 | 61 | @end 62 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSPredicate+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSPredicate+XLFormAdditions.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | @interface NSPredicate (XLFormAdditions) 29 | 30 | -(NSMutableArray*) getPredicateVars; 31 | @end 32 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSPredicate+XLFormAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSPredicate+XLFormAdditions.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | #import "NSPredicate+XLFormAdditions.h" 26 | #import "NSExpression+XLFormAdditions.h" 27 | 28 | @implementation NSPredicate (XLFormAdditions) 29 | 30 | 31 | -(NSMutableArray*) getPredicateVars{ 32 | NSMutableArray* ret = [[NSMutableArray alloc] init]; 33 | if ([self isKindOfClass:([NSCompoundPredicate class])]) { 34 | for (id object in ((NSCompoundPredicate*) self).subpredicates ) { 35 | [ret addObjectsFromArray:[object getPredicateVars]]; 36 | } 37 | } 38 | else if ([self isKindOfClass:([NSComparisonPredicate class])]){ 39 | [ret addObjectsFromArray:[((NSComparisonPredicate*) self).leftExpression getExpressionVars]]; 40 | [ret addObjectsFromArray:[((NSComparisonPredicate*) self).rightExpression getExpressionVars]]; 41 | } 42 | return ret; 43 | } 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSString+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+XLFormAdditions.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | #import "XLFormDescriptor.h" 28 | 29 | @interface NSString (XLFormAdditions) 30 | 31 | -(NSPredicate *)formPredicate; 32 | 33 | -(NSString *)formKeyForPredicateType:(XLPredicateType)predicateType; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/NSString+XLFormAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+XLFormAdditions.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "NSString+XLFormAdditions.h" 27 | 28 | @implementation NSString (XLFormAdditions) 29 | 30 | -(NSPredicate *)formPredicate 31 | { 32 | // returns an array of strings where the first one is the new string with the correct replacements 33 | // and the rest are all the tags that appear in the string 34 | NSString* separator = @"$"; 35 | 36 | NSArray* tokens = [self componentsSeparatedByString:separator]; 37 | NSMutableString* new_string = [[NSMutableString alloc] initWithString:tokens[0]]; 38 | NSRange range; 39 | for (int i = 1; i < tokens.count; i++) { 40 | [new_string appendString:separator]; 41 | NSArray* subtokens = [[tokens[i] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@" <>!=+-&|()"]][0] 42 | componentsSeparatedByString:@"."]; 43 | NSString* tag = subtokens[0]; 44 | NSString* attribute; 45 | if ([subtokens count] >= 2) { 46 | attribute = subtokens[1]; 47 | } 48 | [new_string appendString:tag]; 49 | range = [tokens[i] rangeOfString:[NSString stringWithFormat:@"%@", tag]]; 50 | if (!attribute || (![attribute isEqualToString:@"value"] && ![attribute isEqualToString:@"isHidden"] && ![attribute isEqualToString:@"isDisabled"])){ 51 | [new_string appendString:@".value"]; 52 | } 53 | [new_string appendString:[tokens[i] substringFromIndex:range.location + range.length]]; 54 | } 55 | return [NSPredicate predicateWithFormat:new_string]; 56 | 57 | } 58 | 59 | 60 | -(NSString *)formKeyForPredicateType:(XLPredicateType)predicateType 61 | { 62 | return [NSString stringWithFormat:@"%@-%@", self, (predicateType == XLPredicateTypeHidden ? @"hidden" : @"disabled") ]; 63 | } 64 | 65 | @end 66 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/UIView+XLFormAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+XLFormAdditions.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormDescriptorCell.h" 27 | #import 28 | 29 | @interface UIView (XLFormAdditions) 30 | 31 | +(id)autolayoutView; 32 | -(NSLayoutConstraint *)layoutConstraintSameHeightOf:(UIView *)view; 33 | -(UIView *)findFirstResponder; 34 | -(UITableViewCell *)formDescriptorCell; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/UIView+XLFormAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+XLFormAdditions.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "UIView+XLFormAdditions.h" 27 | 28 | @implementation UIView (XLFormAdditions) 29 | 30 | + (id)autolayoutView 31 | { 32 | UIView *view = [self new]; 33 | view.translatesAutoresizingMaskIntoConstraints = NO; 34 | return view; 35 | } 36 | 37 | -(NSLayoutConstraint *)layoutConstraintSameHeightOf:(UIView *)view 38 | { 39 | return [NSLayoutConstraint constraintWithItem:self attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:view attribute:NSLayoutAttributeHeight multiplier:1.0f constant:0.0f]; 40 | } 41 | 42 | - (UIView *)findFirstResponder 43 | { 44 | if (self.isFirstResponder) { 45 | return self; 46 | } 47 | for (UIView *subView in self.subviews) { 48 | UIView *firstResponder = [subView findFirstResponder]; 49 | if (firstResponder != nil) { 50 | return firstResponder; 51 | } 52 | } 53 | return nil; 54 | } 55 | 56 | - (UITableViewCell *)formDescriptorCell 57 | { 58 | if ([self isKindOfClass:[UITableViewCell class]]) { 59 | if ([self conformsToProtocol:@protocol(XLFormDescriptorCell)]){ 60 | return (UITableViewCell *)self; 61 | } 62 | return nil; 63 | } 64 | if (self.superview) { 65 | UITableViewCell * tableViewCell = [self.superview formDescriptorCell]; 66 | if (tableViewCell != nil) { 67 | return tableViewCell; 68 | } 69 | } 70 | return nil; 71 | } 72 | 73 | @end 74 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/Views/XLFormRightDetailCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRightDetailCell.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | @interface XLFormRightDetailCell : UITableViewCell 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/Views/XLFormRightDetailCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRightDetailCell.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRightDetailCell.h" 27 | 28 | @implementation XLFormRightDetailCell 29 | 30 | - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 31 | { 32 | return [super initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:reuseIdentifier]; 33 | } 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/Views/XLFormRightImageButton.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRightImageButton.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | @interface XLFormRightImageButton : UIButton 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/Views/XLFormRightImageButton.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRightImageButton.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRightImageButton.h" 27 | 28 | @implementation XLFormRightImageButton 29 | 30 | 31 | - (CGSize)intrinsicContentSize 32 | { 33 | CGSize s = [super intrinsicContentSize]; 34 | return CGSizeMake(s.width + self.titleEdgeInsets.left + self.titleEdgeInsets.right, 35 | s.height + self.titleEdgeInsets.top + self.titleEdgeInsets.bottom); 36 | 37 | } 38 | 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/Views/XLFormRowNavigationAccessoryView.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRowNavigationAccessoryView.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | @interface XLFormRowNavigationAccessoryView : UIToolbar 29 | 30 | @property (nonatomic) UIBarButtonItem *previousButton; 31 | @property (nonatomic) UIBarButtonItem *nextButton; 32 | @property (nonatomic) UIBarButtonItem *doneButton; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/Views/XLFormTextView.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormTextView.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | 27 | #import 28 | 29 | @interface XLFormTextView : UITextView 30 | 31 | 32 | @property (nonatomic) NSString *placeholder; 33 | @property (nonatomic) UIColor *placeholderColor; 34 | 35 | @property (readonly) UILabel *placeHolderLabel; 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Helpers/Views/XLFormTextView.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormTextView.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | 27 | #import "XLFormTextView.h" 28 | 29 | @implementation XLFormTextView 30 | 31 | - (void)dealloc 32 | { 33 | [[NSNotificationCenter defaultCenter] removeObserver:self]; 34 | } 35 | 36 | - (instancetype)initWithFrame:(CGRect)frame 37 | { 38 | if((self = [super initWithFrame:frame])){ 39 | self.scrollsToTop = NO; 40 | self.contentInset = UIEdgeInsetsMake(0, -4, 0, 0); 41 | [self setPlaceholder:@""]; 42 | [self setPlaceholderColor:[UIColor colorWithRed:.78 green:.78 blue:.80 alpha:1.0]]; 43 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChanged:) name:UITextViewTextDidChangeNotification object:nil]; 44 | } 45 | return self; 46 | } 47 | 48 | - (void)textChanged:(NSNotification *)notification 49 | { 50 | if([[self placeholder] length] == 0){ 51 | return; 52 | } 53 | if([[self text] length] == 0){ 54 | [[self viewWithTag:999] setAlpha:1]; 55 | } 56 | else{ 57 | [[self viewWithTag:999] setAlpha:0]; 58 | } 59 | } 60 | 61 | - (void)setText:(NSString *)text { 62 | [super setText:text]; 63 | [self textChanged:nil]; 64 | } 65 | 66 | - (void)drawRect:(CGRect)rect 67 | { 68 | if([[self placeholder] length] > 0){ 69 | if (_placeHolderLabel == nil ){ 70 | _placeHolderLabel = [[UILabel alloc] initWithFrame:CGRectMake(4,8,self.bounds.size.width - 16,0)]; 71 | _placeHolderLabel.lineBreakMode = NSLineBreakByWordWrapping; 72 | _placeHolderLabel.numberOfLines = 0; 73 | _placeHolderLabel.backgroundColor = [UIColor clearColor]; 74 | _placeHolderLabel.textColor = self.placeholderColor; 75 | _placeHolderLabel.alpha = 0; 76 | _placeHolderLabel.tag = 999; 77 | [self addSubview:_placeHolderLabel]; 78 | } 79 | _placeHolderLabel.text = self.placeholder; 80 | _placeHolderLabel.font = self.font; 81 | [_placeHolderLabel sizeToFit]; 82 | [self sendSubviewToBack:_placeHolderLabel]; 83 | } 84 | if( [[self text] length] == 0 && [[self placeholder] length] > 0 ){ 85 | [[self viewWithTag:999] setAlpha:1]; 86 | } 87 | [super drawRect:rect]; 88 | } 89 | 90 | @end 91 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Validation/XLFormRegexValidator.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRegexValidator.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormValidatorProtocol.h" 27 | #import "XLFormValidationStatus.h" 28 | #import "XLFormValidator.h" 29 | 30 | @interface XLFormRegexValidator : XLFormValidator 31 | 32 | @property NSString *msg; 33 | @property NSString *regex; 34 | 35 | - (instancetype)initWithMsg:(NSString*)msg andRegexString:(NSString*)regex; 36 | + (XLFormRegexValidator *)formRegexValidatorWithMsg:(NSString *)msg regex:(NSString *)regex; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Validation/XLFormRegexValidator.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormRegexValidator.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRegexValidator.h" 27 | 28 | @implementation XLFormRegexValidator 29 | 30 | -(instancetype)initWithMsg:(NSString*)msg andRegexString:(NSString*)regex { 31 | self = [super init]; 32 | if (self) { 33 | self.msg = msg; 34 | self.regex = regex; 35 | } 36 | 37 | return self; 38 | } 39 | 40 | -(XLFormValidationStatus *)isValid: (XLFormRowDescriptor *)row { 41 | if (row != nil && row.value != nil) { 42 | // we only validate if there is a value 43 | // assumption: required validation is already triggered 44 | // if this field is optional, we only validate if there is a value 45 | id value = row.value; 46 | if ([value isKindOfClass:[NSNumber class]]){ 47 | value = [value stringValue]; 48 | } 49 | if ([value isKindOfClass:[NSString class]] && [value length] > 0) { 50 | BOOL isValid = [[NSPredicate predicateWithFormat:@"SELF MATCHES %@", self.regex] evaluateWithObject:[value stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]]; 51 | return [XLFormValidationStatus formValidationStatusWithMsg:self.msg status:isValid rowDescriptor:row]; 52 | } 53 | } 54 | return nil; 55 | }; 56 | 57 | +(XLFormRegexValidator *)formRegexValidatorWithMsg:(NSString *)msg regex:(NSString *)regex { 58 | return [[XLFormRegexValidator alloc] initWithMsg:msg andRegexString:regex]; 59 | } 60 | 61 | @end 62 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Validation/XLFormValidationStatus.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormValidationStatus.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import 27 | 28 | #import "XLFormRowDescriptor.h" 29 | 30 | @interface XLFormValidationStatus : NSObject 31 | 32 | @property NSString *msg; 33 | @property BOOL isValid; 34 | @property (nonatomic, weak) XLFormRowDescriptor *rowDescriptor; 35 | 36 | //-(instancetype)initWithMsg:(NSString*)msg andStatus:(BOOL)isValid; 37 | -(instancetype)initWithMsg:(NSString*)msg status:(BOOL)isValid rowDescriptor:(XLFormRowDescriptor *)row; 38 | 39 | //+(XLFormValidationStatus *)formValidationStatusWithMsg:(NSString *)msg status:(BOOL)status; 40 | +(XLFormValidationStatus *)formValidationStatusWithMsg:(NSString *)msg status:(BOOL)status rowDescriptor:(XLFormRowDescriptor *)row; 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Validation/XLFormValidationStatus.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormValidationStatus.m 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormValidationStatus.h" 27 | 28 | @implementation XLFormValidationStatus 29 | 30 | -(instancetype)initWithMsg:(NSString*)msg andStatus:(BOOL)isValid { 31 | return [self initWithMsg:msg status:isValid rowDescriptor:nil]; 32 | } 33 | 34 | -(instancetype)initWithMsg:(NSString*)msg status:(BOOL)isValid rowDescriptor:(XLFormRowDescriptor *)row { 35 | self = [super init]; 36 | if (self) { 37 | self.msg = msg; 38 | self.isValid = isValid; 39 | self.rowDescriptor = row; 40 | } 41 | 42 | return self; 43 | } 44 | 45 | +(XLFormValidationStatus *)formValidationStatusWithMsg:(NSString *)msg status:(BOOL)status { 46 | return [self formValidationStatusWithMsg:msg status:status rowDescriptor:nil]; 47 | } 48 | 49 | +(XLFormValidationStatus *)formValidationStatusWithMsg:(NSString *)msg status:(BOOL)status rowDescriptor:(XLFormRowDescriptor *)row { 50 | return [[XLFormValidationStatus alloc] initWithMsg:msg status:status rowDescriptor:row]; 51 | } 52 | 53 | @end 54 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Validation/XLFormValidator.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormValidator.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | 27 | #import "XLFormValidatorProtocol.h" 28 | 29 | @interface XLFormValidator : NSObject 30 | 31 | +(XLFormValidator *)emailValidator; 32 | +(XLFormValidator *)emailValidatorLong; 33 | @end 34 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Validation/XLFormValidator.m: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormValidator.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormValidationStatus.h" 27 | #import "XLFormRegexValidator.h" 28 | 29 | #import "XLFormValidator.h" 30 | 31 | @implementation XLFormValidator 32 | 33 | -(XLFormValidationStatus *)isValid:(XLFormRowDescriptor *)row 34 | { 35 | return [XLFormValidationStatus formValidationStatusWithMsg:nil status:YES rowDescriptor:row]; 36 | } 37 | 38 | #pragma mark - Validators 39 | 40 | 41 | +(XLFormValidator *)emailValidator 42 | { 43 | return [XLFormRegexValidator formRegexValidatorWithMsg:NSLocalizedString(@"Invalid email address", nil) regex:@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"]; 44 | } 45 | +(XLFormValidator *)emailValidatorLong 46 | { 47 | return [XLFormRegexValidator formRegexValidatorWithMsg:NSLocalizedString(@"Invalid email address", nil) regex:@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,11}"]; 48 | } 49 | @end 50 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XL/Validation/XLFormValidatorProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // XLFormValidatorProtocol.h 3 | // XLForm ( https://github.com/xmartlabs/XLForm ) 4 | // 5 | // Copyright (c) 2015 Xmartlabs ( http://xmartlabs.com ) 6 | // 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | 26 | #import "XLFormRowDescriptor.h" 27 | 28 | @class XLFormValidationStatus; 29 | 30 | @protocol XLFormValidatorProtocol 31 | 32 | @required 33 | 34 | -(XLFormValidationStatus *)isValid:(XLFormRowDescriptor *)row; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /Pods/XLForm/XLForm/XLForm.bundle/forwardarrow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bynil/MessageJudge/96efafbb8b29d86386c852b06efdc12e03ba4dab/Pods/XLForm/XLForm/XLForm.bundle/forwardarrow@2x.png -------------------------------------------------------------------------------- /Pods/YYModel/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 ibireme 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /Pods/YYModel/YYModel/YYModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYModel.h 3 | // YYModel 4 | // 5 | // Created by ibireme on 15/5/10. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | #if __has_include() 15 | FOUNDATION_EXPORT double YYModelVersionNumber; 16 | FOUNDATION_EXPORT const unsigned char YYModelVersionString[]; 17 | #import 18 | #import 19 | #else 20 | #import "NSObject+YYModel.h" 21 | #import "YYClassInfo.h" 22 | #endif 23 | --------------------------------------------------------------------------------