From 8b8a7ad49d980c85b78cf9ca3bb388f8393df4cd Mon Sep 17 00:00:00 2001 From: xuxie Date: Fri, 22 Apr 2016 16:23:19 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=8A=9B=E5=87=BAControl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RMUniversalAlert.h | 5 +++++ RMUniversalAlert.m | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/RMUniversalAlert.h b/RMUniversalAlert.h index bab6791..c9c11cf 100644 --- a/RMUniversalAlert.h +++ b/RMUniversalAlert.h @@ -16,6 +16,11 @@ typedef void(^RMUniversalAlertCompletionBlock)(RMUniversalAlert * __nonnull aler @interface RMUniversalAlert : NSObject +@property (nonatomic) UIAlertController *alertController; +@property (nonatomic) UIAlertView *alertView; +@property (nonatomic) UIActionSheet *actionSheet; + + + (nonnull instancetype)showAlertInViewController:(nonnull UIViewController *)viewController withTitle:(nullable NSString *)title message:(nullable NSString *)message diff --git a/RMUniversalAlert.m b/RMUniversalAlert.m index 5d2faf0..bbb8869 100644 --- a/RMUniversalAlert.m +++ b/RMUniversalAlert.m @@ -20,10 +20,6 @@ @interface RMUniversalAlert () -@property (nonatomic) UIAlertController *alertController; -@property (nonatomic) UIAlertView *alertView; -@property (nonatomic) UIActionSheet *actionSheet; - @property (nonatomic, assign) BOOL hasCancelButton; @property (nonatomic, assign) BOOL hasDestructiveButton; @property (nonatomic, assign) BOOL hasOtherButtons; From f4ece345d7c5df4f439b5d70dc436369281eb32d Mon Sep 17 00:00:00 2001 From: xuxie Date: Fri, 22 Apr 2016 19:28:13 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RMUniversalAlert.h | 9 +- RMUniversalAlert.m | 50 + .../project.pbxproj | 1574 +++++++++++------ 3 files changed, 1124 insertions(+), 509 deletions(-) diff --git a/RMUniversalAlert.h b/RMUniversalAlert.h index c9c11cf..7fb58cc 100644 --- a/RMUniversalAlert.h +++ b/RMUniversalAlert.h @@ -14,11 +14,11 @@ typedef void(^RMUniversalAlertCompletionBlock)(RMUniversalAlert * __nonnull alert, NSInteger buttonIndex); +typedef void(^ShowTipDismissBlock)(); + @interface RMUniversalAlert : NSObject -@property (nonatomic) UIAlertController *alertController; -@property (nonatomic) UIAlertView *alertView; -@property (nonatomic) UIActionSheet *actionSheet; + + (nonnull instancetype)showAlertInViewController:(nonnull UIViewController *)viewController @@ -38,6 +38,9 @@ typedef void(^RMUniversalAlertCompletionBlock)(RMUniversalAlert * __nonnull aler popoverPresentationControllerBlock:(void(^ __nullable)(RMPopoverPresentationController * __nonnull popover))popoverPresentationControllerBlock tapBlock:(nullable RMUniversalAlertCompletionBlock)tapBlock; ++ (nonnull instancetype)showAlertInViewController:(nonnull UIViewController *)viewController + withMessage:(nullable NSString *)message withBlock:(nullable ShowTipDismissBlock) misBlock; + @property (readonly, nonatomic) BOOL visible; @property (readonly, nonatomic) NSInteger cancelButtonIndex; @property (readonly, nonatomic) NSInteger firstOtherButtonIndex; diff --git a/RMUniversalAlert.m b/RMUniversalAlert.m index bbb8869..782f5a0 100644 --- a/RMUniversalAlert.m +++ b/RMUniversalAlert.m @@ -20,6 +20,10 @@ @interface RMUniversalAlert () +@property (nonatomic) UIAlertController *alertController; +@property (nonatomic) UIAlertView *alertView; +@property (nonatomic) UIActionSheet *actionSheet; + @property (nonatomic, assign) BOOL hasCancelButton; @property (nonatomic, assign) BOOL hasDestructiveButton; @property (nonatomic, assign) BOOL hasOtherButtons; @@ -187,6 +191,51 @@ + (instancetype)showActionSheetInViewController:(UIViewController *)viewControll return alert; } + ++ (nonnull instancetype)showAlertInViewController:(nonnull UIViewController *)viewController + withMessage:(nullable NSString *)message withBlock:(ShowTipDismissBlock) misBlock { + RMUniversalAlert *alert = [[RMUniversalAlert alloc] init]; + + if ([UIAlertController class]) { + UIAlertController *alertController = [UIAlertController showAlertInViewController:viewController + withTitle:nil message:message + cancelButtonTitle:nil + destructiveButtonTitle:nil + otherButtonTitles:nil + tapBlock:nil]; + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [alertController dismissViewControllerAnimated:YES completion:^{ + if (misBlock) { + misBlock(); + } + }]; + }); + + } else { + UIAlertView *alertView = [UIAlertView showWithTitle:nil + message:message + cancelButtonTitle:nil + otherButtonTitles:nil + tapBlock:nil]; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [alertView dismissWithClickedButtonIndex:[alertView cancelButtonIndex] animated:YES]; + if (misBlock) { + misBlock(); + } + }); + } + + return alert; + +} + + + + + + + #pragma mark - - (BOOL)visible @@ -229,4 +278,5 @@ - (NSInteger)destructiveButtonIndex return RMUniversalAlertDestructiveButtonIndex; } + @end diff --git a/Tests/RMUniversalAlert.xcodeproj/project.pbxproj b/Tests/RMUniversalAlert.xcodeproj/project.pbxproj index f3901b9..fd56356 100644 --- a/Tests/RMUniversalAlert.xcodeproj/project.pbxproj +++ b/Tests/RMUniversalAlert.xcodeproj/project.pbxproj @@ -1,506 +1,1068 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 16934E8D69700F79028CB83D /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1F25F13F1C0362E837894225 /* libPods.a */; }; - 9408ECD71A1C6EED00A5A792 /* RMUniversalAlert.m in Sources */ = {isa = PBXBuildFile; fileRef = 9408ECD61A1C6EED00A5A792 /* RMUniversalAlert.m */; }; - 94318CA91A60C88F0030FA5C /* RMPopoverPresentationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 94318CA81A60C88F0030FA5C /* RMPopoverPresentationController.m */; }; - 944A77DC1A1C6D14002BBBED /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 944A77DB1A1C6D14002BBBED /* main.m */; }; - 944A77DF1A1C6D14002BBBED /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 944A77DE1A1C6D14002BBBED /* AppDelegate.m */; }; - 944A77E21A1C6D14002BBBED /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944A77E11A1C6D14002BBBED /* ViewController.m */; }; - 944A77E51A1C6D14002BBBED /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 944A77E31A1C6D14002BBBED /* Main.storyboard */; }; - 944A77E71A1C6D14002BBBED /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 944A77E61A1C6D14002BBBED /* Images.xcassets */; }; - 944A77EA1A1C6D14002BBBED /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 944A77E81A1C6D14002BBBED /* LaunchScreen.xib */; }; - 944A77F61A1C6D15002BBBED /* RMUniversalAlertTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 944A77F51A1C6D15002BBBED /* RMUniversalAlertTests.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 944A77F01A1C6D15002BBBED /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 944A77CE1A1C6D14002BBBED /* Project object */; - proxyType = 1; - remoteGlobalIDString = 944A77D51A1C6D14002BBBED; - remoteInfo = RMUniversalAlert; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 1F25F13F1C0362E837894225 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 4A55E5ABB1C21D6685D020A0 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; - 9408ECD51A1C6EED00A5A792 /* RMUniversalAlert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RMUniversalAlert.h; path = ../../RMUniversalAlert.h; sourceTree = ""; }; - 9408ECD61A1C6EED00A5A792 /* RMUniversalAlert.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RMUniversalAlert.m; path = ../../RMUniversalAlert.m; sourceTree = ""; }; - 94318CA71A60C88F0030FA5C /* RMPopoverPresentationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RMPopoverPresentationController.h; path = ../../RMPopoverPresentationController.h; sourceTree = ""; }; - 94318CA81A60C88F0030FA5C /* RMPopoverPresentationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RMPopoverPresentationController.m; path = ../../RMPopoverPresentationController.m; sourceTree = ""; }; - 944A77D61A1C6D14002BBBED /* RMUniversalAlert.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RMUniversalAlert.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 944A77DA1A1C6D14002BBBED /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 944A77DB1A1C6D14002BBBED /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 944A77DD1A1C6D14002BBBED /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 944A77DE1A1C6D14002BBBED /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 944A77E01A1C6D14002BBBED /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; - 944A77E11A1C6D14002BBBED /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; - 944A77E41A1C6D14002BBBED /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 944A77E61A1C6D14002BBBED /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 944A77E91A1C6D14002BBBED /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; - 944A77EF1A1C6D15002BBBED /* RMUniversalAlertTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RMUniversalAlertTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 944A77F41A1C6D15002BBBED /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 944A77F51A1C6D15002BBBED /* RMUniversalAlertTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RMUniversalAlertTests.m; sourceTree = ""; }; - AA62FB7A89B3DA8AABBA03F8 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 944A77D31A1C6D14002BBBED /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 16934E8D69700F79028CB83D /* libPods.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 944A77EC1A1C6D15002BBBED /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 944A77CD1A1C6D14002BBBED = { - isa = PBXGroup; - children = ( - 944A77D81A1C6D14002BBBED /* RMUniversalAlert */, - 944A77F21A1C6D15002BBBED /* RMUniversalAlertTests */, - 944A77D71A1C6D14002BBBED /* Products */, - E5362A3E63EB6507CBAC0D1B /* Pods */, - B0C5C6EC3C65141C19FAEB48 /* Frameworks */, - ); - sourceTree = ""; - }; - 944A77D71A1C6D14002BBBED /* Products */ = { - isa = PBXGroup; - children = ( - 944A77D61A1C6D14002BBBED /* RMUniversalAlert.app */, - 944A77EF1A1C6D15002BBBED /* RMUniversalAlertTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 944A77D81A1C6D14002BBBED /* RMUniversalAlert */ = { - isa = PBXGroup; - children = ( - 9408ECD51A1C6EED00A5A792 /* RMUniversalAlert.h */, - 9408ECD61A1C6EED00A5A792 /* RMUniversalAlert.m */, - 94318CA71A60C88F0030FA5C /* RMPopoverPresentationController.h */, - 94318CA81A60C88F0030FA5C /* RMPopoverPresentationController.m */, - 944A77DD1A1C6D14002BBBED /* AppDelegate.h */, - 944A77DE1A1C6D14002BBBED /* AppDelegate.m */, - 944A77E01A1C6D14002BBBED /* ViewController.h */, - 944A77E11A1C6D14002BBBED /* ViewController.m */, - 944A77E31A1C6D14002BBBED /* Main.storyboard */, - 944A77E61A1C6D14002BBBED /* Images.xcassets */, - 944A77E81A1C6D14002BBBED /* LaunchScreen.xib */, - 944A77D91A1C6D14002BBBED /* Supporting Files */, - ); - path = RMUniversalAlert; - sourceTree = ""; - }; - 944A77D91A1C6D14002BBBED /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 944A77DA1A1C6D14002BBBED /* Info.plist */, - 944A77DB1A1C6D14002BBBED /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 944A77F21A1C6D15002BBBED /* RMUniversalAlertTests */ = { - isa = PBXGroup; - children = ( - 944A77F51A1C6D15002BBBED /* RMUniversalAlertTests.m */, - 944A77F31A1C6D15002BBBED /* Supporting Files */, - ); - path = RMUniversalAlertTests; - sourceTree = ""; - }; - 944A77F31A1C6D15002BBBED /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 944A77F41A1C6D15002BBBED /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - B0C5C6EC3C65141C19FAEB48 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 1F25F13F1C0362E837894225 /* libPods.a */, - ); - name = Frameworks; - sourceTree = ""; - }; - E5362A3E63EB6507CBAC0D1B /* Pods */ = { - isa = PBXGroup; - children = ( - AA62FB7A89B3DA8AABBA03F8 /* Pods.debug.xcconfig */, - 4A55E5ABB1C21D6685D020A0 /* Pods.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 944A77D51A1C6D14002BBBED /* RMUniversalAlert */ = { - isa = PBXNativeTarget; - buildConfigurationList = 944A77F91A1C6D15002BBBED /* Build configuration list for PBXNativeTarget "RMUniversalAlert" */; - buildPhases = ( - F49C27DB5BD33F9B37A8FFBA /* Check Pods Manifest.lock */, - 944A77D21A1C6D14002BBBED /* Sources */, - 944A77D31A1C6D14002BBBED /* Frameworks */, - 944A77D41A1C6D14002BBBED /* Resources */, - 43721C4A8E55A66EDAE8BC77 /* Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = RMUniversalAlert; - productName = RMUniversalAlert; - productReference = 944A77D61A1C6D14002BBBED /* RMUniversalAlert.app */; - productType = "com.apple.product-type.application"; - }; - 944A77EE1A1C6D15002BBBED /* RMUniversalAlertTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 944A77FC1A1C6D15002BBBED /* Build configuration list for PBXNativeTarget "RMUniversalAlertTests" */; - buildPhases = ( - 944A77EB1A1C6D15002BBBED /* Sources */, - 944A77EC1A1C6D15002BBBED /* Frameworks */, - 944A77ED1A1C6D15002BBBED /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 944A77F11A1C6D15002BBBED /* PBXTargetDependency */, - ); - name = RMUniversalAlertTests; - productName = RMUniversalAlertTests; - productReference = 944A77EF1A1C6D15002BBBED /* RMUniversalAlertTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 944A77CE1A1C6D14002BBBED /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0610; - ORGANIZATIONNAME = "Ryan Maxwell"; - TargetAttributes = { - 944A77D51A1C6D14002BBBED = { - CreatedOnToolsVersion = 6.1; - }; - 944A77EE1A1C6D15002BBBED = { - CreatedOnToolsVersion = 6.1; - TestTargetID = 944A77D51A1C6D14002BBBED; - }; - }; - }; - buildConfigurationList = 944A77D11A1C6D14002BBBED /* Build configuration list for PBXProject "RMUniversalAlert" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 944A77CD1A1C6D14002BBBED; - productRefGroup = 944A77D71A1C6D14002BBBED /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 944A77D51A1C6D14002BBBED /* RMUniversalAlert */, - 944A77EE1A1C6D15002BBBED /* RMUniversalAlertTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 944A77D41A1C6D14002BBBED /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 944A77E51A1C6D14002BBBED /* Main.storyboard in Resources */, - 944A77EA1A1C6D14002BBBED /* LaunchScreen.xib in Resources */, - 944A77E71A1C6D14002BBBED /* Images.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 944A77ED1A1C6D15002BBBED /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 43721C4A8E55A66EDAE8BC77 /* Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - F49C27DB5BD33F9B37A8FFBA /* Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Check Pods Manifest.lock"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 944A77D21A1C6D14002BBBED /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 944A77E21A1C6D14002BBBED /* ViewController.m in Sources */, - 9408ECD71A1C6EED00A5A792 /* RMUniversalAlert.m in Sources */, - 944A77DF1A1C6D14002BBBED /* AppDelegate.m in Sources */, - 944A77DC1A1C6D14002BBBED /* main.m in Sources */, - 94318CA91A60C88F0030FA5C /* RMPopoverPresentationController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 944A77EB1A1C6D15002BBBED /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 944A77F61A1C6D15002BBBED /* RMUniversalAlertTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 944A77F11A1C6D15002BBBED /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 944A77D51A1C6D14002BBBED /* RMUniversalAlert */; - targetProxy = 944A77F01A1C6D15002BBBED /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 944A77E31A1C6D14002BBBED /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 944A77E41A1C6D14002BBBED /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 944A77E81A1C6D14002BBBED /* LaunchScreen.xib */ = { - isa = PBXVariantGroup; - children = ( - 944A77E91A1C6D14002BBBED /* Base */, - ); - name = LaunchScreen.xib; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 944A77F71A1C6D15002BBBED /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 944A77F81A1C6D15002BBBED /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 944A77FA1A1C6D15002BBBED /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AA62FB7A89B3DA8AABBA03F8 /* Pods.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - INFOPLIST_FILE = RMUniversalAlert/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 944A77FB1A1C6D15002BBBED /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4A55E5ABB1C21D6685D020A0 /* Pods.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - INFOPLIST_FILE = RMUniversalAlert/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 944A77FD1A1C6D15002BBBED /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = RMUniversalAlertTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RMUniversalAlert.app/RMUniversalAlert"; - }; - name = Debug; - }; - 944A77FE1A1C6D15002BBBED /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); - INFOPLIST_FILE = RMUniversalAlertTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RMUniversalAlert.app/RMUniversalAlert"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 944A77D11A1C6D14002BBBED /* Build configuration list for PBXProject "RMUniversalAlert" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 944A77F71A1C6D15002BBBED /* Debug */, - 944A77F81A1C6D15002BBBED /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 944A77F91A1C6D15002BBBED /* Build configuration list for PBXNativeTarget "RMUniversalAlert" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 944A77FA1A1C6D15002BBBED /* Debug */, - 944A77FB1A1C6D15002BBBED /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 944A77FC1A1C6D15002BBBED /* Build configuration list for PBXNativeTarget "RMUniversalAlertTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 944A77FD1A1C6D15002BBBED /* Debug */, - 944A77FE1A1C6D15002BBBED /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 944A77CE1A1C6D14002BBBED /* Project object */; -} + + + + + archiveVersion + 1 + classes + + objectVersion + 46 + objects + + 16934E8D69700F79028CB83D + + fileRef + 1F25F13F1C0362E837894225 + isa + PBXBuildFile + + 1F25F13F1C0362E837894225 + + explicitFileType + archive.ar + includeInIndex + 0 + isa + PBXFileReference + path + libPods.a + sourceTree + BUILT_PRODUCTS_DIR + + 3F70E5280D6D7D2BE53AC99D + + buildActionMask + 2147483647 + files + + inputPaths + + isa + PBXShellScriptBuildPhase + name + Embed Pods Frameworks + outputPaths + + runOnlyForDeploymentPostprocessing + 0 + shellPath + /bin/sh + shellScript + "${SRCROOT}/Pods/Target Support Files/Pods/Pods-frameworks.sh" + + showEnvVarsInLog + 0 + + 43721C4A8E55A66EDAE8BC77 + + buildActionMask + 2147483647 + files + + inputPaths + + isa + PBXShellScriptBuildPhase + name + Copy Pods Resources + outputPaths + + runOnlyForDeploymentPostprocessing + 0 + shellPath + /bin/sh + shellScript + "${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh" + + showEnvVarsInLog + 0 + + 4A55E5ABB1C21D6685D020A0 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + name + Pods.release.xcconfig + path + Pods/Target Support Files/Pods/Pods.release.xcconfig + sourceTree + <group> + + 9408ECD51A1C6EED00A5A792 + + fileEncoding + 4 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RMUniversalAlert.h + path + ../../RMUniversalAlert.h + sourceTree + <group> + + 9408ECD61A1C6EED00A5A792 + + fileEncoding + 4 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RMUniversalAlert.m + path + ../../RMUniversalAlert.m + sourceTree + <group> + + 9408ECD71A1C6EED00A5A792 + + fileRef + 9408ECD61A1C6EED00A5A792 + isa + PBXBuildFile + + 94318CA71A60C88F0030FA5C + + fileEncoding + 4 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RMPopoverPresentationController.h + path + ../../RMPopoverPresentationController.h + sourceTree + <group> + + 94318CA81A60C88F0030FA5C + + fileEncoding + 4 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RMPopoverPresentationController.m + path + ../../RMPopoverPresentationController.m + sourceTree + <group> + + 94318CA91A60C88F0030FA5C + + fileRef + 94318CA81A60C88F0030FA5C + isa + PBXBuildFile + + 944A77CD1A1C6D14002BBBED + + children + + 944A77D81A1C6D14002BBBED + 944A77F21A1C6D15002BBBED + 944A77D71A1C6D14002BBBED + E5362A3E63EB6507CBAC0D1B + B0C5C6EC3C65141C19FAEB48 + + isa + PBXGroup + sourceTree + <group> + + 944A77CE1A1C6D14002BBBED + + attributes + + LastUpgradeCheck + 0610 + ORGANIZATIONNAME + Ryan Maxwell + TargetAttributes + + 944A77D51A1C6D14002BBBED + + CreatedOnToolsVersion + 6.1 + + 944A77EE1A1C6D15002BBBED + + CreatedOnToolsVersion + 6.1 + TestTargetID + 944A77D51A1C6D14002BBBED + + + + buildConfigurationList + 944A77D11A1C6D14002BBBED + compatibilityVersion + Xcode 3.2 + developmentRegion + English + hasScannedForEncodings + 0 + isa + PBXProject + knownRegions + + en + Base + + mainGroup + 944A77CD1A1C6D14002BBBED + productRefGroup + 944A77D71A1C6D14002BBBED + projectDirPath + + projectReferences + + projectRoot + + targets + + 944A77D51A1C6D14002BBBED + 944A77EE1A1C6D15002BBBED + + + 944A77D11A1C6D14002BBBED + + buildConfigurations + + 944A77F71A1C6D15002BBBED + 944A77F81A1C6D15002BBBED + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 944A77D21A1C6D14002BBBED + + buildActionMask + 2147483647 + files + + 944A77E21A1C6D14002BBBED + 9408ECD71A1C6EED00A5A792 + 944A77DF1A1C6D14002BBBED + 944A77DC1A1C6D14002BBBED + 94318CA91A60C88F0030FA5C + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 944A77D31A1C6D14002BBBED + + buildActionMask + 2147483647 + files + + 16934E8D69700F79028CB83D + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 944A77D41A1C6D14002BBBED + + buildActionMask + 2147483647 + files + + 944A77E51A1C6D14002BBBED + 944A77EA1A1C6D14002BBBED + 944A77E71A1C6D14002BBBED + + isa + PBXResourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 944A77D51A1C6D14002BBBED + + buildConfigurationList + 944A77F91A1C6D15002BBBED + buildPhases + + F49C27DB5BD33F9B37A8FFBA + 944A77D21A1C6D14002BBBED + 944A77D31A1C6D14002BBBED + 944A77D41A1C6D14002BBBED + 43721C4A8E55A66EDAE8BC77 + 3F70E5280D6D7D2BE53AC99D + + buildRules + + dependencies + + isa + PBXNativeTarget + name + RMUniversalAlert + productName + RMUniversalAlert + productReference + 944A77D61A1C6D14002BBBED + productType + com.apple.product-type.application + + 944A77D61A1C6D14002BBBED + + explicitFileType + wrapper.application + includeInIndex + 0 + isa + PBXFileReference + path + RMUniversalAlert.app + sourceTree + BUILT_PRODUCTS_DIR + + 944A77D71A1C6D14002BBBED + + children + + 944A77D61A1C6D14002BBBED + 944A77EF1A1C6D15002BBBED + + isa + PBXGroup + name + Products + sourceTree + <group> + + 944A77D81A1C6D14002BBBED + + children + + 9408ECD51A1C6EED00A5A792 + 9408ECD61A1C6EED00A5A792 + 94318CA71A60C88F0030FA5C + 94318CA81A60C88F0030FA5C + 944A77DD1A1C6D14002BBBED + 944A77DE1A1C6D14002BBBED + 944A77E01A1C6D14002BBBED + 944A77E11A1C6D14002BBBED + 944A77E31A1C6D14002BBBED + 944A77E61A1C6D14002BBBED + 944A77E81A1C6D14002BBBED + 944A77D91A1C6D14002BBBED + + isa + PBXGroup + path + RMUniversalAlert + sourceTree + <group> + + 944A77D91A1C6D14002BBBED + + children + + 944A77DA1A1C6D14002BBBED + 944A77DB1A1C6D14002BBBED + + isa + PBXGroup + name + Supporting Files + sourceTree + <group> + + 944A77DA1A1C6D14002BBBED + + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Info.plist + sourceTree + <group> + + 944A77DB1A1C6D14002BBBED + + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + main.m + sourceTree + <group> + + 944A77DC1A1C6D14002BBBED + + fileRef + 944A77DB1A1C6D14002BBBED + isa + PBXBuildFile + + 944A77DD1A1C6D14002BBBED + + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + AppDelegate.h + sourceTree + <group> + + 944A77DE1A1C6D14002BBBED + + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + AppDelegate.m + sourceTree + <group> + + 944A77DF1A1C6D14002BBBED + + fileRef + 944A77DE1A1C6D14002BBBED + isa + PBXBuildFile + + 944A77E01A1C6D14002BBBED + + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + ViewController.h + sourceTree + <group> + + 944A77E11A1C6D14002BBBED + + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + ViewController.m + sourceTree + <group> + + 944A77E21A1C6D14002BBBED + + fileRef + 944A77E11A1C6D14002BBBED + isa + PBXBuildFile + + 944A77E31A1C6D14002BBBED + + children + + 944A77E41A1C6D14002BBBED + + isa + PBXVariantGroup + name + Main.storyboard + sourceTree + <group> + + 944A77E41A1C6D14002BBBED + + isa + PBXFileReference + lastKnownFileType + file.storyboard + name + Base + path + Base.lproj/Main.storyboard + sourceTree + <group> + + 944A77E51A1C6D14002BBBED + + fileRef + 944A77E31A1C6D14002BBBED + isa + PBXBuildFile + + 944A77E61A1C6D14002BBBED + + isa + PBXFileReference + lastKnownFileType + folder.assetcatalog + path + Images.xcassets + sourceTree + <group> + + 944A77E71A1C6D14002BBBED + + fileRef + 944A77E61A1C6D14002BBBED + isa + PBXBuildFile + + 944A77E81A1C6D14002BBBED + + children + + 944A77E91A1C6D14002BBBED + + isa + PBXVariantGroup + name + LaunchScreen.xib + sourceTree + <group> + + 944A77E91A1C6D14002BBBED + + isa + PBXFileReference + lastKnownFileType + file.xib + name + Base + path + Base.lproj/LaunchScreen.xib + sourceTree + <group> + + 944A77EA1A1C6D14002BBBED + + fileRef + 944A77E81A1C6D14002BBBED + isa + PBXBuildFile + + 944A77EB1A1C6D15002BBBED + + buildActionMask + 2147483647 + files + + 944A77F61A1C6D15002BBBED + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 944A77EC1A1C6D15002BBBED + + buildActionMask + 2147483647 + files + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 944A77ED1A1C6D15002BBBED + + buildActionMask + 2147483647 + files + + isa + PBXResourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 944A77EE1A1C6D15002BBBED + + buildConfigurationList + 944A77FC1A1C6D15002BBBED + buildPhases + + 944A77EB1A1C6D15002BBBED + 944A77EC1A1C6D15002BBBED + 944A77ED1A1C6D15002BBBED + + buildRules + + dependencies + + 944A77F11A1C6D15002BBBED + + isa + PBXNativeTarget + name + RMUniversalAlertTests + productName + RMUniversalAlertTests + productReference + 944A77EF1A1C6D15002BBBED + productType + com.apple.product-type.bundle.unit-test + + 944A77EF1A1C6D15002BBBED + + explicitFileType + wrapper.cfbundle + includeInIndex + 0 + isa + PBXFileReference + path + RMUniversalAlertTests.xctest + sourceTree + BUILT_PRODUCTS_DIR + + 944A77F01A1C6D15002BBBED + + containerPortal + 944A77CE1A1C6D14002BBBED + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + 944A77D51A1C6D14002BBBED + remoteInfo + RMUniversalAlert + + 944A77F11A1C6D15002BBBED + + isa + PBXTargetDependency + target + 944A77D51A1C6D14002BBBED + targetProxy + 944A77F01A1C6D15002BBBED + + 944A77F21A1C6D15002BBBED + + children + + 944A77F51A1C6D15002BBBED + 944A77F31A1C6D15002BBBED + + isa + PBXGroup + path + RMUniversalAlertTests + sourceTree + <group> + + 944A77F31A1C6D15002BBBED + + children + + 944A77F41A1C6D15002BBBED + + isa + PBXGroup + name + Supporting Files + sourceTree + <group> + + 944A77F41A1C6D15002BBBED + + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Info.plist + sourceTree + <group> + + 944A77F51A1C6D15002BBBED + + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RMUniversalAlertTests.m + sourceTree + <group> + + 944A77F61A1C6D15002BBBED + + fileRef + 944A77F51A1C6D15002BBBED + isa + PBXBuildFile + + 944A77F71A1C6D15002BBBED + + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + CLANG_CXX_LANGUAGE_STANDARD + gnu++0x + CLANG_CXX_LIBRARY + libc++ + CLANG_ENABLE_MODULES + YES + CLANG_ENABLE_OBJC_ARC + YES + CLANG_WARN_BOOL_CONVERSION + YES + CLANG_WARN_CONSTANT_CONVERSION + YES + CLANG_WARN_DIRECT_OBJC_ISA_USAGE + YES_ERROR + CLANG_WARN_EMPTY_BODY + YES + CLANG_WARN_ENUM_CONVERSION + YES + CLANG_WARN_INT_CONVERSION + YES + CLANG_WARN_OBJC_ROOT_CLASS + YES_ERROR + CLANG_WARN_UNREACHABLE_CODE + YES + CLANG_WARN__DUPLICATE_METHOD_MATCH + YES + CODE_SIGN_IDENTITY[sdk=iphoneos*] + iPhone Developer + COPY_PHASE_STRIP + NO + ENABLE_STRICT_OBJC_MSGSEND + YES + GCC_C_LANGUAGE_STANDARD + gnu99 + GCC_DYNAMIC_NO_PIC + NO + GCC_OPTIMIZATION_LEVEL + 0 + GCC_PREPROCESSOR_DEFINITIONS + + DEBUG=1 + $(inherited) + + GCC_SYMBOLS_PRIVATE_EXTERN + NO + GCC_WARN_64_TO_32_BIT_CONVERSION + YES + GCC_WARN_ABOUT_RETURN_TYPE + YES_ERROR + GCC_WARN_UNDECLARED_SELECTOR + YES + GCC_WARN_UNINITIALIZED_AUTOS + YES_AGGRESSIVE + GCC_WARN_UNUSED_FUNCTION + YES + GCC_WARN_UNUSED_VARIABLE + YES + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + MTL_ENABLE_DEBUG_INFO + YES + ONLY_ACTIVE_ARCH + YES + SDKROOT + iphoneos + TARGETED_DEVICE_FAMILY + 1,2 + + isa + XCBuildConfiguration + name + Debug + + 944A77F81A1C6D15002BBBED + + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + CLANG_CXX_LANGUAGE_STANDARD + gnu++0x + CLANG_CXX_LIBRARY + libc++ + CLANG_ENABLE_MODULES + YES + CLANG_ENABLE_OBJC_ARC + YES + CLANG_WARN_BOOL_CONVERSION + YES + CLANG_WARN_CONSTANT_CONVERSION + YES + CLANG_WARN_DIRECT_OBJC_ISA_USAGE + YES_ERROR + CLANG_WARN_EMPTY_BODY + YES + CLANG_WARN_ENUM_CONVERSION + YES + CLANG_WARN_INT_CONVERSION + YES + CLANG_WARN_OBJC_ROOT_CLASS + YES_ERROR + CLANG_WARN_UNREACHABLE_CODE + YES + CLANG_WARN__DUPLICATE_METHOD_MATCH + YES + CODE_SIGN_IDENTITY[sdk=iphoneos*] + iPhone Developer + COPY_PHASE_STRIP + YES + ENABLE_NS_ASSERTIONS + NO + ENABLE_STRICT_OBJC_MSGSEND + YES + GCC_C_LANGUAGE_STANDARD + gnu99 + GCC_WARN_64_TO_32_BIT_CONVERSION + YES + GCC_WARN_ABOUT_RETURN_TYPE + YES_ERROR + GCC_WARN_UNDECLARED_SELECTOR + YES + GCC_WARN_UNINITIALIZED_AUTOS + YES_AGGRESSIVE + GCC_WARN_UNUSED_FUNCTION + YES + GCC_WARN_UNUSED_VARIABLE + YES + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + MTL_ENABLE_DEBUG_INFO + NO + SDKROOT + iphoneos + TARGETED_DEVICE_FAMILY + 1,2 + VALIDATE_PRODUCT + YES + + isa + XCBuildConfiguration + name + Release + + 944A77F91A1C6D15002BBBED + + buildConfigurations + + 944A77FA1A1C6D15002BBBED + 944A77FB1A1C6D15002BBBED + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 944A77FA1A1C6D15002BBBED + + baseConfigurationReference + AA62FB7A89B3DA8AABBA03F8 + buildSettings + + ASSETCATALOG_COMPILER_APPICON_NAME + AppIcon + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME + LaunchImage + INFOPLIST_FILE + RMUniversalAlert/Info.plist + LD_RUNPATH_SEARCH_PATHS + $(inherited) @executable_path/Frameworks + PRODUCT_NAME + $(TARGET_NAME) + + isa + XCBuildConfiguration + name + Debug + + 944A77FB1A1C6D15002BBBED + + baseConfigurationReference + 4A55E5ABB1C21D6685D020A0 + buildSettings + + ASSETCATALOG_COMPILER_APPICON_NAME + AppIcon + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME + LaunchImage + INFOPLIST_FILE + RMUniversalAlert/Info.plist + LD_RUNPATH_SEARCH_PATHS + $(inherited) @executable_path/Frameworks + PRODUCT_NAME + $(TARGET_NAME) + + isa + XCBuildConfiguration + name + Release + + 944A77FC1A1C6D15002BBBED + + buildConfigurations + + 944A77FD1A1C6D15002BBBED + 944A77FE1A1C6D15002BBBED + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 944A77FD1A1C6D15002BBBED + + buildSettings + + BUNDLE_LOADER + $(TEST_HOST) + FRAMEWORK_SEARCH_PATHS + + $(SDKROOT)/Developer/Library/Frameworks + $(inherited) + + GCC_PREPROCESSOR_DEFINITIONS + + DEBUG=1 + $(inherited) + + INFOPLIST_FILE + RMUniversalAlertTests/Info.plist + LD_RUNPATH_SEARCH_PATHS + $(inherited) @executable_path/Frameworks @loader_path/Frameworks + PRODUCT_NAME + $(TARGET_NAME) + TEST_HOST + $(BUILT_PRODUCTS_DIR)/RMUniversalAlert.app/RMUniversalAlert + + isa + XCBuildConfiguration + name + Debug + + 944A77FE1A1C6D15002BBBED + + buildSettings + + BUNDLE_LOADER + $(TEST_HOST) + FRAMEWORK_SEARCH_PATHS + + $(SDKROOT)/Developer/Library/Frameworks + $(inherited) + + INFOPLIST_FILE + RMUniversalAlertTests/Info.plist + LD_RUNPATH_SEARCH_PATHS + $(inherited) @executable_path/Frameworks @loader_path/Frameworks + PRODUCT_NAME + $(TARGET_NAME) + TEST_HOST + $(BUILT_PRODUCTS_DIR)/RMUniversalAlert.app/RMUniversalAlert + + isa + XCBuildConfiguration + name + Release + + AA62FB7A89B3DA8AABBA03F8 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + name + Pods.debug.xcconfig + path + Pods/Target Support Files/Pods/Pods.debug.xcconfig + sourceTree + <group> + + B0C5C6EC3C65141C19FAEB48 + + children + + 1F25F13F1C0362E837894225 + + isa + PBXGroup + name + Frameworks + sourceTree + <group> + + E5362A3E63EB6507CBAC0D1B + + children + + AA62FB7A89B3DA8AABBA03F8 + 4A55E5ABB1C21D6685D020A0 + + isa + PBXGroup + name + Pods + sourceTree + <group> + + F49C27DB5BD33F9B37A8FFBA + + buildActionMask + 2147483647 + files + + inputPaths + + isa + PBXShellScriptBuildPhase + name + Check Pods Manifest.lock + outputPaths + + runOnlyForDeploymentPostprocessing + 0 + shellPath + /bin/sh + shellScript + diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null +if [[ $? != 0 ]] ; then + cat << EOM +error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. +EOM + exit 1 +fi + + showEnvVarsInLog + 0 + + + rootObject + 944A77CE1A1C6D14002BBBED + + From 51ba88f620af9d1d3e22dc5530fb288cd73ed73f Mon Sep 17 00:00:00 2001 From: xuxie Date: Mon, 25 Apr 2016 21:49:27 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RMUniversalAlert.h | 2 +- RMUniversalAlert.m | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/RMUniversalAlert.h b/RMUniversalAlert.h index 7fb58cc..2ab2939 100644 --- a/RMUniversalAlert.h +++ b/RMUniversalAlert.h @@ -38,7 +38,7 @@ typedef void(^ShowTipDismissBlock)(); popoverPresentationControllerBlock:(void(^ __nullable)(RMPopoverPresentationController * __nonnull popover))popoverPresentationControllerBlock tapBlock:(nullable RMUniversalAlertCompletionBlock)tapBlock; -+ (nonnull instancetype)showAlertInViewController:(nonnull UIViewController *)viewController ++ (void)showAlertInViewController:(nonnull UIViewController *)viewController withMessage:(nullable NSString *)message withBlock:(nullable ShowTipDismissBlock) misBlock; @property (readonly, nonatomic) BOOL visible; diff --git a/RMUniversalAlert.m b/RMUniversalAlert.m index 782f5a0..ac11db2 100644 --- a/RMUniversalAlert.m +++ b/RMUniversalAlert.m @@ -192,12 +192,11 @@ + (instancetype)showActionSheetInViewController:(UIViewController *)viewControll } -+ (nonnull instancetype)showAlertInViewController:(nonnull UIViewController *)viewController ++ (void)showAlertInViewController:(nonnull UIViewController *)viewController withMessage:(nullable NSString *)message withBlock:(ShowTipDismissBlock) misBlock { - RMUniversalAlert *alert = [[RMUniversalAlert alloc] init]; if ([UIAlertController class]) { - UIAlertController *alertController = [UIAlertController showAlertInViewController:viewController + __block UIAlertController *alertController = [UIAlertController showAlertInViewController:viewController withTitle:nil message:message cancelButtonTitle:nil destructiveButtonTitle:nil @@ -208,12 +207,13 @@ + (nonnull instancetype)showAlertInViewController:(nonnull UIViewController *)vi [alertController dismissViewControllerAnimated:YES completion:^{ if (misBlock) { misBlock(); + alertController = nil; } }]; }); } else { - UIAlertView *alertView = [UIAlertView showWithTitle:nil + __block UIAlertView *alertView = [UIAlertView showWithTitle:nil message:message cancelButtonTitle:nil otherButtonTitles:nil @@ -222,12 +222,10 @@ + (nonnull instancetype)showAlertInViewController:(nonnull UIViewController *)vi [alertView dismissWithClickedButtonIndex:[alertView cancelButtonIndex] animated:YES]; if (misBlock) { misBlock(); + alertView = nil; } }); } - - return alert; - } From ac066a3cbc2ad7704c1f64e9fe83b989ad2d6445 Mon Sep 17 00:00:00 2001 From: xuxie Date: Mon, 25 Apr 2016 22:11:24 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RMUniversalAlert.h | 2 +- RMUniversalAlert.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/RMUniversalAlert.h b/RMUniversalAlert.h index 2ab2939..3a0b6c6 100644 --- a/RMUniversalAlert.h +++ b/RMUniversalAlert.h @@ -38,7 +38,7 @@ typedef void(^ShowTipDismissBlock)(); popoverPresentationControllerBlock:(void(^ __nullable)(RMPopoverPresentationController * __nonnull popover))popoverPresentationControllerBlock tapBlock:(nullable RMUniversalAlertCompletionBlock)tapBlock; -+ (void)showAlertInViewController:(nonnull UIViewController *)viewController ++ (void)showAlertInViewControllerN:(nonnull UIViewController *)viewController withMessage:(nullable NSString *)message withBlock:(nullable ShowTipDismissBlock) misBlock; @property (readonly, nonatomic) BOOL visible; diff --git a/RMUniversalAlert.m b/RMUniversalAlert.m index ac11db2..fff8e99 100644 --- a/RMUniversalAlert.m +++ b/RMUniversalAlert.m @@ -192,7 +192,7 @@ + (instancetype)showActionSheetInViewController:(UIViewController *)viewControll } -+ (void)showAlertInViewController:(nonnull UIViewController *)viewController ++ (void)showAlertInViewControllerN:(nonnull UIViewController *)viewController withMessage:(nullable NSString *)message withBlock:(ShowTipDismissBlock) misBlock { if ([UIAlertController class]) { From bb54a206dcf7e8fff3323b27435e88a4b6bef8ae Mon Sep 17 00:00:00 2001 From: xuxie Date: Wed, 4 May 2016 10:46:49 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RMUniversalAlert.m | 6 +- .../project.pbxproj | 1648 ++++++----------- 2 files changed, 583 insertions(+), 1071 deletions(-) diff --git a/RMUniversalAlert.m b/RMUniversalAlert.m index fff8e99..d8d53bd 100644 --- a/RMUniversalAlert.m +++ b/RMUniversalAlert.m @@ -20,9 +20,9 @@ @interface RMUniversalAlert () -@property (nonatomic) UIAlertController *alertController; -@property (nonatomic) UIAlertView *alertView; -@property (nonatomic) UIActionSheet *actionSheet; +@property (nonatomic,weak) UIAlertController *alertController; +@property (nonatomic,weak) UIAlertView *alertView; +@property (nonatomic,weak) UIActionSheet *actionSheet; @property (nonatomic, assign) BOOL hasCancelButton; @property (nonatomic, assign) BOOL hasDestructiveButton; diff --git a/Tests/RMUniversalAlert.xcodeproj/project.pbxproj b/Tests/RMUniversalAlert.xcodeproj/project.pbxproj index fd56356..6bfa43d 100644 --- a/Tests/RMUniversalAlert.xcodeproj/project.pbxproj +++ b/Tests/RMUniversalAlert.xcodeproj/project.pbxproj @@ -1,1068 +1,580 @@ - - - - - archiveVersion - 1 - classes - - objectVersion - 46 - objects - - 16934E8D69700F79028CB83D - - fileRef - 1F25F13F1C0362E837894225 - isa - PBXBuildFile - - 1F25F13F1C0362E837894225 - - explicitFileType - archive.ar - includeInIndex - 0 - isa - PBXFileReference - path - libPods.a - sourceTree - BUILT_PRODUCTS_DIR - - 3F70E5280D6D7D2BE53AC99D - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Embed Pods Frameworks - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - "${SRCROOT}/Pods/Target Support Files/Pods/Pods-frameworks.sh" - - showEnvVarsInLog - 0 - - 43721C4A8E55A66EDAE8BC77 - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Copy Pods Resources - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - "${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh" - - showEnvVarsInLog - 0 - - 4A55E5ABB1C21D6685D020A0 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - name - Pods.release.xcconfig - path - Pods/Target Support Files/Pods/Pods.release.xcconfig - sourceTree - <group> - - 9408ECD51A1C6EED00A5A792 - - fileEncoding - 4 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - RMUniversalAlert.h - path - ../../RMUniversalAlert.h - sourceTree - <group> - - 9408ECD61A1C6EED00A5A792 - - fileEncoding - 4 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - RMUniversalAlert.m - path - ../../RMUniversalAlert.m - sourceTree - <group> - - 9408ECD71A1C6EED00A5A792 - - fileRef - 9408ECD61A1C6EED00A5A792 - isa - PBXBuildFile - - 94318CA71A60C88F0030FA5C - - fileEncoding - 4 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - name - RMPopoverPresentationController.h - path - ../../RMPopoverPresentationController.h - sourceTree - <group> - - 94318CA81A60C88F0030FA5C - - fileEncoding - 4 - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - name - RMPopoverPresentationController.m - path - ../../RMPopoverPresentationController.m - sourceTree - <group> - - 94318CA91A60C88F0030FA5C - - fileRef - 94318CA81A60C88F0030FA5C - isa - PBXBuildFile - - 944A77CD1A1C6D14002BBBED - - children - - 944A77D81A1C6D14002BBBED - 944A77F21A1C6D15002BBBED - 944A77D71A1C6D14002BBBED - E5362A3E63EB6507CBAC0D1B - B0C5C6EC3C65141C19FAEB48 - - isa - PBXGroup - sourceTree - <group> - - 944A77CE1A1C6D14002BBBED - - attributes - - LastUpgradeCheck - 0610 - ORGANIZATIONNAME - Ryan Maxwell - TargetAttributes - - 944A77D51A1C6D14002BBBED - - CreatedOnToolsVersion - 6.1 - - 944A77EE1A1C6D15002BBBED - - CreatedOnToolsVersion - 6.1 - TestTargetID - 944A77D51A1C6D14002BBBED - - - - buildConfigurationList - 944A77D11A1C6D14002BBBED - compatibilityVersion - Xcode 3.2 - developmentRegion - English - hasScannedForEncodings - 0 - isa - PBXProject - knownRegions - - en - Base - - mainGroup - 944A77CD1A1C6D14002BBBED - productRefGroup - 944A77D71A1C6D14002BBBED - projectDirPath - - projectReferences - - projectRoot - - targets - - 944A77D51A1C6D14002BBBED - 944A77EE1A1C6D15002BBBED - - - 944A77D11A1C6D14002BBBED - - buildConfigurations - - 944A77F71A1C6D15002BBBED - 944A77F81A1C6D15002BBBED - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 944A77D21A1C6D14002BBBED - - buildActionMask - 2147483647 - files - - 944A77E21A1C6D14002BBBED - 9408ECD71A1C6EED00A5A792 - 944A77DF1A1C6D14002BBBED - 944A77DC1A1C6D14002BBBED - 94318CA91A60C88F0030FA5C - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 944A77D31A1C6D14002BBBED - - buildActionMask - 2147483647 - files - - 16934E8D69700F79028CB83D - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 944A77D41A1C6D14002BBBED - - buildActionMask - 2147483647 - files - - 944A77E51A1C6D14002BBBED - 944A77EA1A1C6D14002BBBED - 944A77E71A1C6D14002BBBED - - isa - PBXResourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 944A77D51A1C6D14002BBBED - - buildConfigurationList - 944A77F91A1C6D15002BBBED - buildPhases - - F49C27DB5BD33F9B37A8FFBA - 944A77D21A1C6D14002BBBED - 944A77D31A1C6D14002BBBED - 944A77D41A1C6D14002BBBED - 43721C4A8E55A66EDAE8BC77 - 3F70E5280D6D7D2BE53AC99D - - buildRules - - dependencies - - isa - PBXNativeTarget - name - RMUniversalAlert - productName - RMUniversalAlert - productReference - 944A77D61A1C6D14002BBBED - productType - com.apple.product-type.application - - 944A77D61A1C6D14002BBBED - - explicitFileType - wrapper.application - includeInIndex - 0 - isa - PBXFileReference - path - RMUniversalAlert.app - sourceTree - BUILT_PRODUCTS_DIR - - 944A77D71A1C6D14002BBBED - - children - - 944A77D61A1C6D14002BBBED - 944A77EF1A1C6D15002BBBED - - isa - PBXGroup - name - Products - sourceTree - <group> - - 944A77D81A1C6D14002BBBED - - children - - 9408ECD51A1C6EED00A5A792 - 9408ECD61A1C6EED00A5A792 - 94318CA71A60C88F0030FA5C - 94318CA81A60C88F0030FA5C - 944A77DD1A1C6D14002BBBED - 944A77DE1A1C6D14002BBBED - 944A77E01A1C6D14002BBBED - 944A77E11A1C6D14002BBBED - 944A77E31A1C6D14002BBBED - 944A77E61A1C6D14002BBBED - 944A77E81A1C6D14002BBBED - 944A77D91A1C6D14002BBBED - - isa - PBXGroup - path - RMUniversalAlert - sourceTree - <group> - - 944A77D91A1C6D14002BBBED - - children - - 944A77DA1A1C6D14002BBBED - 944A77DB1A1C6D14002BBBED - - isa - PBXGroup - name - Supporting Files - sourceTree - <group> - - 944A77DA1A1C6D14002BBBED - - isa - PBXFileReference - lastKnownFileType - text.plist.xml - path - Info.plist - sourceTree - <group> - - 944A77DB1A1C6D14002BBBED - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - main.m - sourceTree - <group> - - 944A77DC1A1C6D14002BBBED - - fileRef - 944A77DB1A1C6D14002BBBED - isa - PBXBuildFile - - 944A77DD1A1C6D14002BBBED - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - AppDelegate.h - sourceTree - <group> - - 944A77DE1A1C6D14002BBBED - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - AppDelegate.m - sourceTree - <group> - - 944A77DF1A1C6D14002BBBED - - fileRef - 944A77DE1A1C6D14002BBBED - isa - PBXBuildFile - - 944A77E01A1C6D14002BBBED - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.h - path - ViewController.h - sourceTree - <group> - - 944A77E11A1C6D14002BBBED - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - ViewController.m - sourceTree - <group> - - 944A77E21A1C6D14002BBBED - - fileRef - 944A77E11A1C6D14002BBBED - isa - PBXBuildFile - - 944A77E31A1C6D14002BBBED - - children - - 944A77E41A1C6D14002BBBED - - isa - PBXVariantGroup - name - Main.storyboard - sourceTree - <group> - - 944A77E41A1C6D14002BBBED - - isa - PBXFileReference - lastKnownFileType - file.storyboard - name - Base - path - Base.lproj/Main.storyboard - sourceTree - <group> - - 944A77E51A1C6D14002BBBED - - fileRef - 944A77E31A1C6D14002BBBED - isa - PBXBuildFile - - 944A77E61A1C6D14002BBBED - - isa - PBXFileReference - lastKnownFileType - folder.assetcatalog - path - Images.xcassets - sourceTree - <group> - - 944A77E71A1C6D14002BBBED - - fileRef - 944A77E61A1C6D14002BBBED - isa - PBXBuildFile - - 944A77E81A1C6D14002BBBED - - children - - 944A77E91A1C6D14002BBBED - - isa - PBXVariantGroup - name - LaunchScreen.xib - sourceTree - <group> - - 944A77E91A1C6D14002BBBED - - isa - PBXFileReference - lastKnownFileType - file.xib - name - Base - path - Base.lproj/LaunchScreen.xib - sourceTree - <group> - - 944A77EA1A1C6D14002BBBED - - fileRef - 944A77E81A1C6D14002BBBED - isa - PBXBuildFile - - 944A77EB1A1C6D15002BBBED - - buildActionMask - 2147483647 - files - - 944A77F61A1C6D15002BBBED - - isa - PBXSourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 944A77EC1A1C6D15002BBBED - - buildActionMask - 2147483647 - files - - isa - PBXFrameworksBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 944A77ED1A1C6D15002BBBED - - buildActionMask - 2147483647 - files - - isa - PBXResourcesBuildPhase - runOnlyForDeploymentPostprocessing - 0 - - 944A77EE1A1C6D15002BBBED - - buildConfigurationList - 944A77FC1A1C6D15002BBBED - buildPhases - - 944A77EB1A1C6D15002BBBED - 944A77EC1A1C6D15002BBBED - 944A77ED1A1C6D15002BBBED - - buildRules - - dependencies - - 944A77F11A1C6D15002BBBED - - isa - PBXNativeTarget - name - RMUniversalAlertTests - productName - RMUniversalAlertTests - productReference - 944A77EF1A1C6D15002BBBED - productType - com.apple.product-type.bundle.unit-test - - 944A77EF1A1C6D15002BBBED - - explicitFileType - wrapper.cfbundle - includeInIndex - 0 - isa - PBXFileReference - path - RMUniversalAlertTests.xctest - sourceTree - BUILT_PRODUCTS_DIR - - 944A77F01A1C6D15002BBBED - - containerPortal - 944A77CE1A1C6D14002BBBED - isa - PBXContainerItemProxy - proxyType - 1 - remoteGlobalIDString - 944A77D51A1C6D14002BBBED - remoteInfo - RMUniversalAlert - - 944A77F11A1C6D15002BBBED - - isa - PBXTargetDependency - target - 944A77D51A1C6D14002BBBED - targetProxy - 944A77F01A1C6D15002BBBED - - 944A77F21A1C6D15002BBBED - - children - - 944A77F51A1C6D15002BBBED - 944A77F31A1C6D15002BBBED - - isa - PBXGroup - path - RMUniversalAlertTests - sourceTree - <group> - - 944A77F31A1C6D15002BBBED - - children - - 944A77F41A1C6D15002BBBED - - isa - PBXGroup - name - Supporting Files - sourceTree - <group> - - 944A77F41A1C6D15002BBBED - - isa - PBXFileReference - lastKnownFileType - text.plist.xml - path - Info.plist - sourceTree - <group> - - 944A77F51A1C6D15002BBBED - - isa - PBXFileReference - lastKnownFileType - sourcecode.c.objc - path - RMUniversalAlertTests.m - sourceTree - <group> - - 944A77F61A1C6D15002BBBED - - fileRef - 944A77F51A1C6D15002BBBED - isa - PBXBuildFile - - 944A77F71A1C6D15002BBBED - - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - CLANG_CXX_LANGUAGE_STANDARD - gnu++0x - CLANG_CXX_LIBRARY - libc++ - CLANG_ENABLE_MODULES - YES - CLANG_ENABLE_OBJC_ARC - YES - CLANG_WARN_BOOL_CONVERSION - YES - CLANG_WARN_CONSTANT_CONVERSION - YES - CLANG_WARN_DIRECT_OBJC_ISA_USAGE - YES_ERROR - CLANG_WARN_EMPTY_BODY - YES - CLANG_WARN_ENUM_CONVERSION - YES - CLANG_WARN_INT_CONVERSION - YES - CLANG_WARN_OBJC_ROOT_CLASS - YES_ERROR - CLANG_WARN_UNREACHABLE_CODE - YES - CLANG_WARN__DUPLICATE_METHOD_MATCH - YES - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - COPY_PHASE_STRIP - NO - ENABLE_STRICT_OBJC_MSGSEND - YES - GCC_C_LANGUAGE_STANDARD - gnu99 - GCC_DYNAMIC_NO_PIC - NO - GCC_OPTIMIZATION_LEVEL - 0 - GCC_PREPROCESSOR_DEFINITIONS - - DEBUG=1 - $(inherited) - - GCC_SYMBOLS_PRIVATE_EXTERN - NO - GCC_WARN_64_TO_32_BIT_CONVERSION - YES - GCC_WARN_ABOUT_RETURN_TYPE - YES_ERROR - GCC_WARN_UNDECLARED_SELECTOR - YES - GCC_WARN_UNINITIALIZED_AUTOS - YES_AGGRESSIVE - GCC_WARN_UNUSED_FUNCTION - YES - GCC_WARN_UNUSED_VARIABLE - YES - IPHONEOS_DEPLOYMENT_TARGET - 7.0 - MTL_ENABLE_DEBUG_INFO - YES - ONLY_ACTIVE_ARCH - YES - SDKROOT - iphoneos - TARGETED_DEVICE_FAMILY - 1,2 - - isa - XCBuildConfiguration - name - Debug - - 944A77F81A1C6D15002BBBED - - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - CLANG_CXX_LANGUAGE_STANDARD - gnu++0x - CLANG_CXX_LIBRARY - libc++ - CLANG_ENABLE_MODULES - YES - CLANG_ENABLE_OBJC_ARC - YES - CLANG_WARN_BOOL_CONVERSION - YES - CLANG_WARN_CONSTANT_CONVERSION - YES - CLANG_WARN_DIRECT_OBJC_ISA_USAGE - YES_ERROR - CLANG_WARN_EMPTY_BODY - YES - CLANG_WARN_ENUM_CONVERSION - YES - CLANG_WARN_INT_CONVERSION - YES - CLANG_WARN_OBJC_ROOT_CLASS - YES_ERROR - CLANG_WARN_UNREACHABLE_CODE - YES - CLANG_WARN__DUPLICATE_METHOD_MATCH - YES - CODE_SIGN_IDENTITY[sdk=iphoneos*] - iPhone Developer - COPY_PHASE_STRIP - YES - ENABLE_NS_ASSERTIONS - NO - ENABLE_STRICT_OBJC_MSGSEND - YES - GCC_C_LANGUAGE_STANDARD - gnu99 - GCC_WARN_64_TO_32_BIT_CONVERSION - YES - GCC_WARN_ABOUT_RETURN_TYPE - YES_ERROR - GCC_WARN_UNDECLARED_SELECTOR - YES - GCC_WARN_UNINITIALIZED_AUTOS - YES_AGGRESSIVE - GCC_WARN_UNUSED_FUNCTION - YES - GCC_WARN_UNUSED_VARIABLE - YES - IPHONEOS_DEPLOYMENT_TARGET - 7.0 - MTL_ENABLE_DEBUG_INFO - NO - SDKROOT - iphoneos - TARGETED_DEVICE_FAMILY - 1,2 - VALIDATE_PRODUCT - YES - - isa - XCBuildConfiguration - name - Release - - 944A77F91A1C6D15002BBBED - - buildConfigurations - - 944A77FA1A1C6D15002BBBED - 944A77FB1A1C6D15002BBBED - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 944A77FA1A1C6D15002BBBED - - baseConfigurationReference - AA62FB7A89B3DA8AABBA03F8 - buildSettings - - ASSETCATALOG_COMPILER_APPICON_NAME - AppIcon - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME - LaunchImage - INFOPLIST_FILE - RMUniversalAlert/Info.plist - LD_RUNPATH_SEARCH_PATHS - $(inherited) @executable_path/Frameworks - PRODUCT_NAME - $(TARGET_NAME) - - isa - XCBuildConfiguration - name - Debug - - 944A77FB1A1C6D15002BBBED - - baseConfigurationReference - 4A55E5ABB1C21D6685D020A0 - buildSettings - - ASSETCATALOG_COMPILER_APPICON_NAME - AppIcon - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME - LaunchImage - INFOPLIST_FILE - RMUniversalAlert/Info.plist - LD_RUNPATH_SEARCH_PATHS - $(inherited) @executable_path/Frameworks - PRODUCT_NAME - $(TARGET_NAME) - - isa - XCBuildConfiguration - name - Release - - 944A77FC1A1C6D15002BBBED - - buildConfigurations - - 944A77FD1A1C6D15002BBBED - 944A77FE1A1C6D15002BBBED - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 944A77FD1A1C6D15002BBBED - - buildSettings - - BUNDLE_LOADER - $(TEST_HOST) - FRAMEWORK_SEARCH_PATHS - - $(SDKROOT)/Developer/Library/Frameworks - $(inherited) - - GCC_PREPROCESSOR_DEFINITIONS - - DEBUG=1 - $(inherited) - - INFOPLIST_FILE - RMUniversalAlertTests/Info.plist - LD_RUNPATH_SEARCH_PATHS - $(inherited) @executable_path/Frameworks @loader_path/Frameworks - PRODUCT_NAME - $(TARGET_NAME) - TEST_HOST - $(BUILT_PRODUCTS_DIR)/RMUniversalAlert.app/RMUniversalAlert - - isa - XCBuildConfiguration - name - Debug - - 944A77FE1A1C6D15002BBBED - - buildSettings - - BUNDLE_LOADER - $(TEST_HOST) - FRAMEWORK_SEARCH_PATHS - - $(SDKROOT)/Developer/Library/Frameworks - $(inherited) - - INFOPLIST_FILE - RMUniversalAlertTests/Info.plist - LD_RUNPATH_SEARCH_PATHS - $(inherited) @executable_path/Frameworks @loader_path/Frameworks - PRODUCT_NAME - $(TARGET_NAME) - TEST_HOST - $(BUILT_PRODUCTS_DIR)/RMUniversalAlert.app/RMUniversalAlert - - isa - XCBuildConfiguration - name - Release - - AA62FB7A89B3DA8AABBA03F8 - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text.xcconfig - name - Pods.debug.xcconfig - path - Pods/Target Support Files/Pods/Pods.debug.xcconfig - sourceTree - <group> - - B0C5C6EC3C65141C19FAEB48 - - children - - 1F25F13F1C0362E837894225 - - isa - PBXGroup - name - Frameworks - sourceTree - <group> - - E5362A3E63EB6507CBAC0D1B - - children - - AA62FB7A89B3DA8AABBA03F8 - 4A55E5ABB1C21D6685D020A0 - - isa - PBXGroup - name - Pods - sourceTree - <group> - - F49C27DB5BD33F9B37A8FFBA - - buildActionMask - 2147483647 - files - - inputPaths - - isa - PBXShellScriptBuildPhase - name - Check Pods Manifest.lock - outputPaths - - runOnlyForDeploymentPostprocessing - 0 - shellPath - /bin/sh - shellScript - diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null -if [[ $? != 0 ]] ; then - cat << EOM -error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. -EOM - exit 1 -fi - - showEnvVarsInLog - 0 - - - rootObject - 944A77CE1A1C6D14002BBBED - - +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 16934E8D69700F79028CB83D /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1F25F13F1C0362E837894225 /* libPods.a */; }; + 4003982F1CD9993700E6BF3C /* NSObject+MemoryLeak.m in Sources */ = {isa = PBXBuildFile; fileRef = 400398221CD9993600E6BF3C /* NSObject+MemoryLeak.m */; }; + 400398301CD9993700E6BF3C /* UINavigationController+MemoryLeak.m in Sources */ = {isa = PBXBuildFile; fileRef = 400398241CD9993600E6BF3C /* UINavigationController+MemoryLeak.m */; }; + 400398311CD9993700E6BF3C /* UIPageViewController+MemoryLeak.m in Sources */ = {isa = PBXBuildFile; fileRef = 400398261CD9993600E6BF3C /* UIPageViewController+MemoryLeak.m */; }; + 400398321CD9993700E6BF3C /* UISplitViewController+MemoryLeak.m in Sources */ = {isa = PBXBuildFile; fileRef = 400398281CD9993600E6BF3C /* UISplitViewController+MemoryLeak.m */; }; + 400398331CD9993700E6BF3C /* UITabBarController+MemoryLeak.m in Sources */ = {isa = PBXBuildFile; fileRef = 4003982A1CD9993600E6BF3C /* UITabBarController+MemoryLeak.m */; }; + 400398341CD9993700E6BF3C /* UIView+MemoryLeak.m in Sources */ = {isa = PBXBuildFile; fileRef = 4003982C1CD9993600E6BF3C /* UIView+MemoryLeak.m */; }; + 400398351CD9993700E6BF3C /* UIViewController+MemoryLeak.m in Sources */ = {isa = PBXBuildFile; fileRef = 4003982E1CD9993600E6BF3C /* UIViewController+MemoryLeak.m */; }; + 400398381CD9996400E6BF3C /* SSViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 400398371CD9996400E6BF3C /* SSViewController.m */; }; + 9408ECD71A1C6EED00A5A792 /* RMUniversalAlert.m in Sources */ = {isa = PBXBuildFile; fileRef = 9408ECD61A1C6EED00A5A792 /* RMUniversalAlert.m */; }; + 94318CA91A60C88F0030FA5C /* RMPopoverPresentationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 94318CA81A60C88F0030FA5C /* RMPopoverPresentationController.m */; }; + 944A77DC1A1C6D14002BBBED /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 944A77DB1A1C6D14002BBBED /* main.m */; }; + 944A77DF1A1C6D14002BBBED /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 944A77DE1A1C6D14002BBBED /* AppDelegate.m */; }; + 944A77E21A1C6D14002BBBED /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 944A77E11A1C6D14002BBBED /* ViewController.m */; }; + 944A77E51A1C6D14002BBBED /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 944A77E31A1C6D14002BBBED /* Main.storyboard */; }; + 944A77E71A1C6D14002BBBED /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 944A77E61A1C6D14002BBBED /* Images.xcassets */; }; + 944A77EA1A1C6D14002BBBED /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 944A77E81A1C6D14002BBBED /* LaunchScreen.xib */; }; + 944A77F61A1C6D15002BBBED /* RMUniversalAlertTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 944A77F51A1C6D15002BBBED /* RMUniversalAlertTests.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 944A77F01A1C6D15002BBBED /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 944A77CE1A1C6D14002BBBED /* Project object */; + proxyType = 1; + remoteGlobalIDString = 944A77D51A1C6D14002BBBED; + remoteInfo = RMUniversalAlert; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 1F25F13F1C0362E837894225 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 400398201CD9993600E6BF3C /* MLeaksFinder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MLeaksFinder.h; sourceTree = ""; }; + 400398211CD9993600E6BF3C /* NSObject+MemoryLeak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+MemoryLeak.h"; sourceTree = ""; }; + 400398221CD9993600E6BF3C /* NSObject+MemoryLeak.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+MemoryLeak.m"; sourceTree = ""; }; + 400398231CD9993600E6BF3C /* UINavigationController+MemoryLeak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UINavigationController+MemoryLeak.h"; sourceTree = ""; }; + 400398241CD9993600E6BF3C /* UINavigationController+MemoryLeak.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UINavigationController+MemoryLeak.m"; sourceTree = ""; }; + 400398251CD9993600E6BF3C /* UIPageViewController+MemoryLeak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIPageViewController+MemoryLeak.h"; sourceTree = ""; }; + 400398261CD9993600E6BF3C /* UIPageViewController+MemoryLeak.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIPageViewController+MemoryLeak.m"; sourceTree = ""; }; + 400398271CD9993600E6BF3C /* UISplitViewController+MemoryLeak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UISplitViewController+MemoryLeak.h"; sourceTree = ""; }; + 400398281CD9993600E6BF3C /* UISplitViewController+MemoryLeak.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UISplitViewController+MemoryLeak.m"; sourceTree = ""; }; + 400398291CD9993600E6BF3C /* UITabBarController+MemoryLeak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UITabBarController+MemoryLeak.h"; sourceTree = ""; }; + 4003982A1CD9993600E6BF3C /* UITabBarController+MemoryLeak.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITabBarController+MemoryLeak.m"; sourceTree = ""; }; + 4003982B1CD9993600E6BF3C /* UIView+MemoryLeak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+MemoryLeak.h"; sourceTree = ""; }; + 4003982C1CD9993600E6BF3C /* UIView+MemoryLeak.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+MemoryLeak.m"; sourceTree = ""; }; + 4003982D1CD9993600E6BF3C /* UIViewController+MemoryLeak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+MemoryLeak.h"; sourceTree = ""; }; + 4003982E1CD9993600E6BF3C /* UIViewController+MemoryLeak.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+MemoryLeak.m"; sourceTree = ""; }; + 400398361CD9996400E6BF3C /* SSViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SSViewController.h; sourceTree = ""; }; + 400398371CD9996400E6BF3C /* SSViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SSViewController.m; sourceTree = ""; }; + 4A55E5ABB1C21D6685D020A0 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; + 9408ECD51A1C6EED00A5A792 /* RMUniversalAlert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RMUniversalAlert.h; path = ../../RMUniversalAlert.h; sourceTree = ""; }; + 9408ECD61A1C6EED00A5A792 /* RMUniversalAlert.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RMUniversalAlert.m; path = ../../RMUniversalAlert.m; sourceTree = ""; }; + 94318CA71A60C88F0030FA5C /* RMPopoverPresentationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RMPopoverPresentationController.h; path = ../../RMPopoverPresentationController.h; sourceTree = ""; }; + 94318CA81A60C88F0030FA5C /* RMPopoverPresentationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RMPopoverPresentationController.m; path = ../../RMPopoverPresentationController.m; sourceTree = ""; }; + 944A77D61A1C6D14002BBBED /* RMUniversalAlert.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RMUniversalAlert.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 944A77DA1A1C6D14002BBBED /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 944A77DB1A1C6D14002BBBED /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 944A77DD1A1C6D14002BBBED /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 944A77DE1A1C6D14002BBBED /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 944A77E01A1C6D14002BBBED /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + 944A77E11A1C6D14002BBBED /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + 944A77E41A1C6D14002BBBED /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 944A77E61A1C6D14002BBBED /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 944A77E91A1C6D14002BBBED /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + 944A77EF1A1C6D15002BBBED /* RMUniversalAlertTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RMUniversalAlertTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 944A77F41A1C6D15002BBBED /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 944A77F51A1C6D15002BBBED /* RMUniversalAlertTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RMUniversalAlertTests.m; sourceTree = ""; }; + AA62FB7A89B3DA8AABBA03F8 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 944A77D31A1C6D14002BBBED /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 16934E8D69700F79028CB83D /* libPods.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 944A77EC1A1C6D15002BBBED /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 4003981F1CD9992500E6BF3C /* ll */ = { + isa = PBXGroup; + children = ( + 400398201CD9993600E6BF3C /* MLeaksFinder.h */, + 400398211CD9993600E6BF3C /* NSObject+MemoryLeak.h */, + 400398221CD9993600E6BF3C /* NSObject+MemoryLeak.m */, + 400398231CD9993600E6BF3C /* UINavigationController+MemoryLeak.h */, + 400398241CD9993600E6BF3C /* UINavigationController+MemoryLeak.m */, + 400398251CD9993600E6BF3C /* UIPageViewController+MemoryLeak.h */, + 400398261CD9993600E6BF3C /* UIPageViewController+MemoryLeak.m */, + 400398271CD9993600E6BF3C /* UISplitViewController+MemoryLeak.h */, + 400398281CD9993600E6BF3C /* UISplitViewController+MemoryLeak.m */, + 400398291CD9993600E6BF3C /* UITabBarController+MemoryLeak.h */, + 4003982A1CD9993600E6BF3C /* UITabBarController+MemoryLeak.m */, + 4003982B1CD9993600E6BF3C /* UIView+MemoryLeak.h */, + 4003982C1CD9993600E6BF3C /* UIView+MemoryLeak.m */, + 4003982D1CD9993600E6BF3C /* UIViewController+MemoryLeak.h */, + 4003982E1CD9993600E6BF3C /* UIViewController+MemoryLeak.m */, + ); + name = ll; + sourceTree = ""; + }; + 944A77CD1A1C6D14002BBBED = { + isa = PBXGroup; + children = ( + 944A77D81A1C6D14002BBBED /* RMUniversalAlert */, + 944A77F21A1C6D15002BBBED /* RMUniversalAlertTests */, + 944A77D71A1C6D14002BBBED /* Products */, + E5362A3E63EB6507CBAC0D1B /* Pods */, + B0C5C6EC3C65141C19FAEB48 /* Frameworks */, + ); + sourceTree = ""; + }; + 944A77D71A1C6D14002BBBED /* Products */ = { + isa = PBXGroup; + children = ( + 944A77D61A1C6D14002BBBED /* RMUniversalAlert.app */, + 944A77EF1A1C6D15002BBBED /* RMUniversalAlertTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 944A77D81A1C6D14002BBBED /* RMUniversalAlert */ = { + isa = PBXGroup; + children = ( + 4003981F1CD9992500E6BF3C /* ll */, + 9408ECD51A1C6EED00A5A792 /* RMUniversalAlert.h */, + 9408ECD61A1C6EED00A5A792 /* RMUniversalAlert.m */, + 94318CA71A60C88F0030FA5C /* RMPopoverPresentationController.h */, + 94318CA81A60C88F0030FA5C /* RMPopoverPresentationController.m */, + 944A77DD1A1C6D14002BBBED /* AppDelegate.h */, + 944A77DE1A1C6D14002BBBED /* AppDelegate.m */, + 944A77E01A1C6D14002BBBED /* ViewController.h */, + 944A77E11A1C6D14002BBBED /* ViewController.m */, + 944A77E31A1C6D14002BBBED /* Main.storyboard */, + 944A77E61A1C6D14002BBBED /* Images.xcassets */, + 944A77E81A1C6D14002BBBED /* LaunchScreen.xib */, + 944A77D91A1C6D14002BBBED /* Supporting Files */, + 400398361CD9996400E6BF3C /* SSViewController.h */, + 400398371CD9996400E6BF3C /* SSViewController.m */, + ); + path = RMUniversalAlert; + sourceTree = ""; + }; + 944A77D91A1C6D14002BBBED /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 944A77DA1A1C6D14002BBBED /* Info.plist */, + 944A77DB1A1C6D14002BBBED /* main.m */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 944A77F21A1C6D15002BBBED /* RMUniversalAlertTests */ = { + isa = PBXGroup; + children = ( + 944A77F51A1C6D15002BBBED /* RMUniversalAlertTests.m */, + 944A77F31A1C6D15002BBBED /* Supporting Files */, + ); + path = RMUniversalAlertTests; + sourceTree = ""; + }; + 944A77F31A1C6D15002BBBED /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 944A77F41A1C6D15002BBBED /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + B0C5C6EC3C65141C19FAEB48 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1F25F13F1C0362E837894225 /* libPods.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + E5362A3E63EB6507CBAC0D1B /* Pods */ = { + isa = PBXGroup; + children = ( + AA62FB7A89B3DA8AABBA03F8 /* Pods.debug.xcconfig */, + 4A55E5ABB1C21D6685D020A0 /* Pods.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 944A77D51A1C6D14002BBBED /* RMUniversalAlert */ = { + isa = PBXNativeTarget; + buildConfigurationList = 944A77F91A1C6D15002BBBED /* Build configuration list for PBXNativeTarget "RMUniversalAlert" */; + buildPhases = ( + F49C27DB5BD33F9B37A8FFBA /* Check Pods Manifest.lock */, + 944A77D21A1C6D14002BBBED /* Sources */, + 944A77D31A1C6D14002BBBED /* Frameworks */, + 944A77D41A1C6D14002BBBED /* Resources */, + 43721C4A8E55A66EDAE8BC77 /* Copy Pods Resources */, + 3F70E5280D6D7D2BE53AC99D /* Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = RMUniversalAlert; + productName = RMUniversalAlert; + productReference = 944A77D61A1C6D14002BBBED /* RMUniversalAlert.app */; + productType = "com.apple.product-type.application"; + }; + 944A77EE1A1C6D15002BBBED /* RMUniversalAlertTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 944A77FC1A1C6D15002BBBED /* Build configuration list for PBXNativeTarget "RMUniversalAlertTests" */; + buildPhases = ( + 944A77EB1A1C6D15002BBBED /* Sources */, + 944A77EC1A1C6D15002BBBED /* Frameworks */, + 944A77ED1A1C6D15002BBBED /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 944A77F11A1C6D15002BBBED /* PBXTargetDependency */, + ); + name = RMUniversalAlertTests; + productName = RMUniversalAlertTests; + productReference = 944A77EF1A1C6D15002BBBED /* RMUniversalAlertTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 944A77CE1A1C6D14002BBBED /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0610; + ORGANIZATIONNAME = "Ryan Maxwell"; + TargetAttributes = { + 944A77D51A1C6D14002BBBED = { + CreatedOnToolsVersion = 6.1; + }; + 944A77EE1A1C6D15002BBBED = { + CreatedOnToolsVersion = 6.1; + TestTargetID = 944A77D51A1C6D14002BBBED; + }; + }; + }; + buildConfigurationList = 944A77D11A1C6D14002BBBED /* Build configuration list for PBXProject "RMUniversalAlert" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 944A77CD1A1C6D14002BBBED; + productRefGroup = 944A77D71A1C6D14002BBBED /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 944A77D51A1C6D14002BBBED /* RMUniversalAlert */, + 944A77EE1A1C6D15002BBBED /* RMUniversalAlertTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 944A77D41A1C6D14002BBBED /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 944A77E51A1C6D14002BBBED /* Main.storyboard in Resources */, + 944A77EA1A1C6D14002BBBED /* LaunchScreen.xib in Resources */, + 944A77E71A1C6D14002BBBED /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 944A77ED1A1C6D15002BBBED /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3F70E5280D6D7D2BE53AC99D /* Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 43721C4A8E55A66EDAE8BC77 /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + F49C27DB5BD33F9B37A8FFBA /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 944A77D21A1C6D14002BBBED /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 944A77E21A1C6D14002BBBED /* ViewController.m in Sources */, + 400398301CD9993700E6BF3C /* UINavigationController+MemoryLeak.m in Sources */, + 400398351CD9993700E6BF3C /* UIViewController+MemoryLeak.m in Sources */, + 4003982F1CD9993700E6BF3C /* NSObject+MemoryLeak.m in Sources */, + 9408ECD71A1C6EED00A5A792 /* RMUniversalAlert.m in Sources */, + 400398381CD9996400E6BF3C /* SSViewController.m in Sources */, + 944A77DF1A1C6D14002BBBED /* AppDelegate.m in Sources */, + 400398341CD9993700E6BF3C /* UIView+MemoryLeak.m in Sources */, + 400398311CD9993700E6BF3C /* UIPageViewController+MemoryLeak.m in Sources */, + 400398321CD9993700E6BF3C /* UISplitViewController+MemoryLeak.m in Sources */, + 944A77DC1A1C6D14002BBBED /* main.m in Sources */, + 94318CA91A60C88F0030FA5C /* RMPopoverPresentationController.m in Sources */, + 400398331CD9993700E6BF3C /* UITabBarController+MemoryLeak.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 944A77EB1A1C6D15002BBBED /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 944A77F61A1C6D15002BBBED /* RMUniversalAlertTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 944A77F11A1C6D15002BBBED /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 944A77D51A1C6D14002BBBED /* RMUniversalAlert */; + targetProxy = 944A77F01A1C6D15002BBBED /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 944A77E31A1C6D14002BBBED /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 944A77E41A1C6D14002BBBED /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 944A77E81A1C6D14002BBBED /* LaunchScreen.xib */ = { + isa = PBXVariantGroup; + children = ( + 944A77E91A1C6D14002BBBED /* Base */, + ); + name = LaunchScreen.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 944A77F71A1C6D15002BBBED /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 944A77F81A1C6D15002BBBED /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 944A77FA1A1C6D15002BBBED /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AA62FB7A89B3DA8AABBA03F8 /* Pods.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + INFOPLIST_FILE = RMUniversalAlert/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 944A77FB1A1C6D15002BBBED /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 4A55E5ABB1C21D6685D020A0 /* Pods.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + INFOPLIST_FILE = RMUniversalAlert/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 944A77FD1A1C6D15002BBBED /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = RMUniversalAlertTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RMUniversalAlert.app/RMUniversalAlert"; + }; + name = Debug; + }; + 944A77FE1A1C6D15002BBBED /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + INFOPLIST_FILE = RMUniversalAlertTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RMUniversalAlert.app/RMUniversalAlert"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 944A77D11A1C6D14002BBBED /* Build configuration list for PBXProject "RMUniversalAlert" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 944A77F71A1C6D15002BBBED /* Debug */, + 944A77F81A1C6D15002BBBED /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 944A77F91A1C6D15002BBBED /* Build configuration list for PBXNativeTarget "RMUniversalAlert" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 944A77FA1A1C6D15002BBBED /* Debug */, + 944A77FB1A1C6D15002BBBED /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 944A77FC1A1C6D15002BBBED /* Build configuration list for PBXNativeTarget "RMUniversalAlertTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 944A77FD1A1C6D15002BBBED /* Debug */, + 944A77FE1A1C6D15002BBBED /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 944A77CE1A1C6D14002BBBED /* Project object */; +} From f729fc5076a48bf4b4ca6200c704f423d9dba173 Mon Sep 17 00:00:00 2001 From: xuxie Date: Tue, 7 Jun 2016 21:36:58 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E6=B6=88=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RMUniversalAlert.m | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/RMUniversalAlert.m b/RMUniversalAlert.m index d8d53bd..25d9926 100644 --- a/RMUniversalAlert.m +++ b/RMUniversalAlert.m @@ -32,6 +32,27 @@ @interface RMUniversalAlert () @implementation RMUniversalAlert +- (instancetype)init { + if (self = [super init]) { + [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(didEnterBackground) name:UIApplicationDidEnterBackgroundNotification object:nil]; + } + return self; +} + +- (void)didEnterBackground { + if ([UIAlertController class]) { + [self.alertController dismissViewControllerAnimated:NO completion:nil]; + }else { + [self.alertView setHidden:YES]; + [_alertView removeFromSuperview]; + _alertView = nil; + } +} + +- (void)dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} + + (instancetype)showAlertInViewController:(UIViewController *)viewController withTitle:(NSString *)title message:(NSString *)message From 0147a771f8bc550e44b60447abc3a6f04643a55e Mon Sep 17 00:00:00 2001 From: ranshon Date: Thu, 22 Dec 2016 14:14:16 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=B8=BB=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RMUniversalAlert.h | 1 + RMUniversalAlert.m | 17 ++- RMUniversalAlert.podspec | 4 +- .../Base.lproj/Main.storyboard | 57 +++++----- Tests/RMUniversalAlert/ViewController.m | 104 +++++++++++++++++- 5 files changed, 148 insertions(+), 35 deletions(-) diff --git a/RMUniversalAlert.h b/RMUniversalAlert.h index 3a0b6c6..f94b9c6 100644 --- a/RMUniversalAlert.h +++ b/RMUniversalAlert.h @@ -40,6 +40,7 @@ typedef void(^ShowTipDismissBlock)(); + (void)showAlertInViewControllerN:(nonnull UIViewController *)viewController withMessage:(nullable NSString *)message withBlock:(nullable ShowTipDismissBlock) misBlock; +-(void)dismissAlertAnimated:(BOOL)animated; @property (readonly, nonatomic) BOOL visible; @property (readonly, nonatomic) NSInteger cancelButtonIndex; diff --git a/RMUniversalAlert.m b/RMUniversalAlert.m index 25d9926..1b4f6b3 100644 --- a/RMUniversalAlert.m +++ b/RMUniversalAlert.m @@ -6,9 +6,9 @@ // Copyright (c) 2014 Ryan Maxwell. All rights reserved. // -#import -#import -#import +#import "UIAlertView+Blocks.h" +#import "UIActionSheet+Blocks.h" +#import "UIAlertController+Blocks.h" #import "RMUniversalAlert.h" @@ -257,6 +257,17 @@ + (void)showAlertInViewControllerN:(nonnull UIViewController *)viewController #pragma mark - +-(void)dismissAlertAnimated:(BOOL)animated { + + if (self.alertController) { + [self.alertController dismissViewControllerAnimated:animated completion:nil]; + } else if (self.alertView) { + [self.alertView dismissWithClickedButtonIndex:self.alertView.cancelButtonIndex animated:animated]; + } else if (self.actionSheet) { + [self.actionSheet dismissWithClickedButtonIndex:self.actionSheet.cancelButtonIndex animated:animated]; + } +} + - (BOOL)visible { if (self.alertController) { diff --git a/RMUniversalAlert.podspec b/RMUniversalAlert.podspec index 6213879..b124bf9 100644 --- a/RMUniversalAlert.podspec +++ b/RMUniversalAlert.podspec @@ -1,11 +1,11 @@ Pod::Spec.new do |s| s.name = "RMUniversalAlert" - s.version = "0.7" + s.version = "0.8.1" s.summary = "Wrapper for UIAlertView / UIActionSheet / UIAlertController for targeting all iOS versions" s.homepage = "https://github.com/ryanmaxwell/RMUniversalAlert" s.license = { :type => 'MIT', :file => 'LICENSE' } s.author = "Ryan Maxwell" - s.source = { :git => "https://github.com/ryanmaxwell/RMUniversalAlert.git", :tag => '0.7' } + s.source = { :git => "https://github.com/ryanmaxwell/RMUniversalAlert.git", :tag => '0.8.1' } s.source_files = 'RMUniversalAlert.{h,m}', 'RMPopoverPresentationController.{h,m}' s.requires_arc = true s.platform = 'ios', '6.0' diff --git a/Tests/RMUniversalAlert/Base.lproj/Main.storyboard b/Tests/RMUniversalAlert/Base.lproj/Main.storyboard index f407ed4..0fe3dc8 100644 --- a/Tests/RMUniversalAlert/Base.lproj/Main.storyboard +++ b/Tests/RMUniversalAlert/Base.lproj/Main.storyboard @@ -1,8 +1,10 @@ - - + + - + + + @@ -14,92 +16,82 @@ - + - @@ -109,30 +101,37 @@ + - + + @@ -150,7 +149,9 @@ + + diff --git a/Tests/RMUniversalAlert/ViewController.m b/Tests/RMUniversalAlert/ViewController.m index 0ffbd1a..2c6f64e 100644 --- a/Tests/RMUniversalAlert/ViewController.m +++ b/Tests/RMUniversalAlert/ViewController.m @@ -21,7 +21,7 @@ @interface ViewController () @property (strong, nonatomic) RMUniversalAlertCompletionBlock tapBlock; -@property (strong, nonatomic) RMUniversalAlert *universalAlert; +@property (weak, nonatomic) RMUniversalAlert *universalAlert; @end @@ -85,6 +85,7 @@ - (IBAction)singleCancel:(UIButton *)sender - (IBAction)singleDestructive:(UIButton *)sender { + __weak __typeof(self) weakSelf = self; switch (self.mode) { case PresentationModeAlert: { self.universalAlert = [RMUniversalAlert showAlertInViewController:self @@ -104,6 +105,9 @@ - (IBAction)singleDestructive:(UIButton *)sender destructiveButtonTitle:@"Delete" otherButtonTitles:nil popoverPresentationControllerBlock:^(RMPopoverPresentationController *popover){ + __strong __typeof(weakSelf) self = weakSelf; + if (!self) return; + popover.sourceView = self.view; popover.sourceRect = sender.frame; } @@ -116,6 +120,8 @@ - (IBAction)singleDestructive:(UIButton *)sender - (IBAction)singleOther:(UIButton *)sender { + __weak __typeof(self) weakSelf = self; + switch (self.mode) { case PresentationModeAlert: { self.universalAlert = [RMUniversalAlert showAlertInViewController:self @@ -134,7 +140,11 @@ - (IBAction)singleOther:(UIButton *)sender cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:@[@"Other"] - popoverPresentationControllerBlock:^(RMPopoverPresentationController *popover){ popover.sourceView = self.view; + popoverPresentationControllerBlock:^(RMPopoverPresentationController *popover){ + __strong __typeof(weakSelf) self = weakSelf; + if (!self) return; + + popover.sourceView = self.view; popover.sourceRect = sender.frame; } tapBlock:self.tapBlock]; @@ -146,6 +156,8 @@ - (IBAction)singleOther:(UIButton *)sender - (IBAction)multipleOther:(UIButton *)sender { + __weak __typeof(self) weakSelf = self; + switch (self.mode) { case PresentationModeAlert: { self.universalAlert = [RMUniversalAlert showAlertInViewController:self @@ -165,6 +177,9 @@ - (IBAction)multipleOther:(UIButton *)sender destructiveButtonTitle:nil otherButtonTitles:@[@"Other 1", @"Other 2"] popoverPresentationControllerBlock:^(RMPopoverPresentationController *popover){ + __strong __typeof(weakSelf) self = weakSelf; + if (!self) return; + popover.sourceView = self.view; popover.sourceRect = sender.frame; } @@ -177,6 +192,8 @@ - (IBAction)multipleOther:(UIButton *)sender - (IBAction)cancelAndDestructive:(UIButton *)sender { + __weak __typeof(self) weakSelf = self; + switch (self.mode) { case PresentationModeAlert: { self.universalAlert = [RMUniversalAlert showAlertInViewController:self @@ -196,6 +213,9 @@ - (IBAction)cancelAndDestructive:(UIButton *)sender destructiveButtonTitle:@"Delete" otherButtonTitles:nil popoverPresentationControllerBlock:^(RMPopoverPresentationController *popover){ + __strong __typeof(weakSelf) self = weakSelf; + if (!self) return; + popover.sourceView = self.view; popover.sourceRect = sender.frame; } @@ -208,6 +228,8 @@ - (IBAction)cancelAndDestructive:(UIButton *)sender - (IBAction)cancelAndOther:(UIButton *)sender { + __weak __typeof(self) weakSelf = self; + switch (self.mode) { case PresentationModeAlert: { self.universalAlert = [RMUniversalAlert showAlertInViewController:self @@ -227,6 +249,9 @@ - (IBAction)cancelAndOther:(UIButton *)sender destructiveButtonTitle:nil otherButtonTitles:@[@"Other"] popoverPresentationControllerBlock:^(RMPopoverPresentationController *popover){ + __strong __typeof(weakSelf) self = weakSelf; + if (!self) return; + popover.sourceView = self.view; popover.sourceRect = sender.frame; } @@ -239,6 +264,8 @@ - (IBAction)cancelAndOther:(UIButton *)sender - (IBAction)cancelAndMultipleOther:(UIButton *)sender { + __weak __typeof(self) weakSelf = self; + switch (self.mode) { case PresentationModeAlert: { self.universalAlert = [RMUniversalAlert showAlertInViewController:self @@ -258,6 +285,9 @@ - (IBAction)cancelAndMultipleOther:(UIButton *)sender destructiveButtonTitle:nil otherButtonTitles:@[@"Other 1", @"Other 2"] popoverPresentationControllerBlock:^(RMPopoverPresentationController *popover){ + __strong __typeof(weakSelf) self = weakSelf; + if (!self) return; + popover.sourceView = self.view; popover.sourceRect = sender.frame; } @@ -270,6 +300,8 @@ - (IBAction)cancelAndMultipleOther:(UIButton *)sender - (IBAction)destructiveAndOther:(UIButton *)sender { + __weak __typeof(self) weakSelf = self; + switch (self.mode) { case PresentationModeAlert: { self.universalAlert = [RMUniversalAlert showAlertInViewController:self @@ -289,6 +321,9 @@ - (IBAction)destructiveAndOther:(UIButton *)sender destructiveButtonTitle:@"Delete" otherButtonTitles:@[@"Other"] popoverPresentationControllerBlock:^(RMPopoverPresentationController *popover){ + __strong __typeof(weakSelf) self = weakSelf; + if (!self) return; + popover.sourceView = self.view; popover.sourceRect = sender.frame; } @@ -301,6 +336,8 @@ - (IBAction)destructiveAndOther:(UIButton *)sender - (IBAction)destructiveAndMultipleOther:(UIButton *)sender { + __weak __typeof(self) weakSelf = self; + switch (self.mode) { case PresentationModeAlert: { self.universalAlert = [RMUniversalAlert showAlertInViewController:self @@ -320,6 +357,9 @@ - (IBAction)destructiveAndMultipleOther:(UIButton *)sender destructiveButtonTitle:@"Delete" otherButtonTitles:@[@"Other 1", @"Other 2"] popoverPresentationControllerBlock:^(RMPopoverPresentationController *popover){ + __strong __typeof(weakSelf) self = weakSelf; + if (!self) return; + popover.sourceView = self.view; popover.sourceRect = sender.frame; } @@ -332,6 +372,8 @@ - (IBAction)destructiveAndMultipleOther:(UIButton *)sender - (IBAction)destructiveCancelAndOther:(UIButton *)sender { + __weak __typeof(self) weakSelf = self; + switch (self.mode) { case PresentationModeAlert: { self.universalAlert = [RMUniversalAlert showAlertInViewController:self @@ -351,6 +393,9 @@ - (IBAction)destructiveCancelAndOther:(UIButton *)sender destructiveButtonTitle:@"Delete" otherButtonTitles:@[@"Other"] popoverPresentationControllerBlock:^(RMPopoverPresentationController *popover){ + __strong __typeof(weakSelf) self = weakSelf; + if (!self) return; + popover.sourceView = self.view; popover.sourceRect = sender.frame; } @@ -363,6 +408,8 @@ - (IBAction)destructiveCancelAndOther:(UIButton *)sender - (IBAction)destructiveCancelAndMultipleOther:(UIButton *)sender { + __weak __typeof(self) weakSelf = self; + switch (self.mode) { case PresentationModeAlert: { self.universalAlert = [RMUniversalAlert showAlertInViewController:self @@ -382,6 +429,9 @@ - (IBAction)destructiveCancelAndMultipleOther:(UIButton *)sender destructiveButtonTitle:@"Delete" otherButtonTitles:@[@"Other"] popoverPresentationControllerBlock:^(RMPopoverPresentationController *popover){ + __strong __typeof(weakSelf) self = weakSelf; + if (!self) return; + popover.sourceView = self.view; popover.sourceRect = sender.frame; } @@ -392,6 +442,56 @@ - (IBAction)destructiveCancelAndMultipleOther:(UIButton *)sender } } +- (IBAction)singleCancelWithDismiss:(UIButton*)sender { + __weak __typeof(self) weakSelf = self; + + switch (self.mode) { + case PresentationModeAlert: { + self.universalAlert = [RMUniversalAlert showAlertInViewController:self + withTitle:@"Title" + message:@"Message" + cancelButtonTitle:@"Cancel" + destructiveButtonTitle:nil + otherButtonTitles:nil + tapBlock:self.tapBlock]; + + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 5 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ + __strong __typeof(weakSelf) self = weakSelf; + if (!self) return; + + [self.universalAlert dismissAlertAnimated:NO]; + }); + + break; + } + case PresentationModeActionSheet: { + self.universalAlert = [RMUniversalAlert showActionSheetInViewController:self + withTitle:@"Title" + message:@"Message" + cancelButtonTitle:@"Cancel" + destructiveButtonTitle:nil + otherButtonTitles:nil + popoverPresentationControllerBlock:^(RMPopoverPresentationController *popover){ + __strong __typeof(weakSelf) self = weakSelf; + if (!self) return; + + popover.sourceView = self.view; + popover.sourceRect = sender.frame; + } + tapBlock:self.tapBlock]; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 5 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ + __strong __typeof(weakSelf) self = weakSelf; + if (!self) return; + + [self.universalAlert dismissAlertAnimated:YES]; + }); + break; + } + } +} + + #pragma mark - - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event From 187592a2c611d33d7b9819da4cd8fcb4e2a180e2 Mon Sep 17 00:00:00 2001 From: ranshon Date: Thu, 22 Dec 2016 17:59:38 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98,=20=20=E9=94=80=E6=AF=81?= =?UTF-8?q?=E5=89=8D=E9=9D=A2=E4=B8=80=E4=B8=AA=EF=BC=8C=E5=86=8D=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E7=AC=AC=E4=B8=80=E4=B8=AA=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RMUniversalAlert.m | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/RMUniversalAlert.m b/RMUniversalAlert.m index 1b4f6b3..3d03ee0 100644 --- a/RMUniversalAlert.m +++ b/RMUniversalAlert.m @@ -40,13 +40,7 @@ - (instancetype)init { } - (void)didEnterBackground { - if ([UIAlertController class]) { - [self.alertController dismissViewControllerAnimated:NO completion:nil]; - }else { - [self.alertView setHidden:YES]; - [_alertView removeFromSuperview]; - _alertView = nil; - } + [self dismissAlertAnimated:NO]; } - (void)dealloc { @@ -61,6 +55,9 @@ + (instancetype)showAlertInViewController:(UIViewController *)viewController otherButtonTitles:(NSArray *)otherButtonTitles tapBlock:(RMUniversalAlertCompletionBlock)tapBlock { + if ([viewController.presentedViewController isKindOfClass:[UIAlertController class]]) { + [viewController.presentedViewController dismissViewControllerAnimated:NO completion:nil]; + } RMUniversalAlert *alert = [[RMUniversalAlert alloc] init]; alert.hasCancelButton = cancelButtonTitle != nil; From 0b2526f3bfd59a175fb4c811c6409f44c0b2005d Mon Sep 17 00:00:00 2001 From: ranshon Date: Tue, 27 Dec 2016 11:54:09 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E5=B1=8F=E8=94=BD=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RMUniversalAlert.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/RMUniversalAlert.m b/RMUniversalAlert.m index 3d03ee0..64edbbc 100644 --- a/RMUniversalAlert.m +++ b/RMUniversalAlert.m @@ -55,9 +55,9 @@ + (instancetype)showAlertInViewController:(UIViewController *)viewController otherButtonTitles:(NSArray *)otherButtonTitles tapBlock:(RMUniversalAlertCompletionBlock)tapBlock { - if ([viewController.presentedViewController isKindOfClass:[UIAlertController class]]) { - [viewController.presentedViewController dismissViewControllerAnimated:NO completion:nil]; - } +// if ([viewController.presentedViewController isKindOfClass:[UIAlertController class]]) { +// [viewController.presentedViewController dismissViewControllerAnimated:NO completion:nil]; +// } RMUniversalAlert *alert = [[RMUniversalAlert alloc] init]; alert.hasCancelButton = cancelButtonTitle != nil;