From d727f9067527f5c92655377fe01f256a8a2718a0 Mon Sep 17 00:00:00 2001 From: pikacode Date: Thu, 23 Apr 2020 21:32:33 +0800 Subject: [PATCH] fix bug --- .DS_Store | Bin 12292 -> 12292 bytes EBBannerView/.DS_Store | Bin 8196 -> 8196 bytes .../Classes/EBBannerView.xib | 136 ++++++++- EBBannerView/Classes/EBSystemBannerView.xib | 5 +- .../UserInterfaceState.xcuserstate | Bin 53848 -> 50873 bytes demo/.DS_Store | Bin 8196 -> 8196 bytes demo/Podfile.lock | 2 +- demo/Pods/.DS_Store | Bin 6148 -> 0 bytes .../Classes/EBBannerView+Categories.h | 36 --- .../Classes/EBBannerView+Categories.m | 99 ------- .../EBBannerView/Classes/EBBannerView.m | 267 ------------------ .../Classes/EBBannerViewController.m | 45 --- .../Classes/EBBannerViewController.xib | 23 -- .../EBBannerView/Classes/EBBannerViewMaker.m | 47 --- .../EBBannerView/Classes/EBBannerWindow.h | 15 - .../EBBannerView/Classes/EBBannerWindow.m | 82 ------ .../EBBannerView/Classes/EBCustomBannerView.m | 240 ---------------- .../EBBannerView/Classes/EBEmptyWindow.h | 12 - .../EBBannerView/Classes/EBEmptyWindow.m | 16 -- .../EBBannerView/Classes/EBMuteDetector.h | 16 -- .../EBBannerView/Classes/EBMuteDetector.m | 63 ----- .../EBBannerView/Classes/EBMuteDetector.mp3 | Bin 1706 -> 0 bytes .../EBBannerView/EBBannerView/EBBannerView.h | 62 ---- .../EBBannerView/EBBannerViewController.h | 16 -- .../EBBannerView/EBCustomBannerView.h | 48 ---- demo/Pods/EBBannerView/LICENSE | 21 -- demo/Pods/EBBannerView/README.md | 221 --------------- demo/Pods/Manifest.lock | 2 +- demo/Pods/Pods.xcodeproj/project.pbxproj | 191 +++++++------ .../xcschemes/EBBannerView.xcscheme | 60 ---- .../xcschemes/Pods-demo.xcscheme | 60 ---- .../xcschemes/xcschememanagement.plist | 25 -- .../xcschemes/xcschememanagement.plist | 4 + .../xcschemes/EBBannerView.xcscheme | 60 ---- .../xcschemes/Pods-demo.xcscheme | 60 ---- .../xcschemes/xcschememanagement.plist | 25 -- .../xcschemes/EBBannerView.xcscheme | 60 ---- .../xcschemes/Pods-demo.xcscheme | 60 ---- .../xcschemes/xcschememanagement.plist | 21 -- ...w.xcconfig => EBBannerView.debug.xcconfig} | 1 + .../EBBannerView.release.xcconfig | 10 + .../Pods-demo/Pods-demo-frameworks.sh | 146 ---------- .../Pods-demo/Pods-demo-resources.sh | 4 +- .../Pods-demo/Pods-demo.debug.xcconfig | 1 + .../Pods-demo/Pods-demo.release.xcconfig | 1 + demo/demo.xcodeproj/project.pbxproj | 6 +- .../UserInterfaceState.xcuserstate | Bin 23631 -> 0 bytes .../IDEFindNavigatorScopes.plist | 5 - .../UserInterfaceState.xcuserstate | Bin 127355 -> 26691 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 55 +--- .../UserInterfaceState.xcuserstate | Bin 34738 -> 0 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 5 - .../UserInterfaceState.xcuserstate | Bin 63185 -> 0 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 5 - 54 files changed, 255 insertions(+), 2084 deletions(-) rename {demo/Pods/EBBannerView/EBBannerView => EBBannerView}/Classes/EBBannerView.xib (78%) delete mode 100644 demo/Pods/.DS_Store delete mode 100644 demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerView+Categories.h delete mode 100644 demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerView+Categories.m delete mode 100644 demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerView.m delete mode 100644 demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerViewController.m delete mode 100644 demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerViewController.xib delete mode 100644 demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerViewMaker.m delete mode 100644 demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerWindow.h delete mode 100644 demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerWindow.m delete mode 100644 demo/Pods/EBBannerView/EBBannerView/Classes/EBCustomBannerView.m delete mode 100644 demo/Pods/EBBannerView/EBBannerView/Classes/EBEmptyWindow.h delete mode 100644 demo/Pods/EBBannerView/EBBannerView/Classes/EBEmptyWindow.m delete mode 100644 demo/Pods/EBBannerView/EBBannerView/Classes/EBMuteDetector.h delete mode 100644 demo/Pods/EBBannerView/EBBannerView/Classes/EBMuteDetector.m delete mode 100755 demo/Pods/EBBannerView/EBBannerView/Classes/EBMuteDetector.mp3 delete mode 100644 demo/Pods/EBBannerView/EBBannerView/EBBannerView.h delete mode 100644 demo/Pods/EBBannerView/EBBannerView/EBBannerViewController.h delete mode 100644 demo/Pods/EBBannerView/EBBannerView/EBCustomBannerView.h delete mode 100644 demo/Pods/EBBannerView/LICENSE delete mode 100644 demo/Pods/EBBannerView/README.md delete mode 100644 demo/Pods/Pods.xcodeproj/xcuserdata/YCYL.xcuserdatad/xcschemes/EBBannerView.xcscheme delete mode 100644 demo/Pods/Pods.xcodeproj/xcuserdata/YCYL.xcuserdatad/xcschemes/Pods-demo.xcscheme delete mode 100644 demo/Pods/Pods.xcodeproj/xcuserdata/YCYL.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 demo/Pods/Pods.xcodeproj/xcuserdata/wtsd.xcuserdatad/xcschemes/EBBannerView.xcscheme delete mode 100644 demo/Pods/Pods.xcodeproj/xcuserdata/wtsd.xcuserdatad/xcschemes/Pods-demo.xcscheme delete mode 100644 demo/Pods/Pods.xcodeproj/xcuserdata/wtsd.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 demo/Pods/Pods.xcodeproj/xcuserdata/wxc.xcuserdatad/xcschemes/EBBannerView.xcscheme delete mode 100644 demo/Pods/Pods.xcodeproj/xcuserdata/wxc.xcuserdatad/xcschemes/Pods-demo.xcscheme delete mode 100644 demo/Pods/Pods.xcodeproj/xcuserdata/wxc.xcuserdatad/xcschemes/xcschememanagement.plist rename demo/Pods/Target Support Files/EBBannerView/{EBBannerView.xcconfig => EBBannerView.debug.xcconfig} (92%) create mode 100644 demo/Pods/Target Support Files/EBBannerView/EBBannerView.release.xcconfig delete mode 100755 demo/Pods/Target Support Files/Pods-demo/Pods-demo-frameworks.sh delete mode 100644 demo/demo.xcworkspace/xcuserdata/YCYL.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 demo/demo.xcworkspace/xcuserdata/pikacode.xcuserdatad/IDEFindNavigatorScopes.plist delete mode 100644 demo/demo.xcworkspace/xcuserdata/wtsd.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 demo/demo.xcworkspace/xcuserdata/wtsd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist delete mode 100644 demo/demo.xcworkspace/xcuserdata/wxc.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 demo/demo.xcworkspace/xcuserdata/wxc.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist diff --git a/.DS_Store b/.DS_Store index 4acb2ae810be9e69042274a0b6db303c46c45086..d61b94773a7a4ab375115b7760efd8712fa4ca52 100644 GIT binary patch delta 162 zcmZokXi3)9>?L%KYqBY0i>R3~P@|zCM5~dBIY_JVNF+*^tCr_ diff --git a/EBBannerView/.DS_Store b/EBBannerView/.DS_Store index 8d09ed4b9337d6edebf096cad6074911033dcefe..fc655eb4fee880694a0621319fb304852b00f880 100644 GIT binary patch delta 318 zcmZp1XmQvOF2Hzla)dyGrbKnMnWdqQg0YcBt&T#qrGbTxg1Lc7Z7nBM8XF_ge zRdr2m-ONdX@{F@4D+tOm?wf2UsHP$zDJ3NnFCd(hn4FznlwX>c;+&t8U*wcini`Rr zoSzq*S(Q3@qTsIjcme+6jQny>pjbdrYFTD#d31VFW=e2DVsd6)y0ZNT1~5=|2!Js( zAPfNpWe9_TfkS{%*}<`aFz1OQi>NC*G` delta 263 zcmZp1XmQvOE-=|o5k^KK*W?CyrGgD4B8Bi48aUB422904AU7FGi+rz$Z(F~ zF~e7e|BSqhVvI_R+Kf7kri|u{4vdbB>duTFjGl}^5baEiP-A4EG?ZeD-uzdHi*;fH W&t`UsZ!8llcsGlQeq@^1zzG0C{ySa( diff --git a/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerView.xib b/EBBannerView/Classes/EBBannerView.xib similarity index 78% rename from demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerView.xib rename to EBBannerView/Classes/EBBannerView.xib index b508981..499a063 100644 --- a/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerView.xib +++ b/EBBannerView/Classes/EBBannerView.xib @@ -1,10 +1,8 @@ - - - - + + - + @@ -100,11 +98,11 @@ - + - + @@ -220,7 +218,7 @@ - + @@ -348,7 +346,7 @@ - + @@ -468,5 +466,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/EBBannerView/Classes/EBSystemBannerView.xib b/EBBannerView/Classes/EBSystemBannerView.xib index 4e6492f..c3486f3 100644 --- a/EBBannerView/Classes/EBSystemBannerView.xib +++ b/EBBannerView/Classes/EBSystemBannerView.xib @@ -1,9 +1,8 @@ - + - - + diff --git a/SwiftDemo/SwiftDemo.xcworkspace/xcuserdata/pikacode.xcuserdatad/UserInterfaceState.xcuserstate b/SwiftDemo/SwiftDemo.xcworkspace/xcuserdata/pikacode.xcuserdatad/UserInterfaceState.xcuserstate index f7afa13a264328e174cc6db011c2f2cf3cc0e9f2..5c0f48f6dfbc023e28525b6b8eebaed80315da35 100644 GIT binary patch delta 24332 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 delta 26765 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 BfEEA% diff --git a/demo/.DS_Store b/demo/.DS_Store index 8fb002a2061dd8a8692a948ef949df684e1c190c..35a73b52431bfa623ff8a37b94f4817f75549059 100644 GIT binary patch delta 149 zcmZp1XmOa}&nUVvU^hRb=w==P0VXE-$&=p+Dv0FfySOCfvOFmQZz(^>Oe^3`2`?4gw%u(>XC$1CVL6FfSAH zgULIEXJ#?*Fa$8I7P{sMIdKL1GbAX-nt=Aw{7@R064ztFi#p+OcU}j2+ny211ZG z+yS@&N8tndmL;vw{AlL=nfdRJ{T$DDh)DE?{wh(Eh%6MwS_9P?#^YS3 zY)1F+ppZFYiYcI!_9&c+HXTL*qrhcTfZyHgv_(DqT)e%1-rss3~Pr0?@=0~3P zcatPK@m+5(42u2c;{7Df-7pSPNe=x0A5!ti@-=~ZQ;P$D?{fg|Tx%2c`KDLlv zAU>mi!wr9zCrgrWi!Rp=vzP;~U$I -#import "EBCustomBannerView.h" -#import "EBBannerView+Categories.h" -#import "EBBannerWindow.h" - -#define kAnimationDamping 0.8 - -NSString *const EBBannerViewDidClickNotification = @"EBBannerViewDidClickNotification"; - -@interface EBBannerView(){ - NSTimer *_hideTimer; -} - -@property (weak, nonatomic) IBOutlet UIImageView *imageView; -@property (weak, nonatomic) IBOutlet UILabel *titleLabel; -@property (weak, nonatomic) IBOutlet UILabel *contentLabel; -@property (weak, nonatomic) IBOutlet UILabel *dateLabel; -@property (weak, nonatomic) IBOutlet UIView *lineView; - -@property (nonatomic, assign)BOOL isExpand; -@property(nonatomic, assign, readonly)CGFloat standardHeight; -@property (nonatomic, assign, readonly)CGFloat calculatedContentHeight; - -@property (nonatomic, assign, readonly)CGFloat fixedX; -@property (nonatomic, assign, readonly)CGFloat fixedY; -@property (nonatomic, assign, readonly)CGFloat fixedWidth; - -@property(nonatomic, strong)EBBannerViewMaker *maker; - -@end - -@implementation EBBannerView - -static NSMutableArray *sharedBannerViews; -static EBBannerWindow *sharedWindow; - -#pragma mark - public - -+(instancetype)bannerWithBlock:(void(^)(EBBannerViewMaker *make))block{ - - sharedWindow = [EBBannerWindow sharedWindow]; - - EBBannerViewMaker *maker = [EBBannerViewMaker defaultMaker]; - block(maker); - maker.style = MAX(maker.style, 9); - - EBBannerView *bannerView = [EBBannerView bannerViewWithStyle:maker.style]; - - bannerView.maker = maker; - if (maker.style == EBBannerViewStyleiOS9) { - bannerView.dateLabel.textColor = [[UIImage colorAtPoint:bannerView.dateLabel.center] colorWithAlphaComponent:0.7]; - CGPoint lineCenter = bannerView.lineView.center; - bannerView.lineView.backgroundColor = [[UIImage colorAtPoint:CGPointMake(lineCenter.x, lineCenter.y - 7)] colorWithAlphaComponent:0.5]; - } - return bannerView; -} - -+(instancetype)current{ - EBBannerView *view = sharedWindow.rootViewController.view.subviews.lastObject; - if ([view isKindOfClass:[EBBannerView class]] && view.superview) { - return view; - } else { - return nil; - } -} - --(void)show{ - if (_hideTimer) { - [_hideTimer invalidate]; - _hideTimer = nil; - } - SystemSoundID soundID = _maker.soundID; - if (_maker.soundName) { - NSURL *url = [[NSBundle mainBundle] URLForResource:_maker.soundName withExtension:nil]; - AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url), &soundID); - } - WEAK_SELF(weakSelf); - [[EBMuteDetector sharedDetecotr] detectComplete:^(BOOL isMute) { - if (isMute && weakSelf.maker.vibrateOnMute) { - AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); - }else{ - AudioServicesPlaySystemSound(soundID); - } - }]; - - self.imageView.image = _maker.icon; - self.titleLabel.text = _maker.title; - self.dateLabel.text = _maker.date; - self.contentLabel.text = _maker.content; - self.lineView.hidden = self.calculatedContentHeight < 34; - //iOS8 使用新样式label显示bug - if (UIDevice.currentDevice.systemVersion.intValue < 9 && _maker.style > 9) { - self.contentLabel.numberOfLines = 1; - } - - [sharedWindow.rootViewController.view addSubview:self]; - - self.frame = CGRectMake(self.fixedX, -self.standardHeight, self.fixedWidth, self.standardHeight); - - CGFloat damping = _maker.style == 9 ? 1 : kAnimationDamping; - [UIView animateWithDuration:_maker.showAnimationDuration delay:0 usingSpringWithDamping:damping initialSpringVelocity:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ - - weakSelf.frame = CGRectMake(weakSelf.fixedX, weakSelf.fixedY, weakSelf.fixedWidth, weakSelf.standardHeight); - } completion:^(BOOL finished) { - - EBBannerView *strongSelf = weakSelf; - strongSelf->_hideTimer = [NSTimer scheduledTimerWithTimeInterval:weakSelf.maker.stayDuration target:weakSelf selector:@selector(hide) userInfo:nil repeats:NO]; - }]; -} - -+(void)showWithContent:(NSString*)content{ - [[EBBannerView bannerWithBlock:^(EBBannerViewMaker *make) { - make.content = content; - }] show]; -} - -#pragma mark - private - -+(instancetype)bannerViewWithStyle:(EBBannerViewStyle)style{ - EBBannerView *bannerView; - for (EBBannerView *view in sharedBannerViews) { - if (view.maker.style == style) { - bannerView = view; - break; - } - } - if (bannerView == nil) { - NSArray *views = [[NSBundle bundleForClass:self.class] loadNibNamed:@"EBBannerView" owner:nil options:nil]; - NSUInteger index = MIN(style - 9, views.count - 1); - bannerView = views[index]; - [[NSNotificationCenter defaultCenter] addObserver:bannerView selector:@selector(applicationDidChangeStatusBarOrientationNotification) name:UIApplicationDidChangeStatusBarOrientationNotification object:nil]; - [bannerView addGestureRecognizer]; - [sharedBannerViews addObject:bannerView]; - } - return bannerView; -} - --(void)hide{ - WEAK_SELF(weakSelf); - [UIView animateWithDuration:_maker.hideAnimationDuration delay:0 usingSpringWithDamping:kAnimationDamping initialSpringVelocity:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ - - weakSelf.frame = CGRectMake(weakSelf.fixedX, -weakSelf.standardHeight - (weakSelf.frame.size.height - weakSelf.standardHeight), weakSelf.fixedWidth, weakSelf.frame.size.height); - } completion:^(BOOL finished) { - - [weakSelf removeFromSuperview]; - }]; -} - --(void)applicationDidChangeStatusBarOrientationNotification{ - if (!self.superview) { - return; - } - self.frame = CGRectMake(self.fixedX, self.fixedY, self.fixedWidth, self.standardHeight); -} - --(void)addGestureRecognizer{ - UISwipeGestureRecognizer *swipeUpGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeUpGesture:)]; - swipeUpGesture.direction = UISwipeGestureRecognizerDirectionUp; - [self addGestureRecognizer:swipeUpGesture]; - - UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGesture:)]; - [self addGestureRecognizer:tapGesture]; - - UISwipeGestureRecognizer *swipeDownGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeDownGesture:)]; - swipeDownGesture.direction = UISwipeGestureRecognizerDirectionDown; - [self addGestureRecognizer:swipeDownGesture]; -} - --(void)tapGesture:(UITapGestureRecognizer*)tapGesture{ - if (_maker.showDetailOrHideWhenClickLongText && !self.lineView.hidden) { - UISwipeGestureRecognizer *g = [UISwipeGestureRecognizer new]; - g.direction = UISwipeGestureRecognizerDirectionDown; - [self swipeDownGesture:g]; - } else { - [[NSNotificationCenter defaultCenter] postNotificationName:EBBannerViewDidClickNotification object:_maker.object]; - [self hide]; - } -} - --(void)swipeUpGesture:(UISwipeGestureRecognizer*)gesture{ - if (gesture.direction == UISwipeGestureRecognizerDirectionUp) { - [self hide]; - } -} - --(void)swipeDownGesture:(UISwipeGestureRecognizer*)gesture{ - if (gesture.direction == UISwipeGestureRecognizerDirectionDown && !self.lineView.hidden) { - if (UIDevice.currentDevice.systemVersion.intValue < 9 && _maker.style > 9) { - self.contentLabel.numberOfLines = 0; - } - self.isExpand = YES; - self.lineView.hidden = YES; - - [_hideTimer invalidate]; - _hideTimer = nil; - _hideTimer = [NSTimer scheduledTimerWithTimeInterval:_maker.swipeDownStayDuration target:self selector:@selector(hide) userInfo:nil repeats:NO]; - - WEAK_SELF(weakSelf); - CGFloat originContentHeight = self.contentLabel.frame.size.height; - [UIView animateWithDuration:_maker.hideAnimationDuration delay:0 usingSpringWithDamping:kAnimationDamping initialSpringVelocity:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ - - weakSelf.frame = CGRectMake(weakSelf.fixedX, weakSelf.fixedY, weakSelf.fixedWidth, weakSelf.standardHeight + weakSelf.calculatedContentHeight - originContentHeight + 1); - } completion:^(BOOL finished) { - - weakSelf.frame = CGRectMake(weakSelf.fixedX, weakSelf.fixedY, weakSelf.fixedWidth, weakSelf.standardHeight + weakSelf.calculatedContentHeight - originContentHeight + 1); - }]; - } -} - -#pragma mark - @property - --(CGFloat)standardHeight{ - switch (_maker.style) { - case EBBannerViewStyleiOS8: - case EBBannerViewStyleiOS9: - return 70; - case EBBannerViewStyleiOS10: - case EBBannerViewStyleiOS11: - case EBBannerViewStyleiOS12: - return 90; - } -} - --(CGFloat)calculatedContentHeight{ - CGSize size = CGSizeMake(self.contentLabel.frame.size.width, MAXFLOAT); - NSDictionary *dict = [NSDictionary dictionaryWithObject:[UIFont systemFontOfSize:self.contentLabel.font.pointSize] forKey:NSFontAttributeName]; - CGFloat calculatedHeight = [self.contentLabel.text boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil].size.height; - return calculatedHeight; -} - --(BOOL)isiPhoneX{ - if(@available(iOS 11.0, *)) { - return UIApplication.sharedApplication.delegate.window.safeAreaInsets.bottom > 0; - } else { - return NO; - } -} - --(CGFloat)fixedX{ - return ([self isiPhoneX] && ![self isPortrait]) ? 128 : 0; -} - --(CGFloat)fixedY{ - return ([self isiPhoneX] && [self isPortrait]) ? 33 : 0; -} - --(CGFloat)fixedWidth{ - return ([self isiPhoneX] && ![self isPortrait]) ? 556 : ScreenWidth; -} - --(BOOL)isPortrait{ - return ScreenWidth < ScreenHeight; -} - -@end - - diff --git a/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerViewController.m b/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerViewController.m deleted file mode 100644 index 06bc350..0000000 --- a/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerViewController.m +++ /dev/null @@ -1,45 +0,0 @@ -// -// EBBannerViewController.m -// demo -// -// Created by pikacode@qq.com on 2017/10/23. -// Copyright © 2017年 pikacode@qq.com. All rights reserved. -// - -#import "EBBannerViewController.h" - -@interface EBBannerViewController () - -@end - -@implementation EBBannerViewController - -- (instancetype)init -{ - self = [self initWithNibName:@"EBBannerViewController" bundle:[NSBundle bundleForClass:self.class]]; - if (self) { - - } - return self; -} - -static UIInterfaceOrientationMask supportedOrientations; - -+(void)setSupportedInterfaceOrientations:(UIInterfaceOrientationMask)orientations{ - supportedOrientations = orientations; -} - -+(void)setStatusBarHidden:(BOOL)hidden{ - statusBarHidden = hidden; -} - --(UIInterfaceOrientationMask)supportedInterfaceOrientations{ - return supportedOrientations; -} - -static BOOL statusBarHidden; --(BOOL)prefersStatusBarHidden{ - return statusBarHidden; -} - -@end diff --git a/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerViewController.xib b/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerViewController.xib deleted file mode 100644 index 96877a1..0000000 --- a/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerViewController.xib +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerViewMaker.m b/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerViewMaker.m deleted file mode 100644 index 2df7972..0000000 --- a/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerViewMaker.m +++ /dev/null @@ -1,47 +0,0 @@ -// -// EBBannerViewMaker.m -// EBBannerView -// -// Created by wxc on 2017/11/27. -// - -#import "EBBannerView.h" - -@implementation EBBannerViewMaker - -+(instancetype)defaultMaker{ - EBBannerViewMaker *maker = [EBBannerViewMaker new]; - maker.style = MAX(UIDevice.currentDevice.systemVersion.intValue, 9); - maker.icon = [UIImage imageNamed:@"AppIcon40x40"] ?: [UIImage imageNamed:@"AppIcon60x60"] ?: [UIImage imageNamed:@"AppIcon80x80"]; - NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; - maker.title = [infoDictionary objectForKey:@"CFBundleDisplayName"] ?: [infoDictionary objectForKey:@"CFBundleName"]; - maker.date = NSLocalizedString(@"现在", nil); - maker.content = @""; - maker.showAnimationDuration = 0.3; - maker.hideAnimationDuration = 0.5; - maker.stayDuration = 4; - maker.swipeDownStayDuration = 4; - maker.soundID = 1312; - maker.vibrateOnMute = YES; - maker.showDetailOrHideWhenClickLongText = YES; - return maker; -} - --(void)setStyle:(EBBannerViewStyle)style{ - if (style < 9) { - _style = EBBannerViewStyleiOS9; - } else if (style > 12) { - _style = EBBannerViewStyleiOS12; - } else { - _style = style; - } -} - --(id)object{ - if (!_object) { - _object = self.content.copy; - } - return _object; -} - -@end diff --git a/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerWindow.h b/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerWindow.h deleted file mode 100644 index e8469ef..0000000 --- a/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerWindow.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// EBBannerWindow.h -// demo -// -// Created by pikacode@qq.com on 2017/10/23. -// Copyright © 2017年 pikacode@qq.com. All rights reserved. -// - -#import - -@interface EBBannerWindow : UIWindow - -+(instancetype)sharedWindow; - -@end diff --git a/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerWindow.m b/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerWindow.m deleted file mode 100644 index 1dbc1a2..0000000 --- a/demo/Pods/EBBannerView/EBBannerView/Classes/EBBannerWindow.m +++ /dev/null @@ -1,82 +0,0 @@ -// -// EBBannerWindow.m -// demo -// -// Created by pikacode@qq.com on 2017/10/23. -// Copyright © 2017年 pikacode@qq.com. All rights reserved. -// - -#import "EBBannerWindow.h" -#import "EBBannerViewController.h" -#import "EBBannerView+Categories.h" -#import "EBEmptyWindow.h" - -@implementation EBBannerWindow - -static EBBannerWindow *sharedWindow; -static EBEmptyWindow *emptyWindow; - -+(instancetype)sharedWindow{ - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedWindow = [[self alloc] initWithFrame:CGRectZero]; - sharedWindow.windowLevel = UIWindowLevelAlert; - sharedWindow.layer.masksToBounds = NO; - UIWindow *originKeyWindow = UIApplication.sharedApplication.keyWindow; - [sharedWindow makeKeyAndVisible]; - - /* fix bug: - EBBannerViewController setSupportedInterfaceOrientations -> Portrait - push to a VC with orientation Left - UITextFiled's pad will show a wrong orientation with Portrait - */ - emptyWindow = [[EBEmptyWindow alloc] initWithFrame:CGRectZero]; - emptyWindow.windowLevel = UIWindowLevelAlert; - [emptyWindow makeKeyAndVisible]; - [originKeyWindow makeKeyAndVisible]; - - [EBBannerViewController setSupportedInterfaceOrientations:UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape]; - [EBBannerViewController setStatusBarHidden:NO]; - - EBBannerViewController *vc = [EBBannerViewController new]; - vc.view.backgroundColor = [UIColor clearColor]; - vc.view.frame = CGRectMake(0, 0, ScreenWidth, ScreenHeight); - sharedWindow.rootViewController = vc; - }); - return sharedWindow; -} - --(instancetype)initWithFrame:(CGRect)frame{ - self = [super initWithFrame:frame]; - if (self) { - [self addObserver:self forKeyPath:@"frame" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil]; - } - return self; -} - --(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{ - __block UIView *view; - [self.rootViewController.view.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { - if (CGRectContainsPoint(obj.frame, point)) { - view = obj; - } - }]; - if (view) { - CGPoint point1 = [self convertPoint:point toView:view]; - return [view hitTest:point1 withEvent:event]; - }else{ - return [super hitTest:point withEvent:event]; - } -} - --(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{ - if ([keyPath isEqualToString:@"frame"] && !CGRectEqualToRect(self.frame, CGRectZero)) { - self.frame = CGRectZero; - } -} - --(void)dealloc{ - [self removeObserver:self forKeyPath:@"frame"]; -} - -@end diff --git a/demo/Pods/EBBannerView/EBBannerView/Classes/EBCustomBannerView.m b/demo/Pods/EBBannerView/EBBannerView/Classes/EBCustomBannerView.m deleted file mode 100644 index 46e7ed5..0000000 --- a/demo/Pods/EBBannerView/EBBannerView/Classes/EBCustomBannerView.m +++ /dev/null @@ -1,240 +0,0 @@ -// -// EBCustomBannerView.m -// demo -// -// Created by pikacode@qq.com on 2017/10/20. -// Copyright © 2017年 pikacode@qq.com. All rights reserved. -// - -#import "EBCustomBannerView.h" -#import "EBBannerView.h" -#import -#import "EBMuteDetector.h" -#import "EBBannerWindow.h" -#import "EBBannerView+Categories.h" - -@interface EBCustomBannerViewMaker() -@property(nonatomic, strong)UIView *view; -@end - -@implementation EBCustomBannerViewMaker -+(instancetype)makerWithView:(UIView*)view{ - EBCustomBannerViewMaker *maker = [EBCustomBannerViewMaker new]; - maker.portraitMode = EBCustomViewAppearModeTop; - maker.landscapeMode = EBCustomViewAppearModeTop; - maker.animationDuration = 0.3; - maker.stayDuration = 4.0; - maker.soundID = 0; - maker.view = view; - maker.landscapeFrame = view.frame; - maker.portraitFrame = view.frame; - maker.centerModeDurations = @[@0.3, @0.2, @0.1]; - maker.vibrateOnMute = YES; - return maker; -} -@end - -@interface EBCustomBannerView() - -@property(nonatomic, strong)EBCustomBannerViewMaker *maker; - -@end - -@implementation EBCustomBannerView - -static NSMutableArray *sharedCustomViews; -static EBBannerWindow *sharedWindow; - -+(void)sharedCustomBannerViewInit{ - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedWindow = [EBBannerWindow sharedWindow]; - sharedCustomViews = [NSMutableArray array]; - }); -} - -+(EBCustomBannerView*)showCustomView:(UIView*)view block:(void(^)(EBCustomBannerViewMaker *make))block{ - EBCustomBannerView *bannerView = [EBCustomBannerView customView:view block:block]; - [bannerView show]; - return bannerView; -} - -//make a custom view and show later -+(EBCustomBannerView*)customView:(UIView*)view block:(void(^)(EBCustomBannerViewMaker *make))block{ - EBCustomBannerView *bannerView = [EBCustomBannerView new]; - EBCustomBannerViewMaker *maker = [EBCustomBannerViewMaker makerWithView:view]; - bannerView.maker = maker; - block(maker); - [[NSNotificationCenter defaultCenter] addObserver:bannerView selector:@selector(applicationDidChangeStatusBarOrientationNotification) name:UIApplicationDidChangeStatusBarOrientationNotification object:nil]; - return bannerView; -} - --(void)applicationDidChangeStatusBarOrientationNotification{ - if (sharedCustomViews.count == 0) { - return; - } - if ([self currentIsLandscape]) { - [sharedCustomViews enumerateObjectsUsingBlock:^(EBCustomBannerView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { - obj.maker.view.frame = obj.maker.landscapeFrame; - }]; - }else{ - [sharedCustomViews enumerateObjectsUsingBlock:^(EBCustomBannerView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { - obj.maker.view.frame = obj.maker.portraitFrame; - }]; - } -} - --(void)show{ - - [EBCustomBannerView sharedCustomBannerViewInit]; - - [sharedCustomViews addObject:self]; - - if (_maker.soundName || _maker.soundID != 0) { - SystemSoundID soundID; - if (_maker.soundName) { - NSURL *url = [[NSBundle mainBundle] URLForResource:_maker.soundName withExtension:nil]; - AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url), &soundID); - }else{ - soundID = _maker.soundID; - } - WEAK_SELF(weakSelf); - [[EBMuteDetector sharedDetecotr] detectComplete:^(BOOL isMute) { - if (isMute && weakSelf.maker.vibrateOnMute) { - AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); - }else{ - AudioServicesPlaySystemSound(soundID); - } - }]; - } - - [sharedWindow.rootViewController.view addSubview:_maker.view]; - - - if ([self currentAppearMode] == EBCustomViewAppearModeCenter) { - dispatch_async(dispatch_get_main_queue(), ^{ - WEAK_SELF(weakSelf); - UIView *view = weakSelf.maker.view; - view.frame = [weakSelf showFrame]; - view.alpha = 0; - [UIView animateWithDuration:weakSelf.maker.centerModeDurations[0].doubleValue animations:^{ - view.alpha = 1; - }]; - view.alpha = 0; - - view.layer.shouldRasterize = YES; - view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.4, 0.4); - [UIView animateWithDuration:weakSelf.maker.centerModeDurations[1].doubleValue animations:^{ - view.alpha = 1; - view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.1, 1.1); - } completion:^(BOOL finished) { - [UIView animateWithDuration:weakSelf.maker.centerModeDurations[2].doubleValue delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{ - view.alpha = 1; - view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1, 1); - } completion:^(BOOL finished2) { - view.layer.shouldRasterize = NO; - if (weakSelf.maker.stayDuration > 0) { - [NSTimer eb_scheduledTimerWithTimeInterval:weakSelf.maker.stayDuration block:^(NSTimer *timer) { - [weakSelf hide]; - } repeats:NO]; - } - }]; - }]; - }); - } else { - _maker.view.frame = [self hideFrame]; - WEAK_SELF(weakSelf); - [UIView animateWithDuration:_maker.animationDuration animations:^{ - weakSelf.maker.view.frame = [weakSelf showFrame]; - } completion:^(BOOL finished) { - if (weakSelf.maker.stayDuration > 0) { - [NSTimer eb_scheduledTimerWithTimeInterval:weakSelf.maker.stayDuration block:^(NSTimer *timer) { - [weakSelf hide]; - } repeats:NO]; - } - }]; - } -} - --(void)hide{ - if (!self.maker.view.superview) { - return; - } - if ([self currentAppearMode] == EBCustomViewAppearModeCenter) { - - dispatch_async(dispatch_get_main_queue(), ^{ - WEAK_SELF(weakSelf); - UIView *view = weakSelf.maker.view; - [UIView animateWithDuration:weakSelf.maker.centerModeDurations[0].doubleValue animations:^{ - view.alpha = 0; - }]; - - view.layer.shouldRasterize = YES; - [UIView animateWithDuration:weakSelf.maker.centerModeDurations[2].doubleValue animations:^{ - view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.1, 1.1); - } completion:^(BOOL finished){ - [UIView animateWithDuration:weakSelf.maker.centerModeDurations[1].doubleValue delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{ - view.alpha = 0; - view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.4, 0.4); - } completion:^(BOOL finished){ - [view removeFromSuperview]; - [sharedCustomViews removeObject:weakSelf]; - }]; - }]; - }); - - } else { - WEAK_SELF(weakSelf); - [UIView animateWithDuration:_maker.animationDuration animations:^{ - weakSelf.maker.view.frame = [weakSelf hideFrame]; - } completion:^(BOOL finished) { - if (weakSelf.maker.view.superview) { - [weakSelf.maker.view removeFromSuperview]; - } - if ([sharedCustomViews containsObject:weakSelf]) { - [sharedCustomViews removeObject:weakSelf]; - } - }]; - } -} - --(BOOL)currentIsLandscape{ - return UIDeviceOrientationIsLandscape(UIDevice.currentDevice.orientation); -} - --(CGRect)showFrame{ - return [self currentIsLandscape] ? _maker.landscapeFrame : _maker.portraitFrame; -} - --(CGRect)hideFrame{ - CGRect hideFrame = [self showFrame]; - switch ([self currentAppearMode]) { - case EBCustomViewAppearModeTop: - hideFrame.origin.y = -hideFrame.size.height; - break; - case EBCustomViewAppearModeLeft: - hideFrame.origin.x = -hideFrame.size.width; - break; - case EBCustomViewAppearModeRight: - hideFrame.origin.x = ScreenWidth + hideFrame.size.width; - break; - case EBCustomViewAppearModeBottom: - hideFrame.origin.y = ScreenHeight; - break; - case EBCustomViewAppearModeCenter: - break; - default: - break; - } - return hideFrame; -} - --(EBCustomBannerViewAppearMode)currentAppearMode{ - return [self currentIsLandscape] ? _maker.landscapeMode : _maker.portraitMode; -} - --(void)dealloc{ - [[NSNotificationCenter defaultCenter] removeObserver:self]; -} - -@end diff --git a/demo/Pods/EBBannerView/EBBannerView/Classes/EBEmptyWindow.h b/demo/Pods/EBBannerView/EBBannerView/Classes/EBEmptyWindow.h deleted file mode 100644 index dd56e08..0000000 --- a/demo/Pods/EBBannerView/EBBannerView/Classes/EBEmptyWindow.h +++ /dev/null @@ -1,12 +0,0 @@ -// -// EBEmptyWindow.h -// EBBannerView -// -// Created by WTSD on 2018/1/10. -// - -#import - -@interface EBEmptyWindow : UIWindow - -@end diff --git a/demo/Pods/EBBannerView/EBBannerView/Classes/EBEmptyWindow.m b/demo/Pods/EBBannerView/EBBannerView/Classes/EBEmptyWindow.m deleted file mode 100644 index 492fe95..0000000 --- a/demo/Pods/EBBannerView/EBBannerView/Classes/EBEmptyWindow.m +++ /dev/null @@ -1,16 +0,0 @@ -// -// EBEmptyWindow.m -// EBBannerView -// -// Created by WTSD on 2018/1/10. -// - -#import "EBEmptyWindow.h" - -@implementation EBEmptyWindow - --(UIWindowLevel)windowLevel{ - return UIWindowLevelAlert; -} - -@end diff --git a/demo/Pods/EBBannerView/EBBannerView/Classes/EBMuteDetector.h b/demo/Pods/EBBannerView/EBBannerView/Classes/EBMuteDetector.h deleted file mode 100644 index 42f23e3..0000000 --- a/demo/Pods/EBBannerView/EBBannerView/Classes/EBMuteDetector.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// EBMuteSwitchDetector.h -// -// Created by 57380422@qq.com on 6/2/13. -// Copyright (c) 2013 57380422@qq.com. All rights reserved. -// - -#import - -@interface EBMuteDetector : NSObject - -+(EBMuteDetector*)sharedDetecotr; - --(void)detectComplete:(void (^)(BOOL isMute))completionHandler; - -@end diff --git a/demo/Pods/EBBannerView/EBBannerView/Classes/EBMuteDetector.m b/demo/Pods/EBBannerView/EBBannerView/Classes/EBMuteDetector.m deleted file mode 100644 index 63d6281..0000000 --- a/demo/Pods/EBBannerView/EBBannerView/Classes/EBMuteDetector.m +++ /dev/null @@ -1,63 +0,0 @@ -// -// EBMuteSwitchDetector.m -// -// Created by 57380422@qq.comon 6/2/13. -// Copyright (c) 2013 57380422@qq.com. All rights reserved. -// - -#import "EBMuteDetector.h" -#import -#import - -@interface EBMuteDetector() - -@property (nonatomic,assign) NSTimeInterval interval; - -@property (nonatomic,assign) SystemSoundID soundId; - - -typedef void (^DetectCompleteBlock)(BOOL isMute); - -@property(nonatomic, copy)DetectCompleteBlock completeBlock; - -@end - -@implementation EBMuteDetector - -void EBSoundMuteNotificationCompletionProc(SystemSoundID ssID,void* clientData){ - NSTimeInterval elapsed = [NSDate timeIntervalSinceReferenceDate] - [EBMuteDetector sharedDetecotr].interval; - BOOL isMute = elapsed < 0.1; - [EBMuteDetector sharedDetecotr].completeBlock(isMute); -} - -+(EBMuteDetector*)sharedDetecotr{ - static EBMuteDetector* sharedDetecotr = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedDetecotr = [EBMuteDetector new]; - NSURL* url = [[NSBundle bundleForClass:[self class]] URLForResource:@"EBMuteDetector" withExtension:@"mp3"]; - if (AudioServicesCreateSystemSoundID((__bridge CFURLRef)url, &sharedDetecotr->_soundId) == kAudioServicesNoError){ - AudioServicesAddSystemSoundCompletion(sharedDetecotr.soundId, CFRunLoopGetMain(), kCFRunLoopDefaultMode, EBSoundMuteNotificationCompletionProc,(__bridge void *)(self)); - UInt32 yes = 1; - AudioServicesSetProperty(kAudioServicesPropertyIsUISound, sizeof(sharedDetecotr.soundId),&sharedDetecotr->_soundId,sizeof(yes), &yes); - } else { - sharedDetecotr.soundId = -1; - } - }); - return sharedDetecotr; -} - --(void)detectComplete:(void (^)(BOOL isMute))completionHandler{ - self.interval = [NSDate timeIntervalSinceReferenceDate]; - AudioServicesPlaySystemSound(self.soundId); - self.completeBlock = completionHandler; -} - --(void)dealloc{ - if (self.soundId != -1){ - AudioServicesRemoveSystemSoundCompletion(self.soundId); - AudioServicesDisposeSystemSoundID(self.soundId); - } -} - -@end diff --git a/demo/Pods/EBBannerView/EBBannerView/Classes/EBMuteDetector.mp3 b/demo/Pods/EBBannerView/EBBannerView/Classes/EBMuteDetector.mp3 deleted file mode 100755 index ece3352dbb507dcbb573301daf473358852c0201..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1706 zcmds%`B&0e7{>1xP|(E4T}nZ7J0*&UTcZU9rb%jwrPi3Zw73t6X-?u+?osNHEtHfU z&8((vN;~G7tx6W9X_F{AX0~AF=(v67Tb(n1#60)hbDsOT?|aWZ&kwIR%MlF_L1ZqI zvmP<_h=&(FfdKH4y$|p}GDrku5CEb<1mgH00Xc=i0%{R8h`NUw26O${4oD;Zdt+rl zqwrkZ5n)>*H-sI4;3eNN4N#Fq16*$|4S^cpVQkW9(lK9dzy==#VZS2>q>9U7`+j?m z0RZ(sIaA@e@+bgM7>N6hX@sNj@+WwQX_{OIW_4p`_?JU9ba$#Y22_dr**6pHt~KX~ zauhQM??Zs0PQtdRX2?b_U|E~V+OZ7!wlWS03t>@EVaxOgZS?B~gACE`KND?m0r8Q(-X?Nasm6pFKI->7 zYwUBV6RY@R^wI+n&qrh);d_kLnEu>Ncr@c#@(-(rMzeys`Wl&=#i?8H63-_q_n5Ss zr3IAFA>Xp8+`{ft#+Rd|C#s8!T|Y2Lqz8ElW!b}bjwLCEB5v`M`<)c;yf;AmoY*;N z+Xw8>ttS4h^baunHAC*R3Se~ecb)z8JoHiJu*Y80EW?oK>PaX|GAmp*Eye#CKHH@dz|GEBx5OR~vIXxyh`!;4+2rvA-X@*AQ9nx;ZaPCxqZXcq46FmD6 zgRQ+`Rq!o;dw^(}PtkEt z*e^$~gu54I#{tkX;~efGLILz)UB*F2*YNuo9h|zei>I``=afNl$Ec*&d}qo{S$a}S z#R05*yXy2bR;JE+M%-|(>q`635jY`X`{)!rxn|zl{(|I$theWp# zke`NHT3po}Q4m1Xmy|*$;+U3No&6v$xp28Wonl&Qw63wl@=3jrM+Tr{&X)$(eIxPmEbkfA4+qe3f#a;$0wQ_GultBw=2cEp~J{mzu7~zxp|ZnC!s{h`d&MX<5}ed&B)bK`9Pww03AX z>ZL=TH`>biPK9)6)lT>;VN>aN6p}v+$^Vh9?}7)wh1L|}>&TFZ-pQ;#43;S?Y+R_# zs1oy1t)RonO6%48OWYryr|cq_5StG59qnCPNeGq_`9;RYX^ifKt+01b6zllNQ$DxELlF_{8s4XUzPPZFHr2YXb0K&k_puPJ0?_Skl!lM-Vs8t4=1L!2 zBY|jpOiDZDeomV4+{(5>^w4c@hDn)}Zh}^;5p7TG(SK#UG|7|_m5frvH6#?*y{IlS z7Z@kC5JcBU>1WEu_X4q>t*(*f-0K1DX-E8rf97KyPxUjq`}A{nut-e*pmhTUU54mv zfWiDxA6?oXb*!Ub3rnvFMch!XyPn~ykMOqBC@-<$0_wE%l4T498 z;0wbABNNV!pL{#G0tcXQjj5*e+4+~XeoQMP8%tTD@07I*-%n|4>MC45V0Yb8F_f=) z@vLHoj9!{ef}y-N@KY@y*y!OfXsEfFVM74qmfecnZ~1Fvq9Q$>exfVDmfiK2J8F - -typedef enum : NSInteger { - EBBannerViewStyleiOS8 = 8, - EBBannerViewStyleiOS9 = 9, - EBBannerViewStyleiOS10 = 10, - EBBannerViewStyleiOS11 = 11, - EBBannerViewStyleiOS12 = 12 -} EBBannerViewStyle; - -@protocol EBCustomBannerViewProtocol; -@class EBCustomBannerView, EBBannerViewMaker; - -@interface EBBannerView : UIView - -//show system version style with default values -+(void)showWithContent:(NSString*)content; - -//get a specific style banner, customize values below, then call 'show' -+(instancetype)bannerWithBlock:(void(^)(EBBannerViewMaker *make))block; --(void)show; - -//u don't have to call hide, this only use for (long_text && forbidAutoHiddenWhenSwipeDown = YES) --(void)hide; - -+(instancetype)current;//can be nil - -@end - -@interface EBBannerViewMaker : NSObject - -@property(nonatomic, assign)EBBannerViewStyle style;//default is UIDevice.currentDevice.systemVersion.intValue -@property(nonatomic, strong)UIImage *icon;//default is app icon -@property(nonatomic, strong)NSString *title;//default is app name -@property(nonatomic, strong)NSString *date;//default is "now" = "现在" -@property(nonatomic, strong)NSString *content; -@property(nonatomic, assign)NSTimeInterval showAnimationDuration;//default is 0.3 -@property(nonatomic, assign)NSTimeInterval hideAnimationDuration;//default is 0.5 -@property(nonatomic, assign)NSTimeInterval stayDuration;//default is 4.0 -@property(nonatomic, assign)NSTimeInterval swipeDownStayDuration;//default is 4.0 -@property(nonatomic, strong)id object;//default is content -@property(nonatomic, assign)UInt32 soundID;//default is 1312 -@property(nonatomic, strong)NSString *soundName; -@property(nonatomic, assign)BOOL vibrateOnMute;//default is YES -@property(nonatomic, assign)BOOL showDetailOrHideWhenClickLongText;//default is YES showDetail - -+(instancetype)defaultMaker; - -@end - -//add observer for this notification to handle tap event and get the 'object' above -extern NSString *const EBBannerViewDidClickNotification;//监听点击弹窗的事件 - - diff --git a/demo/Pods/EBBannerView/EBBannerView/EBBannerViewController.h b/demo/Pods/EBBannerView/EBBannerView/EBBannerViewController.h deleted file mode 100644 index 6a6ea53..0000000 --- a/demo/Pods/EBBannerView/EBBannerView/EBBannerViewController.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// EBBannerViewController.h -// demo -// -// Created by pikacode@qq.com on 2017/10/23. -// Copyright © 2017年 pikacode@qq.com. All rights reserved. -// - -#import - -@interface EBBannerViewController : UIViewController - -+(void)setSupportedInterfaceOrientations:(UIInterfaceOrientationMask)orientations; -+(void)setStatusBarHidden:(BOOL)hidden; - -@end diff --git a/demo/Pods/EBBannerView/EBBannerView/EBCustomBannerView.h b/demo/Pods/EBBannerView/EBBannerView/EBCustomBannerView.h deleted file mode 100644 index 144f432..0000000 --- a/demo/Pods/EBBannerView/EBBannerView/EBCustomBannerView.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// EBCustomBannerView.h -// demo -// -// Created by pikacode@qq.com on 2017/10/20. -// Copyright © 2017年 pikacode@qq.com. All rights reserved. -// - -#import - -typedef enum : NSUInteger { - EBCustomViewAppearModeTop,//default - EBCustomViewAppearModeLeft, - EBCustomViewAppearModeRight, - EBCustomViewAppearModeBottom, - EBCustomViewAppearModeCenter -} EBCustomBannerViewAppearMode; - -@class EBCustomBannerViewMaker; -@interface EBCustomBannerView : NSObject - -//make a custom view and show immediately, -+(instancetype)showCustomView:(UIView*)view block:(void(^)(EBCustomBannerViewMaker *make))block; - -//make a custom view and show later -+(instancetype)customView:(UIView*)view block:(void(^)(EBCustomBannerViewMaker *make))block; - --(void)show; --(void)hide; - -@end - -@interface EBCustomBannerViewMaker : NSObject - -@property(nonatomic, assign)CGRect portraitFrame;//default is view.frame -@property(nonatomic, assign)CGRect landscapeFrame;//default is portraitFrame -@property(nonatomic, assign)UInt32 soundID;//default is 0 -@property(nonatomic, strong)NSString *soundName; -@property(nonatomic, assign)NSTimeInterval animationDuration;//default is 0.3 -@property(nonatomic, assign)NSTimeInterval stayDuration;//default is 4.0, set 0 will not hide -@property(nonatomic, assign)EBCustomBannerViewAppearMode portraitMode;//default is top -@property(nonatomic, assign)EBCustomBannerViewAppearMode landscapeMode;//default is top - -@property(nonatomic, strong)NSArray*centerModeDurations;//default is @[@0.3, @0.2, @0.1]; - -@property(nonatomic, assign)BOOL vibrateOnMute;//default is YES - -@end diff --git a/demo/Pods/EBBannerView/LICENSE b/demo/Pods/EBBannerView/LICENSE deleted file mode 100644 index c4b0ada..0000000 --- a/demo/Pods/EBBannerView/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2017 pikacode - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/demo/Pods/EBBannerView/README.md b/demo/Pods/EBBannerView/README.md deleted file mode 100644 index be8d3af..0000000 --- a/demo/Pods/EBBannerView/README.md +++ /dev/null @@ -1,221 +0,0 @@ -查看中文文档 [Chinese README.md](/README_CHS.md) - -Email:pikacode@qq.com - -QQ群: 345192153 - - - -# EBBannerView - -Only one line to show: - -- a banner the same style as iOS Push Notifications (auto show iOS 9/10/11/12 styles up to system version) -- auto play a sound or vibrate when the banner is showing - - -- support swipe down gesture for a long text - -And more: - -- custom banner's icon/title/date/content/animation_time_interval -- custom the sound (use system sound or play a sound file) - - -- autosize portrait/landscape frame -- show a custom view with different frame in portrait/landscape -- custom view has different animation mode, appear from top/left/right/left/center - - -- NSNotification with click event and pass a value - - - - -## Screenshot - -### System style: - - ![](screenshot/3.gif) - - - -### Custom style: - - ![](screenshot/4.gif) - - - -## Installation - -### pod - - target 'YourTargetName' do - pod 'EBBannerView' - end - - - -## Usage - - -### System style - ---- - -```objc -#import -``` - -2 ways to use: - - - -#### 1.Show a iOS style banner with one line - -up to system version,will show iOS 9/10/11 style,auto show app icon/name. - -```objc -[EBBannerView showWithContent:@"custom content"]; -``` - - - - -#### 2.Customize all values include iOS style - -```objc -//1.create a banner, custom all values -EBBannerView *banner = [EBBannerView bannerWithBlock:^(EBBannerViewMaker *make) { - make.style = EBBannerViewStyleiOS9;//custom system, default is current - //make.style = 9; - make.content = @"MINE eye hath played the painter and hath stelled"; - //make.object = ... - //make.icon = ... - //make.title = ... - //make.soundID = ... -}]; - -//2.show -[banner show]; -``` - - - -##### Parameters: - -(if not set will use default values) - -- `style`:the iOS style, default is `UIDevice.currentDevice.systemVersion.intValue`, type enum : NSInteger {9/10/11} -- `icon`:the icon, default is app icon, type UIImage -- `title`:the title, default is app name, type NSString -- `date`:the date, default is localized string @"现在" = @"now", type NSString -- `content`:the content, type NSString -- `showAnimationDuration`:the animation time(show the banner), type NSTimeInterval, default is 0.3 -- `hideAnimationDuration`:the animation time(hide the banner), type NSTimeInterval, default is 0.5 -- `stayDuration`:how long the banner will stay before hide, type NSTimeInterval, default is 4.0 -- `swipeDownStayDuration`:how long a long text banner will stay before hide when it is expanded, default is 4.0. U can set it a large value, then the banner will not hide, until customer click it or call 'hide' -- `object`:you can set it when create, then get it when clicked by adding an observer (see below), default is `content`,type id -- `soundID`:the sound will play when the banner is showing (when the mute is turn on iPhone will vibrate), type UInt32 - - - it's iOS system sound id, default push notification sound "Tritone" is 1312 - - More sound id to see here [iOS Predefined sounds](http://iphonedevwiki.net/index.php/AudioServices#) or here [AudioServices sounds](http://www.cocoachina.com/bbs/read.php?tid=134344) - - - You can download all the system sounds [UISounds.zip](/UISounds.zip) , listen and choose one which you perfer, then check out it's `id` with the form above -- `soundName`:play a cusome sound file, type NSString - - drag the file to Xcode proj - - pass the file name and extension,e.g. `banner.soundName = @"sound.mp3"` -- `showDetailOrHideWhenClickLongText`: when click a long text banner, expand it for all height or hide it, YES = expand/NO = hide, default is YES - - - - -### Custom style - ---- - -```objc -#import -``` - -2 ways to use: - - - -#### 1.create and show immediately - -```objc -UIView *view = ...;//the view want to show - -[EBCustomBannerView showCustomView:view block:^(EBCustomBannerViewMaker *make) { - make.portraitFrame = ...;//frame in portrait - make.portraitMode = EBCustomViewAppearModeTop;//appear from top in portrait - make.soundID = 1312; - make.stayDuration = 3.0; - //...... -}]; -``` - - - -#### 2.create and show after - -```objc -UIView *view = ...;//the view want to show - -//1. -EBCustomBannerView *customView = [EBCustomBannerView customView:view block:^(EBCustomBannerViewMaker *make) { - make.portraitFrame = ...; - make.portraitMode = EBCustomViewAppearModeTop; - make.soundID = 1312; - make.stayDuration = 3.0; - //...... -}]; - -//2. -[customView show]; -//[customView hide]; -``` - - - -##### Parameters: - -- `portraitFrame`: frame in portrait,default is view.frame,type CGRect -- `landscapeFrame`: frame in landscape,default is view.frame,type CGRect -- `soundID`: (the same as `system style`'s) -- `soundName`: (the same as `system style`'s) -- `animationDuration`: (the same as `system style`'s) -- `stayDuration`: (the same as `system style`'s) -- `portraitMode`: in portrait view appears from top/bottom/left/right/center, default is top, type enum -- `landscapeMode`: in landscape view appears from top/bottom/left/right/center, default is top, type enum -- `centerModeDurations`: the animation time of view appears from center, default is @[@0.3, @0.2, @0.1], `animationDuration` is invalid for center animation - - - - - -## Handle click event and pass value (system style) - -- add an observer for `EBBannerViewDidClickNotification` and handle click event -- pass an object when init the banner, and get it when clicked - -```objc -#import -{ - ... - EBBannerView *banner = [EBBannerView bannerWithBlock:^(EBBannerViewMaker *make) { - ... - make.object = aObject; - }]; -} - -{ - ... - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(bannerViewDidClick:) name:EBBannerViewDidClickNotification object:nil]; -} - --(void)bannerViewDidClick:(NSNotification*)noti{ - NSLog(@"%@",noti.object); -} -``` diff --git a/demo/Pods/Manifest.lock b/demo/Pods/Manifest.lock index 1df29bb..b7aa8bd 100644 --- a/demo/Pods/Manifest.lock +++ b/demo/Pods/Manifest.lock @@ -13,4 +13,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 90f7b9d231aa1e228ab4f7e64027378e898d42e8 -COCOAPODS: 1.7.5 +COCOAPODS: 1.9.1 diff --git a/demo/Pods/Pods.xcodeproj/project.pbxproj b/demo/Pods/Pods.xcodeproj/project.pbxproj index 7dd3f2d..280d641 100644 --- a/demo/Pods/Pods.xcodeproj/project.pbxproj +++ b/demo/Pods/Pods.xcodeproj/project.pbxproj @@ -7,23 +7,23 @@ objects = { /* Begin PBXBuildFile section */ - 135BBBEA3F03A8BCCF00E68BA9C1EF41 /* EBBannerViewMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = BD88EF5D0D18CD3ED7ABCD1441763C3B /* EBBannerViewMaker.m */; }; - 14F0D631B625DBBB5EF319C543C605D9 /* EBBannerWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 19E4136F6C2C3F526D26AC1F249ED460 /* EBBannerWindow.m */; }; + 135BBBEA3F03A8BCCF00E68BA9C1EF41 /* EBBannerViewMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C1DD60328C2D98EAF385861C09F8BE6 /* EBBannerViewMaker.m */; }; + 14F0D631B625DBBB5EF319C543C605D9 /* EBBannerWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 7828B3F34E87E82AFB6DEB6549ADDE36 /* EBBannerWindow.m */; }; 1D99CD896A5C4BF457DAC6A7D5933442 /* Pods-demo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CB52E66926AB9BC50637F9CA88E16E56 /* Pods-demo-dummy.m */; }; - 2DF8DCE07CA335E2392386F6352CE756 /* EBCustomBannerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 709CC9FF46F6807CB429883EE59128DB /* EBCustomBannerView.m */; }; - 5058FA5EF7C03E7360D7A4FC4D4CCB2C /* EBBannerWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = C9FCA0CC292EC7FAB3D72BA2CB243463 /* EBBannerWindow.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5293CC8CE2EAAC25DAEE75773F02E4C8 /* EBMuteDetector.m in Sources */ = {isa = PBXBuildFile; fileRef = CD131F4BEAB12FDAB532049F176DA6ED /* EBMuteDetector.m */; }; - 706CB5A269A002159FE54347A153414F /* EBBannerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 75A6E128E32144687B4FC542A4C1AAED /* EBBannerView.m */; }; - 721ADC8335FB4D9112834A11969E98A3 /* EBEmptyWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = E99FDC68F80C827AFB74B04E407172E5 /* EBEmptyWindow.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 730F74A32BD802C6783E48D55D4F8120 /* EBBannerView+Categories.h in Headers */ = {isa = PBXBuildFile; fileRef = A57C75F1BE2C9C9AD6B67A47347BDA97 /* EBBannerView+Categories.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 78DCB6B31D2FAF9113D0B113659C775F /* EBBannerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 73CD79A8414115A84D1DED124DD1E1AB /* EBBannerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 794F2D9615DF3F739DC215B64BF6CBF3 /* EBMuteDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BAD01A69C2018B817E06E6AFC5C4493 /* EBMuteDetector.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 88F3D1080182C1DE87B1FCE09484CBE2 /* EBBannerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D7C9FBD338C6F8AC40CB0750434929F /* EBBannerViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9C98408B8261ADE84CAC471B47602484 /* EBBannerView+Categories.m in Sources */ = {isa = PBXBuildFile; fileRef = B3F314EE4DB26795D9E77D0380118F1D /* EBBannerView+Categories.m */; }; - BF349425703DAF6C2D5975F7D731667B /* EBEmptyWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 262FE807163DA1D0BEA682F378967C68 /* EBEmptyWindow.m */; }; - CA70322998E2DB5E32E715A064A0AD3D /* EBCustomBannerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1518491EECBB6F6D660B51CFF1ED8898 /* EBCustomBannerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D4CFC8C29461B3AD09F123551E8B94B6 /* EBBannerView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E99F691BB841330134A7ABDF794C3C1B /* EBBannerView-dummy.m */; }; - FD6D8147A0E747582207618A21E67A05 /* EBBannerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0824C9293B90D70EE36D8253B2A109F4 /* EBBannerViewController.m */; }; + 2DF8DCE07CA335E2392386F6352CE756 /* EBCustomBannerView.m in Sources */ = {isa = PBXBuildFile; fileRef = B9A746B110D94A8D7ED55AC6B7EF5367 /* EBCustomBannerView.m */; }; + 5058FA5EF7C03E7360D7A4FC4D4CCB2C /* EBBannerWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = AA0FDE38FE266349D19B1B7A0EA3D105 /* EBBannerWindow.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5293CC8CE2EAAC25DAEE75773F02E4C8 /* EBMuteDetector.m in Sources */ = {isa = PBXBuildFile; fileRef = 43E58F9A62A4CCFD9921D32D46969BAF /* EBMuteDetector.m */; }; + 706CB5A269A002159FE54347A153414F /* EBBannerView.m in Sources */ = {isa = PBXBuildFile; fileRef = C2CB3DC9A68B83B93ECF17183720C5D0 /* EBBannerView.m */; }; + 721ADC8335FB4D9112834A11969E98A3 /* EBEmptyWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = C9B08C2952F006FD2AAC96C98C6B46BD /* EBEmptyWindow.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 730F74A32BD802C6783E48D55D4F8120 /* EBBannerView+Categories.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CB213BDE8D78A40C44C48AC78B3ED59 /* EBBannerView+Categories.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 78DCB6B31D2FAF9113D0B113659C775F /* EBBannerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 78FEF56BEEEAFAAAF845D8D09CB24EB7 /* EBBannerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 794F2D9615DF3F739DC215B64BF6CBF3 /* EBMuteDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = AB93DF1F581A8AC05C48B89363CCA858 /* EBMuteDetector.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 88F3D1080182C1DE87B1FCE09484CBE2 /* EBBannerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D88D81ABB03A32F9F26591586F3F50A1 /* EBBannerViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9C98408B8261ADE84CAC471B47602484 /* EBBannerView+Categories.m in Sources */ = {isa = PBXBuildFile; fileRef = CAF831D9975F0D8A2B08E2F772A44580 /* EBBannerView+Categories.m */; }; + BF349425703DAF6C2D5975F7D731667B /* EBEmptyWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = C42AD8AE1ECE79F2B827E89E8452832A /* EBEmptyWindow.m */; }; + CA70322998E2DB5E32E715A064A0AD3D /* EBCustomBannerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 70CF47D722E70F8F963FCE35BDA001EF /* EBCustomBannerView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D4CFC8C29461B3AD09F123551E8B94B6 /* EBBannerView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 48CFA41EC0B76A43429EFB2556ED7EF3 /* EBBannerView-dummy.m */; }; + FD6D8147A0E747582207618A21E67A05 /* EBBannerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 21064F233978AA899D7D131E93981674 /* EBBannerViewController.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -37,37 +37,39 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0824C9293B90D70EE36D8253B2A109F4 /* EBBannerViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EBBannerViewController.m; sourceTree = ""; }; - 1518491EECBB6F6D660B51CFF1ED8898 /* EBCustomBannerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EBCustomBannerView.h; path = EBBannerView/EBCustomBannerView.h; sourceTree = ""; }; - 19E4136F6C2C3F526D26AC1F249ED460 /* EBBannerWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EBBannerWindow.m; sourceTree = ""; }; - 262FE807163DA1D0BEA682F378967C68 /* EBEmptyWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EBEmptyWindow.m; sourceTree = ""; }; - 2C4860F4D4D6C9848DDC8EB93C6F115F /* EBBannerViewController.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = EBBannerViewController.xib; path = EBBannerView/Classes/EBBannerViewController.xib; sourceTree = ""; }; - 3358ECAB4CE9C638FC383B225B3EEE3B /* EBMuteDetector.mp3 */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = audio.mp3; name = EBMuteDetector.mp3; path = EBBannerView/Classes/EBMuteDetector.mp3; sourceTree = ""; }; - 3F3E6262E23572C70CB18A676ED08769 /* EBBannerView.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = EBBannerView.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 4BAD01A69C2018B817E06E6AFC5C4493 /* EBMuteDetector.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = EBMuteDetector.h; sourceTree = ""; }; - 5E2CD4C6F65A9810F517FAFBA7A2F2FB /* EBSystemBannerView.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = EBSystemBannerView.xib; path = EBBannerView/Classes/EBSystemBannerView.xib; sourceTree = ""; }; + 0CB213BDE8D78A40C44C48AC78B3ED59 /* EBBannerView+Categories.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "EBBannerView+Categories.h"; sourceTree = ""; }; + 0F11E1E038EEDB3930DCACE2F928558D /* EBSystemBannerView.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = EBSystemBannerView.xib; path = EBBannerView/Classes/EBSystemBannerView.xib; sourceTree = ""; }; + 1C1DD60328C2D98EAF385861C09F8BE6 /* EBBannerViewMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EBBannerViewMaker.m; sourceTree = ""; }; + 21064F233978AA899D7D131E93981674 /* EBBannerViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EBBannerViewController.m; sourceTree = ""; }; + 23CD2C96C69B46D3AE4CD00B9C94C9E7 /* EBBannerViewController.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = EBBannerViewController.xib; path = EBBannerView/Classes/EBBannerViewController.xib; sourceTree = ""; }; + 42D11FB474355459012121002BA6FE22 /* EBBannerView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "EBBannerView-prefix.pch"; sourceTree = ""; }; + 43E58F9A62A4CCFD9921D32D46969BAF /* EBMuteDetector.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EBMuteDetector.m; sourceTree = ""; }; + 48CFA41EC0B76A43429EFB2556ED7EF3 /* EBBannerView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "EBBannerView-dummy.m"; sourceTree = ""; }; 620C2E500E91AE09F121C9670613B82F /* libPods-demo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-demo.a"; path = "libPods-demo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 65215EE9F2F77A24ECB9AEC76A25B299 /* Pods-demo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-demo-acknowledgements.markdown"; sourceTree = ""; }; - 709CC9FF46F6807CB429883EE59128DB /* EBCustomBannerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EBCustomBannerView.m; sourceTree = ""; }; - 73CD79A8414115A84D1DED124DD1E1AB /* EBBannerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EBBannerView.h; path = EBBannerView/EBBannerView.h; sourceTree = ""; }; - 75A6E128E32144687B4FC542A4C1AAED /* EBBannerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EBBannerView.m; sourceTree = ""; }; + 66C332D53534D06B1BC7EB73FD0785F8 /* EBBannerView.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = EBBannerView.release.xcconfig; sourceTree = ""; }; + 70CF47D722E70F8F963FCE35BDA001EF /* EBCustomBannerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EBCustomBannerView.h; path = EBBannerView/EBCustomBannerView.h; sourceTree = ""; }; + 7828B3F34E87E82AFB6DEB6549ADDE36 /* EBBannerWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EBBannerWindow.m; sourceTree = ""; }; + 78FEF56BEEEAFAAAF845D8D09CB24EB7 /* EBBannerView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EBBannerView.h; path = EBBannerView/EBBannerView.h; sourceTree = ""; }; 7A7F91736DF67A7962CE1C1C807B14DE /* Pods-demo-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-demo-acknowledgements.plist"; sourceTree = ""; }; - 7D7C9FBD338C6F8AC40CB0750434929F /* EBBannerViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EBBannerViewController.h; path = EBBannerView/EBBannerViewController.h; sourceTree = ""; }; - 92CFA2B85ADDF6FE0477288B14DDBAAB /* EBBannerView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "EBBannerView-prefix.pch"; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - A57C75F1BE2C9C9AD6B67A47347BDA97 /* EBBannerView+Categories.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "EBBannerView+Categories.h"; sourceTree = ""; }; - B3F314EE4DB26795D9E77D0380118F1D /* EBBannerView+Categories.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "EBBannerView+Categories.m"; sourceTree = ""; }; - BD88EF5D0D18CD3ED7ABCD1441763C3B /* EBBannerViewMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EBBannerViewMaker.m; sourceTree = ""; }; + A1224E0E3C99635263FBFE4568CED842 /* EBBannerView.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = EBBannerView.xib; path = EBBannerView/Classes/EBBannerView.xib; sourceTree = ""; }; + AA0FDE38FE266349D19B1B7A0EA3D105 /* EBBannerWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = EBBannerWindow.h; sourceTree = ""; }; + AB93DF1F581A8AC05C48B89363CCA858 /* EBMuteDetector.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = EBMuteDetector.h; sourceTree = ""; }; + B5A0192CE71A426D2559FC39F9C62C55 /* EBBannerView.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = EBBannerView.debug.xcconfig; sourceTree = ""; }; + B9A746B110D94A8D7ED55AC6B7EF5367 /* EBCustomBannerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EBCustomBannerView.m; sourceTree = ""; }; BE22CB6940ABA456A76106EA38199292 /* Pods-demo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-demo.release.xcconfig"; sourceTree = ""; }; + C17BDEC160BFC3564106C2A55D48505D /* EBBannerView.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = EBBannerView.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + C2CB3DC9A68B83B93ECF17183720C5D0 /* EBBannerView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EBBannerView.m; sourceTree = ""; }; + C42AD8AE1ECE79F2B827E89E8452832A /* EBEmptyWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EBEmptyWindow.m; sourceTree = ""; }; C51BAA6DED44105DB89633F3B7584039 /* Pods-demo-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-demo-resources.sh"; sourceTree = ""; }; - C9FCA0CC292EC7FAB3D72BA2CB243463 /* EBBannerWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = EBBannerWindow.h; sourceTree = ""; }; + C9B08C2952F006FD2AAC96C98C6B46BD /* EBEmptyWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = EBEmptyWindow.h; sourceTree = ""; }; + CAF831D9975F0D8A2B08E2F772A44580 /* EBBannerView+Categories.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "EBBannerView+Categories.m"; sourceTree = ""; }; CB52E66926AB9BC50637F9CA88E16E56 /* Pods-demo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-demo-dummy.m"; sourceTree = ""; }; - CC82678CF2F84769FFCC616591191EED /* EBBannerView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = EBBannerView.xcconfig; sourceTree = ""; }; - CD131F4BEAB12FDAB532049F176DA6ED /* EBMuteDetector.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EBMuteDetector.m; sourceTree = ""; }; + D88D81ABB03A32F9F26591586F3F50A1 /* EBBannerViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EBBannerViewController.h; path = EBBannerView/EBBannerViewController.h; sourceTree = ""; }; + DBE01C9CF12982E55B52635C952F5CCE /* EBMuteDetector.mp3 */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = audio.mp3; name = EBMuteDetector.mp3; path = EBBannerView/Classes/EBMuteDetector.mp3; sourceTree = ""; }; DCCE1D29786AADF681B45E66155E3FBE /* libEBBannerView.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libEBBannerView.a; path = libEBBannerView.a; sourceTree = BUILT_PRODUCTS_DIR; }; E990D9D145BCFAC430C284853D425FD6 /* Pods-demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-demo.debug.xcconfig"; sourceTree = ""; }; - E99F691BB841330134A7ABDF794C3C1B /* EBBannerView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "EBBannerView-dummy.m"; sourceTree = ""; }; - E99FDC68F80C827AFB74B04E407172E5 /* EBEmptyWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = EBEmptyWindow.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -97,49 +99,38 @@ name = Products; sourceTree = ""; }; - 04AE5A7D0E9C2E94C8BBC68264E93E61 /* Classes */ = { + 042AA5615B3381491C4D8769D1B0137E /* Pod */ = { isa = PBXGroup; children = ( - 75A6E128E32144687B4FC542A4C1AAED /* EBBannerView.m */, - A57C75F1BE2C9C9AD6B67A47347BDA97 /* EBBannerView+Categories.h */, - B3F314EE4DB26795D9E77D0380118F1D /* EBBannerView+Categories.m */, - 0824C9293B90D70EE36D8253B2A109F4 /* EBBannerViewController.m */, - BD88EF5D0D18CD3ED7ABCD1441763C3B /* EBBannerViewMaker.m */, - C9FCA0CC292EC7FAB3D72BA2CB243463 /* EBBannerWindow.h */, - 19E4136F6C2C3F526D26AC1F249ED460 /* EBBannerWindow.m */, - 709CC9FF46F6807CB429883EE59128DB /* EBCustomBannerView.m */, - E99FDC68F80C827AFB74B04E407172E5 /* EBEmptyWindow.h */, - 262FE807163DA1D0BEA682F378967C68 /* EBEmptyWindow.m */, - 4BAD01A69C2018B817E06E6AFC5C4493 /* EBMuteDetector.h */, - CD131F4BEAB12FDAB532049F176DA6ED /* EBMuteDetector.m */, - ); - name = Classes; - path = EBBannerView/Classes; - sourceTree = ""; - }; - 09CBD336016553272B2FD818C20B6E7E /* Pod */ = { - isa = PBXGroup; - children = ( - 3F3E6262E23572C70CB18A676ED08769 /* EBBannerView.podspec */, + C17BDEC160BFC3564106C2A55D48505D /* EBBannerView.podspec */, ); name = Pod; sourceTree = ""; }; - 10AA435518F564F6E51E5E9E1BDC0318 /* Support Files */ = { + 194CE9D10C4B16D70504AC15A6D907D8 /* Classes */ = { isa = PBXGroup; children = ( - CC82678CF2F84769FFCC616591191EED /* EBBannerView.xcconfig */, - E99F691BB841330134A7ABDF794C3C1B /* EBBannerView-dummy.m */, - 92CFA2B85ADDF6FE0477288B14DDBAAB /* EBBannerView-prefix.pch */, + C2CB3DC9A68B83B93ECF17183720C5D0 /* EBBannerView.m */, + 0CB213BDE8D78A40C44C48AC78B3ED59 /* EBBannerView+Categories.h */, + CAF831D9975F0D8A2B08E2F772A44580 /* EBBannerView+Categories.m */, + 21064F233978AA899D7D131E93981674 /* EBBannerViewController.m */, + 1C1DD60328C2D98EAF385861C09F8BE6 /* EBBannerViewMaker.m */, + AA0FDE38FE266349D19B1B7A0EA3D105 /* EBBannerWindow.h */, + 7828B3F34E87E82AFB6DEB6549ADDE36 /* EBBannerWindow.m */, + B9A746B110D94A8D7ED55AC6B7EF5367 /* EBCustomBannerView.m */, + C9B08C2952F006FD2AAC96C98C6B46BD /* EBEmptyWindow.h */, + C42AD8AE1ECE79F2B827E89E8452832A /* EBEmptyWindow.m */, + AB93DF1F581A8AC05C48B89363CCA858 /* EBMuteDetector.h */, + 43E58F9A62A4CCFD9921D32D46969BAF /* EBMuteDetector.m */, ); - name = "Support Files"; - path = "demo/Pods/Target Support Files/EBBannerView"; + name = Classes; + path = EBBannerView/Classes; sourceTree = ""; }; 1F8874C0B07A7DADD355252A91DFE814 /* Development Pods */ = { isa = PBXGroup; children = ( - 7584CB2917A2E395046BE5CBFC729451 /* EBBannerView */, + EA22445D7E8C854F793DF362BA4E6F3D /* EBBannerView */, ); name = "Development Pods"; sourceTree = ""; @@ -152,19 +143,16 @@ name = "Targets Support Files"; sourceTree = ""; }; - 7584CB2917A2E395046BE5CBFC729451 /* EBBannerView */ = { + 7E94C1419E6F8C45B58E8D9C2067510A /* Support Files */ = { isa = PBXGroup; children = ( - 73CD79A8414115A84D1DED124DD1E1AB /* EBBannerView.h */, - 7D7C9FBD338C6F8AC40CB0750434929F /* EBBannerViewController.h */, - 1518491EECBB6F6D660B51CFF1ED8898 /* EBCustomBannerView.h */, - 04AE5A7D0E9C2E94C8BBC68264E93E61 /* Classes */, - 09CBD336016553272B2FD818C20B6E7E /* Pod */, - 92A9A3470E1D488F8BABDE1896EEABC8 /* Resources */, - 10AA435518F564F6E51E5E9E1BDC0318 /* Support Files */, + 48CFA41EC0B76A43429EFB2556ED7EF3 /* EBBannerView-dummy.m */, + 42D11FB474355459012121002BA6FE22 /* EBBannerView-prefix.pch */, + B5A0192CE71A426D2559FC39F9C62C55 /* EBBannerView.debug.xcconfig */, + 66C332D53534D06B1BC7EB73FD0785F8 /* EBBannerView.release.xcconfig */, ); - name = EBBannerView; - path = ../..; + name = "Support Files"; + path = "demo/Pods/Target Support Files/EBBannerView"; sourceTree = ""; }; 8CF7CABFFC9AA602C1EF25B1F3A4077D /* Pods-demo */ = { @@ -181,16 +169,6 @@ path = "Target Support Files/Pods-demo"; sourceTree = ""; }; - 92A9A3470E1D488F8BABDE1896EEABC8 /* Resources */ = { - isa = PBXGroup; - children = ( - 2C4860F4D4D6C9848DDC8EB93C6F115F /* EBBannerViewController.xib */, - 3358ECAB4CE9C638FC383B225B3EEE3B /* EBMuteDetector.mp3 */, - 5E2CD4C6F65A9810F517FAFBA7A2F2FB /* EBSystemBannerView.xib */, - ); - name = Resources; - sourceTree = ""; - }; CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( @@ -202,6 +180,17 @@ ); sourceTree = ""; }; + CFF34F6153E935BDFD7900CEEFA8ADA4 /* Resources */ = { + isa = PBXGroup; + children = ( + A1224E0E3C99635263FBFE4568CED842 /* EBBannerView.xib */, + 23CD2C96C69B46D3AE4CD00B9C94C9E7 /* EBBannerViewController.xib */, + DBE01C9CF12982E55B52635C952F5CCE /* EBMuteDetector.mp3 */, + 0F11E1E038EEDB3930DCACE2F928558D /* EBSystemBannerView.xib */, + ); + name = Resources; + sourceTree = ""; + }; D89477F20FB1DE18A04690586D7808C4 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -209,6 +198,21 @@ name = Frameworks; sourceTree = ""; }; + EA22445D7E8C854F793DF362BA4E6F3D /* EBBannerView */ = { + isa = PBXGroup; + children = ( + 78FEF56BEEEAFAAAF845D8D09CB24EB7 /* EBBannerView.h */, + D88D81ABB03A32F9F26591586F3F50A1 /* EBBannerViewController.h */, + 70CF47D722E70F8F963FCE35BDA001EF /* EBCustomBannerView.h */, + 194CE9D10C4B16D70504AC15A6D907D8 /* Classes */, + 042AA5615B3381491C4D8769D1B0137E /* Pod */, + CFF34F6153E935BDFD7900CEEFA8ADA4 /* Resources */, + 7E94C1419E6F8C45B58E8D9C2067510A /* Support Files */, + ); + name = EBBannerView; + path = ../..; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -286,6 +290,7 @@ hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); mainGroup = CF1408CF629C7361332E53B88F7BD30C; productRefGroup = 03287A47EA3B5F13FD23B4F98224091F /* Products */; @@ -481,9 +486,9 @@ }; name = Debug; }; - B584D9C53A9AA4A6EF0C8AB49FADE5CF /* Debug */ = { + AB3DB08581EFBD992F298586FD2E3ED7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CC82678CF2F84769FFCC616591191EED /* EBBannerView.xcconfig */; + baseConfigurationReference = B5A0192CE71A426D2559FC39F9C62C55 /* EBBannerView.debug.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -525,9 +530,9 @@ }; name = Debug; }; - EBE463ED94A6349E0D0341AC5D1DAEE2 /* Release */ = { + BA7DC6A54CC1361275BA0F77EC70CD39 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CC82678CF2F84769FFCC616591191EED /* EBBannerView.xcconfig */; + baseConfigurationReference = 66C332D53534D06B1BC7EB73FD0785F8 /* EBBannerView.release.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -555,8 +560,8 @@ 07D77F023F7C4BA73C65C49524B332D5 /* Build configuration list for PBXNativeTarget "EBBannerView" */ = { isa = XCConfigurationList; buildConfigurations = ( - B584D9C53A9AA4A6EF0C8AB49FADE5CF /* Debug */, - EBE463ED94A6349E0D0341AC5D1DAEE2 /* Release */, + AB3DB08581EFBD992F298586FD2E3ED7 /* Debug */, + BA7DC6A54CC1361275BA0F77EC70CD39 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/demo/Pods/Pods.xcodeproj/xcuserdata/YCYL.xcuserdatad/xcschemes/EBBannerView.xcscheme b/demo/Pods/Pods.xcodeproj/xcuserdata/YCYL.xcuserdatad/xcschemes/EBBannerView.xcscheme deleted file mode 100644 index 52f1fd6..0000000 --- a/demo/Pods/Pods.xcodeproj/xcuserdata/YCYL.xcuserdatad/xcschemes/EBBannerView.xcscheme +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/Pods/Pods.xcodeproj/xcuserdata/YCYL.xcuserdatad/xcschemes/Pods-demo.xcscheme b/demo/Pods/Pods.xcodeproj/xcuserdata/YCYL.xcuserdatad/xcschemes/Pods-demo.xcscheme deleted file mode 100644 index c3bad07..0000000 --- a/demo/Pods/Pods.xcodeproj/xcuserdata/YCYL.xcuserdatad/xcschemes/Pods-demo.xcscheme +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/Pods/Pods.xcodeproj/xcuserdata/YCYL.xcuserdatad/xcschemes/xcschememanagement.plist b/demo/Pods/Pods.xcodeproj/xcuserdata/YCYL.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index c007c17..0000000 --- a/demo/Pods/Pods.xcodeproj/xcuserdata/YCYL.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,25 +0,0 @@ - - - - - SchemeUserState - - EBBannerView.xcscheme - - isShown - - orderHint - 0 - - Pods-demo.xcscheme - - isShown - - orderHint - 1 - - - SuppressBuildableAutocreation - - - diff --git a/demo/Pods/Pods.xcodeproj/xcuserdata/pikacode.xcuserdatad/xcschemes/xcschememanagement.plist b/demo/Pods/Pods.xcodeproj/xcuserdata/pikacode.xcuserdatad/xcschemes/xcschememanagement.plist index b54741e..c007c17 100644 --- a/demo/Pods/Pods.xcodeproj/xcuserdata/pikacode.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/demo/Pods/Pods.xcodeproj/xcuserdata/pikacode.xcuserdatad/xcschemes/xcschememanagement.plist @@ -8,11 +8,15 @@ isShown + orderHint + 0 Pods-demo.xcscheme isShown + orderHint + 1 SuppressBuildableAutocreation diff --git a/demo/Pods/Pods.xcodeproj/xcuserdata/wtsd.xcuserdatad/xcschemes/EBBannerView.xcscheme b/demo/Pods/Pods.xcodeproj/xcuserdata/wtsd.xcuserdatad/xcschemes/EBBannerView.xcscheme deleted file mode 100644 index 970770f..0000000 --- a/demo/Pods/Pods.xcodeproj/xcuserdata/wtsd.xcuserdatad/xcschemes/EBBannerView.xcscheme +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/Pods/Pods.xcodeproj/xcuserdata/wtsd.xcuserdatad/xcschemes/Pods-demo.xcscheme b/demo/Pods/Pods.xcodeproj/xcuserdata/wtsd.xcuserdatad/xcschemes/Pods-demo.xcscheme deleted file mode 100644 index c3bad07..0000000 --- a/demo/Pods/Pods.xcodeproj/xcuserdata/wtsd.xcuserdatad/xcschemes/Pods-demo.xcscheme +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/Pods/Pods.xcodeproj/xcuserdata/wtsd.xcuserdatad/xcschemes/xcschememanagement.plist b/demo/Pods/Pods.xcodeproj/xcuserdata/wtsd.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index c007c17..0000000 --- a/demo/Pods/Pods.xcodeproj/xcuserdata/wtsd.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,25 +0,0 @@ - - - - - SchemeUserState - - EBBannerView.xcscheme - - isShown - - orderHint - 0 - - Pods-demo.xcscheme - - isShown - - orderHint - 1 - - - SuppressBuildableAutocreation - - - diff --git a/demo/Pods/Pods.xcodeproj/xcuserdata/wxc.xcuserdatad/xcschemes/EBBannerView.xcscheme b/demo/Pods/Pods.xcodeproj/xcuserdata/wxc.xcuserdatad/xcschemes/EBBannerView.xcscheme deleted file mode 100644 index 52f1fd6..0000000 --- a/demo/Pods/Pods.xcodeproj/xcuserdata/wxc.xcuserdatad/xcschemes/EBBannerView.xcscheme +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/Pods/Pods.xcodeproj/xcuserdata/wxc.xcuserdatad/xcschemes/Pods-demo.xcscheme b/demo/Pods/Pods.xcodeproj/xcuserdata/wxc.xcuserdatad/xcschemes/Pods-demo.xcscheme deleted file mode 100644 index c3bad07..0000000 --- a/demo/Pods/Pods.xcodeproj/xcuserdata/wxc.xcuserdatad/xcschemes/Pods-demo.xcscheme +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demo/Pods/Pods.xcodeproj/xcuserdata/wxc.xcuserdatad/xcschemes/xcschememanagement.plist b/demo/Pods/Pods.xcodeproj/xcuserdata/wxc.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index b54741e..0000000 --- a/demo/Pods/Pods.xcodeproj/xcuserdata/wxc.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,21 +0,0 @@ - - - - - SchemeUserState - - EBBannerView.xcscheme - - isShown - - - Pods-demo.xcscheme - - isShown - - - - SuppressBuildableAutocreation - - - diff --git a/demo/Pods/Target Support Files/EBBannerView/EBBannerView.xcconfig b/demo/Pods/Target Support Files/EBBannerView/EBBannerView.debug.xcconfig similarity index 92% rename from demo/Pods/Target Support Files/EBBannerView/EBBannerView.xcconfig rename to demo/Pods/Target Support Files/EBBannerView/EBBannerView.debug.xcconfig index 7ab7306..3cb3114 100644 --- a/demo/Pods/Target Support Files/EBBannerView/EBBannerView.xcconfig +++ b/demo/Pods/Target Support Files/EBBannerView/EBBannerView.debug.xcconfig @@ -7,3 +7,4 @@ PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/demo/Pods/Target Support Files/EBBannerView/EBBannerView.release.xcconfig b/demo/Pods/Target Support Files/EBBannerView/EBBannerView.release.xcconfig new file mode 100644 index 0000000..3cb3114 --- /dev/null +++ b/demo/Pods/Target Support Files/EBBannerView/EBBannerView.release.xcconfig @@ -0,0 +1,10 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/EBBannerView +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/EBBannerView" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/EBBannerView" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/demo/Pods/Target Support Files/Pods-demo/Pods-demo-frameworks.sh b/demo/Pods/Target Support Files/Pods-demo/Pods-demo-frameworks.sh deleted file mode 100755 index 08e3eaa..0000000 --- a/demo/Pods/Target Support Files/Pods-demo/Pods-demo-frameworks.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then - # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy - # frameworks to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -# Used as a return value for each invocation of `strip_invalid_archs` function. -STRIP_BINARY_RETVAL=0 - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -# Copies and strips a vendored framework -install_framework() -{ - if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then - local source="${BUILT_PRODUCTS_DIR}/$1" - elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then - local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" - elif [ -r "$1" ]; then - local source="$1" - fi - - local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" - fi - - # Use filter instead of exclude so missing patterns don't throw errors. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" - - local basename - basename="$(basename -s .framework "$1")" - binary="${destination}/${basename}.framework/${basename}" - if ! [ -r "$binary" ]; then - binary="${destination}/${basename}" - fi - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then - strip_invalid_archs "$binary" - fi - - # Resign the code if required by the build settings to avoid unstable apps - code_sign_if_enabled "${destination}/$(basename "$1")" - - # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. - if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - code_sign_if_enabled "${destination}/${lib}" - done - fi -} - -# Copies and strips a vendored dSYM -install_dsym() { - local source="$1" - if [ -r "$source" ]; then - # Copy the dSYM into a the targets temp dir. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" - - local basename - basename="$(basename -s .framework.dSYM "$source")" - binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then - strip_invalid_archs "$binary" - fi - - if [[ $STRIP_BINARY_RETVAL == 1 ]]; then - # Move the stripped file into its final destination. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" - else - # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. - touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" - fi - fi -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" - - if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - code_sign_cmd="$code_sign_cmd &" - fi - echo "$code_sign_cmd" - eval "$code_sign_cmd" - fi -} - -# Strip invalid architectures -strip_invalid_archs() { - binary="$1" - # Get architectures for current target binary - binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" - # Intersect them with the architectures we are building for - intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" - # If there are no archs supported by this binary then warn the user - if [[ -z "$intersected_archs" ]]; then - echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." - STRIP_BINARY_RETVAL=0 - return - fi - stripped="" - for arch in $binary_archs; do - if ! [[ "${ARCHS}" == *"$arch"* ]]; then - # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 - stripped="$stripped $arch" - fi - done - if [[ "$stripped" ]]; then - echo "Stripped $binary of architectures:$stripped" - fi - STRIP_BINARY_RETVAL=1 -} - -if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - wait -fi diff --git a/demo/Pods/Target Support Files/Pods-demo/Pods-demo-resources.sh b/demo/Pods/Target Support Files/Pods-demo/Pods-demo-resources.sh index fcf947c..31445fc 100755 --- a/demo/Pods/Target Support Files/Pods-demo/Pods-demo-resources.sh +++ b/demo/Pods/Target Support Files/Pods-demo/Pods-demo-resources.sh @@ -97,11 +97,13 @@ EOM esac } if [[ "$CONFIGURATION" == "Debug" ]]; then + install_resource "${PODS_ROOT}/../../EBBannerView/Classes/EBBannerView.xib" install_resource "${PODS_ROOT}/../../EBBannerView/Classes/EBBannerViewController.xib" install_resource "${PODS_ROOT}/../../EBBannerView/Classes/EBMuteDetector.mp3" install_resource "${PODS_ROOT}/../../EBBannerView/Classes/EBSystemBannerView.xib" fi if [[ "$CONFIGURATION" == "Release" ]]; then + install_resource "${PODS_ROOT}/../../EBBannerView/Classes/EBBannerView.xib" install_resource "${PODS_ROOT}/../../EBBannerView/Classes/EBBannerViewController.xib" install_resource "${PODS_ROOT}/../../EBBannerView/Classes/EBMuteDetector.mp3" install_resource "${PODS_ROOT}/../../EBBannerView/Classes/EBSystemBannerView.xib" @@ -118,7 +120,7 @@ rm -f "$RESOURCES_TO_COPY" if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] then # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) + OTHER_XCASSETS=$(find -L "$PWD" -iname "*.xcassets" -type d) while read line; do if [[ $line != "${PODS_ROOT}*" ]]; then XCASSET_FILES+=("$line") diff --git a/demo/Pods/Target Support Files/Pods-demo/Pods-demo.debug.xcconfig b/demo/Pods/Target Support Files/Pods-demo/Pods-demo.debug.xcconfig index 2e68477..2cb4a7f 100644 --- a/demo/Pods/Target Support Files/Pods-demo/Pods-demo.debug.xcconfig +++ b/demo/Pods/Target Support Files/Pods-demo/Pods-demo.debug.xcconfig @@ -6,3 +6,4 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/demo/Pods/Target Support Files/Pods-demo/Pods-demo.release.xcconfig b/demo/Pods/Target Support Files/Pods-demo/Pods-demo.release.xcconfig index 2e68477..2cb4a7f 100644 --- a/demo/Pods/Target Support Files/Pods-demo/Pods-demo.release.xcconfig +++ b/demo/Pods/Target Support Files/Pods-demo/Pods-demo.release.xcconfig @@ -6,3 +6,4 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/demo/demo.xcodeproj/project.pbxproj b/demo/demo.xcodeproj/project.pbxproj index 48abfb0..73c785e 100644 --- a/demo/demo.xcodeproj/project.pbxproj +++ b/demo/demo.xcodeproj/project.pbxproj @@ -190,7 +190,7 @@ 0D292C1D1F94A27200BA5B87 /* Sources */, 0D292C1E1F94A27200BA5B87 /* Frameworks */, 0D292C1F1F94A27200BA5B87 /* Resources */, - 5984C61B8C2B4544D85B08A0 /* [CP] Copy Pods Resources */, + 5AA309ED22B1E67FF73EE596 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -254,19 +254,21 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 5984C61B8C2B4544D85B08A0 /* [CP] Copy Pods Resources */ = { + 5AA309ED22B1E67FF73EE596 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-demo/Pods-demo-resources.sh", + "${PODS_ROOT}/../../EBBannerView/Classes/EBBannerView.xib", "${PODS_ROOT}/../../EBBannerView/Classes/EBBannerViewController.xib", "${PODS_ROOT}/../../EBBannerView/Classes/EBMuteDetector.mp3", "${PODS_ROOT}/../../EBBannerView/Classes/EBSystemBannerView.xib", ); name = "[CP] Copy Pods Resources"; outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EBBannerView.nib", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EBBannerViewController.nib", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EBMuteDetector.mp3", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EBSystemBannerView.nib", diff --git a/demo/demo.xcworkspace/xcuserdata/YCYL.xcuserdatad/UserInterfaceState.xcuserstate b/demo/demo.xcworkspace/xcuserdata/YCYL.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 8acf8e42589b5ef46ab1fdfa8703b2ef36f53206..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23631 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 diff --git a/demo/demo.xcworkspace/xcuserdata/pikacode.xcuserdatad/IDEFindNavigatorScopes.plist b/demo/demo.xcworkspace/xcuserdata/pikacode.xcuserdatad/IDEFindNavigatorScopes.plist deleted file mode 100644 index 5dd5da8..0000000 --- a/demo/demo.xcworkspace/xcuserdata/pikacode.xcuserdatad/IDEFindNavigatorScopes.plist +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/demo/demo.xcworkspace/xcuserdata/pikacode.xcuserdatad/UserInterfaceState.xcuserstate b/demo/demo.xcworkspace/xcuserdata/pikacode.xcuserdatad/UserInterfaceState.xcuserstate index 04b8b2057d2b8c8303173925bc113148c4a14a7e..807ef1cb44d1d99240f2e649684f2391e3252f4a 100644 GIT binary patch delta 13418 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 literal 127355 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 diff --git a/demo/demo.xcworkspace/xcuserdata/pikacode.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/demo/demo.xcworkspace/xcuserdata/pikacode.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 1a61358..879e45c 100644 --- a/demo/demo.xcworkspace/xcuserdata/pikacode.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/demo/demo.xcworkspace/xcuserdata/pikacode.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -1,13 +1,13 @@ - - - - - - - - - - - - diff --git a/demo/demo.xcworkspace/xcuserdata/wtsd.xcuserdatad/UserInterfaceState.xcuserstate b/demo/demo.xcworkspace/xcuserdata/wtsd.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 876b2db1fbc621982ab37c00824fa8ac4b5e5c92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34738 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 - - diff --git a/demo/demo.xcworkspace/xcuserdata/wxc.xcuserdatad/UserInterfaceState.xcuserstate b/demo/demo.xcworkspace/xcuserdata/wxc.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index b2e61295886d80d2e75f235dff9f678b8ec23e74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63185 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 - -