From 5fe415091f271028fd974dc81cc5250e34e5fe19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=B5=AA?= Date: Wed, 12 Dec 2018 17:41:01 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90ADD=E3=80=91'NSString+LYUnits'?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96=E6=96=87=E4=BB=B6=E5=A4=A7?= =?UTF-8?q?=E5=B0=8F=E5=8A=9F=E8=83=BD=20=E3=80=90ADD=E3=80=91'UIDevice+LY?= =?UTF-8?q?Hardware'=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96=E8=BF=90=E8=90=A5?= =?UTF-8?q?=E5=95=86=E5=8A=9F=E8=83=BD=20=E3=80=90ADD=E3=80=91=E2=80=98LYH?= =?UTF-8?q?yperlinksButton=E2=80=99=E8=B6=85=E9=93=BE=E6=8E=A5=E6=8C=89?= =?UTF-8?q?=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 3 + Example/LYToolsKit/Base.lproj/Main.storyboard | 25 +- .../LYToolsKit/Images.xcassets/Contents.json | 6 + .../Contents.json" | 22 + ...\277\203-\347\263\273\347\273\237-@2x.png" | Bin 0 -> 3444 bytes ...\277\203-\347\263\273\347\273\237-@3x.png" | Bin 0 -> 4887 bytes .../858893-z.jpg" | Bin 0 -> 52361 bytes .../Contents.json" | 21 + Example/LYToolsKit/LYViewController.m | 15 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 1085 +++++++++-------- .../LYToolsKit/LYToolsKit-umbrella.h | 2 + Example/Tests/Tests.m | 10 + .../Foundation/NSString/NSString+LYUnits.h | 12 +- .../Foundation/NSString/NSString+LYUnits.m | 16 + LYToolsKit/UI/LYUI.h | 1 + .../UI/UI/UIDevice/UIDevice+LYHardware.h | 9 + .../UI/UI/UIDevice/UIDevice+LYHardware.m | 24 + LYToolsKit/Utility/LYUtility.h | 3 + .../Utility/UIButton/LYHyperlinksButton.h | 13 + .../Utility/UIButton/LYHyperlinksButton.m | 41 + README.md | 5 + 21 files changed, 778 insertions(+), 535 deletions(-) create mode 100644 Example/LYToolsKit/Images.xcassets/Contents.json create mode 100644 "Example/LYToolsKit/Images.xcassets/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237.imageset/Contents.json" create mode 100644 "Example/LYToolsKit/Images.xcassets/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237.imageset/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237-@2x.png" create mode 100644 "Example/LYToolsKit/Images.xcassets/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237.imageset/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237-@3x.png" create mode 100644 "Example/LYToolsKit/Images.xcassets/\347\205\247\347\211\207.imageset/858893-z.jpg" create mode 100644 "Example/LYToolsKit/Images.xcassets/\347\205\247\347\211\207.imageset/Contents.json" create mode 100755 LYToolsKit/Utility/UIButton/LYHyperlinksButton.h create mode 100755 LYToolsKit/Utility/UIButton/LYHyperlinksButton.m diff --git a/CHANGELOG.md b/CHANGELOG.md index 5240378..46443e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,3 +9,6 @@ ### [0.2.0] -【MDF】'NSString+LYURL'方法描述修改 -【ADD】URL拼接参数功能‘ly_stringURL:appendNotExistParams:’、‘ly_stringURL:appendParams:’ +### [0.3.0] +-【ADD】'NSString+LYUnits'添加获取文件大小功能 +-【ADD】'UIDevice+LYHardware'添加获取运营商功能 diff --git a/Example/LYToolsKit/Base.lproj/Main.storyboard b/Example/LYToolsKit/Base.lproj/Main.storyboard index 4d90782..8ff9752 100644 --- a/Example/LYToolsKit/Base.lproj/Main.storyboard +++ b/Example/LYToolsKit/Base.lproj/Main.storyboard @@ -1,11 +1,11 @@ - + - + @@ -22,10 +22,29 @@ + - + + + + + + + + + + + + + + + + + + + diff --git a/Example/LYToolsKit/Images.xcassets/Contents.json b/Example/LYToolsKit/Images.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/Example/LYToolsKit/Images.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git "a/Example/LYToolsKit/Images.xcassets/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237.imageset/Contents.json" "b/Example/LYToolsKit/Images.xcassets/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237.imageset/Contents.json" new file mode 100644 index 0000000..d55ea3b --- /dev/null +++ "b/Example/LYToolsKit/Images.xcassets/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237.imageset/Contents.json" @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "消息中心-系统-@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "消息中心-系统-@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git "a/Example/LYToolsKit/Images.xcassets/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237.imageset/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237-@2x.png" "b/Example/LYToolsKit/Images.xcassets/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237.imageset/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237-@2x.png" new file mode 100644 index 0000000000000000000000000000000000000000..e1a28040a78e3a43dde744573d03cab364bae4fc GIT binary patch literal 3444 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 literal 0 HcmV?d00001 diff --git "a/Example/LYToolsKit/Images.xcassets/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237.imageset/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237-@3x.png" "b/Example/LYToolsKit/Images.xcassets/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237.imageset/\346\266\210\346\201\257\344\270\255\345\277\203-\347\263\273\347\273\237-@3x.png" new file mode 100644 index 0000000000000000000000000000000000000000..d4dbd5c1e21cea09f556be7651bcb00fb014b91f GIT binary patch literal 4887 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 i#N4VjepkpEe*2L<> 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 N!00+rMQ&n$|JnZGybk~X literal 0 HcmV?d00001 diff --git "a/Example/LYToolsKit/Images.xcassets/\347\205\247\347\211\207.imageset/Contents.json" "b/Example/LYToolsKit/Images.xcassets/\347\205\247\347\211\207.imageset/Contents.json" new file mode 100644 index 0000000..dbb23db --- /dev/null +++ "b/Example/LYToolsKit/Images.xcassets/\347\205\247\347\211\207.imageset/Contents.json" @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "858893-z.jpg", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/LYToolsKit/LYViewController.m b/Example/LYToolsKit/LYViewController.m index be0100e..7e1bc5b 100644 --- a/Example/LYToolsKit/LYViewController.m +++ b/Example/LYToolsKit/LYViewController.m @@ -7,6 +7,7 @@ // #import "LYViewController.h" +#import @interface LYViewController () @@ -17,7 +18,19 @@ @implementation LYViewController - (void)viewDidLoad { [super viewDidLoad]; - // Do any additional setup after loading the view, typically from a nib. + UIBarButtonItem *btn = [UIBarButtonItem ly_itemWithNormalImageName:@"消息中心-系统" highImageName:@"消息中心-系统" target:self action:@selector(btnClick)]; + self.navigationItem.rightBarButtonItem = btn; + + // Do any additional setup after loading the view, typically from a nib. + LYHyperlinksButton *btn1 = [LYHyperlinksButton ly_ViewWithColor:[UIColor redColor]]; + [btn1 setTitle:@"啧啧啧" forState:UIControlStateNormal]; + btn1.frame = CGRectMake(50, 100, 50, 50); + + [self.view addSubview:btn1]; +} + +- (void)btnClick { + } - (void)didReceiveMemoryWarning diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index eaa9baa..965c1cf 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,110 +7,114 @@ objects = { /* Begin PBXBuildFile section */ - 028FEC384E2461209287DB7FD1D318D3 /* UITextView+LYExt.m in Sources */ = {isa = PBXBuildFile; fileRef = FC63FA8DE6D1008CCA734F85EA6A4A3F /* UITextView+LYExt.m */; }; - 03340FE6DB380AF385272676331E421D /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = 303B58A2959C8EEE96799AD558DDA1D3 /* Masonry.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 04BE77B325101E01F2DF62B3C4072FC2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4ECFD12E78C2CA945044CB88F411C65 /* Foundation.framework */; }; - 05B138C0C1E0DAF6AAD22A2DF87CF63C /* LYCoverView.m in Sources */ = {isa = PBXBuildFile; fileRef = 683633AA4F07AE2B13999181F36A892F /* LYCoverView.m */; }; + 04F6DB2F8B1EB1960A1B320E594C5046 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 611E26C24600589F4729E5EF510272FB /* MASLayoutConstraint.m */; }; + 052068F1995CD5BC59044C55334F49C9 /* LYAlertController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DB3B521241CCFB8407F4E5E33F28529 /* LYAlertController.m */; }; + 06E2A52F16F89B1CB381E9EB82F21859 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A214B89738295B4A4B00EEB1960E8865 /* NSLayoutConstraint+MASDebugAdditions.m */; }; 0816A0F3D8B9CF1C332F331B6D947AFF /* Pods-LYToolsKit_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 552A1FFC6C1789DEDF34B1D330ECDCBB /* Pods-LYToolsKit_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 08548563B48BB35488B6D224DBBF4DD7 /* NSString+LYUnits.h in Headers */ = {isa = PBXBuildFile; fileRef = 196C2B0604A897C53943B3C89DC5825E /* NSString+LYUnits.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0B474A887D8F0632243132E65567A448 /* MASConstraint+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 77F2CF8861113B6F7AAE7EA65C6A7C1B /* MASConstraint+Private.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0DC2F4CCD226982061D86CB88ABA2F1E /* UIColor+LYString.h in Headers */ = {isa = PBXBuildFile; fileRef = B9B86AFEF0842FA05C786D3C2A2C72D3 /* UIColor+LYString.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0DEA62A206CF56890863EA0ED9D29F87 /* UIView+LYEnlargeTouchArea.m in Sources */ = {isa = PBXBuildFile; fileRef = A98480DA552C8C3F7A7EF23C59FA4CE3 /* UIView+LYEnlargeTouchArea.m */; }; - 0E57D14AF975A52A446DF2B05C0466A3 /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 61881F60AB333EA86CE7881063A4BA60 /* View+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0F20898555A76114361C34270852143A /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 537638D0C329C86D4ED401237F5D895F /* MASCompositeConstraint.m */; }; - 17A8EBE6EB76463C46D8913AFDE932BE /* NSLayoutConstraint+MASDebugAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F69E835336330FF06E7268D32D667C9 /* NSLayoutConstraint+MASDebugAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1BC716DF86A363742337EE3D8D779649 /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = 96DCAB46CA2931B8140F2639F17404AF /* MASViewAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1C493FFCED61D5E237A9EC22447B8C92 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B1DDB58FB8525698C8C459E7485FF5DB /* UIKit.framework */; }; - 1C9FC66EDF975AF796401A373F2D00C9 /* LYTouchTrace.h in Headers */ = {isa = PBXBuildFile; fileRef = FC676DE1E2DFB1F6E062AFA3E5C2C34D /* LYTouchTrace.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1D0E95A256A2F415BC67E18522AC4111 /* LYCoverView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BDBFF09C5D71B570AC97F1F9731339A /* LYCoverView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1E0BFCF5DF1D3E24C6BA479319202145 /* LYUI.h in Headers */ = {isa = PBXBuildFile; fileRef = E9BEEAC28396C9494B9644C5C6A9A343 /* LYUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 27100B21A088F42841BBDD941136943F /* UIImage+LYImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 67E8D249737C149D34D03FC2DB901082 /* UIImage+LYImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2878DA752BB01C266016595BFA7F347A /* UICountingLabel.h in Headers */ = {isa = PBXBuildFile; fileRef = 33B607A68E96FDC942AB9500B68C93F8 /* UICountingLabel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0DFAB2647627BA0A2E7CE7114C8D4C93 /* NSString+LYJudge.m in Sources */ = {isa = PBXBuildFile; fileRef = 94B76344F3C2F85476ECE5031E01DC58 /* NSString+LYJudge.m */; }; + 0E058EAFC71179F7369328636E75962F /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = 0925CC604B01F156279E8952DDE3EDDB /* MASViewAttribute.m */; }; + 13537CF122129C43427042958B49A405 /* LYUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 50017F07F538056E4F0A630D6667607D /* LYUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 13BBBC41096FFDB55D9F98F6070DB345 /* UIView+LYTouch.m in Sources */ = {isa = PBXBuildFile; fileRef = 76D7C87D22207E7B23839AEAE653973A /* UIView+LYTouch.m */; }; + 1AE26D351C1689BC84E76D2CB7385691 /* NSDate+LYString.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B041968F90263CD6B8035D374B2A10A /* NSDate+LYString.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1CFCE362A7E7AE808FA1F55D30061E3E /* UIImageView+LYExt.h in Headers */ = {isa = PBXBuildFile; fileRef = F406B16A1D51BDBC7221A680C6186D86 /* UIImageView+LYExt.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1FC5CA1D2E6D7AE824C5FF141733F42C /* UIView+LYCut.m in Sources */ = {isa = PBXBuildFile; fileRef = C6D5B252F8E588CB4A1096391F6B62C8 /* UIView+LYCut.m */; }; + 20311D1916137E2141A12D9AA9811A62 /* LYUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = B8C8E29F0F888CB8431EBB4360CD58CE /* LYUtility.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2161E7B87F81776161229858E20E7080 /* UILabel+LYExt.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F738A23C2E900D08326BB04DDC09799 /* UILabel+LYExt.m */; }; + 2708954F913BBA61E4101C166373AA17 /* NSArray+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = F8187F5CAD09C6C6B2B54C65B4A807C9 /* NSArray+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2934DEA186D3C9FB7F0086FF11875F5C /* ViewController+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = C6D5C71A7A4B3156186EC98A377E8543 /* ViewController+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; 3087DE886E48F936A4A4BFC9D10CACDD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4ECFD12E78C2CA945044CB88F411C65 /* Foundation.framework */; }; - 3214666CFDA48659B084090D8F9AF344 /* ViewController+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = C6D5C71A7A4B3156186EC98A377E8543 /* ViewController+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3295E1B7597963233CD66D603A6E9861 /* NSArray+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C550CDA10D592ABB6A0383A3509F05 /* NSArray+MASAdditions.m */; }; - 33E325586DFF6871D190366D3E773F68 /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3980E01C213ECEDEABAC38C1CFD3946D /* ViewController+MASAdditions.m */; }; - 35F2028864076DA02089DD949BBD1848 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = FF3818136FED67BD32E3A7FAEDE4F68F /* MASConstraintMaker.m */; }; - 3D19ABB4A14629E9EED9E3C0A5D41A1E /* UIImage+LYImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 23604F9CA0F3567F745FA2967EF28AA1 /* UIImage+LYImage.m */; }; - 3F4CFF77E94EDDC79A82E6A2856622E9 /* UIView+LYCut.m in Sources */ = {isa = PBXBuildFile; fileRef = 15AFF814BA92A3DA4CE3E347F5677E8D /* UIView+LYCut.m */; }; - 40803C4930693D6BEA3B342E48B33B76 /* UIButton+LYExt.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C96672A5CF4455CF8447E7874849E2D /* UIButton+LYExt.m */; }; - 40E0EBD3B82BE3C03CB89B3399125ACF /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = A02D339E60E114FCC992372E93245BA1 /* MASConstraintMaker.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4564C070B0170BC26198543CC47C365F /* LYAlertController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4810F4F988DD7AF927FDC391B91247BC /* LYAlertController.m */; }; - 4696AB7EA110A0D7D76BC44A5E15CBB6 /* NSString+LYJudge.h in Headers */ = {isa = PBXBuildFile; fileRef = BFB8D819BA350BC8B1A53810C2A1CB3C /* NSString+LYJudge.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4CDC8CE7B8D1AB129F1061246BDE31A3 /* UIView+LYCut.h in Headers */ = {isa = PBXBuildFile; fileRef = 48C2C5672822A492A6A7769CD4CF8072 /* UIView+LYCut.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4D7DD546B3455144A6C36C37227FE0A3 /* LYUIMacro.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B9C9376523F943E82787C09FF62A3E /* LYUIMacro.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 57D6C25FD241F19366BAE20B123E3104 /* MASLayoutConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = C484EF8499F67EC81CA7E27930A63CDC /* MASLayoutConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 58834F03497C2A6D3C99EF84425940A6 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 611E26C24600589F4729E5EF510272FB /* MASLayoutConstraint.m */; }; - 5F1A710A4CEDF323650B3E7F2D9D8079 /* UIImageView+LYExt.h in Headers */ = {isa = PBXBuildFile; fileRef = C27CD0B4DE28BEDA216D6B633A9C06B6 /* UIImageView+LYExt.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6451F48B3C59ED7D5363A4F55EE3EFCF /* NSObject+LYHook.h in Headers */ = {isa = PBXBuildFile; fileRef = BB9E4F00E57E74C0631864D577D1D3EB /* NSObject+LYHook.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 67BD9D6146383E7311AA3671CE9871CA /* UIButton+LYDelay.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A37A1C36317EB000B129AE413870B59 /* UIButton+LYDelay.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6829C728D042952398D73F31EB7AA4F3 /* LYAlertController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A67A141F6E68F87869451095C4D536D /* LYAlertController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6A05A1BEF7E6D60CEE39B7CA2D14786D /* Masonry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6BF35C23E029BF10AE1D3595169AFBCF /* Masonry.framework */; }; - 6F375E0360645008C02C3F4D1CB0B459 /* Masonry-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 818E990F262EC48F8DAAFD014D7E9234 /* Masonry-dummy.m */; }; - 6F5A2CB6DD7C421AF9845EEB9B234A10 /* UIButton+LYDelay.m in Sources */ = {isa = PBXBuildFile; fileRef = AF3EBA0EB85D2685F609D7E122C4A159 /* UIButton+LYDelay.m */; }; - 7008C0AEE623980C1764D0536D9F5AE2 /* LYReachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DCACB8228CE2B4661BC9AA051E8DD0E /* LYReachability.m */; }; - 7014C6AB228A79B03B1E7888EA4A563F /* UIView+LYExt.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FB6791CB1DB6EBC5E365A0B71BF19DD /* UIView+LYExt.m */; }; - 7119276F9BDF5E55A5E43B6084E27E1C /* UILabel+LYExt.m in Sources */ = {isa = PBXBuildFile; fileRef = AB532DBF747352456798410FBF1E3FA7 /* UILabel+LYExt.m */; }; - 7365D7982617DFA4193827244C4CD622 /* UIImage+LYResize.h in Headers */ = {isa = PBXBuildFile; fileRef = 04BF60128215932EB4BABBC24610631D /* UIImage+LYResize.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 74D7B1D032D13886C8666269C803350B /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = ECBBB506D4D551AB1A637EE3145A459E /* MASConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 767471620BF9D434BAEE4BD0D9096223 /* UITextField+LYExt.m in Sources */ = {isa = PBXBuildFile; fileRef = D49F54F585B08430AC9FA9BCB83F7787 /* UITextField+LYExt.m */; }; - 78BD51B1A87CBE5F53E099C348BC9515 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4ECFD12E78C2CA945044CB88F411C65 /* Foundation.framework */; }; - 8214827B85980C289947EAF0C25ED57A /* LYToolsKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 81F895C8CED0F64F5D149B31D1FB13EF /* LYToolsKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 86C3D895D2B7BBA947C5DFC3503E420D /* UIImage+LYResize.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DA160E97E13528F9001851365E5C788 /* UIImage+LYResize.m */; }; - 8C4AA277131CC7C40912B29AF2E7C31A /* NSString+LYUnits.m in Sources */ = {isa = PBXBuildFile; fileRef = BFB27E982CADBECED6AFF75A926548E0 /* NSString+LYUnits.m */; }; - 8C76EADF5DCEF91C6CBDFDCC9020CF78 /* NSString+LYJS.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A1486A3542DD77C329842884A445B32 /* NSString+LYJS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 91D46E9E56F949819E40D8B689634694 /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 986CB32629319F7F2256662716334944 /* MASConstraint.m */; }; - 9AB143D8C95AC17AE5BF8ABE9AC80E38 /* Masonry-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FB8A9BDAB144F118F7F74E1F2B74097 /* Masonry-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A366D3DFE5CF7BFB27C5B8BFA0E1FC84 /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = 0925CC604B01F156279E8952DDE3EDDB /* MASViewAttribute.m */; }; - A3F6D9D914A6A8C679B0916085221406 /* UIButton+LYExt.h in Headers */ = {isa = PBXBuildFile; fileRef = D967C14F01C1C1C3439CBC8B030C8079 /* UIButton+LYExt.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AACCD6CB3297E531005DFA8E610F5DB9 /* LYToolsKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3636A603E4FF89A45494D238EABCF7DB /* LYToolsKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 33050AA491B19EB21FD1A7F3608FE9D6 /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EC0A25DD6F58D072A4ACFC92D9237BF /* View+MASAdditions.m */; }; + 34BC3E22794A632033C68F7DA9F21D69 /* LYCoverView.h in Headers */ = {isa = PBXBuildFile; fileRef = 21D5D6DBBD107E371BC7D4453F8AD80F /* LYCoverView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 35A6D9A56B7464EBCAB6B5DA8DD95E04 /* NSObject+LYHook.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CC8D57F31F9DA1BCDDB1BF6A790CF10 /* NSObject+LYHook.m */; }; + 36BD99F8AD1D6E583D7D5D666AEAA54F /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E4875E63FFAFF84A3CDFE99F28B551E /* MASViewConstraint.m */; }; + 373CA1F33A7D9681CB53C61192B43966 /* NSDate+LYString.m in Sources */ = {isa = PBXBuildFile; fileRef = C3D9E43E3C35F29F72C010390BA7EB8F /* NSDate+LYString.m */; }; + 3F13B25C1FC197F0226F3B32F2FD254D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B1DDB58FB8525698C8C459E7485FF5DB /* UIKit.framework */; }; + 3FB1EF0EEDC921154488B6DC2DBEE783 /* UIBarButtonItem+LYExt.h in Headers */ = {isa = PBXBuildFile; fileRef = 7ED7E7C38679D43E6DC12B0AC9B63D92 /* UIBarButtonItem+LYExt.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 491DA223C0CB0416B41BFBC10F134E01 /* UIBarButtonItem+LYExt.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E105E5052C269916124647DBE26FFD9 /* UIBarButtonItem+LYExt.m */; }; + 49502F244D4D4B80A34345C04AAAE1CA /* NSString+LYUnits.m in Sources */ = {isa = PBXBuildFile; fileRef = FF412CAC2BE6DED3B69EE72913BCAB54 /* NSString+LYUnits.m */; }; + 4C05B4F7A223CDC2109CC3A4AFB6ED9A /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = AD04C760F0EB4FE7B23D85D56145A97F /* MASUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 579B8E3D243F53994BFAAF4F220D8EB1 /* UIView+LYExt.h in Headers */ = {isa = PBXBuildFile; fileRef = 242C1961474D63D3F5B44317EC922D62 /* UIView+LYExt.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 57D8A6B37CF0766904809A880B9D96D3 /* UITextField+LYExt.h in Headers */ = {isa = PBXBuildFile; fileRef = B1CE48A0558C65E2C34ED86CA4380606 /* UITextField+LYExt.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5862ABB60146394A2A6561A16921B5D8 /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = A02D339E60E114FCC992372E93245BA1 /* MASConstraintMaker.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5927475C08EDC577EAADE19CD47DDD64 /* LYFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = C8594FCA62E46CAF639C11F15F7D1894 /* LYFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5BBF8F5805E63E72A8AA7948FFBCF969 /* NSObject+LYHook.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AA68BB3D8FA89C4AD5CB3B7782C4153 /* NSObject+LYHook.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5E92ECECE8DF94B600720BD7C4616B57 /* UIButton+LYDelay.m in Sources */ = {isa = PBXBuildFile; fileRef = 2954157790A553486C71265BC8C4CAE5 /* UIButton+LYDelay.m */; }; + 60632CA01B25A525FA3B01833F3F7154 /* MASViewConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F0183E721D7FD6AF70B4A911C1B1B95 /* MASViewConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 62925B70BDAEA5FE3195AB71F60F133A /* NSString+LYJS.m in Sources */ = {isa = PBXBuildFile; fileRef = 856CBA38024F0B77C30E696FA61E3293 /* NSString+LYJS.m */; }; + 6318A19B67EADE0EF84A18A489D53828 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F69E835336330FF06E7268D32D667C9 /* NSLayoutConstraint+MASDebugAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 63E152B12D416097562F566E1D308553 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = FF3818136FED67BD32E3A7FAEDE4F68F /* MASConstraintMaker.m */; }; + 6709A236476F5124DFE1BFDAEC2C75FF /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 79BEFB59B86F59C579FF7594DCF78FEB /* MASCompositeConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6A63BE167FC4D29DCE4D5C36AEE0FD31 /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = 96DCAB46CA2931B8140F2639F17404AF /* MASViewAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7381A0852EB20ECCBA03C26CA1C50D64 /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3980E01C213ECEDEABAC38C1CFD3946D /* ViewController+MASAdditions.m */; }; + 760BD569781CD303931C15910F989286 /* UIDevice+LYHardware.h in Headers */ = {isa = PBXBuildFile; fileRef = 02A0545DAA2DE48726946B8187127AD6 /* UIDevice+LYHardware.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 784170C66CA65973149BE753F28ABA3D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4ECFD12E78C2CA945044CB88F411C65 /* Foundation.framework */; }; + 79E75C89F1185FC969B39A93994AC9EF /* LYHyperlinksButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E741B90730DBF43404079D7A96CD921 /* LYHyperlinksButton.m */; }; + 86CD40BD47F3C7E9434E7A4FA07D2B3B /* NSString+LYURL.m in Sources */ = {isa = PBXBuildFile; fileRef = A637D9F1A61074F4648241988CF7A6F6 /* NSString+LYURL.m */; }; + 8B885AC904174B2C695434073581038D /* MASConstraint+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 77F2CF8861113B6F7AAE7EA65C6A7C1B /* MASConstraint+Private.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8B9444A166F09DF41FE82DEE1B3F82A9 /* UIImage+LYResize.h in Headers */ = {isa = PBXBuildFile; fileRef = 276874A3678E3C4DF57AC150584FBE93 /* UIImage+LYResize.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8EB4D532AAC0B9C37367C5B67D0E4BB5 /* UIColor+LYString.h in Headers */ = {isa = PBXBuildFile; fileRef = BD13B26FE47B78094D2645D111155CA0 /* UIColor+LYString.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 914BD747C75EBC41E7AE55ACCA12BB37 /* LYHyperlinksButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 3386718D134C2B8181C818373B5AE217 /* LYHyperlinksButton.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 93B517DC987C31BB010943A3983DEC4F /* UIImage+LYBase64.m in Sources */ = {isa = PBXBuildFile; fileRef = 13515F60F434F8241B8C2ADA7D8BC251 /* UIImage+LYBase64.m */; }; + 9671564430A92311020B6E4A83F8ABDC /* LYToolsKit.h in Headers */ = {isa = PBXBuildFile; fileRef = D1ED613C6E56669FCB1527D2327519D2 /* LYToolsKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 99A00AFEF7D157032D75C941A440115D /* UIView+LYTouch.h in Headers */ = {isa = PBXBuildFile; fileRef = A6B50E12B9C057468D3531376DD2B054 /* UIView+LYTouch.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9CFF3C4FA973CF4A7851E59F819308CE /* LYCoverView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2430A8EF6E13DBC049D681A320F44DB /* LYCoverView.m */; }; + 9D64CDC4BA7CFE55FCA86D3D024798B1 /* UICountingLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = EAF1CE8FBE6C682BD3A2F079BCBADA77 /* UICountingLabel.m */; }; + A0106FB89BA31CC8E36628048F8AC8D7 /* UITextView+LYExt.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D4DBF9523981E373A82F19BDECF56BA /* UITextView+LYExt.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A0B81E1C3CC1CC807039764F9949CAA2 /* LYToolsKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BF246A0CF1EA001A5C5A37D7A4AFCF0 /* LYToolsKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A760915E5ACB57D156FB1A7119CF1DF7 /* UIView+LYEnlargeTouchArea.m in Sources */ = {isa = PBXBuildFile; fileRef = C9F95E6F53A291BB80AEC8702833DFB1 /* UIView+LYEnlargeTouchArea.m */; }; + A90B89498E564B5B827FF85346CD4DB3 /* LYAlertController.h in Headers */ = {isa = PBXBuildFile; fileRef = ED3C03539ADD7165A039165AADC13845 /* LYAlertController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AAC1BBDDE079E01502445C7D2CF17AB8 /* Masonry-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 818E990F262EC48F8DAAFD014D7E9234 /* Masonry-dummy.m */; }; + AB7B21670C884FDBB6E8B285AA62F239 /* UIDevice+LYHardware.m in Sources */ = {isa = PBXBuildFile; fileRef = FD06641E5FEE15020D0EC4C03A6A3826 /* UIDevice+LYHardware.m */; }; ABDF158B500EA63AF742C3782E3A9B5D /* Pods-LYToolsKit_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FCA511F5F6BB1668B66B3B451F54E5E8 /* Pods-LYToolsKit_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; ADC9751E9A659ED0DA79AA9D2FEA180A /* Pods-LYToolsKit_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 821C12BF8CD1B5F411C10B234783C588 /* Pods-LYToolsKit_Example-dummy.m */; }; - AE5132328F9634BC8DD92D85E2A10083 /* NSString+LYURL.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D6947D83FBD7500F15648428824BD8 /* NSString+LYURL.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AF19A4D823578ABD980565ED009A4D02 /* NSString+LYJS.m in Sources */ = {isa = PBXBuildFile; fileRef = CDF68572B6A08EF04829F89EF56BB6D2 /* NSString+LYJS.m */; }; - B24AFBD09EE453C6E55013E9C5CD2C81 /* NSDate+LYString.h in Headers */ = {isa = PBXBuildFile; fileRef = 465406F4B94E031B1325286CB2D5811E /* NSDate+LYString.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BA141360B73C7F0A98370C1C91DDEA8F /* LYTouchTrace.m in Sources */ = {isa = PBXBuildFile; fileRef = 581D4A415880BE8C4DC3B81EE1927FBB /* LYTouchTrace.m */; }; - BA73CC05E3A10FB794CAFEB7D2EA924C /* UIImage+LYBase64.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A846BE7BEC8F184DBE1D1EDA8904FE6 /* UIImage+LYBase64.m */; }; - BF4B4A8206329014A9725FBBC13FDD27 /* UITextField+LYExt.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF436FF766C7E5DCB7DABB65A691349 /* UITextField+LYExt.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C10C6EED54B42F96B31850781495B54A /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A214B89738295B4A4B00EEB1960E8865 /* NSLayoutConstraint+MASDebugAdditions.m */; }; - C2525CFA00FDB5632B675852EBCEEB50 /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EC0A25DD6F58D072A4ACFC92D9237BF /* View+MASAdditions.m */; }; - C414F10EC5C8ABD840301A460DB5BA1B /* UILabel+LYExt.h in Headers */ = {isa = PBXBuildFile; fileRef = B7894437B6122F2EDC551B618E0C7F12 /* UILabel+LYExt.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C490407D2173112FFF1A7C5AF0B9FF7D /* UIView+LYTouch.h in Headers */ = {isa = PBXBuildFile; fileRef = 672C8723AF78A75DC0F883FEE5AE3203 /* UIView+LYTouch.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C4C42C91DE8EEC9EC47A146F32D2A6F4 /* UIView+LYEnlargeTouchArea.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DD7AB2B072A269A1136C0FAE9E67E87 /* UIView+LYEnlargeTouchArea.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C556C6D80A8F5A3B279B29B25F7968E7 /* LYFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 28843D7AE3060E51E84F08174C324648 /* LYFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B0EBA7E9A5E9147B74021B253EF91E46 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4ECFD12E78C2CA945044CB88F411C65 /* Foundation.framework */; }; + B4323FED9C8918BA7277C624577B7EA3 /* UIView+LYExt.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C4CF995EB09A9AB34F2B45FC1BA4A63 /* UIView+LYExt.m */; }; + B4D192107BD0192FBF8F7F2B29938E5D /* NSArray+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A649F9297535214EF97548C9EA9FA33 /* NSArray+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B624968CF5218F957BA5AFDFA7BF3426 /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 537638D0C329C86D4ED401237F5D895F /* MASCompositeConstraint.m */; }; + BAB4EB1B40CC7C6A9AD7332A15055551 /* UIImage+LYImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 8433D9AB91BAB66BDC415193956217D7 /* UIImage+LYImage.m */; }; + BDEDA175EAECDAF6F6468CABFDC9E91B /* NSString+LYURL.h in Headers */ = {isa = PBXBuildFile; fileRef = 93A69D6CEDC3009DEE1CD1928001A464 /* NSString+LYURL.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BEF9C3CEE9A3B720A11B9CD0D7590291 /* LYUIMacro.h in Headers */ = {isa = PBXBuildFile; fileRef = 14065A241A1C4022E731FA5FBE07956F /* LYUIMacro.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C03C5751A68B46E112BBF99A4E488BEB /* UILabel+LYExt.h in Headers */ = {isa = PBXBuildFile; fileRef = 8140AD9FA8AE6A79EBCAFCCFA306310B /* UILabel+LYExt.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C15568A574B75ED611FDC8CE21F0DF31 /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = FF217FE4E512E3883BAD867868CB42D9 /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C1C0D6ACD06157F39F40158214B1A912 /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = ECBBB506D4D551AB1A637EE3145A459E /* MASConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C78991F93AED96A220E4643D3D7C54DD /* UIImageView+LYExt.m in Sources */ = {isa = PBXBuildFile; fileRef = 4835C2AEAC8CA2107E85DF9A98EFD86C /* UIImageView+LYExt.m */; }; C80A1B087ABF70566A91FF1191A43B2F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4ECFD12E78C2CA945044CB88F411C65 /* Foundation.framework */; }; - C8F37F708E3F831F095AC94F60F2A396 /* LYToolsKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 493A347932C5AC57908A69F5FC24B93F /* LYToolsKit-dummy.m */; }; - D0C68F1C1CA5AAEBE17169DD4C070D29 /* UIColor+LYString.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BE1FAC22CBD216DEA2BE8B3A5A3AAF6 /* UIColor+LYString.m */; }; + C85DE4A506EB976B848F53B5E80D1C34 /* UITextView+LYExt.m in Sources */ = {isa = PBXBuildFile; fileRef = 3567260ED48C9B75EBAC6026B29324FB /* UITextView+LYExt.m */; }; + C98361DF5FB53D6619D0CE8CB520F287 /* UIButton+LYExt.m in Sources */ = {isa = PBXBuildFile; fileRef = 23DBE5BAD932D33FFFAF8BF09AC61161 /* UIButton+LYExt.m */; }; + CA2C34978D5F5B41378C2FEC7EE5BD1B /* UICountingLabel.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D7C3E36EEA99F624D4AE53B33805858 /* UICountingLabel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CB2F3E026F688C6EE61B694A9CDC50DC /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 986CB32629319F7F2256662716334944 /* MASConstraint.m */; }; + CBCDF4BE38F654F6D05EA67352E378C4 /* LYTouchTrace.h in Headers */ = {isa = PBXBuildFile; fileRef = A44AA74747A5514835FF7E50295560D1 /* LYTouchTrace.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CC923B27CF7B69E75BC55368201A3081 /* MASLayoutConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = C484EF8499F67EC81CA7E27930A63CDC /* MASLayoutConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CCBB794839D870F83B6D7676F229D319 /* UIView+LYCut.h in Headers */ = {isa = PBXBuildFile; fileRef = 26ECF4EFA1E8D10ACD372D82F5C33656 /* UIView+LYCut.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CD643902B8B5ABB76401EBA52E45E936 /* LYToolsKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F97C9BE2FE9D1CB2F42B08994F7A60A /* LYToolsKit-dummy.m */; }; + CD6CFE2ADF34E73F804818FE9B43A2D1 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = 303B58A2959C8EEE96799AD558DDA1D3 /* Masonry.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CF16039F01611793FB4F08D6FC0149F3 /* NSArray+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B1C550CDA10D592ABB6A0383A3509F05 /* NSArray+MASAdditions.m */; }; D2256D18E9D1256C77BD4958959E3DBF /* Pods-LYToolsKit_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 85214D4A9C04CC9D2F78C39B6D34E3F2 /* Pods-LYToolsKit_Tests-dummy.m */; }; - D3BA89F403D3BFA7E086AB0710694106 /* UIDevice+LYHardware.h in Headers */ = {isa = PBXBuildFile; fileRef = 12CFA4BEC4C7405507FC542AF6B40846 /* UIDevice+LYHardware.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D523576EB3ED95E2E1D076D814EB0D45 /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = AD04C760F0EB4FE7B23D85D56145A97F /* MASUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D695858BB153D40D106A6655AF15807A /* UIView+LYExt.h in Headers */ = {isa = PBXBuildFile; fileRef = 22A8C97ECA80C361E834AF7EC34701E8 /* UIView+LYExt.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D6F188223C3612B7C8B79C0E6F662493 /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = FF217FE4E512E3883BAD867868CB42D9 /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D8440EF602D29D94D63B8A99ACD33659 /* LYReachability.h in Headers */ = {isa = PBXBuildFile; fileRef = B4825669B5B7A9C86E622C264850A443 /* LYReachability.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DB0151C1DA24AEB1C99224D00510E643 /* UIImageView+LYExt.m in Sources */ = {isa = PBXBuildFile; fileRef = F0F45D89053594C8F87E1906592CC229 /* UIImageView+LYExt.m */; }; - DC75075EEDBD992B2A87E99845FB48AC /* LYUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = A508CB0C1DCED313911F1DC58C2C55F5 /* LYUtility.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DE10C9844D606F7F02F68DB1B1B726AA /* NSString+LYURL.m in Sources */ = {isa = PBXBuildFile; fileRef = E9DEC28C5606216701DC9E9430BC4490 /* NSString+LYURL.m */; }; - DE23BA00218213B72CDF5162C59F2A11 /* UICountingLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CA59942D6EBA5736EE309A6E23B292E /* UICountingLabel.m */; }; - DE531B2448B5EB642DE1F1BB1C28E7C7 /* UIImage+LYBase64.h in Headers */ = {isa = PBXBuildFile; fileRef = 885E61BB33875C4D5B5E2F455BBF1C09 /* UIImage+LYBase64.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E069DDC88033ED19344DC2A65C783FE8 /* NSArray+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A649F9297535214EF97548C9EA9FA33 /* NSArray+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EAC8A50047172E142B30C4E53DDA53F0 /* NSObject+LYHook.m in Sources */ = {isa = PBXBuildFile; fileRef = D61BBF1AE50765DD1F4B3B0BCEE138AC /* NSObject+LYHook.m */; }; - EB53AA55B7F9A48C801DD681FF588337 /* UIDevice+LYHardware.m in Sources */ = {isa = PBXBuildFile; fileRef = 3906ADFF4B51521B9033596D88B6DBB6 /* UIDevice+LYHardware.m */; }; - EB5BDE84A54C5EE0B0CB6F950EA9DAE4 /* NSArray+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = F8187F5CAD09C6C6B2B54C65B4A807C9 /* NSArray+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EC007222678CADECC6E0469689874A91 /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 79BEFB59B86F59C579FF7594DCF78FEB /* MASCompositeConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F100E4DDE525E87DD15AF3A6A8C9FB52 /* NSDate+LYString.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AD57AED1FF8AC06A681B74B4390B4E2 /* NSDate+LYString.m */; }; - F3C444E6600DC899E4A31AECEB26D72D /* NSString+LYJudge.m in Sources */ = {isa = PBXBuildFile; fileRef = C79EC4A9E6EFB8046BFF48C54E4255B5 /* NSString+LYJudge.m */; }; - F4754805A81DF7415472DFBAC0E8876F /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E4875E63FFAFF84A3CDFE99F28B551E /* MASViewConstraint.m */; }; - F5237922AAC1AE6B0106E2899A01F5F7 /* MASViewConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F0183E721D7FD6AF70B4A911C1B1B95 /* MASViewConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FAF661946E012B733B8BA27FDCEFDE96 /* UITextView+LYExt.h in Headers */ = {isa = PBXBuildFile; fileRef = 67B1520A5AB0BB5A739FF5F6F15E0D7F /* UITextView+LYExt.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FD4221C22DF77624AA660005BB83F925 /* UIView+LYTouch.m in Sources */ = {isa = PBXBuildFile; fileRef = B181DAF6EA4E5EF60B01379BBC43B7F7 /* UIView+LYTouch.m */; }; + D9BD78A8656737635E2CC94F8C206CE6 /* UIImage+LYImage.h in Headers */ = {isa = PBXBuildFile; fileRef = A71956E0044BAE8D65B840428E9791F2 /* UIImage+LYImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA0F5E25ECA7B4ADD7436C41C09115F8 /* UIButton+LYDelay.h in Headers */ = {isa = PBXBuildFile; fileRef = BECD44B96ECCFE38C5F6EDCC909C75F5 /* UIButton+LYDelay.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DD8CF1A52F3681FFC8F3D80D33B2BB9B /* NSString+LYJudge.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B1C8F495DD49360450794AD31AFE714 /* NSString+LYJudge.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DEBDC7108E5112F37EBF9E32D07DC892 /* LYReachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 7506D2AF0B8684E081CD00783D38CD2B /* LYReachability.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E09A2B616228D86ED30314F1B629EB83 /* UIView+LYEnlargeTouchArea.h in Headers */ = {isa = PBXBuildFile; fileRef = 87221F82C9675BF8D828D87E96EA49F8 /* UIView+LYEnlargeTouchArea.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E582E1D793AE579D0D58294F57987737 /* UIButton+LYExt.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E44DBB1D7D35663D6CF6A2DFE241762 /* UIButton+LYExt.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E95756CEFA48DC8B2338A9AB354138C6 /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 61881F60AB333EA86CE7881063A4BA60 /* View+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E9B213B9EC3165DA9A8BA3F4D87C1628 /* UIImage+LYResize.m in Sources */ = {isa = PBXBuildFile; fileRef = 606D54531D8AF31A159B3DFDCCFA6337 /* UIImage+LYResize.m */; }; + EB52B354C1C82B06B300E9A37B0CCFA1 /* UIImage+LYBase64.h in Headers */ = {isa = PBXBuildFile; fileRef = A09C175A8C38078978E15D270CBB905C /* UIImage+LYBase64.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EEBF68B2A83E25CCD1BD0DCD62ADF0E5 /* UIColor+LYString.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AC68AF9549F0C663DAAABF7197C68DE /* UIColor+LYString.m */; }; + F27EB486583421DB43ADA939CB145293 /* LYReachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 774E463A3B2C458063BFF39A7DD18774 /* LYReachability.m */; }; + F2BE126F0516484C476702AA3BD9FC22 /* Masonry-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FB8A9BDAB144F118F7F74E1F2B74097 /* Masonry-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F8627CC0C8DCCBEA9B94A4F46014B4FE /* LYTouchTrace.m in Sources */ = {isa = PBXBuildFile; fileRef = BC99DBA61213714D59A5BCE605AA1FE5 /* LYTouchTrace.m */; }; + FCE49D4610D7D4E1744DA4EDE0099A18 /* NSString+LYJS.h in Headers */ = {isa = PBXBuildFile; fileRef = 81BDFCA007B37B28AF7695CF060252BB /* NSString+LYJS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FDC6C5880A3466A2EAA2401BA0C55CBA /* NSString+LYUnits.h in Headers */ = {isa = PBXBuildFile; fileRef = 94B77F09A5495C16D106BE71D26A6627 /* NSString+LYUnits.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FEAB200605EAACB0612C6781E6B7DE20 /* UITextField+LYExt.m in Sources */ = {isa = PBXBuildFile; fileRef = 3772579C9FC51FE1BA5DD0C18A0C912C /* UITextField+LYExt.m */; }; + FFCDA8A86E5A66D45A1689AF7CC87895 /* Masonry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6BF35C23E029BF10AE1D3595169AFBCF /* Masonry.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 5975DE32C1E4C705970715B6997E480C /* PBXContainerItemProxy */ = { + 2C2603DDB9BB4ECD50468C6F7DB887EC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 15980544DA3C24331A66A6E0719CD5E5; + remoteGlobalIDString = 7E2C2050754C68370DCBB6B3221B4B86; remoteInfo = Masonry; }; 7474744F9A3C25475472B20B74D708E7 /* PBXContainerItemProxy */ = { @@ -124,170 +128,174 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 32454BBF377FE9AB11384FCB627E119F; + remoteGlobalIDString = BBB4259BC6FCC64BCEB84DC4A2405007; remoteInfo = LYToolsKit; }; E0FFDDF0F0536135C3F948F3F99050DA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 15980544DA3C24331A66A6E0719CD5E5; + remoteGlobalIDString = 7E2C2050754C68370DCBB6B3221B4B86; remoteInfo = Masonry; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 04BF60128215932EB4BABBC24610631D /* UIImage+LYResize.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+LYResize.h"; sourceTree = ""; }; + 02A0545DAA2DE48726946B8187127AD6 /* UIDevice+LYHardware.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIDevice+LYHardware.h"; sourceTree = ""; }; 0925CC604B01F156279E8952DDE3EDDB /* MASViewAttribute.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASViewAttribute.m; path = Masonry/MASViewAttribute.m; sourceTree = ""; }; - 0A67A141F6E68F87869451095C4D536D /* LYAlertController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LYAlertController.h; sourceTree = ""; }; - 0A846BE7BEC8F184DBE1D1EDA8904FE6 /* UIImage+LYBase64.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+LYBase64.m"; sourceTree = ""; }; - 0BE1FAC22CBD216DEA2BE8B3A5A3AAF6 /* UIColor+LYString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIColor+LYString.m"; sourceTree = ""; }; - 0C96672A5CF4455CF8447E7874849E2D /* UIButton+LYExt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIButton+LYExt.m"; sourceTree = ""; }; + 0B1C8F495DD49360450794AD31AFE714 /* NSString+LYJudge.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+LYJudge.h"; sourceTree = ""; }; 0CBBD268F2C0E7A490AF022775720DC0 /* Masonry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Masonry.framework; path = Masonry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 12CFA4BEC4C7405507FC542AF6B40846 /* UIDevice+LYHardware.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIDevice+LYHardware.h"; sourceTree = ""; }; + 0E44DBB1D7D35663D6CF6A2DFE241762 /* UIButton+LYExt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIButton+LYExt.h"; sourceTree = ""; }; 134C6343D3A07A5B3AE29B85FF79707B /* Pods-LYToolsKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LYToolsKit_Example.release.xcconfig"; sourceTree = ""; }; - 15AFF814BA92A3DA4CE3E347F5677E8D /* UIView+LYCut.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+LYCut.m"; sourceTree = ""; }; - 196C2B0604A897C53943B3C89DC5825E /* NSString+LYUnits.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+LYUnits.h"; sourceTree = ""; }; - 1BDBFF09C5D71B570AC97F1F9731339A /* LYCoverView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LYCoverView.h; sourceTree = ""; }; + 13515F60F434F8241B8C2ADA7D8BC251 /* UIImage+LYBase64.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+LYBase64.m"; sourceTree = ""; }; + 14065A241A1C4022E731FA5FBE07956F /* LYUIMacro.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LYUIMacro.h; sourceTree = ""; }; + 143187C044463AF122CE440E199F6EC6 /* LYToolsKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LYToolsKit.xcconfig; sourceTree = ""; }; + 1A76076D89B6BF21195EEA87EA9DED69 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 1C3A1C89B5BB371E09E8F726013D9255 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 1F0183E721D7FD6AF70B4A911C1B1B95 /* MASViewConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASViewConstraint.h; path = Masonry/MASViewConstraint.h; sourceTree = ""; }; 1FB8A9BDAB144F118F7F74E1F2B74097 /* Masonry-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Masonry-umbrella.h"; sourceTree = ""; }; - 22A8C97ECA80C361E834AF7EC34701E8 /* UIView+LYExt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+LYExt.h"; sourceTree = ""; }; - 23604F9CA0F3567F745FA2967EF28AA1 /* UIImage+LYImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+LYImage.m"; sourceTree = ""; }; + 21D5D6DBBD107E371BC7D4453F8AD80F /* LYCoverView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LYCoverView.h; sourceTree = ""; }; + 23DBE5BAD932D33FFFAF8BF09AC61161 /* UIButton+LYExt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIButton+LYExt.m"; sourceTree = ""; }; + 242C1961474D63D3F5B44317EC922D62 /* UIView+LYExt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+LYExt.h"; sourceTree = ""; }; + 26ECF4EFA1E8D10ACD372D82F5C33656 /* UIView+LYCut.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+LYCut.h"; sourceTree = ""; }; 273AFD9939842DC75C0B2051B99A8BD1 /* Pods-LYToolsKit_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LYToolsKit_Tests-acknowledgements.plist"; sourceTree = ""; }; - 28843D7AE3060E51E84F08174C324648 /* LYFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LYFoundation.h; path = LYToolsKit/Foundation/LYFoundation.h; sourceTree = ""; }; - 2CA59942D6EBA5736EE309A6E23B292E /* UICountingLabel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = UICountingLabel.m; sourceTree = ""; }; - 2DD7AB2B072A269A1136C0FAE9E67E87 /* UIView+LYEnlargeTouchArea.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+LYEnlargeTouchArea.h"; sourceTree = ""; }; + 276874A3678E3C4DF57AC150584FBE93 /* UIImage+LYResize.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+LYResize.h"; sourceTree = ""; }; + 2954157790A553486C71265BC8C4CAE5 /* UIButton+LYDelay.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIButton+LYDelay.m"; sourceTree = ""; }; + 2AA68BB3D8FA89C4AD5CB3B7782C4153 /* NSObject+LYHook.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSObject+LYHook.h"; sourceTree = ""; }; + 2D4DBF9523981E373A82F19BDECF56BA /* UITextView+LYExt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UITextView+LYExt.h"; sourceTree = ""; }; 2F69E835336330FF06E7268D32D667C9 /* NSLayoutConstraint+MASDebugAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+MASDebugAdditions.h"; path = "Masonry/NSLayoutConstraint+MASDebugAdditions.h"; sourceTree = ""; }; 303B58A2959C8EEE96799AD558DDA1D3 /* Masonry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Masonry.h; path = Masonry/Masonry.h; sourceTree = ""; }; 3144325017A9C27CF69F267A1F9233B3 /* Pods-LYToolsKit_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LYToolsKit_Tests-frameworks.sh"; sourceTree = ""; }; - 33B607A68E96FDC942AB9500B68C93F8 /* UICountingLabel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = UICountingLabel.h; sourceTree = ""; }; - 347CB52270B9932A21AD45534B01247F /* LYToolsKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = LYToolsKit.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 3636A603E4FF89A45494D238EABCF7DB /* LYToolsKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LYToolsKit-umbrella.h"; sourceTree = ""; }; + 3386718D134C2B8181C818373B5AE217 /* LYHyperlinksButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LYHyperlinksButton.h; sourceTree = ""; }; + 3567260ED48C9B75EBAC6026B29324FB /* UITextView+LYExt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UITextView+LYExt.m"; sourceTree = ""; }; 36C40591902578632718E317104564A2 /* Masonry.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Masonry.modulemap; sourceTree = ""; }; + 3772579C9FC51FE1BA5DD0C18A0C912C /* UITextField+LYExt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UITextField+LYExt.m"; sourceTree = ""; }; 3839A1AD8E883475BF8F8C6274F8A953 /* Masonry.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Masonry.xcconfig; sourceTree = ""; }; - 3906ADFF4B51521B9033596D88B6DBB6 /* UIDevice+LYHardware.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIDevice+LYHardware.m"; sourceTree = ""; }; 3980E01C213ECEDEABAC38C1CFD3946D /* ViewController+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ViewController+MASAdditions.m"; path = "Masonry/ViewController+MASAdditions.m"; sourceTree = ""; }; - 3FB6791CB1DB6EBC5E365A0B71BF19DD /* UIView+LYExt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+LYExt.m"; sourceTree = ""; }; + 3B041968F90263CD6B8035D374B2A10A /* NSDate+LYString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSDate+LYString.h"; sourceTree = ""; }; + 3C4CF995EB09A9AB34F2B45FC1BA4A63 /* UIView+LYExt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+LYExt.m"; sourceTree = ""; }; 450784CC39ADC3AC569ADFA59CF36F7C /* Pods_LYToolsKit_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_LYToolsKit_Tests.framework; path = "Pods-LYToolsKit_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 465406F4B94E031B1325286CB2D5811E /* NSDate+LYString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSDate+LYString.h"; sourceTree = ""; }; - 4810F4F988DD7AF927FDC391B91247BC /* LYAlertController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LYAlertController.m; sourceTree = ""; }; - 48C2C5672822A492A6A7769CD4CF8072 /* UIView+LYCut.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+LYCut.h"; sourceTree = ""; }; - 493A347932C5AC57908A69F5FC24B93F /* LYToolsKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "LYToolsKit-dummy.m"; sourceTree = ""; }; - 4AD57AED1FF8AC06A681B74B4390B4E2 /* NSDate+LYString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSDate+LYString.m"; sourceTree = ""; }; - 4BF436FF766C7E5DCB7DABB65A691349 /* UITextField+LYExt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UITextField+LYExt.h"; sourceTree = ""; }; - 4DCACB8228CE2B4661BC9AA051E8DD0E /* LYReachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LYReachability.m; sourceTree = ""; }; + 4835C2AEAC8CA2107E85DF9A98EFD86C /* UIImageView+LYExt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImageView+LYExt.m"; sourceTree = ""; }; + 50017F07F538056E4F0A630D6667607D /* LYUI.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LYUI.h; path = LYToolsKit/UI/LYUI.h; sourceTree = ""; }; 53708DD2D4606CC529E850963494D8E2 /* LYToolsKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = LYToolsKit.framework; path = LYToolsKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 537638D0C329C86D4ED401237F5D895F /* MASCompositeConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASCompositeConstraint.m; path = Masonry/MASCompositeConstraint.m; sourceTree = ""; }; 552A1FFC6C1789DEDF34B1D330ECDCBB /* Pods-LYToolsKit_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-LYToolsKit_Example-umbrella.h"; sourceTree = ""; }; - 581D4A415880BE8C4DC3B81EE1927FBB /* LYTouchTrace.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LYTouchTrace.m; sourceTree = ""; }; 5A649F9297535214EF97548C9EA9FA33 /* NSArray+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MASAdditions.h"; path = "Masonry/NSArray+MASAdditions.h"; sourceTree = ""; }; + 5E741B90730DBF43404079D7A96CD921 /* LYHyperlinksButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LYHyperlinksButton.m; sourceTree = ""; }; + 606D54531D8AF31A159B3DFDCCFA6337 /* UIImage+LYResize.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+LYResize.m"; sourceTree = ""; }; 611E26C24600589F4729E5EF510272FB /* MASLayoutConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASLayoutConstraint.m; path = Masonry/MASLayoutConstraint.m; sourceTree = ""; }; 61881F60AB333EA86CE7881063A4BA60 /* View+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "View+MASShorthandAdditions.h"; path = "Masonry/View+MASShorthandAdditions.h"; sourceTree = ""; }; - 66AEB8BDA8F54BFF86A9F82E3713720B /* LYToolsKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LYToolsKit.xcconfig; sourceTree = ""; }; - 672C8723AF78A75DC0F883FEE5AE3203 /* UIView+LYTouch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+LYTouch.h"; sourceTree = ""; }; - 672E60046F61B699AEB2EC00E1BA5B5D /* LYToolsKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = LYToolsKit.modulemap; sourceTree = ""; }; - 67B1520A5AB0BB5A739FF5F6F15E0D7F /* UITextView+LYExt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UITextView+LYExt.h"; sourceTree = ""; }; - 67E8D249737C149D34D03FC2DB901082 /* UIImage+LYImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+LYImage.h"; sourceTree = ""; }; - 683633AA4F07AE2B13999181F36A892F /* LYCoverView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LYCoverView.m; sourceTree = ""; }; - 6A1486A3542DD77C329842884A445B32 /* NSString+LYJS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+LYJS.h"; sourceTree = ""; }; - 6A37A1C36317EB000B129AE413870B59 /* UIButton+LYDelay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIButton+LYDelay.h"; sourceTree = ""; }; + 6BF246A0CF1EA001A5C5A37D7A4AFCF0 /* LYToolsKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LYToolsKit-umbrella.h"; sourceTree = ""; }; 6BF35C23E029BF10AE1D3595169AFBCF /* Masonry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Masonry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 6E4875E63FFAFF84A3CDFE99F28B551E /* MASViewConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASViewConstraint.m; path = Masonry/MASViewConstraint.m; sourceTree = ""; }; + 6E73D1BCCE37576DF32ECDF62648C872 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; 6FC421FC0FDF34FA104FB736C6A27B3C /* Pods-LYToolsKit_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LYToolsKit_Tests.release.xcconfig"; sourceTree = ""; }; 729254CF6FFD7659EC028B8FB9E2E2F3 /* Pods-LYToolsKit_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LYToolsKit_Example.debug.xcconfig"; sourceTree = ""; }; + 7506D2AF0B8684E081CD00783D38CD2B /* LYReachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LYReachability.h; sourceTree = ""; }; + 76D7C87D22207E7B23839AEAE653973A /* UIView+LYTouch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+LYTouch.m"; sourceTree = ""; }; + 774E463A3B2C458063BFF39A7DD18774 /* LYReachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LYReachability.m; sourceTree = ""; }; 77F2CF8861113B6F7AAE7EA65C6A7C1B /* MASConstraint+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MASConstraint+Private.h"; path = "Masonry/MASConstraint+Private.h"; sourceTree = ""; }; 79BEFB59B86F59C579FF7594DCF78FEB /* MASCompositeConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASCompositeConstraint.h; path = Masonry/MASCompositeConstraint.h; sourceTree = ""; }; + 7CC8D57F31F9DA1BCDDB1BF6A790CF10 /* NSObject+LYHook.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSObject+LYHook.m"; sourceTree = ""; }; + 7DB3B521241CCFB8407F4E5E33F28529 /* LYAlertController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LYAlertController.m; sourceTree = ""; }; 7EC0A25DD6F58D072A4ACFC92D9237BF /* View+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "View+MASAdditions.m"; path = "Masonry/View+MASAdditions.m"; sourceTree = ""; }; + 7ED7E7C38679D43E6DC12B0AC9B63D92 /* UIBarButtonItem+LYExt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIBarButtonItem+LYExt.h"; sourceTree = ""; }; + 7F738A23C2E900D08326BB04DDC09799 /* UILabel+LYExt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UILabel+LYExt.m"; sourceTree = ""; }; + 8140AD9FA8AE6A79EBCAFCCFA306310B /* UILabel+LYExt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UILabel+LYExt.h"; sourceTree = ""; }; 818E990F262EC48F8DAAFD014D7E9234 /* Masonry-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Masonry-dummy.m"; sourceTree = ""; }; - 81F895C8CED0F64F5D149B31D1FB13EF /* LYToolsKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LYToolsKit.h; path = LYToolsKit/LYToolsKit.h; sourceTree = ""; }; + 81BDFCA007B37B28AF7695CF060252BB /* NSString+LYJS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+LYJS.h"; sourceTree = ""; }; 821C12BF8CD1B5F411C10B234783C588 /* Pods-LYToolsKit_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-LYToolsKit_Example-dummy.m"; sourceTree = ""; }; 8223B4B9D2A5B7C0F33D1BC8949FA9F5 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 824E4F655A70302BE021390DC9438509 /* Pods_LYToolsKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_LYToolsKit_Example.framework; path = "Pods-LYToolsKit_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 83D6947D83FBD7500F15648428824BD8 /* NSString+LYURL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+LYURL.h"; sourceTree = ""; }; + 8433D9AB91BAB66BDC415193956217D7 /* UIImage+LYImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+LYImage.m"; sourceTree = ""; }; 85214D4A9C04CC9D2F78C39B6D34E3F2 /* Pods-LYToolsKit_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-LYToolsKit_Tests-dummy.m"; sourceTree = ""; }; + 856CBA38024F0B77C30E696FA61E3293 /* NSString+LYJS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+LYJS.m"; sourceTree = ""; }; 870B3CF1AAF901ACDC1A1A5883C6F6E1 /* Pods-LYToolsKit_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LYToolsKit_Example-frameworks.sh"; sourceTree = ""; }; - 885E61BB33875C4D5B5E2F455BBF1C09 /* UIImage+LYBase64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+LYBase64.h"; sourceTree = ""; }; + 87221F82C9675BF8D828D87E96EA49F8 /* UIView+LYEnlargeTouchArea.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+LYEnlargeTouchArea.h"; sourceTree = ""; }; + 8E105E5052C269916124647DBE26FFD9 /* UIBarButtonItem+LYExt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIBarButtonItem+LYExt.m"; sourceTree = ""; }; + 8F97C9BE2FE9D1CB2F42B08994F7A60A /* LYToolsKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "LYToolsKit-dummy.m"; sourceTree = ""; }; 918BDFA2EDCF96EF97BB5788D8A924FA /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 9251F83D73E339355499E9E30EBB0856 /* LYToolsKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = LYToolsKit.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 93A69D6CEDC3009DEE1CD1928001A464 /* NSString+LYURL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+LYURL.h"; sourceTree = ""; }; + 94B76344F3C2F85476ECE5031E01DC58 /* NSString+LYJudge.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+LYJudge.m"; sourceTree = ""; }; + 94B77F09A5495C16D106BE71D26A6627 /* NSString+LYUnits.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+LYUnits.h"; sourceTree = ""; }; 96DCAB46CA2931B8140F2639F17404AF /* MASViewAttribute.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASViewAttribute.h; path = Masonry/MASViewAttribute.h; sourceTree = ""; }; 986CB32629319F7F2256662716334944 /* MASConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASConstraint.m; path = Masonry/MASConstraint.m; sourceTree = ""; }; - 9A54DF97A912E6A76E65D4EE21265483 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - 9DA160E97E13528F9001851365E5C788 /* UIImage+LYResize.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+LYResize.m"; sourceTree = ""; }; + 9AC68AF9549F0C663DAAABF7197C68DE /* UIColor+LYString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIColor+LYString.m"; sourceTree = ""; }; + 9D7C3E36EEA99F624D4AE53B33805858 /* UICountingLabel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = UICountingLabel.h; sourceTree = ""; }; A02D339E60E114FCC992372E93245BA1 /* MASConstraintMaker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASConstraintMaker.h; path = Masonry/MASConstraintMaker.h; sourceTree = ""; }; + A09C175A8C38078978E15D270CBB905C /* UIImage+LYBase64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+LYBase64.h"; sourceTree = ""; }; A214B89738295B4A4B00EEB1960E8865 /* NSLayoutConstraint+MASDebugAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+MASDebugAdditions.m"; path = "Masonry/NSLayoutConstraint+MASDebugAdditions.m"; sourceTree = ""; }; - A508CB0C1DCED313911F1DC58C2C55F5 /* LYUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LYUtility.h; path = LYToolsKit/Utility/LYUtility.h; sourceTree = ""; }; + A44AA74747A5514835FF7E50295560D1 /* LYTouchTrace.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LYTouchTrace.h; sourceTree = ""; }; A51771963E8DF9900E19CFED0EB67A30 /* Pods-LYToolsKit_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LYToolsKit_Example-resources.sh"; sourceTree = ""; }; - A98480DA552C8C3F7A7EF23C59FA4CE3 /* UIView+LYEnlargeTouchArea.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+LYEnlargeTouchArea.m"; sourceTree = ""; }; - AB532DBF747352456798410FBF1E3FA7 /* UILabel+LYExt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UILabel+LYExt.m"; sourceTree = ""; }; + A637D9F1A61074F4648241988CF7A6F6 /* NSString+LYURL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+LYURL.m"; sourceTree = ""; }; + A6B50E12B9C057468D3531376DD2B054 /* UIView+LYTouch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+LYTouch.h"; sourceTree = ""; }; + A71956E0044BAE8D65B840428E9791F2 /* UIImage+LYImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+LYImage.h"; sourceTree = ""; }; AD04C760F0EB4FE7B23D85D56145A97F /* MASUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASUtilities.h; path = Masonry/MASUtilities.h; sourceTree = ""; }; AEE8FA4345312638361B8A6552E2C2D3 /* Pods-LYToolsKit_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-LYToolsKit_Example.modulemap"; sourceTree = ""; }; - AF3EBA0EB85D2685F609D7E122C4A159 /* UIButton+LYDelay.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIButton+LYDelay.m"; sourceTree = ""; }; B01971B212F763268E4AABFAC75CF18E /* Pods-LYToolsKit_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-LYToolsKit_Example-acknowledgements.markdown"; sourceTree = ""; }; - B181DAF6EA4E5EF60B01379BBC43B7F7 /* UIView+LYTouch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+LYTouch.m"; sourceTree = ""; }; B1C550CDA10D592ABB6A0383A3509F05 /* NSArray+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+MASAdditions.m"; path = "Masonry/NSArray+MASAdditions.m"; sourceTree = ""; }; + B1CE48A0558C65E2C34ED86CA4380606 /* UITextField+LYExt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UITextField+LYExt.h"; sourceTree = ""; }; B1DDB58FB8525698C8C459E7485FF5DB /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - B4825669B5B7A9C86E622C264850A443 /* LYReachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LYReachability.h; sourceTree = ""; }; - B58CA6409B8D9E2E02C771229014BEDC /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; B6F80727A3F8E984518A9D5ECFBB5DBA /* Pods-LYToolsKit_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LYToolsKit_Example-acknowledgements.plist"; sourceTree = ""; }; - B7894437B6122F2EDC551B618E0C7F12 /* UILabel+LYExt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UILabel+LYExt.h"; sourceTree = ""; }; - B9B86AFEF0842FA05C786D3C2A2C72D3 /* UIColor+LYString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIColor+LYString.h"; sourceTree = ""; }; - BB9E4F00E57E74C0631864D577D1D3EB /* NSObject+LYHook.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSObject+LYHook.h"; sourceTree = ""; }; + B8C8E29F0F888CB8431EBB4360CD58CE /* LYUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LYUtility.h; path = LYToolsKit/Utility/LYUtility.h; sourceTree = ""; }; + BAE88EF88F4294D4ABCC08F37884B6A8 /* LYToolsKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LYToolsKit-prefix.pch"; sourceTree = ""; }; + BC99DBA61213714D59A5BCE605AA1FE5 /* LYTouchTrace.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LYTouchTrace.m; sourceTree = ""; }; + BD13B26FE47B78094D2645D111155CA0 /* UIColor+LYString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIColor+LYString.h"; sourceTree = ""; }; BE3C47B92537A97A3116DF9CF88E1948 /* Pods-LYToolsKit_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-LYToolsKit_Tests.modulemap"; sourceTree = ""; }; - BFB27E982CADBECED6AFF75A926548E0 /* NSString+LYUnits.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+LYUnits.m"; sourceTree = ""; }; - BFB8D819BA350BC8B1A53810C2A1CB3C /* NSString+LYJudge.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+LYJudge.h"; sourceTree = ""; }; - C27CD0B4DE28BEDA216D6B633A9C06B6 /* UIImageView+LYExt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImageView+LYExt.h"; sourceTree = ""; }; + BECD44B96ECCFE38C5F6EDCC909C75F5 /* UIButton+LYDelay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIButton+LYDelay.h"; sourceTree = ""; }; + C3D9E43E3C35F29F72C010390BA7EB8F /* NSDate+LYString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSDate+LYString.m"; sourceTree = ""; }; C484EF8499F67EC81CA7E27930A63CDC /* MASLayoutConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASLayoutConstraint.h; path = Masonry/MASLayoutConstraint.h; sourceTree = ""; }; + C6D5B252F8E588CB4A1096391F6B62C8 /* UIView+LYCut.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+LYCut.m"; sourceTree = ""; }; C6D5C71A7A4B3156186EC98A377E8543 /* ViewController+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ViewController+MASAdditions.h"; path = "Masonry/ViewController+MASAdditions.h"; sourceTree = ""; }; - C79EC4A9E6EFB8046BFF48C54E4255B5 /* NSString+LYJudge.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+LYJudge.m"; sourceTree = ""; }; - CDF68572B6A08EF04829F89EF56BB6D2 /* NSString+LYJS.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+LYJS.m"; sourceTree = ""; }; - CF513E2D56BECC54035E618D2EB531D9 /* LYToolsKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LYToolsKit-prefix.pch"; sourceTree = ""; }; - D452E84A7523E3769E23601FDE752430 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - D49F54F585B08430AC9FA9BCB83F7787 /* UITextField+LYExt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UITextField+LYExt.m"; sourceTree = ""; }; - D61BBF1AE50765DD1F4B3B0BCEE138AC /* NSObject+LYHook.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSObject+LYHook.m"; sourceTree = ""; }; - D967C14F01C1C1C3439CBC8B030C8079 /* UIButton+LYExt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIButton+LYExt.h"; sourceTree = ""; }; + C8594FCA62E46CAF639C11F15F7D1894 /* LYFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LYFoundation.h; path = LYToolsKit/Foundation/LYFoundation.h; sourceTree = ""; }; + C9F95E6F53A291BB80AEC8702833DFB1 /* UIView+LYEnlargeTouchArea.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+LYEnlargeTouchArea.m"; sourceTree = ""; }; + D1ED613C6E56669FCB1527D2327519D2 /* LYToolsKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LYToolsKit.h; path = LYToolsKit/LYToolsKit.h; sourceTree = ""; }; + D2430A8EF6E13DBC049D681A320F44DB /* LYCoverView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = LYCoverView.m; sourceTree = ""; }; DA6995D5A94C6B452D915B626C6B84D5 /* Pods-LYToolsKit_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LYToolsKit_Tests.debug.xcconfig"; sourceTree = ""; }; E09AC619331DDCCFE5FBFD1764B106FB /* Pods-LYToolsKit_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-LYToolsKit_Tests-acknowledgements.markdown"; sourceTree = ""; }; E77198CEE0CF691E7915471E9F19CD96 /* Masonry-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Masonry-prefix.pch"; sourceTree = ""; }; - E9BEEAC28396C9494B9644C5C6A9A343 /* LYUI.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LYUI.h; path = LYToolsKit/UI/LYUI.h; sourceTree = ""; }; - E9DEC28C5606216701DC9E9430BC4490 /* NSString+LYURL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+LYURL.m"; sourceTree = ""; }; + EAF1CE8FBE6C682BD3A2F079BCBADA77 /* UICountingLabel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = UICountingLabel.m; sourceTree = ""; }; ECBBB506D4D551AB1A637EE3145A459E /* MASConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASConstraint.h; path = Masonry/MASConstraint.h; sourceTree = ""; }; - F0F45D89053594C8F87E1906592CC229 /* UIImageView+LYExt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImageView+LYExt.m"; sourceTree = ""; }; - F1B9C9376523F943E82787C09FF62A3E /* LYUIMacro.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LYUIMacro.h; sourceTree = ""; }; + ED3C03539ADD7165A039165AADC13845 /* LYAlertController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LYAlertController.h; sourceTree = ""; }; + EDA812CC0F9D33E9B996AE95FB2C4634 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + F0396D02E33939F3445D1453B02BB2D9 /* LYToolsKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = LYToolsKit.modulemap; sourceTree = ""; }; + F406B16A1D51BDBC7221A680C6186D86 /* UIImageView+LYExt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImageView+LYExt.h"; sourceTree = ""; }; F4ECFD12E78C2CA945044CB88F411C65 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; F8187F5CAD09C6C6B2B54C65B4A807C9 /* NSArray+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MASShorthandAdditions.h"; path = "Masonry/NSArray+MASShorthandAdditions.h"; sourceTree = ""; }; FB7950BC9FD72E2C159376EAA5262D3B /* Pods-LYToolsKit_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LYToolsKit_Tests-resources.sh"; sourceTree = ""; }; - FC63FA8DE6D1008CCA734F85EA6A4A3F /* UITextView+LYExt.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UITextView+LYExt.m"; sourceTree = ""; }; - FC676DE1E2DFB1F6E062AFA3E5C2C34D /* LYTouchTrace.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = LYTouchTrace.h; sourceTree = ""; }; FCA511F5F6BB1668B66B3B451F54E5E8 /* Pods-LYToolsKit_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-LYToolsKit_Tests-umbrella.h"; sourceTree = ""; }; + FD06641E5FEE15020D0EC4C03A6A3826 /* UIDevice+LYHardware.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIDevice+LYHardware.m"; sourceTree = ""; }; FF217FE4E512E3883BAD867868CB42D9 /* View+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "View+MASAdditions.h"; path = "Masonry/View+MASAdditions.h"; sourceTree = ""; }; FF3818136FED67BD32E3A7FAEDE4F68F /* MASConstraintMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASConstraintMaker.m; path = Masonry/MASConstraintMaker.m; sourceTree = ""; }; + FF412CAC2BE6DED3B69EE72913BCAB54 /* NSString+LYUnits.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+LYUnits.m"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 554A7974F11410759DA697E6E10C4A9C /* Frameworks */ = { + 116B3F9F2E2DF74EFD873CEB36166C3C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C80A1B087ABF70566A91FF1191A43B2F /* Foundation.framework in Frameworks */, + 784170C66CA65973149BE753F28ABA3D /* Foundation.framework in Frameworks */, + 3F13B25C1FC197F0226F3B32F2FD254D /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 98096ADBF0C883FFDE258AC22F41F4D5 /* Frameworks */ = { + 3DA92F3345A4446CCEE212DBA079250F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 78BD51B1A87CBE5F53E099C348BC9515 /* Foundation.framework in Frameworks */, - 1C493FFCED61D5E237A9EC22447B8C92 /* UIKit.framework in Frameworks */, + B0EBA7E9A5E9147B74021B253EF91E46 /* Foundation.framework in Frameworks */, + FFCDA8A86E5A66D45A1689AF7CC87895 /* Masonry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - DB7CA96854430D3226C4EA8354409542 /* Frameworks */ = { + 554A7974F11410759DA697E6E10C4A9C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 04BE77B325101E01F2DF62B3C4072FC2 /* Foundation.framework in Frameworks */, - 6A05A1BEF7E6D60CEE39B7CA2D14786D /* Masonry.framework in Frameworks */, + C80A1B087ABF70566A91FF1191A43B2F /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -302,16 +310,6 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 01D537520CB08933DF8DC6FE7AA9AE5D /* Pod */ = { - isa = PBXGroup; - children = ( - D452E84A7523E3769E23601FDE752430 /* LICENSE */, - 347CB52270B9932A21AD45534B01247F /* LYToolsKit.podspec */, - 9A54DF97A912E6A76E65D4EE21265483 /* README.md */, - ); - name = Pod; - sourceTree = ""; - }; 04AE54EF62BEB8811630AE7A7B7D7DCB /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -321,79 +319,83 @@ name = "Targets Support Files"; sourceTree = ""; }; - 0539C0CC852D4BECBEF5EF6FFBB627F4 /* UIView */ = { + 0B2A0C0B717CA4ED1ADF42ADAF5F9DC6 /* NSString */ = { isa = PBXGroup; children = ( - 48C2C5672822A492A6A7769CD4CF8072 /* UIView+LYCut.h */, - 15AFF814BA92A3DA4CE3E347F5677E8D /* UIView+LYCut.m */, - 2DD7AB2B072A269A1136C0FAE9E67E87 /* UIView+LYEnlargeTouchArea.h */, - A98480DA552C8C3F7A7EF23C59FA4CE3 /* UIView+LYEnlargeTouchArea.m */, - 672C8723AF78A75DC0F883FEE5AE3203 /* UIView+LYTouch.h */, - B181DAF6EA4E5EF60B01379BBC43B7F7 /* UIView+LYTouch.m */, + 81BDFCA007B37B28AF7695CF060252BB /* NSString+LYJS.h */, + 856CBA38024F0B77C30E696FA61E3293 /* NSString+LYJS.m */, + 0B1C8F495DD49360450794AD31AFE714 /* NSString+LYJudge.h */, + 94B76344F3C2F85476ECE5031E01DC58 /* NSString+LYJudge.m */, + 94B77F09A5495C16D106BE71D26A6627 /* NSString+LYUnits.h */, + FF412CAC2BE6DED3B69EE72913BCAB54 /* NSString+LYUnits.m */, + 93A69D6CEDC3009DEE1CD1928001A464 /* NSString+LYURL.h */, + A637D9F1A61074F4648241988CF7A6F6 /* NSString+LYURL.m */, ); - name = UIView; - path = UIView; + name = NSString; + path = LYToolsKit/Foundation/NSString; sourceTree = ""; }; 1512A7C7754C0FB9A56E10404E84777B /* Development Pods */ = { isa = PBXGroup; children = ( - 859D84C773C9CFA1B7AE31C04A8A17D2 /* LYToolsKit */, + B7A34B2B740238C40D421F0320BBBEA0 /* LYToolsKit */, ); name = "Development Pods"; sourceTree = ""; }; - 29CDE67D5B5409A49622BAC53368D0F1 /* NSString */ = { + 27991C27CCA44200219E5C025BA0DA68 /* UIView */ = { isa = PBXGroup; children = ( - 6A1486A3542DD77C329842884A445B32 /* NSString+LYJS.h */, - CDF68572B6A08EF04829F89EF56BB6D2 /* NSString+LYJS.m */, - BFB8D819BA350BC8B1A53810C2A1CB3C /* NSString+LYJudge.h */, - C79EC4A9E6EFB8046BFF48C54E4255B5 /* NSString+LYJudge.m */, - 196C2B0604A897C53943B3C89DC5825E /* NSString+LYUnits.h */, - BFB27E982CADBECED6AFF75A926548E0 /* NSString+LYUnits.m */, - 83D6947D83FBD7500F15648428824BD8 /* NSString+LYURL.h */, - E9DEC28C5606216701DC9E9430BC4490 /* NSString+LYURL.m */, + 21D5D6DBBD107E371BC7D4453F8AD80F /* LYCoverView.h */, + D2430A8EF6E13DBC049D681A320F44DB /* LYCoverView.m */, ); - name = NSString; - path = LYToolsKit/Foundation/NSString; + name = UIView; + path = LYToolsKit/Utility/UIView; sourceTree = ""; }; - 2A1F39AB7C05F465E8BBA86F344C228C /* UIColor */ = { + 32F915E167D55DC2E4916BE08BF7862E /* Foundation */ = { isa = PBXGroup; children = ( - B9B86AFEF0842FA05C786D3C2A2C72D3 /* UIColor+LYString.h */, - 0BE1FAC22CBD216DEA2BE8B3A5A3AAF6 /* UIColor+LYString.m */, + C8594FCA62E46CAF639C11F15F7D1894 /* LYFoundation.h */, + 6DC98AFABCF123FE183BB5D0101BB60C /* NSDate */, + F3BD4E1CC1CB946509B455E4CA6022EE /* NSObject */, + 0B2A0C0B717CA4ED1ADF42ADAF5F9DC6 /* NSString */, ); - name = UIColor; - path = UIColor; + name = Foundation; sourceTree = ""; }; - 2E713D287BFD0074B635686CAE7F084C /* Utility */ = { + 34C38C625AAAC522021CF5E7AA5D3C6F /* UIViewExt */ = { isa = PBXGroup; children = ( - A508CB0C1DCED313911F1DC58C2C55F5 /* LYUtility.h */, - 6903488E2B899FAFF492875EE9EDE680 /* UIApplication */, - B35E6B1B1A188487D39300F447EE0510 /* UILabel */, - D48AB0718339CB32D162823FE562F570 /* UIView */, + 7ED7E7C38679D43E6DC12B0AC9B63D92 /* UIBarButtonItem+LYExt.h */, + 8E105E5052C269916124647DBE26FFD9 /* UIBarButtonItem+LYExt.m */, + 0E44DBB1D7D35663D6CF6A2DFE241762 /* UIButton+LYExt.h */, + 23DBE5BAD932D33FFFAF8BF09AC61161 /* UIButton+LYExt.m */, + F406B16A1D51BDBC7221A680C6186D86 /* UIImageView+LYExt.h */, + 4835C2AEAC8CA2107E85DF9A98EFD86C /* UIImageView+LYExt.m */, + 8140AD9FA8AE6A79EBCAFCCFA306310B /* UILabel+LYExt.h */, + 7F738A23C2E900D08326BB04DDC09799 /* UILabel+LYExt.m */, + B1CE48A0558C65E2C34ED86CA4380606 /* UITextField+LYExt.h */, + 3772579C9FC51FE1BA5DD0C18A0C912C /* UITextField+LYExt.m */, + 2D4DBF9523981E373A82F19BDECF56BA /* UITextView+LYExt.h */, + 3567260ED48C9B75EBAC6026B29324FB /* UITextView+LYExt.m */, + 242C1961474D63D3F5B44317EC922D62 /* UIView+LYExt.h */, + 3C4CF995EB09A9AB34F2B45FC1BA4A63 /* UIView+LYExt.m */, ); - name = Utility; + name = UIViewExt; + path = UIViewExt; sourceTree = ""; }; - 477E4786712464258D7B1F2B64808265 /* UI */ = { + 498E6884BBA8C1646D78421393F5CC1B /* Utility */ = { isa = PBXGroup; children = ( - 9945FAD982CF6A9DD7ECD522C735A4A2 /* Reachability */, - 8CD0E004CAAE14B686346E81871DB97F /* UIAlert */, - E7E97803AED1140C9BD47C31D24A2598 /* UIButton */, - 2A1F39AB7C05F465E8BBA86F344C228C /* UIColor */, - 96F8A201C5B9BD853F7ED6CDFC4740CE /* UIDevice */, - 6D65D24776D3F3726263C8BB464B2717 /* UIImage */, - 0539C0CC852D4BECBEF5EF6FFBB627F4 /* UIView */, - F4B6EF47F18DEE2817D6B6B3BFEFFF15 /* UIViewExt */, + B8C8E29F0F888CB8431EBB4360CD58CE /* LYUtility.h */, + 52E03AE0886433DD735C2D9CD3937048 /* UIApplication */, + 773C04F1891EFC13CC58DAE935A0A416 /* UIButton */, + E8A5BD32FD820927272BE4992C6B55C3 /* UILabel */, + 27991C27CCA44200219E5C025BA0DA68 /* UIView */, ); - name = UI; - path = LYToolsKit/UI/UI; + name = Utility; sourceTree = ""; }; 4C093B2D9E1EEFA3D99F7D5ED1F2A425 /* Pods-LYToolsKit_Tests */ = { @@ -414,6 +416,16 @@ path = "Target Support Files/Pods-LYToolsKit_Tests"; sourceTree = ""; }; + 52E03AE0886433DD735C2D9CD3937048 /* UIApplication */ = { + isa = PBXGroup; + children = ( + A44AA74747A5514835FF7E50295560D1 /* LYTouchTrace.h */, + BC99DBA61213714D59A5BCE605AA1FE5 /* LYTouchTrace.m */, + ); + name = UIApplication; + path = LYToolsKit/Utility/UIApplication; + sourceTree = ""; + }; 59511511C2B4BC905C933DCC67E365C4 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -423,28 +435,48 @@ name = Frameworks; sourceTree = ""; }; - 6903488E2B899FAFF492875EE9EDE680 /* UIApplication */ = { + 5A932A1AACD5A99C5614DCAE6DDF65D2 /* UIImage */ = { isa = PBXGroup; children = ( - FC676DE1E2DFB1F6E062AFA3E5C2C34D /* LYTouchTrace.h */, - 581D4A415880BE8C4DC3B81EE1927FBB /* LYTouchTrace.m */, + A09C175A8C38078978E15D270CBB905C /* UIImage+LYBase64.h */, + 13515F60F434F8241B8C2ADA7D8BC251 /* UIImage+LYBase64.m */, + A71956E0044BAE8D65B840428E9791F2 /* UIImage+LYImage.h */, + 8433D9AB91BAB66BDC415193956217D7 /* UIImage+LYImage.m */, + 276874A3678E3C4DF57AC150584FBE93 /* UIImage+LYResize.h */, + 606D54531D8AF31A159B3DFDCCFA6337 /* UIImage+LYResize.m */, ); - name = UIApplication; - path = LYToolsKit/Utility/UIApplication; + name = UIImage; + path = UIImage; sourceTree = ""; }; - 6D65D24776D3F3726263C8BB464B2717 /* UIImage */ = { + 6DC98AFABCF123FE183BB5D0101BB60C /* NSDate */ = { isa = PBXGroup; children = ( - 885E61BB33875C4D5B5E2F455BBF1C09 /* UIImage+LYBase64.h */, - 0A846BE7BEC8F184DBE1D1EDA8904FE6 /* UIImage+LYBase64.m */, - 67E8D249737C149D34D03FC2DB901082 /* UIImage+LYImage.h */, - 23604F9CA0F3567F745FA2967EF28AA1 /* UIImage+LYImage.m */, - 04BF60128215932EB4BABBC24610631D /* UIImage+LYResize.h */, - 9DA160E97E13528F9001851365E5C788 /* UIImage+LYResize.m */, + 3B041968F90263CD6B8035D374B2A10A /* NSDate+LYString.h */, + C3D9E43E3C35F29F72C010390BA7EB8F /* NSDate+LYString.m */, ); - name = UIImage; - path = UIImage; + name = NSDate; + path = LYToolsKit/Foundation/NSDate; + sourceTree = ""; + }; + 7507322EA5AB25E5330F8D95C1E37FCE /* UIButton */ = { + isa = PBXGroup; + children = ( + BECD44B96ECCFE38C5F6EDCC909C75F5 /* UIButton+LYDelay.h */, + 2954157790A553486C71265BC8C4CAE5 /* UIButton+LYDelay.m */, + ); + name = UIButton; + path = UIButton; + sourceTree = ""; + }; + 773C04F1891EFC13CC58DAE935A0A416 /* UIButton */ = { + isa = PBXGroup; + children = ( + 3386718D134C2B8181C818373B5AE217 /* LYHyperlinksButton.h */, + 5E741B90730DBF43404079D7A96CD921 /* LYHyperlinksButton.m */, + ); + name = UIButton; + path = LYToolsKit/Utility/UIButton; sourceTree = ""; }; 7DB346D0F39D3F0E887471402A8071AB = { @@ -470,78 +502,60 @@ name = Products; sourceTree = ""; }; - 859D84C773C9CFA1B7AE31C04A8A17D2 /* LYToolsKit */ = { - isa = PBXGroup; - children = ( - 81F895C8CED0F64F5D149B31D1FB13EF /* LYToolsKit.h */, - 866396331ADFC0B76A2A0EA890A7DCE0 /* Foundation */, - 01D537520CB08933DF8DC6FE7AA9AE5D /* Pod */, - BD3A7D2F1E8EC8B5479E13457C0E76EF /* Support Files */, - A3E9DEEB40DFB50103B65712EF3CD009 /* UI */, - 2E713D287BFD0074B635686CAE7F084C /* Utility */, - ); - name = LYToolsKit; - path = ../..; - sourceTree = ""; - }; - 866396331ADFC0B76A2A0EA890A7DCE0 /* Foundation */ = { + 834F6E41E9E4CD798A96B9F5AFEA0C66 /* UIAlert */ = { isa = PBXGroup; children = ( - 28843D7AE3060E51E84F08174C324648 /* LYFoundation.h */, - C4EEA811C6E3EA4ECA50750CEEB3EF15 /* NSDate */, - A0E57F1D2B2135667575E79505973094 /* NSObject */, - 29CDE67D5B5409A49622BAC53368D0F1 /* NSString */, + ED3C03539ADD7165A039165AADC13845 /* LYAlertController.h */, + 7DB3B521241CCFB8407F4E5E33F28529 /* LYAlertController.m */, ); - name = Foundation; + name = UIAlert; + path = UIAlert; sourceTree = ""; }; - 885A020B70A2181581248E049C591DA8 /* Macro */ = { + 8760681DDF677F7475A643DA95843265 /* UIColor */ = { isa = PBXGroup; children = ( - F1B9C9376523F943E82787C09FF62A3E /* LYUIMacro.h */, + BD13B26FE47B78094D2645D111155CA0 /* UIColor+LYString.h */, + 9AC68AF9549F0C663DAAABF7197C68DE /* UIColor+LYString.m */, ); - name = Macro; - path = LYToolsKit/UI/Macro; + name = UIColor; + path = UIColor; sourceTree = ""; }; - 8CD0E004CAAE14B686346E81871DB97F /* UIAlert */ = { + 8B21B391D77F0E79A81B579902C50C25 /* UI */ = { isa = PBXGroup; children = ( - 0A67A141F6E68F87869451095C4D536D /* LYAlertController.h */, - 4810F4F988DD7AF927FDC391B91247BC /* LYAlertController.m */, + BC5F7BC8B5CA26935E0744F9D73A13E2 /* Reachability */, + 834F6E41E9E4CD798A96B9F5AFEA0C66 /* UIAlert */, + 7507322EA5AB25E5330F8D95C1E37FCE /* UIButton */, + 8760681DDF677F7475A643DA95843265 /* UIColor */, + 9352F3A1FB76CE1AA763C5C6F6E90CC0 /* UIDevice */, + 5A932A1AACD5A99C5614DCAE6DDF65D2 /* UIImage */, + B7CF3B9DF5B58A9913D0D99B4B041D9D /* UIView */, + 34C38C625AAAC522021CF5E7AA5D3C6F /* UIViewExt */, ); - name = UIAlert; - path = UIAlert; + name = UI; + path = LYToolsKit/UI/UI; sourceTree = ""; }; - 96F8A201C5B9BD853F7ED6CDFC4740CE /* UIDevice */ = { + 9352F3A1FB76CE1AA763C5C6F6E90CC0 /* UIDevice */ = { isa = PBXGroup; children = ( - 12CFA4BEC4C7405507FC542AF6B40846 /* UIDevice+LYHardware.h */, - 3906ADFF4B51521B9033596D88B6DBB6 /* UIDevice+LYHardware.m */, + 02A0545DAA2DE48726946B8187127AD6 /* UIDevice+LYHardware.h */, + FD06641E5FEE15020D0EC4C03A6A3826 /* UIDevice+LYHardware.m */, ); name = UIDevice; path = UIDevice; sourceTree = ""; }; - 9945FAD982CF6A9DD7ECD522C735A4A2 /* Reachability */ = { + 9AD2A37D2DFA0DF0324E36A19C9A03D3 /* Pod */ = { isa = PBXGroup; children = ( - B4825669B5B7A9C86E622C264850A443 /* LYReachability.h */, - 4DCACB8228CE2B4661BC9AA051E8DD0E /* LYReachability.m */, + EDA812CC0F9D33E9B996AE95FB2C4634 /* LICENSE */, + 9251F83D73E339355499E9E30EBB0856 /* LYToolsKit.podspec */, + 6E73D1BCCE37576DF32ECDF62648C872 /* README.md */, ); - name = Reachability; - path = Reachability; - sourceTree = ""; - }; - A0E57F1D2B2135667575E79505973094 /* NSObject */ = { - isa = PBXGroup; - children = ( - BB9E4F00E57E74C0631864D577D1D3EB /* NSObject+LYHook.h */, - D61BBF1AE50765DD1F4B3B0BCEE138AC /* NSObject+LYHook.m */, - ); - name = NSObject; - path = LYToolsKit/Foundation/NSObject; + name = Pod; sourceTree = ""; }; A2A20986957FCCEF3865AFC2DAE207A8 /* Masonry */ = { @@ -578,48 +592,42 @@ path = Masonry; sourceTree = ""; }; - A3E9DEEB40DFB50103B65712EF3CD009 /* UI */ = { + B7A34B2B740238C40D421F0320BBBEA0 /* LYToolsKit */ = { isa = PBXGroup; children = ( - E9BEEAC28396C9494B9644C5C6A9A343 /* LYUI.h */, - 885A020B70A2181581248E049C591DA8 /* Macro */, - 477E4786712464258D7B1F2B64808265 /* UI */, + D1ED613C6E56669FCB1527D2327519D2 /* LYToolsKit.h */, + 32F915E167D55DC2E4916BE08BF7862E /* Foundation */, + 9AD2A37D2DFA0DF0324E36A19C9A03D3 /* Pod */, + D3606EC6DD3FA2339EF935CB152259FB /* Support Files */, + DA91376957D9697420D0E62EB994AB9F /* UI */, + 498E6884BBA8C1646D78421393F5CC1B /* Utility */, ); - name = UI; - sourceTree = ""; - }; - B35E6B1B1A188487D39300F447EE0510 /* UILabel */ = { - isa = PBXGroup; - children = ( - 33B607A68E96FDC942AB9500B68C93F8 /* UICountingLabel.h */, - 2CA59942D6EBA5736EE309A6E23B292E /* UICountingLabel.m */, - ); - name = UILabel; - path = LYToolsKit/Utility/UILabel; + name = LYToolsKit; + path = ../..; sourceTree = ""; }; - BD3A7D2F1E8EC8B5479E13457C0E76EF /* Support Files */ = { + B7CF3B9DF5B58A9913D0D99B4B041D9D /* UIView */ = { isa = PBXGroup; children = ( - B58CA6409B8D9E2E02C771229014BEDC /* Info.plist */, - 672E60046F61B699AEB2EC00E1BA5B5D /* LYToolsKit.modulemap */, - 66AEB8BDA8F54BFF86A9F82E3713720B /* LYToolsKit.xcconfig */, - 493A347932C5AC57908A69F5FC24B93F /* LYToolsKit-dummy.m */, - CF513E2D56BECC54035E618D2EB531D9 /* LYToolsKit-prefix.pch */, - 3636A603E4FF89A45494D238EABCF7DB /* LYToolsKit-umbrella.h */, + 26ECF4EFA1E8D10ACD372D82F5C33656 /* UIView+LYCut.h */, + C6D5B252F8E588CB4A1096391F6B62C8 /* UIView+LYCut.m */, + 87221F82C9675BF8D828D87E96EA49F8 /* UIView+LYEnlargeTouchArea.h */, + C9F95E6F53A291BB80AEC8702833DFB1 /* UIView+LYEnlargeTouchArea.m */, + A6B50E12B9C057468D3531376DD2B054 /* UIView+LYTouch.h */, + 76D7C87D22207E7B23839AEAE653973A /* UIView+LYTouch.m */, ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/LYToolsKit"; + name = UIView; + path = UIView; sourceTree = ""; }; - C4EEA811C6E3EA4ECA50750CEEB3EF15 /* NSDate */ = { + BC5F7BC8B5CA26935E0744F9D73A13E2 /* Reachability */ = { isa = PBXGroup; children = ( - 465406F4B94E031B1325286CB2D5811E /* NSDate+LYString.h */, - 4AD57AED1FF8AC06A681B74B4390B4E2 /* NSDate+LYString.m */, + 7506D2AF0B8684E081CD00783D38CD2B /* LYReachability.h */, + 774E463A3B2C458063BFF39A7DD18774 /* LYReachability.m */, ); - name = NSDate; - path = LYToolsKit/Foundation/NSDate; + name = Reachability; + path = Reachability; sourceTree = ""; }; D253588BAFB01A953DA60C10CD597F84 /* Support Files */ = { @@ -636,14 +644,37 @@ path = "../Target Support Files/Masonry"; sourceTree = ""; }; - D48AB0718339CB32D162823FE562F570 /* UIView */ = { + D3606EC6DD3FA2339EF935CB152259FB /* Support Files */ = { isa = PBXGroup; children = ( - 1BDBFF09C5D71B570AC97F1F9731339A /* LYCoverView.h */, - 683633AA4F07AE2B13999181F36A892F /* LYCoverView.m */, + 1A76076D89B6BF21195EEA87EA9DED69 /* Info.plist */, + F0396D02E33939F3445D1453B02BB2D9 /* LYToolsKit.modulemap */, + 143187C044463AF122CE440E199F6EC6 /* LYToolsKit.xcconfig */, + 8F97C9BE2FE9D1CB2F42B08994F7A60A /* LYToolsKit-dummy.m */, + BAE88EF88F4294D4ABCC08F37884B6A8 /* LYToolsKit-prefix.pch */, + 6BF246A0CF1EA001A5C5A37D7A4AFCF0 /* LYToolsKit-umbrella.h */, ); - name = UIView; - path = LYToolsKit/Utility/UIView; + name = "Support Files"; + path = "Example/Pods/Target Support Files/LYToolsKit"; + sourceTree = ""; + }; + D841274E8CB8B06DF28F075A037B660A /* Macro */ = { + isa = PBXGroup; + children = ( + 14065A241A1C4022E731FA5FBE07956F /* LYUIMacro.h */, + ); + name = Macro; + path = LYToolsKit/UI/Macro; + sourceTree = ""; + }; + DA91376957D9697420D0E62EB994AB9F /* UI */ = { + isa = PBXGroup; + children = ( + 50017F07F538056E4F0A630D6667607D /* LYUI.h */, + D841274E8CB8B06DF28F075A037B660A /* Macro */, + 8B21B391D77F0E79A81B579902C50C25 /* UI */, + ); + name = UI; sourceTree = ""; }; DC7E422848DE4538BD67FA85E4EF5FAF /* iOS */ = { @@ -673,14 +704,14 @@ path = "Target Support Files/Pods-LYToolsKit_Example"; sourceTree = ""; }; - E7E97803AED1140C9BD47C31D24A2598 /* UIButton */ = { + E8A5BD32FD820927272BE4992C6B55C3 /* UILabel */ = { isa = PBXGroup; children = ( - 6A37A1C36317EB000B129AE413870B59 /* UIButton+LYDelay.h */, - AF3EBA0EB85D2685F609D7E122C4A159 /* UIButton+LYDelay.m */, + 9D7C3E36EEA99F624D4AE53B33805858 /* UICountingLabel.h */, + EAF1CE8FBE6C682BD3A2F079BCBADA77 /* UICountingLabel.m */, ); - name = UIButton; - path = UIButton; + name = UILabel; + path = LYToolsKit/Utility/UILabel; sourceTree = ""; }; E9B49E9D4F6BC02AA78DCF86BCED2145 /* Pods */ = { @@ -691,96 +722,88 @@ name = Pods; sourceTree = ""; }; - F4B6EF47F18DEE2817D6B6B3BFEFFF15 /* UIViewExt */ = { + F3BD4E1CC1CB946509B455E4CA6022EE /* NSObject */ = { isa = PBXGroup; children = ( - D967C14F01C1C1C3439CBC8B030C8079 /* UIButton+LYExt.h */, - 0C96672A5CF4455CF8447E7874849E2D /* UIButton+LYExt.m */, - C27CD0B4DE28BEDA216D6B633A9C06B6 /* UIImageView+LYExt.h */, - F0F45D89053594C8F87E1906592CC229 /* UIImageView+LYExt.m */, - B7894437B6122F2EDC551B618E0C7F12 /* UILabel+LYExt.h */, - AB532DBF747352456798410FBF1E3FA7 /* UILabel+LYExt.m */, - 4BF436FF766C7E5DCB7DABB65A691349 /* UITextField+LYExt.h */, - D49F54F585B08430AC9FA9BCB83F7787 /* UITextField+LYExt.m */, - 67B1520A5AB0BB5A739FF5F6F15E0D7F /* UITextView+LYExt.h */, - FC63FA8DE6D1008CCA734F85EA6A4A3F /* UITextView+LYExt.m */, - 22A8C97ECA80C361E834AF7EC34701E8 /* UIView+LYExt.h */, - 3FB6791CB1DB6EBC5E365A0B71BF19DD /* UIView+LYExt.m */, + 2AA68BB3D8FA89C4AD5CB3B7782C4153 /* NSObject+LYHook.h */, + 7CC8D57F31F9DA1BCDDB1BF6A790CF10 /* NSObject+LYHook.m */, ); - name = UIViewExt; - path = UIViewExt; + name = NSObject; + path = LYToolsKit/Foundation/NSObject; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 3236108257695AE0DB3C326B52E3FB2F /* Headers */ = { + 22BE405D6FF687B894E0A3D0835EA270 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 6829C728D042952398D73F31EB7AA4F3 /* LYAlertController.h in Headers */, - 1D0E95A256A2F415BC67E18522AC4111 /* LYCoverView.h in Headers */, - C556C6D80A8F5A3B279B29B25F7968E7 /* LYFoundation.h in Headers */, - D8440EF602D29D94D63B8A99ACD33659 /* LYReachability.h in Headers */, - AACCD6CB3297E531005DFA8E610F5DB9 /* LYToolsKit-umbrella.h in Headers */, - 8214827B85980C289947EAF0C25ED57A /* LYToolsKit.h in Headers */, - 1C9FC66EDF975AF796401A373F2D00C9 /* LYTouchTrace.h in Headers */, - 1E0BFCF5DF1D3E24C6BA479319202145 /* LYUI.h in Headers */, - 4D7DD546B3455144A6C36C37227FE0A3 /* LYUIMacro.h in Headers */, - DC75075EEDBD992B2A87E99845FB48AC /* LYUtility.h in Headers */, - B24AFBD09EE453C6E55013E9C5CD2C81 /* NSDate+LYString.h in Headers */, - 6451F48B3C59ED7D5363A4F55EE3EFCF /* NSObject+LYHook.h in Headers */, - 8C76EADF5DCEF91C6CBDFDCC9020CF78 /* NSString+LYJS.h in Headers */, - 4696AB7EA110A0D7D76BC44A5E15CBB6 /* NSString+LYJudge.h in Headers */, - 08548563B48BB35488B6D224DBBF4DD7 /* NSString+LYUnits.h in Headers */, - AE5132328F9634BC8DD92D85E2A10083 /* NSString+LYURL.h in Headers */, - 67BD9D6146383E7311AA3671CE9871CA /* UIButton+LYDelay.h in Headers */, - A3F6D9D914A6A8C679B0916085221406 /* UIButton+LYExt.h in Headers */, - 0DC2F4CCD226982061D86CB88ABA2F1E /* UIColor+LYString.h in Headers */, - 2878DA752BB01C266016595BFA7F347A /* UICountingLabel.h in Headers */, - D3BA89F403D3BFA7E086AB0710694106 /* UIDevice+LYHardware.h in Headers */, - DE531B2448B5EB642DE1F1BB1C28E7C7 /* UIImage+LYBase64.h in Headers */, - 27100B21A088F42841BBDD941136943F /* UIImage+LYImage.h in Headers */, - 7365D7982617DFA4193827244C4CD622 /* UIImage+LYResize.h in Headers */, - 5F1A710A4CEDF323650B3E7F2D9D8079 /* UIImageView+LYExt.h in Headers */, - C414F10EC5C8ABD840301A460DB5BA1B /* UILabel+LYExt.h in Headers */, - BF4B4A8206329014A9725FBBC13FDD27 /* UITextField+LYExt.h in Headers */, - FAF661946E012B733B8BA27FDCEFDE96 /* UITextView+LYExt.h in Headers */, - 4CDC8CE7B8D1AB129F1061246BDE31A3 /* UIView+LYCut.h in Headers */, - C4C42C91DE8EEC9EC47A146F32D2A6F4 /* UIView+LYEnlargeTouchArea.h in Headers */, - D695858BB153D40D106A6655AF15807A /* UIView+LYExt.h in Headers */, - C490407D2173112FFF1A7C5AF0B9FF7D /* UIView+LYTouch.h in Headers */, + 6709A236476F5124DFE1BFDAEC2C75FF /* MASCompositeConstraint.h in Headers */, + 8B885AC904174B2C695434073581038D /* MASConstraint+Private.h in Headers */, + C1C0D6ACD06157F39F40158214B1A912 /* MASConstraint.h in Headers */, + 5862ABB60146394A2A6561A16921B5D8 /* MASConstraintMaker.h in Headers */, + CC923B27CF7B69E75BC55368201A3081 /* MASLayoutConstraint.h in Headers */, + F2BE126F0516484C476702AA3BD9FC22 /* Masonry-umbrella.h in Headers */, + CD6CFE2ADF34E73F804818FE9B43A2D1 /* Masonry.h in Headers */, + 4C05B4F7A223CDC2109CC3A4AFB6ED9A /* MASUtilities.h in Headers */, + 6A63BE167FC4D29DCE4D5C36AEE0FD31 /* MASViewAttribute.h in Headers */, + 60632CA01B25A525FA3B01833F3F7154 /* MASViewConstraint.h in Headers */, + B4D192107BD0192FBF8F7F2B29938E5D /* NSArray+MASAdditions.h in Headers */, + 2708954F913BBA61E4101C166373AA17 /* NSArray+MASShorthandAdditions.h in Headers */, + 6318A19B67EADE0EF84A18A489D53828 /* NSLayoutConstraint+MASDebugAdditions.h in Headers */, + C15568A574B75ED611FDC8CE21F0DF31 /* View+MASAdditions.h in Headers */, + E95756CEFA48DC8B2338A9AB354138C6 /* View+MASShorthandAdditions.h in Headers */, + 2934DEA186D3C9FB7F0086FF11875F5C /* ViewController+MASAdditions.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7987360BE7ECE18AA61A3FE9C87A6292 /* Headers */ = { + 87750C8896649F35D38C5178CA3A1880 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - EC007222678CADECC6E0469689874A91 /* MASCompositeConstraint.h in Headers */, - 0B474A887D8F0632243132E65567A448 /* MASConstraint+Private.h in Headers */, - 74D7B1D032D13886C8666269C803350B /* MASConstraint.h in Headers */, - 40E0EBD3B82BE3C03CB89B3399125ACF /* MASConstraintMaker.h in Headers */, - 57D6C25FD241F19366BAE20B123E3104 /* MASLayoutConstraint.h in Headers */, - 9AB143D8C95AC17AE5BF8ABE9AC80E38 /* Masonry-umbrella.h in Headers */, - 03340FE6DB380AF385272676331E421D /* Masonry.h in Headers */, - D523576EB3ED95E2E1D076D814EB0D45 /* MASUtilities.h in Headers */, - 1BC716DF86A363742337EE3D8D779649 /* MASViewAttribute.h in Headers */, - F5237922AAC1AE6B0106E2899A01F5F7 /* MASViewConstraint.h in Headers */, - E069DDC88033ED19344DC2A65C783FE8 /* NSArray+MASAdditions.h in Headers */, - EB5BDE84A54C5EE0B0CB6F950EA9DAE4 /* NSArray+MASShorthandAdditions.h in Headers */, - 17A8EBE6EB76463C46D8913AFDE932BE /* NSLayoutConstraint+MASDebugAdditions.h in Headers */, - D6F188223C3612B7C8B79C0E6F662493 /* View+MASAdditions.h in Headers */, - 0E57D14AF975A52A446DF2B05C0466A3 /* View+MASShorthandAdditions.h in Headers */, - 3214666CFDA48659B084090D8F9AF344 /* ViewController+MASAdditions.h in Headers */, + ABDF158B500EA63AF742C3782E3A9B5D /* Pods-LYToolsKit_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 87750C8896649F35D38C5178CA3A1880 /* Headers */ = { + B1A715CF4C36077D0888B2875D149830 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - ABDF158B500EA63AF742C3782E3A9B5D /* Pods-LYToolsKit_Tests-umbrella.h in Headers */, + A90B89498E564B5B827FF85346CD4DB3 /* LYAlertController.h in Headers */, + 34BC3E22794A632033C68F7DA9F21D69 /* LYCoverView.h in Headers */, + 5927475C08EDC577EAADE19CD47DDD64 /* LYFoundation.h in Headers */, + 914BD747C75EBC41E7AE55ACCA12BB37 /* LYHyperlinksButton.h in Headers */, + DEBDC7108E5112F37EBF9E32D07DC892 /* LYReachability.h in Headers */, + A0B81E1C3CC1CC807039764F9949CAA2 /* LYToolsKit-umbrella.h in Headers */, + 9671564430A92311020B6E4A83F8ABDC /* LYToolsKit.h in Headers */, + CBCDF4BE38F654F6D05EA67352E378C4 /* LYTouchTrace.h in Headers */, + 13537CF122129C43427042958B49A405 /* LYUI.h in Headers */, + BEF9C3CEE9A3B720A11B9CD0D7590291 /* LYUIMacro.h in Headers */, + 20311D1916137E2141A12D9AA9811A62 /* LYUtility.h in Headers */, + 1AE26D351C1689BC84E76D2CB7385691 /* NSDate+LYString.h in Headers */, + 5BBF8F5805E63E72A8AA7948FFBCF969 /* NSObject+LYHook.h in Headers */, + FCE49D4610D7D4E1744DA4EDE0099A18 /* NSString+LYJS.h in Headers */, + DD8CF1A52F3681FFC8F3D80D33B2BB9B /* NSString+LYJudge.h in Headers */, + FDC6C5880A3466A2EAA2401BA0C55CBA /* NSString+LYUnits.h in Headers */, + BDEDA175EAECDAF6F6468CABFDC9E91B /* NSString+LYURL.h in Headers */, + 3FB1EF0EEDC921154488B6DC2DBEE783 /* UIBarButtonItem+LYExt.h in Headers */, + DA0F5E25ECA7B4ADD7436C41C09115F8 /* UIButton+LYDelay.h in Headers */, + E582E1D793AE579D0D58294F57987737 /* UIButton+LYExt.h in Headers */, + 8EB4D532AAC0B9C37367C5B67D0E4BB5 /* UIColor+LYString.h in Headers */, + CA2C34978D5F5B41378C2FEC7EE5BD1B /* UICountingLabel.h in Headers */, + 760BD569781CD303931C15910F989286 /* UIDevice+LYHardware.h in Headers */, + EB52B354C1C82B06B300E9A37B0CCFA1 /* UIImage+LYBase64.h in Headers */, + D9BD78A8656737635E2CC94F8C206CE6 /* UIImage+LYImage.h in Headers */, + 8B9444A166F09DF41FE82DEE1B3F82A9 /* UIImage+LYResize.h in Headers */, + 1CFCE362A7E7AE808FA1F55D30061E3E /* UIImageView+LYExt.h in Headers */, + C03C5751A68B46E112BBF99A4E488BEB /* UILabel+LYExt.h in Headers */, + 57D8A6B37CF0766904809A880B9D96D3 /* UITextField+LYExt.h in Headers */, + A0106FB89BA31CC8E36628048F8AC8D7 /* UITextView+LYExt.h in Headers */, + CCBB794839D870F83B6D7676F229D319 /* UIView+LYCut.h in Headers */, + E09A2B616228D86ED30314F1B629EB83 /* UIView+LYEnlargeTouchArea.h in Headers */, + 579B8E3D243F53994BFAAF4F220D8EB1 /* UIView+LYExt.h in Headers */, + 99A00AFEF7D157032D75C941A440115D /* UIView+LYTouch.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -795,14 +818,14 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 15980544DA3C24331A66A6E0719CD5E5 /* Masonry */ = { + 7E2C2050754C68370DCBB6B3221B4B86 /* Masonry */ = { isa = PBXNativeTarget; - buildConfigurationList = FD5A2E8D263AA1187EB2CB85555E2A8C /* Build configuration list for PBXNativeTarget "Masonry" */; + buildConfigurationList = 5999975E7DE4E00D4C5B5082A0B4DE00 /* Build configuration list for PBXNativeTarget "Masonry" */; buildPhases = ( - 7987360BE7ECE18AA61A3FE9C87A6292 /* Headers */, - 7DE4356531AEFF60ACA0740258587EDC /* Sources */, - 98096ADBF0C883FFDE258AC22F41F4D5 /* Frameworks */, - FBD300AA7CC90F318F80CEB4D57D6DDD /* Resources */, + 22BE405D6FF687B894E0A3D0835EA270 /* Headers */, + 094DC98B47CA4AF9A2AA9B70A45E7C86 /* Sources */, + 116B3F9F2E2DF74EFD873CEB36166C3C /* Frameworks */, + 436526F81E82942FF0210874A1F7B49B /* Resources */, ); buildRules = ( ); @@ -813,19 +836,19 @@ productReference = 0CBBD268F2C0E7A490AF022775720DC0 /* Masonry.framework */; productType = "com.apple.product-type.framework"; }; - 32454BBF377FE9AB11384FCB627E119F /* LYToolsKit */ = { + BBB4259BC6FCC64BCEB84DC4A2405007 /* LYToolsKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 8BED0D9A7C292E4D80F29D2FE70DA264 /* Build configuration list for PBXNativeTarget "LYToolsKit" */; + buildConfigurationList = 6009AD1DBB0DBDC2D4281F14E5E10A7F /* Build configuration list for PBXNativeTarget "LYToolsKit" */; buildPhases = ( - 3236108257695AE0DB3C326B52E3FB2F /* Headers */, - 89BAF390339D5D6C891E5E27513A5413 /* Sources */, - DB7CA96854430D3226C4EA8354409542 /* Frameworks */, - 087E55E532AC7555E3438ADF1B91D82B /* Resources */, + B1A715CF4C36077D0888B2875D149830 /* Headers */, + B5CF992BC8F2E9B68A68150BBFBF94BB /* Sources */, + 3DA92F3345A4446CCEE212DBA079250F /* Frameworks */, + 61FF9FD8917FAC6F12E2D4120297ABDD /* Resources */, ); buildRules = ( ); dependencies = ( - 022DCD87B9FB745952C51A3B2B4185A8 /* PBXTargetDependency */, + AB61E8BEF27F7484517E3F7B2ABF5D93 /* PBXTargetDependency */, ); name = LYToolsKit; productName = LYToolsKit; @@ -892,8 +915,8 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 32454BBF377FE9AB11384FCB627E119F /* LYToolsKit */, - 15980544DA3C24331A66A6E0719CD5E5 /* Masonry */, + BBB4259BC6FCC64BCEB84DC4A2405007 /* LYToolsKit */, + 7E2C2050754C68370DCBB6B3221B4B86 /* Masonry */, E28A52CD8CF1555D022B6E0B1615F560 /* Pods-LYToolsKit_Example */, D0C7CC26704615C91EAD57A7D18B54E5 /* Pods-LYToolsKit_Tests */, ); @@ -901,28 +924,28 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 087E55E532AC7555E3438ADF1B91D82B /* Resources */ = { + 436526F81E82942FF0210874A1F7B49B /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - A9371964FAF17CB94D684EECEC597EB9 /* Resources */ = { + 61FF9FD8917FAC6F12E2D4120297ABDD /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - E9030EB4F5AF9D2EF0663578DA1ABC54 /* Resources */ = { + A9371964FAF17CB94D684EECEC597EB9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - FBD300AA7CC90F318F80CEB4D57D6DDD /* Resources */ = { + E9030EB4F5AF9D2EF0663578DA1ABC54 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -932,55 +955,57 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 7DE4356531AEFF60ACA0740258587EDC /* Sources */ = { + 094DC98B47CA4AF9A2AA9B70A45E7C86 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 0F20898555A76114361C34270852143A /* MASCompositeConstraint.m in Sources */, - 91D46E9E56F949819E40D8B689634694 /* MASConstraint.m in Sources */, - 35F2028864076DA02089DD949BBD1848 /* MASConstraintMaker.m in Sources */, - 58834F03497C2A6D3C99EF84425940A6 /* MASLayoutConstraint.m in Sources */, - 6F375E0360645008C02C3F4D1CB0B459 /* Masonry-dummy.m in Sources */, - A366D3DFE5CF7BFB27C5B8BFA0E1FC84 /* MASViewAttribute.m in Sources */, - F4754805A81DF7415472DFBAC0E8876F /* MASViewConstraint.m in Sources */, - 3295E1B7597963233CD66D603A6E9861 /* NSArray+MASAdditions.m in Sources */, - C10C6EED54B42F96B31850781495B54A /* NSLayoutConstraint+MASDebugAdditions.m in Sources */, - C2525CFA00FDB5632B675852EBCEEB50 /* View+MASAdditions.m in Sources */, - 33E325586DFF6871D190366D3E773F68 /* ViewController+MASAdditions.m in Sources */, + B624968CF5218F957BA5AFDFA7BF3426 /* MASCompositeConstraint.m in Sources */, + CB2F3E026F688C6EE61B694A9CDC50DC /* MASConstraint.m in Sources */, + 63E152B12D416097562F566E1D308553 /* MASConstraintMaker.m in Sources */, + 04F6DB2F8B1EB1960A1B320E594C5046 /* MASLayoutConstraint.m in Sources */, + AAC1BBDDE079E01502445C7D2CF17AB8 /* Masonry-dummy.m in Sources */, + 0E058EAFC71179F7369328636E75962F /* MASViewAttribute.m in Sources */, + 36BD99F8AD1D6E583D7D5D666AEAA54F /* MASViewConstraint.m in Sources */, + CF16039F01611793FB4F08D6FC0149F3 /* NSArray+MASAdditions.m in Sources */, + 06E2A52F16F89B1CB381E9EB82F21859 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */, + 33050AA491B19EB21FD1A7F3608FE9D6 /* View+MASAdditions.m in Sources */, + 7381A0852EB20ECCBA03C26CA1C50D64 /* ViewController+MASAdditions.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 89BAF390339D5D6C891E5E27513A5413 /* Sources */ = { + B5CF992BC8F2E9B68A68150BBFBF94BB /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4564C070B0170BC26198543CC47C365F /* LYAlertController.m in Sources */, - 05B138C0C1E0DAF6AAD22A2DF87CF63C /* LYCoverView.m in Sources */, - 7008C0AEE623980C1764D0536D9F5AE2 /* LYReachability.m in Sources */, - C8F37F708E3F831F095AC94F60F2A396 /* LYToolsKit-dummy.m in Sources */, - BA141360B73C7F0A98370C1C91DDEA8F /* LYTouchTrace.m in Sources */, - F100E4DDE525E87DD15AF3A6A8C9FB52 /* NSDate+LYString.m in Sources */, - EAC8A50047172E142B30C4E53DDA53F0 /* NSObject+LYHook.m in Sources */, - AF19A4D823578ABD980565ED009A4D02 /* NSString+LYJS.m in Sources */, - F3C444E6600DC899E4A31AECEB26D72D /* NSString+LYJudge.m in Sources */, - 8C4AA277131CC7C40912B29AF2E7C31A /* NSString+LYUnits.m in Sources */, - DE10C9844D606F7F02F68DB1B1B726AA /* NSString+LYURL.m in Sources */, - 6F5A2CB6DD7C421AF9845EEB9B234A10 /* UIButton+LYDelay.m in Sources */, - 40803C4930693D6BEA3B342E48B33B76 /* UIButton+LYExt.m in Sources */, - D0C68F1C1CA5AAEBE17169DD4C070D29 /* UIColor+LYString.m in Sources */, - DE23BA00218213B72CDF5162C59F2A11 /* UICountingLabel.m in Sources */, - EB53AA55B7F9A48C801DD681FF588337 /* UIDevice+LYHardware.m in Sources */, - BA73CC05E3A10FB794CAFEB7D2EA924C /* UIImage+LYBase64.m in Sources */, - 3D19ABB4A14629E9EED9E3C0A5D41A1E /* UIImage+LYImage.m in Sources */, - 86C3D895D2B7BBA947C5DFC3503E420D /* UIImage+LYResize.m in Sources */, - DB0151C1DA24AEB1C99224D00510E643 /* UIImageView+LYExt.m in Sources */, - 7119276F9BDF5E55A5E43B6084E27E1C /* UILabel+LYExt.m in Sources */, - 767471620BF9D434BAEE4BD0D9096223 /* UITextField+LYExt.m in Sources */, - 028FEC384E2461209287DB7FD1D318D3 /* UITextView+LYExt.m in Sources */, - 3F4CFF77E94EDDC79A82E6A2856622E9 /* UIView+LYCut.m in Sources */, - 0DEA62A206CF56890863EA0ED9D29F87 /* UIView+LYEnlargeTouchArea.m in Sources */, - 7014C6AB228A79B03B1E7888EA4A563F /* UIView+LYExt.m in Sources */, - FD4221C22DF77624AA660005BB83F925 /* UIView+LYTouch.m in Sources */, + 052068F1995CD5BC59044C55334F49C9 /* LYAlertController.m in Sources */, + 9CFF3C4FA973CF4A7851E59F819308CE /* LYCoverView.m in Sources */, + 79E75C89F1185FC969B39A93994AC9EF /* LYHyperlinksButton.m in Sources */, + F27EB486583421DB43ADA939CB145293 /* LYReachability.m in Sources */, + CD643902B8B5ABB76401EBA52E45E936 /* LYToolsKit-dummy.m in Sources */, + F8627CC0C8DCCBEA9B94A4F46014B4FE /* LYTouchTrace.m in Sources */, + 373CA1F33A7D9681CB53C61192B43966 /* NSDate+LYString.m in Sources */, + 35A6D9A56B7464EBCAB6B5DA8DD95E04 /* NSObject+LYHook.m in Sources */, + 62925B70BDAEA5FE3195AB71F60F133A /* NSString+LYJS.m in Sources */, + 0DFAB2647627BA0A2E7CE7114C8D4C93 /* NSString+LYJudge.m in Sources */, + 49502F244D4D4B80A34345C04AAAE1CA /* NSString+LYUnits.m in Sources */, + 86CD40BD47F3C7E9434E7A4FA07D2B3B /* NSString+LYURL.m in Sources */, + 491DA223C0CB0416B41BFBC10F134E01 /* UIBarButtonItem+LYExt.m in Sources */, + 5E92ECECE8DF94B600720BD7C4616B57 /* UIButton+LYDelay.m in Sources */, + C98361DF5FB53D6619D0CE8CB520F287 /* UIButton+LYExt.m in Sources */, + EEBF68B2A83E25CCD1BD0DCD62ADF0E5 /* UIColor+LYString.m in Sources */, + 9D64CDC4BA7CFE55FCA86D3D024798B1 /* UICountingLabel.m in Sources */, + AB7B21670C884FDBB6E8B285AA62F239 /* UIDevice+LYHardware.m in Sources */, + 93B517DC987C31BB010943A3983DEC4F /* UIImage+LYBase64.m in Sources */, + BAB4EB1B40CC7C6A9AD7332A15055551 /* UIImage+LYImage.m in Sources */, + E9B213B9EC3165DA9A8BA3F4D87C1628 /* UIImage+LYResize.m in Sources */, + C78991F93AED96A220E4643D3D7C54DD /* UIImageView+LYExt.m in Sources */, + 2161E7B87F81776161229858E20E7080 /* UILabel+LYExt.m in Sources */, + FEAB200605EAACB0612C6781E6B7DE20 /* UITextField+LYExt.m in Sources */, + C85DE4A506EB976B848F53B5E80D1C34 /* UITextView+LYExt.m in Sources */, + 1FC5CA1D2E6D7AE824C5FF141733F42C /* UIView+LYCut.m in Sources */, + A760915E5ACB57D156FB1A7119CF1DF7 /* UIView+LYEnlargeTouchArea.m in Sources */, + B4323FED9C8918BA7277C624577B7EA3 /* UIView+LYExt.m in Sources */, + 13BBBC41096FFDB55D9F98F6070DB345 /* UIView+LYTouch.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1003,16 +1028,10 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 022DCD87B9FB745952C51A3B2B4185A8 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Masonry; - target = 15980544DA3C24331A66A6E0719CD5E5 /* Masonry */; - targetProxy = 5975DE32C1E4C705970715B6997E480C /* PBXContainerItemProxy */; - }; 50896C2181431EE00B09E7D7EAEA46E5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = LYToolsKit; - target = 32454BBF377FE9AB11384FCB627E119F /* LYToolsKit */; + target = BBB4259BC6FCC64BCEB84DC4A2405007 /* LYToolsKit */; targetProxy = AC77CD8B341AF4CABC86322E4502A320 /* PBXContainerItemProxy */; }; 543612A86DC46C349CF52812F46A6DED /* PBXTargetDependency */ = { @@ -1024,9 +1043,15 @@ 72162141B079F3B71B841468BB7199EC /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Masonry; - target = 15980544DA3C24331A66A6E0719CD5E5 /* Masonry */; + target = 7E2C2050754C68370DCBB6B3221B4B86 /* Masonry */; targetProxy = E0FFDDF0F0536135C3F948F3F99050DA /* PBXContainerItemProxy */; }; + AB61E8BEF27F7484517E3F7B2ABF5D93 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Masonry; + target = 7E2C2050754C68370DCBB6B3221B4B86 /* Masonry */; + targetProxy = 2C2603DDB9BB4ECD50468C6F7DB887EC /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -1064,7 +1089,7 @@ }; name = Release; }; - 0CC266760401B42AF31AB7BE20910619 /* Release */ = { + 07965B8E0E20D6B3965CDD423BC49971 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 3839A1AD8E883475BF8F8C6274F8A953 /* Masonry.xcconfig */; buildSettings = { @@ -1095,9 +1120,39 @@ }; name = Release; }; - 3BB279C5CF0635B9E9536219A8677C42 /* Release */ = { + 19613259B0385EB4FD389404A3FA01E5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 66AEB8BDA8F54BFF86A9F82E3713720B /* LYToolsKit.xcconfig */; + baseConfigurationReference = 143187C044463AF122CE440E199F6EC6 /* LYToolsKit.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/LYToolsKit/LYToolsKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/LYToolsKit/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/LYToolsKit/LYToolsKit.modulemap"; + PRODUCT_MODULE_NAME = LYToolsKit; + PRODUCT_NAME = LYToolsKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 26F83DF81E398D3E6A33778760652B62 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 143187C044463AF122CE440E199F6EC6 /* LYToolsKit.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1126,6 +1181,36 @@ }; name = Release; }; + 32A7F6295F68E31FB9F1E7EFDAB22A2C /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3839A1AD8E883475BF8F8C6274F8A953 /* Masonry.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Masonry/Masonry-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Masonry/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Masonry/Masonry.modulemap"; + PRODUCT_MODULE_NAME = Masonry; + PRODUCT_NAME = Masonry; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; 4F0D3FC0B4928871EFBFC3D21FB7DE35 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 6FC421FC0FDF34FA104FB736C6A27B3C /* Pods-LYToolsKit_Tests.release.xcconfig */; @@ -1219,66 +1304,6 @@ }; name = Release; }; - A2D1812A7EF9BFA1BB4BBE1110CEEE14 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3839A1AD8E883475BF8F8C6274F8A953 /* Masonry.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Masonry/Masonry-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Masonry/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Masonry/Masonry.modulemap"; - PRODUCT_MODULE_NAME = Masonry; - PRODUCT_NAME = Masonry; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - AD0880AC8E569C758BF39EEB4070111B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 66AEB8BDA8F54BFF86A9F82E3713720B /* LYToolsKit.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/LYToolsKit/LYToolsKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/LYToolsKit/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/LYToolsKit/LYToolsKit.modulemap"; - PRODUCT_MODULE_NAME = LYToolsKit; - PRODUCT_NAME = LYToolsKit; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; BEFDB93BF207328A04F1220475D02C3B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1421,38 +1446,38 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 85B1D84A6418C9BDD6125D61793641DB /* Build configuration list for PBXNativeTarget "Pods-LYToolsKit_Tests" */ = { + 5999975E7DE4E00D4C5B5082A0B4DE00 /* Build configuration list for PBXNativeTarget "Masonry" */ = { isa = XCConfigurationList; buildConfigurations = ( - F797EF6A77256B5977E279CEFC6C765C /* Debug */, - 4F0D3FC0B4928871EFBFC3D21FB7DE35 /* Release */, + 32A7F6295F68E31FB9F1E7EFDAB22A2C /* Debug */, + 07965B8E0E20D6B3965CDD423BC49971 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8BED0D9A7C292E4D80F29D2FE70DA264 /* Build configuration list for PBXNativeTarget "LYToolsKit" */ = { + 6009AD1DBB0DBDC2D4281F14E5E10A7F /* Build configuration list for PBXNativeTarget "LYToolsKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - AD0880AC8E569C758BF39EEB4070111B /* Debug */, - 3BB279C5CF0635B9E9536219A8677C42 /* Release */, + 19613259B0385EB4FD389404A3FA01E5 /* Debug */, + 26F83DF81E398D3E6A33778760652B62 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - AF9AD4AB260D26F9F671F153EFDBEFE0 /* Build configuration list for PBXNativeTarget "Pods-LYToolsKit_Example" */ = { + 85B1D84A6418C9BDD6125D61793641DB /* Build configuration list for PBXNativeTarget "Pods-LYToolsKit_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - E53BCBABC6757D03A94D30013A8D36F3 /* Debug */, - 06E5F0272649F89CBDF5F35211464E52 /* Release */, + F797EF6A77256B5977E279CEFC6C765C /* Debug */, + 4F0D3FC0B4928871EFBFC3D21FB7DE35 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - FD5A2E8D263AA1187EB2CB85555E2A8C /* Build configuration list for PBXNativeTarget "Masonry" */ = { + AF9AD4AB260D26F9F671F153EFDBEFE0 /* Build configuration list for PBXNativeTarget "Pods-LYToolsKit_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - A2D1812A7EF9BFA1BB4BBE1110CEEE14 /* Debug */, - 0CC266760401B42AF31AB7BE20910619 /* Release */, + E53BCBABC6757D03A94D30013A8D36F3 /* Debug */, + 06E5F0272649F89CBDF5F35211464E52 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Target Support Files/LYToolsKit/LYToolsKit-umbrella.h b/Example/Pods/Target Support Files/LYToolsKit/LYToolsKit-umbrella.h index 6f37fe9..f920a3d 100644 --- a/Example/Pods/Target Support Files/LYToolsKit/LYToolsKit-umbrella.h +++ b/Example/Pods/Target Support Files/LYToolsKit/LYToolsKit-umbrella.h @@ -31,6 +31,7 @@ #import "UIView+LYCut.h" #import "UIView+LYEnlargeTouchArea.h" #import "UIView+LYTouch.h" +#import "UIBarButtonItem+LYExt.h" #import "UIButton+LYExt.h" #import "UIImageView+LYExt.h" #import "UILabel+LYExt.h" @@ -39,6 +40,7 @@ #import "UIView+LYExt.h" #import "LYUtility.h" #import "LYTouchTrace.h" +#import "LYHyperlinksButton.h" #import "UICountingLabel.h" #import "LYCoverView.h" diff --git a/Example/Tests/Tests.m b/Example/Tests/Tests.m index e714ca9..4d3203d 100644 --- a/Example/Tests/Tests.m +++ b/Example/Tests/Tests.m @@ -41,5 +41,15 @@ - (void)testURLappendParams { XCTAssertNotNil(url2, @"url2 是nil"); } +- (void)testOperator { + LYOperatorType type = [UIDevice ly_operatorType]; + XCTAssertEqual(LYOperatorTypeUnKnown, type); +} + +- (void)testFileSize { + NSData *data = UIImagePNGRepresentation([UIImage imageNamed:@"照片"]); + CGFloat size = [NSString ly_fileSizeMBFromData:data]; + XCTAssertEqual(size, 0); +} @end diff --git a/LYToolsKit/Foundation/NSString/NSString+LYUnits.h b/LYToolsKit/Foundation/NSString/NSString+LYUnits.h index 57b4b3d..d2b55c4 100755 --- a/LYToolsKit/Foundation/NSString/NSString+LYUnits.h +++ b/LYToolsKit/Foundation/NSString/NSString+LYUnits.h @@ -12,8 +12,18 @@ NS_ASSUME_NONNULL_BEGIN @interface NSString (LYUnits) -/** 数据大小转换KB、MB、GB */ +/** + 获取数据大小 单位:KB、MB、GB + @param fileSize 文件字节大小 + @return 数据大小 + @code 感谢@Yi Xu, + */ + (instancetype)ly_fileSizeToString:(unsigned long long)fileSize; ++ (instancetype)ly_fileSizeFromData:(NSData *)data; ++ (CGFloat)ly_fileSizeKBFromData:(NSData *)data; ++ (CGFloat)ly_fileSizeMBFromData:(NSData *)data; ++ (CGFloat)ly_fileSizeGBFromData:(NSData *)data; + @end diff --git a/LYToolsKit/Foundation/NSString/NSString+LYUnits.m b/LYToolsKit/Foundation/NSString/NSString+LYUnits.m index 70be2ff..615046e 100755 --- a/LYToolsKit/Foundation/NSString/NSString+LYUnits.m +++ b/LYToolsKit/Foundation/NSString/NSString+LYUnits.m @@ -28,4 +28,20 @@ + (instancetype)ly_fileSizeToString:(unsigned long long)fileSize { } } ++ (instancetype)ly_fileSizeFromData:(NSData *)data { + return [self ly_fileSizeToString:data.length]; +} + ++ (CGFloat)ly_fileSizeKBFromData:(NSData *)data { + return data.length / (1024 * 0.1); +} + ++ (CGFloat)ly_fileSizeMBFromData:(NSData *)data { + return data.length / (pow(1024, 2) * 0.1); +} + ++ (CGFloat)ly_fileSizeGBFromData:(NSData *)data { + return data.length / (pow(1024, 3) * 0.1); +} + @end diff --git a/LYToolsKit/UI/LYUI.h b/LYToolsKit/UI/LYUI.h index 040aacb..69f7f27 100644 --- a/LYToolsKit/UI/LYUI.h +++ b/LYToolsKit/UI/LYUI.h @@ -24,6 +24,7 @@ #import #import #import +#import #pragma mark - UIButton #import diff --git a/LYToolsKit/UI/UI/UIDevice/UIDevice+LYHardware.h b/LYToolsKit/UI/UI/UIDevice/UIDevice+LYHardware.h index c37ef05..9eb7550 100644 --- a/LYToolsKit/UI/UI/UIDevice/UIDevice+LYHardware.h +++ b/LYToolsKit/UI/UI/UIDevice/UIDevice+LYHardware.h @@ -24,6 +24,14 @@ typedef NS_ENUM(NSUInteger, LYNetworkType) { LYNetworkTypeWWAN4G, }; +typedef NS_ENUM(NSUInteger, LYOperatorType) { + LYOperatorTypeUnKnown, + LYOperatorTypeChinaMobile,/**< 移动运营商 */ + LYOperatorTypeChinaUnicom,/**< 联通运营商 */ + LYOperatorTypeChinaTelecom,/**< 电信运营商 */ + LYOperatorTypeChinaTietong,/**< 铁通运营商 */ +}; + @interface UIDevice (LYHardware) /** Hardware type */ @@ -44,6 +52,7 @@ typedef NS_ENUM(NSUInteger, LYNetworkType) { + (NSString *)ly_macAddress; + (LYNetworkType)ly_networkType; ++ (LYOperatorType)ly_operatorType; @end diff --git a/LYToolsKit/UI/UI/UIDevice/UIDevice+LYHardware.m b/LYToolsKit/UI/UI/UIDevice/UIDevice+LYHardware.m index c1c3bf8..0280e9e 100644 --- a/LYToolsKit/UI/UI/UIDevice/UIDevice+LYHardware.m +++ b/LYToolsKit/UI/UI/UIDevice/UIDevice+LYHardware.m @@ -170,4 +170,28 @@ + (LYNetworkType)ly_networkType { return networkType; } ++ (LYOperatorType)ly_operatorType { + LYOperatorType operatorType; + CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init]; + CTCarrier *carrier = info.subscriberCellularProvider; + if (carrier) { + NSString *code = carrier.mobileCountryCode; + if ([code isEqualToString:@"00"] || [code isEqualToString:@"02"] || [code isEqualToString:@"07"]) { + operatorType = LYOperatorTypeChinaMobile; + } else if ([code isEqualToString:@"01"] || [code isEqualToString:@"06"]) { + operatorType = LYOperatorTypeChinaUnicom; + } else if ([code isEqualToString:@"03"] || [code isEqualToString:@"05"]) { + operatorType = LYOperatorTypeChinaTelecom; + } else if ([code isEqualToString:@"20"]) { + operatorType = LYOperatorTypeChinaTietong; + } else { + operatorType = LYOperatorTypeUnKnown; + } + } else { + operatorType = LYOperatorTypeUnKnown; + } + + return operatorType; +} + @end diff --git a/LYToolsKit/Utility/LYUtility.h b/LYToolsKit/Utility/LYUtility.h index 5e34d6d..91cbe95 100644 --- a/LYToolsKit/Utility/LYUtility.h +++ b/LYToolsKit/Utility/LYUtility.h @@ -17,4 +17,7 @@ #pragma mark - UIApplication #import +#pragma mark - UIButton +#import + #endif /* LYUtility_h */ diff --git a/LYToolsKit/Utility/UIButton/LYHyperlinksButton.h b/LYToolsKit/Utility/UIButton/LYHyperlinksButton.h new file mode 100755 index 0000000..8a1af66 --- /dev/null +++ b/LYToolsKit/Utility/UIButton/LYHyperlinksButton.h @@ -0,0 +1,13 @@ +// +// LYHyperlinksButton.h +// shuaidanbao +// +// Created by 吴浪 on 15/10/20. +// Copyright © 2015年 sdb. All rights reserved. +// 超链接按钮 + +#import + +@interface LYHyperlinksButton : UIButton +@property (strong, nonatomic) UIColor *lineColor; /**< 下划线颜色 */ +@end diff --git a/LYToolsKit/Utility/UIButton/LYHyperlinksButton.m b/LYToolsKit/Utility/UIButton/LYHyperlinksButton.m new file mode 100755 index 0000000..ba61707 --- /dev/null +++ b/LYToolsKit/Utility/UIButton/LYHyperlinksButton.m @@ -0,0 +1,41 @@ +// +// LYHyperlinksButton.m +// shuaidanbao +// +// Created by 吴浪 on 15/10/20. +// Copyright © 2015年 sdb. All rights reserved. +// + +#import "LYHyperlinksButton.h" + +@implementation LYHyperlinksButton + +- (instancetype)initWithFrame:(CGRect)frame { + if (self = [super initWithFrame:frame]) { + _lineColor = [UIColor whiteColor]; + } + return self; +} + +-(void)setLineColor:(UIColor *)lineColor{ + _lineColor = lineColor; + [self setNeedsDisplay]; +} + +- (void)drawRect:(CGRect)rect { + CGRect textRect = self.titleLabel.frame; + CGContextRef contextRef = UIGraphicsGetCurrentContext(); + + CGFloat descender = self.titleLabel.font.descender; + if([_lineColor isKindOfClass:[UIColor class]]){ + CGContextSetStrokeColorWithColor(contextRef, _lineColor.CGColor); + } + + CGContextMoveToPoint(contextRef, textRect.origin.x, textRect.origin.y + textRect.size.height + descender + 3.0); + CGContextAddLineToPoint(contextRef, textRect.origin.x + textRect.size.width, textRect.origin.y + textRect.size.height + descender + 3.0); + + CGContextClosePath(contextRef); + CGContextDrawPath(contextRef, kCGPathStroke); +} + +@end diff --git a/README.md b/README.md index effe0e9..e7adce2 100644 --- a/README.md +++ b/README.md @@ -45,3 +45,8 @@ yyly, mingyuegucheng@icloud.com LYToolsKit is available under the MIT license. See the LICENSE file for more info. +## 关于命令 +```提交新版到cocoapods +pod trunk push LYToolsKit.podspec --allow-warnings +``` +