├── GCDtest ├── GCDtest.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── apple.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── apple.xcuserdatad │ │ └── xcschemes │ │ ├── GCDtest.xcscheme │ │ └── xcschememanagement.plist ├── GCDtest │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── SecViewController.h │ ├── SecViewController.m │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── GCDtestTests │ ├── GCDtestTests.m │ └── Info.plist └── GCDtestUITests │ ├── GCDtestUITests.m │ └── Info.plist ├── JX_GCDTimer-master-2 ├── JX_GCDTimer │ ├── JX_GCDTimerManager.h │ └── JX_GCDTimerManager.m ├── JX_GCDTimerDemo │ ├── JX_GCDTimer.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── apple.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ ├── Joeyxu.xcuserdatad │ │ │ └── xcschemes │ │ │ │ ├── JX_GCDTimer.xcscheme │ │ │ │ └── xcschememanagement.plist │ │ │ └── apple.xcuserdatad │ │ │ └── xcschemes │ │ │ ├── JX_GCDTimer.xcscheme │ │ │ └── xcschememanagement.plist │ ├── JX_GCDTimer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.xib │ │ │ └── Main.storyboard │ │ ├── Images.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Info.plist │ │ ├── JX_GCDTimerManager.h │ │ ├── JX_GCDTimerManager.m │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m │ └── JX_GCDTimerTests │ │ ├── Info.plist │ │ └── JX_GCDTimerTests.m └── README.md ├── README.md ├── TimerTest ├── TimerTest.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── apple.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── apple.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── TimerTest.xcscheme │ │ └── xcschememanagement.plist ├── TimerTest │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── JX_GCDTimer │ │ ├── JX_GCDTimerManager.h │ │ └── JX_GCDTimerManager.m │ ├── TestViewController.h │ ├── TestViewController.m │ ├── ViewController.h │ ├── ViewController.m │ ├── main.m │ └── 叶子.jpg ├── TimerTestTests │ ├── Info.plist │ └── TimerTestTests.m └── TimerTestUITests │ ├── Info.plist │ └── TimerTestUITests.m ├── keychaintest ├── keychaintest.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── apple.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── apple.xcuserdatad │ │ └── xcschemes │ │ ├── keychaintest.xcscheme │ │ └── xcschememanagement.plist ├── keychaintest │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── GSKeyChain.h │ ├── GSKeyChain.m │ ├── GSKeyChainDataManager.h │ ├── GSKeyChainDataManager.m │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── keychaintestTests │ ├── Info.plist │ └── keychaintestTests.m └── keychaintestUITests │ ├── Info.plist │ └── keychaintestUITests.m ├── 工具代码 ├── CountdownButton │ ├── AppDelegate+GSCategory.h │ ├── AppDelegate+GSCategory.m │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── BaseViewController.h │ ├── BaseViewController.m │ ├── CutdownViewController.h │ ├── CutdownViewController.m │ ├── FinishiewController.h │ ├── FinishiewController.m │ ├── HomeViewController.h │ ├── HomeViewController.m │ ├── Info.plist │ ├── LogViewController.h │ ├── LogViewController.m │ ├── MeseeageViewController.h │ ├── MeseeageViewController.m │ ├── MineViewController.h │ ├── MineViewController.m │ ├── Runtime.storyboard │ ├── SVProgressHUD │ │ ├── SVProgressHUD.bundle │ │ │ ├── error.png │ │ │ ├── error@2x.png │ │ │ ├── success.png │ │ │ └── success@2x.png │ │ ├── SVProgressHUD.h │ │ └── SVProgressHUD.m │ ├── Student.h │ ├── Student.m │ ├── Tabbar │ │ ├── 133A169F-406E-4422-B3E4-84AC9DE05E46.png │ │ ├── btn_comment_me_50x23@2x.png │ │ ├── btn_comment_pressed_me_50x23@2x.png │ │ ├── icon_activity_57x49@2x.png │ │ ├── icon_activity_57x49@3x.png │ │ ├── icon_activity_pressed_57x49@2x.png │ │ ├── icon_activity_pressed_57x49@3x.png │ │ ├── icon_me_57x49@2x.png │ │ ├── icon_me_57x49@3x.png │ │ ├── icon_me_pressed_57x49@2x.png │ │ ├── icon_me_pressed_57x49@3x.png │ │ ├── icon_route_57x49@2x.png │ │ ├── icon_route_57x49@3x.png │ │ ├── icon_route_pressed_57x49@2x.png │ │ ├── icon_route_pressed_57x49@3x.png │ │ ├── icon_travels_57x49@2x.png │ │ ├── icon_travels_57x49@3x.png │ │ ├── icon_travels_pressed_57x49@2x.png │ │ └── icon_travels_pressed_57x49@3x.png │ ├── UIButton+GSbutton.h │ ├── UIButton+GSbutton.m │ ├── ViewController.h │ ├── ViewController.m │ ├── main.m │ ├── person+PersonCategory.h │ ├── person+PersonCategory.m │ ├── person.h │ └── person.m ├── CountdownButtonTests │ ├── CountdownButtonTests.m │ └── Info.plist ├── CountdownButtonUITests │ ├── CountdownButtonUITests.m │ └── Info.plist └── ToolsDemo.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ └── apple.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ └── apple.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ ├── CountdownButton.xcscheme │ └── xcschememanagement.plist ├── 测试工程 ├── GNUnitTestDemo │ ├── GNUnit1Tests │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m │ ├── GNUnitTests │ │ ├── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── FirstGHUnitTests.m │ │ ├── GHUnitIOS.framework │ │ │ ├── GHUnitIOS │ │ │ ├── Headers │ │ │ ├── Resources │ │ │ └── Versions │ │ │ │ ├── A │ │ │ │ ├── GHUnitIOS │ │ │ │ ├── Headers │ │ │ │ │ ├── GHAsyncTestCase.h │ │ │ │ │ ├── GHImageDiffView.h │ │ │ │ │ ├── GHMockNSHTTPURLResponse.h │ │ │ │ │ ├── GHMockNSURLConnection.h │ │ │ │ │ ├── GHTest+JUnitXML.h │ │ │ │ │ ├── GHTest.h │ │ │ │ │ ├── GHTestCase.h │ │ │ │ │ ├── GHTestGroup+JUnitXML.h │ │ │ │ │ ├── GHTestGroup.h │ │ │ │ │ ├── GHTestMacros.h │ │ │ │ │ ├── GHTestOperation.h │ │ │ │ │ ├── GHTestRunner.h │ │ │ │ │ ├── GHTestSuite.h │ │ │ │ │ ├── GHTestUtils.h │ │ │ │ │ ├── GHTestViewModel.h │ │ │ │ │ ├── GHTesting.h │ │ │ │ │ ├── GHUIImageViewControl.h │ │ │ │ │ ├── GHUnit.h │ │ │ │ │ ├── GHUnitIOSAppDelegate.h │ │ │ │ │ ├── GHUnitIOSTableViewDataSource.h │ │ │ │ │ ├── GHUnitIOSTestView.h │ │ │ │ │ ├── GHUnitIOSTestViewController.h │ │ │ │ │ ├── GHUnitIOSView.h │ │ │ │ │ ├── GHUnitIOSViewController.h │ │ │ │ │ ├── GHUnitIPhoneAppDelegate.h │ │ │ │ │ ├── GHViewTestCase.h │ │ │ │ │ ├── NSException+GHTestFailureExceptions.h │ │ │ │ │ └── NSValue+GHValueFormatter.h │ │ │ │ └── Resources │ │ │ │ │ └── Info.plist │ │ │ │ └── Current │ │ ├── Info.plist │ │ └── main.m │ ├── OCMock │ │ ├── OCMock │ │ │ ├── NSNotificationCenter+OCMAdditions.h │ │ │ ├── OCMArg.h │ │ │ ├── OCMConstraint.h │ │ │ ├── OCMFunctions.h │ │ │ ├── OCMLocation.h │ │ │ ├── OCMMacroState.h │ │ │ ├── OCMRecorder.h │ │ │ ├── OCMStubRecorder.h │ │ │ ├── OCMock.h │ │ │ └── OCMockObject.h │ │ └── libOCMock.a │ ├── Podfile │ ├── Podfile.lock │ ├── Pods │ │ ├── AFNetworking │ │ │ ├── AFNetworking │ │ │ │ ├── AFHTTPRequestOperation.h │ │ │ │ ├── AFHTTPRequestOperation.m │ │ │ │ ├── AFHTTPRequestOperationManager.h │ │ │ │ ├── AFHTTPRequestOperationManager.m │ │ │ │ ├── AFHTTPSessionManager.h │ │ │ │ ├── AFHTTPSessionManager.m │ │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ │ ├── AFNetworkReachabilityManager.m │ │ │ │ ├── AFNetworking.h │ │ │ │ ├── AFSecurityPolicy.h │ │ │ │ ├── AFSecurityPolicy.m │ │ │ │ ├── AFURLConnectionOperation.h │ │ │ │ ├── AFURLConnectionOperation.m │ │ │ │ ├── AFURLRequestSerialization.h │ │ │ │ ├── AFURLRequestSerialization.m │ │ │ │ ├── AFURLResponseSerialization.h │ │ │ │ ├── AFURLResponseSerialization.m │ │ │ │ ├── AFURLSessionManager.h │ │ │ │ └── AFURLSessionManager.m │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── UIKit+AFNetworking │ │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ │ ├── AFNetworkActivityIndicatorManager.m │ │ │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ │ │ ├── UIActivityIndicatorView+AFNetworking.m │ │ │ │ ├── UIAlertView+AFNetworking.h │ │ │ │ ├── UIAlertView+AFNetworking.m │ │ │ │ ├── UIButton+AFNetworking.h │ │ │ │ ├── UIButton+AFNetworking.m │ │ │ │ ├── UIImageView+AFNetworking.h │ │ │ │ ├── UIImageView+AFNetworking.m │ │ │ │ ├── UIKit+AFNetworking.h │ │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ │ ├── UIProgressView+AFNetworking.m │ │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ │ ├── UIRefreshControl+AFNetworking.m │ │ │ │ ├── UIWebView+AFNetworking.h │ │ │ │ └── UIWebView+AFNetworking.m │ │ ├── Headers │ │ │ ├── Private │ │ │ │ ├── AFNetworking │ │ │ │ │ ├── AFHTTPRequestOperation.h │ │ │ │ │ ├── AFHTTPRequestOperationManager.h │ │ │ │ │ ├── AFHTTPSessionManager.h │ │ │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ │ │ ├── AFNetworking.h │ │ │ │ │ ├── AFSecurityPolicy.h │ │ │ │ │ ├── AFURLConnectionOperation.h │ │ │ │ │ ├── AFURLRequestSerialization.h │ │ │ │ │ ├── AFURLResponseSerialization.h │ │ │ │ │ ├── AFURLSessionManager.h │ │ │ │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ │ │ │ ├── UIAlertView+AFNetworking.h │ │ │ │ │ ├── UIButton+AFNetworking.h │ │ │ │ │ ├── UIImageView+AFNetworking.h │ │ │ │ │ ├── UIKit+AFNetworking.h │ │ │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ │ │ └── UIWebView+AFNetworking.h │ │ │ │ └── STAlertView │ │ │ │ │ └── STAlertView.h │ │ │ └── Public │ │ │ │ ├── AFNetworking │ │ │ │ ├── AFHTTPRequestOperation.h │ │ │ │ ├── AFHTTPRequestOperationManager.h │ │ │ │ ├── AFHTTPSessionManager.h │ │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ │ ├── AFNetworking.h │ │ │ │ ├── AFSecurityPolicy.h │ │ │ │ ├── AFURLConnectionOperation.h │ │ │ │ ├── AFURLRequestSerialization.h │ │ │ │ ├── AFURLResponseSerialization.h │ │ │ │ ├── AFURLSessionManager.h │ │ │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ │ │ ├── UIAlertView+AFNetworking.h │ │ │ │ ├── UIButton+AFNetworking.h │ │ │ │ ├── UIImageView+AFNetworking.h │ │ │ │ ├── UIKit+AFNetworking.h │ │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ │ └── UIWebView+AFNetworking.h │ │ │ │ └── STAlertView │ │ │ │ └── STAlertView.h │ │ ├── Manifest.lock │ │ ├── Pods.xcodeproj │ │ │ ├── project.pbxproj │ │ │ └── xcuserdata │ │ │ │ └── gdy.xcuserdatad │ │ │ │ └── xcschemes │ │ │ │ ├── STAlertView-STAlertView.xcscheme │ │ │ │ └── STAlertView.xcscheme │ │ ├── STAlertView │ │ │ ├── LICENSE │ │ │ ├── Pod │ │ │ │ └── Classes │ │ │ │ │ ├── STAlertView.h │ │ │ │ │ └── STAlertView.m │ │ │ └── README.md │ │ └── Target Support Files │ │ │ ├── AFNetworking │ │ │ ├── AFNetworking-Private.xcconfig │ │ │ ├── AFNetworking-dummy.m │ │ │ ├── AFNetworking-prefix.pch │ │ │ └── AFNetworking.xcconfig │ │ │ ├── Pods │ │ │ ├── Pods-acknowledgements.markdown │ │ │ ├── Pods-acknowledgements.plist │ │ │ ├── Pods-dummy.m │ │ │ ├── Pods-resources.sh │ │ │ ├── Pods.debug.xcconfig │ │ │ └── Pods.release.xcconfig │ │ │ └── STAlertView │ │ │ ├── STAlertView-Private.xcconfig │ │ │ ├── STAlertView-dummy.m │ │ │ ├── STAlertView-prefix.pch │ │ │ └── STAlertView.xcconfig │ ├── UnitTestDemo.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── gdy.xcuserdatad │ │ │ └── xcschemes │ │ │ ├── GNUnit1Tests.xcscheme │ │ │ ├── GNUnitTests.xcscheme │ │ │ └── UnitTestDemo.xcscheme │ ├── UnitTestDemo.xcworkspace │ │ └── contents.xcworkspacedata │ ├── UnitTestDemo │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── XCTest │ │ │ ├── TableDataSource.h │ │ │ ├── TableDataSource.m │ │ │ ├── TableViewController.h │ │ │ └── TableViewController.m │ │ └── main.m │ └── UnitTestDemoTests │ │ ├── Info.plist │ │ ├── MockTableTests.m │ │ └── UnitTestDemoTests.m ├── MockTestDemo │ ├── OCMock │ │ ├── OCMock │ │ │ ├── NSNotificationCenter+OCMAdditions.h │ │ │ ├── OCMArg.h │ │ │ ├── OCMConstraint.h │ │ │ ├── OCMFunctions.h │ │ │ ├── OCMLocation.h │ │ │ ├── OCMMacroState.h │ │ │ ├── OCMRecorder.h │ │ │ ├── OCMStubRecorder.h │ │ │ ├── OCMock.h │ │ │ └── OCMockObject.h │ │ └── libOCMock.a │ ├── Podfile │ ├── Podfile.lock │ ├── Pods │ │ ├── AFNetworking │ │ │ ├── AFNetworking │ │ │ │ ├── AFHTTPRequestOperation.h │ │ │ │ ├── AFHTTPRequestOperation.m │ │ │ │ ├── AFHTTPRequestOperationManager.h │ │ │ │ ├── AFHTTPRequestOperationManager.m │ │ │ │ ├── AFHTTPSessionManager.h │ │ │ │ ├── AFHTTPSessionManager.m │ │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ │ ├── AFNetworkReachabilityManager.m │ │ │ │ ├── AFNetworking.h │ │ │ │ ├── AFSecurityPolicy.h │ │ │ │ ├── AFSecurityPolicy.m │ │ │ │ ├── AFURLConnectionOperation.h │ │ │ │ ├── AFURLConnectionOperation.m │ │ │ │ ├── AFURLRequestSerialization.h │ │ │ │ ├── AFURLRequestSerialization.m │ │ │ │ ├── AFURLResponseSerialization.h │ │ │ │ ├── AFURLResponseSerialization.m │ │ │ │ ├── AFURLSessionManager.h │ │ │ │ └── AFURLSessionManager.m │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── UIKit+AFNetworking │ │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ │ ├── AFNetworkActivityIndicatorManager.m │ │ │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ │ │ ├── UIActivityIndicatorView+AFNetworking.m │ │ │ │ ├── UIAlertView+AFNetworking.h │ │ │ │ ├── UIAlertView+AFNetworking.m │ │ │ │ ├── UIButton+AFNetworking.h │ │ │ │ ├── UIButton+AFNetworking.m │ │ │ │ ├── UIImageView+AFNetworking.h │ │ │ │ ├── UIImageView+AFNetworking.m │ │ │ │ ├── UIKit+AFNetworking.h │ │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ │ ├── UIProgressView+AFNetworking.m │ │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ │ ├── UIRefreshControl+AFNetworking.m │ │ │ │ ├── UIWebView+AFNetworking.h │ │ │ │ └── UIWebView+AFNetworking.m │ │ ├── Headers │ │ │ ├── Private │ │ │ │ ├── AFNetworking │ │ │ │ │ ├── AFHTTPRequestOperation.h │ │ │ │ │ ├── AFHTTPRequestOperationManager.h │ │ │ │ │ ├── AFHTTPSessionManager.h │ │ │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ │ │ ├── AFNetworking.h │ │ │ │ │ ├── AFSecurityPolicy.h │ │ │ │ │ ├── AFURLConnectionOperation.h │ │ │ │ │ ├── AFURLRequestSerialization.h │ │ │ │ │ ├── AFURLResponseSerialization.h │ │ │ │ │ ├── AFURLSessionManager.h │ │ │ │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ │ │ │ ├── UIAlertView+AFNetworking.h │ │ │ │ │ ├── UIButton+AFNetworking.h │ │ │ │ │ ├── UIImageView+AFNetworking.h │ │ │ │ │ ├── UIKit+AFNetworking.h │ │ │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ │ │ └── UIWebView+AFNetworking.h │ │ │ │ └── STAlertView │ │ │ │ │ └── STAlertView.h │ │ │ └── Public │ │ │ │ ├── AFNetworking │ │ │ │ ├── AFHTTPRequestOperation.h │ │ │ │ ├── AFHTTPRequestOperationManager.h │ │ │ │ ├── AFHTTPSessionManager.h │ │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ │ ├── AFNetworking.h │ │ │ │ ├── AFSecurityPolicy.h │ │ │ │ ├── AFURLConnectionOperation.h │ │ │ │ ├── AFURLRequestSerialization.h │ │ │ │ ├── AFURLResponseSerialization.h │ │ │ │ ├── AFURLSessionManager.h │ │ │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ │ │ ├── UIAlertView+AFNetworking.h │ │ │ │ ├── UIButton+AFNetworking.h │ │ │ │ ├── UIImageView+AFNetworking.h │ │ │ │ ├── UIKit+AFNetworking.h │ │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ │ └── UIWebView+AFNetworking.h │ │ │ │ └── STAlertView │ │ │ │ └── STAlertView.h │ │ ├── Manifest.lock │ │ ├── Pods.xcodeproj │ │ │ ├── project.pbxproj │ │ │ └── xcuserdata │ │ │ │ ├── apple.xcuserdatad │ │ │ │ └── xcschemes │ │ │ │ │ ├── AFNetworking.xcscheme │ │ │ │ │ ├── Pods.xcscheme │ │ │ │ │ ├── STAlertView-STAlertView.xcscheme │ │ │ │ │ ├── STAlertView.xcscheme │ │ │ │ │ └── xcschememanagement.plist │ │ │ │ └── gdy.xcuserdatad │ │ │ │ └── xcschemes │ │ │ │ ├── STAlertView-STAlertView.xcscheme │ │ │ │ └── STAlertView.xcscheme │ │ ├── STAlertView │ │ │ ├── LICENSE │ │ │ ├── Pod │ │ │ │ └── Classes │ │ │ │ │ ├── STAlertView.h │ │ │ │ │ └── STAlertView.m │ │ │ └── README.md │ │ └── Target Support Files │ │ │ ├── AFNetworking │ │ │ ├── AFNetworking-Private.xcconfig │ │ │ ├── AFNetworking-dummy.m │ │ │ ├── AFNetworking-prefix.pch │ │ │ └── AFNetworking.xcconfig │ │ │ ├── Pods │ │ │ ├── Pods-acknowledgements.markdown │ │ │ ├── Pods-acknowledgements.plist │ │ │ ├── Pods-dummy.m │ │ │ ├── Pods-resources.sh │ │ │ ├── Pods.debug.xcconfig │ │ │ └── Pods.release.xcconfig │ │ │ └── STAlertView │ │ │ ├── STAlertView-Private.xcconfig │ │ │ ├── STAlertView-dummy.m │ │ │ ├── STAlertView-prefix.pch │ │ │ └── STAlertView.xcconfig │ ├── UnitTestDemo.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ ├── apple.xcuserdatad │ │ │ └── xcschemes │ │ │ │ ├── UnitTestDemo.xcscheme │ │ │ │ └── xcschememanagement.plist │ │ │ └── gdy.xcuserdatad │ │ │ └── xcschemes │ │ │ └── UnitTestDemo.xcscheme │ ├── UnitTestDemo.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── apple.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ ├── UnitTestDemo │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── XCTest │ │ │ ├── TableDataSource.h │ │ │ ├── TableDataSource.m │ │ │ ├── TableViewController.h │ │ │ └── TableViewController.m │ │ └── main.m │ └── UnitTestDemoTests │ │ ├── Info.plist │ │ ├── MockTableTests.m │ │ └── UnitTestDemoTests.m ├── README.md ├── UITestDemo │ ├── UITestDemo.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── apple.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ ├── apple.xcuserdatad │ │ │ └── xcschemes │ │ │ │ ├── UITestDemo.xcscheme │ │ │ │ └── xcschememanagement.plist │ │ │ └── gdy.xcuserdatad │ │ │ └── xcschemes │ │ │ └── UITestDemo.xcscheme │ ├── UITestDemo │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m │ └── UITestDemoUITests │ │ ├── Info.plist │ │ └── UITestDemoUITests.m ├── UnitTestDemo │ ├── Podfile │ ├── Podfile.lock │ ├── Pods │ │ ├── AFNetworking │ │ │ ├── AFNetworking │ │ │ │ ├── AFHTTPRequestOperation.h │ │ │ │ ├── AFHTTPRequestOperation.m │ │ │ │ ├── AFHTTPRequestOperationManager.h │ │ │ │ ├── AFHTTPRequestOperationManager.m │ │ │ │ ├── AFHTTPSessionManager.h │ │ │ │ ├── AFHTTPSessionManager.m │ │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ │ ├── AFNetworkReachabilityManager.m │ │ │ │ ├── AFNetworking.h │ │ │ │ ├── AFSecurityPolicy.h │ │ │ │ ├── AFSecurityPolicy.m │ │ │ │ ├── AFURLConnectionOperation.h │ │ │ │ ├── AFURLConnectionOperation.m │ │ │ │ ├── AFURLRequestSerialization.h │ │ │ │ ├── AFURLRequestSerialization.m │ │ │ │ ├── AFURLResponseSerialization.h │ │ │ │ ├── AFURLResponseSerialization.m │ │ │ │ ├── AFURLSessionManager.h │ │ │ │ └── AFURLSessionManager.m │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── UIKit+AFNetworking │ │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ │ ├── AFNetworkActivityIndicatorManager.m │ │ │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ │ │ ├── UIActivityIndicatorView+AFNetworking.m │ │ │ │ ├── UIAlertView+AFNetworking.h │ │ │ │ ├── UIAlertView+AFNetworking.m │ │ │ │ ├── UIButton+AFNetworking.h │ │ │ │ ├── UIButton+AFNetworking.m │ │ │ │ ├── UIImageView+AFNetworking.h │ │ │ │ ├── UIImageView+AFNetworking.m │ │ │ │ ├── UIKit+AFNetworking.h │ │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ │ ├── UIProgressView+AFNetworking.m │ │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ │ ├── UIRefreshControl+AFNetworking.m │ │ │ │ ├── UIWebView+AFNetworking.h │ │ │ │ └── UIWebView+AFNetworking.m │ │ ├── Headers │ │ │ ├── Private │ │ │ │ ├── AFNetworking │ │ │ │ │ ├── AFHTTPRequestOperation.h │ │ │ │ │ ├── AFHTTPRequestOperationManager.h │ │ │ │ │ ├── AFHTTPSessionManager.h │ │ │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ │ │ ├── AFNetworking.h │ │ │ │ │ ├── AFSecurityPolicy.h │ │ │ │ │ ├── AFURLConnectionOperation.h │ │ │ │ │ ├── AFURLRequestSerialization.h │ │ │ │ │ ├── AFURLResponseSerialization.h │ │ │ │ │ ├── AFURLSessionManager.h │ │ │ │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ │ │ │ ├── UIAlertView+AFNetworking.h │ │ │ │ │ ├── UIButton+AFNetworking.h │ │ │ │ │ ├── UIImageView+AFNetworking.h │ │ │ │ │ ├── UIKit+AFNetworking.h │ │ │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ │ │ └── UIWebView+AFNetworking.h │ │ │ │ └── STAlertView │ │ │ │ │ └── STAlertView.h │ │ │ └── Public │ │ │ │ ├── AFNetworking │ │ │ │ ├── AFHTTPRequestOperation.h │ │ │ │ ├── AFHTTPRequestOperationManager.h │ │ │ │ ├── AFHTTPSessionManager.h │ │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ │ ├── AFNetworking.h │ │ │ │ ├── AFSecurityPolicy.h │ │ │ │ ├── AFURLConnectionOperation.h │ │ │ │ ├── AFURLRequestSerialization.h │ │ │ │ ├── AFURLResponseSerialization.h │ │ │ │ ├── AFURLSessionManager.h │ │ │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ │ │ ├── UIAlertView+AFNetworking.h │ │ │ │ ├── UIButton+AFNetworking.h │ │ │ │ ├── UIImageView+AFNetworking.h │ │ │ │ ├── UIKit+AFNetworking.h │ │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ │ └── UIWebView+AFNetworking.h │ │ │ │ └── STAlertView │ │ │ │ └── STAlertView.h │ │ ├── Manifest.lock │ │ ├── Pods.xcodeproj │ │ │ ├── project.pbxproj │ │ │ └── xcuserdata │ │ │ │ ├── apple.xcuserdatad │ │ │ │ └── xcschemes │ │ │ │ │ ├── AFNetworking.xcscheme │ │ │ │ │ ├── Pods.xcscheme │ │ │ │ │ ├── STAlertView-STAlertView.xcscheme │ │ │ │ │ ├── STAlertView.xcscheme │ │ │ │ │ └── xcschememanagement.plist │ │ │ │ └── gdy.xcuserdatad │ │ │ │ └── xcschemes │ │ │ │ ├── STAlertView-STAlertView.xcscheme │ │ │ │ └── STAlertView.xcscheme │ │ ├── STAlertView │ │ │ ├── LICENSE │ │ │ ├── Pod │ │ │ │ └── Classes │ │ │ │ │ ├── STAlertView.h │ │ │ │ │ └── STAlertView.m │ │ │ └── README.md │ │ └── Target Support Files │ │ │ ├── AFNetworking │ │ │ ├── AFNetworking-Private.xcconfig │ │ │ ├── AFNetworking-dummy.m │ │ │ ├── AFNetworking-prefix.pch │ │ │ └── AFNetworking.xcconfig │ │ │ ├── Pods │ │ │ ├── Pods-acknowledgements.markdown │ │ │ ├── Pods-acknowledgements.plist │ │ │ ├── Pods-dummy.m │ │ │ ├── Pods-resources.sh │ │ │ ├── Pods.debug.xcconfig │ │ │ └── Pods.release.xcconfig │ │ │ └── STAlertView │ │ │ ├── STAlertView-Private.xcconfig │ │ │ ├── STAlertView-dummy.m │ │ │ ├── STAlertView-prefix.pch │ │ │ └── STAlertView.xcconfig │ ├── UnitTestDemo.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ ├── apple.xcuserdatad │ │ │ └── xcschemes │ │ │ │ ├── UnitTestDemo.xcscheme │ │ │ │ └── xcschememanagement.plist │ │ │ └── gdy.xcuserdatad │ │ │ └── xcschemes │ │ │ └── UnitTestDemo.xcscheme │ ├── UnitTestDemo.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── apple.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ ├── UnitTestDemo │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ └── scan_guide_mask.imageset │ │ │ │ ├── Contents.json │ │ │ │ └── scan_guide_mask@2x.png │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── XCTest │ │ │ ├── DataModel.h │ │ │ ├── DataModel.m │ │ │ ├── TableDataSource.h │ │ │ ├── TableDataSource.m │ │ │ ├── TableViewController.h │ │ │ ├── TableViewController.m │ │ │ ├── UIImage+Scale.h │ │ │ └── UIImage+Scale.m │ │ └── main.m │ ├── UnitTestDemo1Tests │ │ ├── Info.plist │ │ └── UnitTestDemo1Tests.m │ └── UnitTestDemoTests │ │ ├── Info.plist │ │ └── UnitTestDemoTests.m ├── automation │ └── login.js └── 单元测试.pptx ├── 算法练习C ├── 算法练习C.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── apple.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── apple.xcuserdatad │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ └── 算法练习C.xcscheme └── 算法练习C │ └── main.m ├── 算法练习OC ├── 算法练习.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── apple.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── apple.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ └── 算法练习.xcscheme ├── 算法练习 │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── 算法练习Tests │ ├── Info.plist │ └── ____Tests.m └── 算法练习UITests │ ├── Info.plist │ └── ____UITests.m └── 谓词正则表达式 ├── 谓词.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ └── apple.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── xcuserdata │ └── apple.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ ├── xcschememanagement.plist │ └── 谓词.xcscheme ├── 谓词 ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── GSRegularExpression.h ├── GSRegularExpression.m ├── Info.plist ├── Student.h ├── Student.m ├── ViewController.h ├── ViewController.m └── main.m ├── 谓词Tests ├── Info.plist └── __Tests.m └── 谓词UITests ├── Info.plist └── __UITests.m /GCDtest/GCDtest.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /GCDtest/GCDtest.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/GCDtest/GCDtest.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /GCDtest/GCDtest.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | GCDtest.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 1841538A1D40B25C00DB47BA 16 | 17 | primary 18 | 19 | 20 | 184153A31D40B25C00DB47BA 21 | 22 | primary 23 | 24 | 25 | 184153AE1D40B25C00DB47BA 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /GCDtest/GCDtest/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // GCDtest 4 | // 5 | // Created by Apple on 16/7/21. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /GCDtest/GCDtest/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /GCDtest/GCDtest/SecViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SecViewController.h 3 | // GCDtest 4 | // 5 | // Created by Apple on 16/7/21. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SecViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /GCDtest/GCDtest/SecViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // SecViewController.m 3 | // GCDtest 4 | // 5 | // Created by Apple on 16/7/21. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import "SecViewController.h" 10 | 11 | @interface SecViewController () 12 | 13 | @end 14 | 15 | @implementation SecViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view. 20 | } 21 | 22 | - (void)didReceiveMemoryWarning { 23 | [super didReceiveMemoryWarning]; 24 | // Dispose of any resources that can be recreated. 25 | } 26 | 27 | /* 28 | #pragma mark - Navigation 29 | 30 | // In a storyboard-based application, you will often want to do a little preparation before navigation 31 | - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 32 | // Get the new view controller using [segue destinationViewController]. 33 | // Pass the selected object to the new view controller. 34 | } 35 | */ 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /GCDtest/GCDtest/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // GCDtest 4 | // 5 | // Created by Apple on 16/7/21. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /GCDtest/GCDtest/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // GCDtest 4 | // 5 | // Created by Apple on 16/7/21. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /GCDtest/GCDtestTests/GCDtestTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // GCDtestTests.m 3 | // GCDtestTests 4 | // 5 | // Created by Apple on 16/7/21. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface GCDtestTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation GCDtestTests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /GCDtest/GCDtestTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /GCDtest/GCDtestUITests/GCDtestUITests.m: -------------------------------------------------------------------------------- 1 | // 2 | // GCDtestUITests.m 3 | // GCDtestUITests 4 | // 5 | // Created by Apple on 16/7/21. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface GCDtestUITests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation GCDtestUITests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | 22 | // In UI tests it is usually best to stop immediately when a failure occurs. 23 | self.continueAfterFailure = NO; 24 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. 25 | [[[XCUIApplication alloc] init] launch]; 26 | 27 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 28 | } 29 | 30 | - (void)tearDown { 31 | // Put teardown code here. This method is called after the invocation of each test method in the class. 32 | [super tearDown]; 33 | } 34 | 35 | - (void)testExample { 36 | // Use recording to get started writing UI tests. 37 | // Use XCTAssert and related functions to verify your tests produce the correct results. 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /GCDtest/GCDtestUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /JX_GCDTimer-master-2/JX_GCDTimerDemo/JX_GCDTimer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /JX_GCDTimer-master-2/JX_GCDTimerDemo/JX_GCDTimer.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/JX_GCDTimer-master-2/JX_GCDTimerDemo/JX_GCDTimer.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /JX_GCDTimer-master-2/JX_GCDTimerDemo/JX_GCDTimer.xcodeproj/xcuserdata/Joeyxu.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | JX_GCDTimer.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 8DE607D31B33070300BCDEE4 16 | 17 | primary 18 | 19 | 20 | 8DE607EC1B33070300BCDEE4 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /JX_GCDTimer-master-2/JX_GCDTimerDemo/JX_GCDTimer.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | JX_GCDTimer.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 8DE607D31B33070300BCDEE4 16 | 17 | primary 18 | 19 | 20 | 8DE607EC1B33070300BCDEE4 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /JX_GCDTimer-master-2/JX_GCDTimerDemo/JX_GCDTimer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // JX_GCDTimer 4 | // 5 | // Created by Joeyxu on 6/18/15. 6 | // Copyright (c) 2015 com.joeyxu. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /JX_GCDTimer-master-2/JX_GCDTimerDemo/JX_GCDTimer/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /JX_GCDTimer-master-2/JX_GCDTimerDemo/JX_GCDTimer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // JX_GCDTimer 4 | // 5 | // Created by Joeyxu on 6/18/15. 6 | // Copyright (c) 2015 com.joeyxu. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /JX_GCDTimer-master-2/JX_GCDTimerDemo/JX_GCDTimer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // JX_GCDTimer 4 | // 5 | // Created by Joeyxu on 6/18/15. 6 | // Copyright (c) 2015 com.joeyxu. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /JX_GCDTimer-master-2/JX_GCDTimerDemo/JX_GCDTimerTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | com.joeyxu.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /JX_GCDTimer-master-2/JX_GCDTimerDemo/JX_GCDTimerTests/JX_GCDTimerTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // JX_GCDTimerTests.m 3 | // JX_GCDTimerTests 4 | // 5 | // Created by Joeyxu on 6/18/15. 6 | // Copyright (c) 2015 com.joeyxu. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface JX_GCDTimerTests : XCTestCase 13 | 14 | @end 15 | 16 | @implementation JX_GCDTimerTests 17 | 18 | - (void)setUp { 19 | [super setUp]; 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | } 22 | 23 | - (void)tearDown { 24 | // Put teardown code here. This method is called after the invocation of each test method in the class. 25 | [super tearDown]; 26 | } 27 | 28 | - (void)testExample { 29 | // This is an example of a functional test case. 30 | XCTAssert(YES, @"Pass"); 31 | } 32 | 33 | - (void)testPerformanceExample { 34 | // This is an example of a performance test case. 35 | [self measureBlock:^{ 36 | // Put the code you want to measure the time of here. 37 | }]; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /JX_GCDTimer-master-2/README.md: -------------------------------------------------------------------------------- 1 | # JX_GCDTimerManager 2 | NSTimer like tool implemented using GCD. 3 | 4 | 使用时只需将“JX_GCDTimerManager.h”和“JX_GCDTimerManager.m”加入工程。 5 | 6 | 在需要使用的文件里引入“JX_GCDTimerManager.h”,“JX_GCDTimerManager.h”里提供了三个接口。 7 | 8 | 当然你也可以选择按自己的需求修改代码、增删接口:) 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #一个工具类的代码 2 | 代码中 模拟先登陆 然后进入 软件 以tabbar为根控制器 在对应的子页面上 加入的一些 项目中 常用的工具 3 | 4 | 1.首页页面 5 | 6 | 更新1).第一个小工具:倒计时按钮 获取短信验证码经常用到的倒计时,离开当前页面下次进入倒计时继续。 7 | 8 | 更新2).举例Category的用法,增加代码的可读性。 9 | 10 | 2.信息页面 11 | 12 | 更新3).BaseViewController函数里简单介绍了storyboard的使用方法,增加了KVC KVO用法的简单举例;运用了Category,对runtime运用代码在(MeseeageViewController.m)中进行了简单举例。 13 | 14 | 15 | 3.我的界面 16 | 17 | 4.其他更新 18 | 在项目中的文件夹中包含 定时器的封装,正则表达式的写法,设备唯一标识符保存的方法 19 | -------------------------------------------------------------------------------- /TimerTest/TimerTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /TimerTest/TimerTest.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/TimerTest/TimerTest.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /TimerTest/TimerTest.xcodeproj/xcuserdata/apple.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /TimerTest/TimerTest.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | TimerTest.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 184786FF1D4AF29C0022D062 16 | 17 | primary 18 | 19 | 20 | 184787181D4AF29C0022D062 21 | 22 | primary 23 | 24 | 25 | 184787231D4AF29C0022D062 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /TimerTest/TimerTest/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // TimerTest 4 | // 5 | // Created by Apple on 16/7/29. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /TimerTest/TimerTest/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /TimerTest/TimerTest/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /TimerTest/TimerTest/TestViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // TestViewController.h 3 | // TimerTest 4 | // 5 | // Created by Apple on 16/7/29. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface TestViewController : UIViewController 12 | 13 | @property (strong, nonatomic) UIImage *imgSnowflake; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /TimerTest/TimerTest/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // TimerTest 4 | // 5 | // Created by Apple on 16/7/29. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /TimerTest/TimerTest/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // TimerTest 4 | // 5 | // Created by Apple on 16/7/29. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /TimerTest/TimerTest/叶子.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/TimerTest/TimerTest/叶子.jpg -------------------------------------------------------------------------------- /TimerTest/TimerTestTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /TimerTest/TimerTestTests/TimerTestTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // TimerTestTests.m 3 | // TimerTestTests 4 | // 5 | // Created by Apple on 16/7/29. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface TimerTestTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation TimerTestTests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /TimerTest/TimerTestUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /TimerTest/TimerTestUITests/TimerTestUITests.m: -------------------------------------------------------------------------------- 1 | // 2 | // TimerTestUITests.m 3 | // TimerTestUITests 4 | // 5 | // Created by Apple on 16/7/29. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface TimerTestUITests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation TimerTestUITests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | 22 | // In UI tests it is usually best to stop immediately when a failure occurs. 23 | self.continueAfterFailure = NO; 24 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. 25 | [[[XCUIApplication alloc] init] launch]; 26 | 27 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 28 | } 29 | 30 | - (void)tearDown { 31 | // Put teardown code here. This method is called after the invocation of each test method in the class. 32 | [super tearDown]; 33 | } 34 | 35 | - (void)testExample { 36 | // Use recording to get started writing UI tests. 37 | // Use XCTAssert and related functions to verify your tests produce the correct results. 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /keychaintest/keychaintest.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /keychaintest/keychaintest.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/keychaintest/keychaintest.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /keychaintest/keychaintest.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | keychaintest.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 18C0AC821D50723D0079A288 16 | 17 | primary 18 | 19 | 20 | 18C0AC9B1D50723D0079A288 21 | 22 | primary 23 | 24 | 25 | 18C0ACA61D50723D0079A288 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /keychaintest/keychaintest/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // keychaintest 4 | // 5 | // Created by Apple on 16/8/2. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /keychaintest/keychaintest/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /keychaintest/keychaintest/GSKeyChain.h: -------------------------------------------------------------------------------- 1 | // 2 | // GSKeyChain.h 3 | // keychaintest 4 | // 5 | // Created by Apple on 16/8/2. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface GSKeyChain : NSObject 12 | 13 | + (NSMutableDictionary *)getKeychainQuery:(NSString *)service; 14 | 15 | + (void)save:(NSString *)service data:(id)data; 16 | 17 | + (id)load:(NSString *)service; 18 | 19 | + (void)delete:(NSString *)service; 20 | @end 21 | -------------------------------------------------------------------------------- /keychaintest/keychaintest/GSKeyChainDataManager.h: -------------------------------------------------------------------------------- 1 | // 2 | // GSKeyChainDataManager.h 3 | // keychaintest 4 | // 5 | // Created by Apple on 16/8/2. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface GSKeyChainDataManager : NSObject 12 | 13 | /** 14 | * 存储 UUID 15 | * 16 | * */ 17 | +(void)saveUUID:(NSString *)UUID; 18 | 19 | /** 20 | * 读取UUID * 21 | * 22 | */ 23 | +(NSString *)readUUID; 24 | 25 | /** 26 | * 删除数据 27 | */ 28 | +(void)deleteUUID; 29 | 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /keychaintest/keychaintest/GSKeyChainDataManager.m: -------------------------------------------------------------------------------- 1 | // 2 | // GSKeyChainDataManager.m 3 | // keychaintest 4 | // 5 | // Created by Apple on 16/8/2. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import "GSKeyChainDataManager.h" 10 | #import "GSKeyChain.h" 11 | @implementation GSKeyChainDataManager 12 | 13 | static NSString * const KEY_IN_KEYCHAIN_UUID = @"唯一识别的KEY_UUID"; 14 | static NSString * const KEY_UUID = @"唯一识别的key_uuid"; 15 | 16 | +(void)saveUUID:(NSString *)UUID{ 17 | 18 | NSMutableDictionary *usernamepasswordKVPairs = [NSMutableDictionary dictionary]; 19 | [usernamepasswordKVPairs setObject:UUID forKey:KEY_UUID]; 20 | 21 | [GSKeyChain save:KEY_IN_KEYCHAIN_UUID data:usernamepasswordKVPairs]; 22 | } 23 | 24 | +(NSString *)readUUID{ 25 | 26 | NSMutableDictionary *usernamepasswordKVPair = (NSMutableDictionary *)[GSKeyChain load:KEY_IN_KEYCHAIN_UUID]; 27 | 28 | return [usernamepasswordKVPair objectForKey:KEY_UUID]; 29 | 30 | } 31 | 32 | +(void)deleteUUID{ 33 | 34 | [GSKeyChain delete:KEY_IN_KEYCHAIN_UUID]; 35 | 36 | } 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /keychaintest/keychaintest/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /keychaintest/keychaintest/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // keychaintest 4 | // 5 | // Created by Apple on 16/8/2. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /keychaintest/keychaintest/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // keychaintest 4 | // 5 | // Created by Apple on 16/8/2. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | #import "GSKeyChainDataManager.h" 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | 20 | NSLog(@"%@",[GSKeyChainDataManager readUUID]); 21 | 22 | } 23 | 24 | - (void)didReceiveMemoryWarning { 25 | [super didReceiveMemoryWarning]; 26 | // Dispose of any resources that can be recreated. 27 | } 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /keychaintest/keychaintest/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // keychaintest 4 | // 5 | // Created by Apple on 16/8/2. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /keychaintest/keychaintestTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /keychaintest/keychaintestTests/keychaintestTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // keychaintestTests.m 3 | // keychaintestTests 4 | // 5 | // Created by Apple on 16/8/2. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface keychaintestTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation keychaintestTests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /keychaintest/keychaintestUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /keychaintest/keychaintestUITests/keychaintestUITests.m: -------------------------------------------------------------------------------- 1 | // 2 | // keychaintestUITests.m 3 | // keychaintestUITests 4 | // 5 | // Created by Apple on 16/8/2. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface keychaintestUITests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation keychaintestUITests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | 22 | // In UI tests it is usually best to stop immediately when a failure occurs. 23 | self.continueAfterFailure = NO; 24 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. 25 | [[[XCUIApplication alloc] init] launch]; 26 | 27 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 28 | } 29 | 30 | - (void)tearDown { 31 | // Put teardown code here. This method is called after the invocation of each test method in the class. 32 | [super tearDown]; 33 | } 34 | 35 | - (void)testExample { 36 | // Use recording to get started writing UI tests. 37 | // Use XCTAssert and related functions to verify your tests produce the correct results. 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/AppDelegate+GSCategory.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate+GSCategory.h 3 | // ToolsDemo 4 | // 5 | // Created by Apple on 16/6/23. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate (GSCategory) 12 | /*! 13 | * 判断根视图是哪个 * 14 | * 15 | */ 16 | - (void)isGSTabVC:(BOOL)is; 17 | 18 | 19 | /*! 20 | * 创建根视图(方法练习) 21 | * 22 | * 23 | */ 24 | -(void)GS_SetRootController; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // CountdownButton 4 | // 5 | // Created by Apple on 16/6/22. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /工具代码/CountdownButton/BaseViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // BaseViewController.h 3 | // CountdownButton 4 | // 5 | // Created by Apple on 16/6/22. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface BaseViewController : UITabBarController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/CutdownViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // CutdownViewController.h 3 | // ToolsDemo 4 | // 5 | // Created by Apple on 16/6/22. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | @class CutdownViewController; 11 | @protocol showTimeDelegate 12 | 13 | @required 14 | -(void)sendTime:(CutdownViewController*)Cutdown time:(NSInteger)num; 15 | @end 16 | @interface CutdownViewController : UIViewController 17 | 18 | @property(nonatomic,assign)iddelegate; 19 | 20 | @property(nonatomic,assign)NSInteger numvalues; 21 | @end 22 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/FinishiewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // FinishiewController.h 3 | // ToolsDemo 4 | // 5 | // Created by Apple on 16/6/22. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface FinishiewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/FinishiewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // FinishiewController.m 3 | // ToolsDemo 4 | // 5 | // Created by Apple on 16/6/22. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import "FinishiewController.h" 10 | 11 | @interface FinishiewController () 12 | 13 | @end 14 | 15 | @implementation FinishiewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | 20 | self.title = @"验证码之后页面"; 21 | 22 | self.view.backgroundColor = [UIColor yellowColor]; 23 | } 24 | 25 | - (void)didReceiveMemoryWarning { 26 | [super didReceiveMemoryWarning]; 27 | // Dispose of any resources that can be recreated. 28 | } 29 | 30 | /* 31 | #pragma mark - Navigation 32 | 33 | // In a storyboard-based application, you will often want to do a little preparation before navigation 34 | - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 35 | // Get the new view controller using [segue destinationViewController]. 36 | // Pass the selected object to the new view controller. 37 | } 38 | */ 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/HomeViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // HomeViewController.h 3 | // CountdownButton 4 | // 5 | // Created by Apple on 16/6/22. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface HomeViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/LogViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // LogViewController.h 3 | // CountdownButton 4 | // 5 | // Created by Apple on 16/6/22. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface LogViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/MeseeageViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MeseeageViewController.h 3 | // CountdownButton 4 | // 5 | // Created by Apple on 16/6/22. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MeseeageViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/MineViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MineViewController.h 3 | // CountdownButton 4 | // 5 | // Created by Apple on 16/6/22. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MineViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/MineViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // MineViewController.m 3 | // CountdownButton 4 | // 5 | // Created by Apple on 16/6/22. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import "MineViewController.h" 10 | 11 | @interface MineViewController () 12 | 13 | @end 14 | 15 | @implementation MineViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view. 20 | } 21 | 22 | - (void)didReceiveMemoryWarning { 23 | [super didReceiveMemoryWarning]; 24 | // Dispose of any resources that can be recreated. 25 | } 26 | 27 | /* 28 | #pragma mark - Navigation 29 | 30 | // In a storyboard-based application, you will often want to do a little preparation before navigation 31 | - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 32 | // Get the new view controller using [segue destinationViewController]. 33 | // Pass the selected object to the new view controller. 34 | } 35 | */ 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/SVProgressHUD/SVProgressHUD.bundle/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/SVProgressHUD/SVProgressHUD.bundle/error.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/SVProgressHUD/SVProgressHUD.bundle/error@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/SVProgressHUD/SVProgressHUD.bundle/error@2x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/SVProgressHUD/SVProgressHUD.bundle/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/SVProgressHUD/SVProgressHUD.bundle/success.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/SVProgressHUD/SVProgressHUD.bundle/success@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/SVProgressHUD/SVProgressHUD.bundle/success@2x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Student.h: -------------------------------------------------------------------------------- 1 | // 2 | // Student.h 3 | // ToolsDemo 4 | // 5 | // Created by Apple on 16/6/28. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface Student : NSObject 12 | 13 | @property (nonatomic,copy)NSString *name; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/Student.m: -------------------------------------------------------------------------------- 1 | // 2 | // Student.m 3 | // ToolsDemo 4 | // 5 | // Created by Apple on 16/6/28. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import "Student.h" 10 | 11 | @implementation Student 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/133A169F-406E-4422-B3E4-84AC9DE05E46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/133A169F-406E-4422-B3E4-84AC9DE05E46.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/btn_comment_me_50x23@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/btn_comment_me_50x23@2x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/btn_comment_pressed_me_50x23@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/btn_comment_pressed_me_50x23@2x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_activity_57x49@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_activity_57x49@2x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_activity_57x49@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_activity_57x49@3x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_activity_pressed_57x49@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_activity_pressed_57x49@2x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_activity_pressed_57x49@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_activity_pressed_57x49@3x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_me_57x49@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_me_57x49@2x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_me_57x49@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_me_57x49@3x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_me_pressed_57x49@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_me_pressed_57x49@2x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_me_pressed_57x49@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_me_pressed_57x49@3x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_route_57x49@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_route_57x49@2x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_route_57x49@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_route_57x49@3x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_route_pressed_57x49@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_route_pressed_57x49@2x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_route_pressed_57x49@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_route_pressed_57x49@3x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_travels_57x49@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_travels_57x49@2x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_travels_57x49@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_travels_57x49@3x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_travels_pressed_57x49@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_travels_pressed_57x49@2x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/Tabbar/icon_travels_pressed_57x49@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/CountdownButton/Tabbar/icon_travels_pressed_57x49@3x.png -------------------------------------------------------------------------------- /工具代码/CountdownButton/UIButton+GSbutton.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIButton+GSbutton.h 3 | // ToolsDemo 4 | // 5 | // Created by Apple on 16/6/23. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIButton (GSbutton) 12 | 13 | -(void)GS_SetMyButtonWithName:(NSString *)name; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/UIButton+GSbutton.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIButton+GSbutton.m 3 | // ToolsDemo 4 | // 5 | // Created by Apple on 16/6/23. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import "UIButton+GSbutton.h" 10 | 11 | @implementation UIButton (GSbutton) 12 | 13 | -(void)GS_SetMyButtonWithName:(NSString *)name{ 14 | 15 | [self setTitle:name forState:UIControlStateNormal]; 16 | 17 | [self setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; 18 | 19 | self.backgroundColor = [UIColor blueColor]; 20 | 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // CountdownButton 4 | // 5 | // Created by Apple on 16/6/22. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // CountdownButton 4 | // 5 | // Created by Apple on 16/6/22. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view, typically from a nib. 20 | } 21 | 22 | - (void)didReceiveMemoryWarning { 23 | [super didReceiveMemoryWarning]; 24 | // Dispose of any resources that can be recreated. 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CountdownButton 4 | // 5 | // Created by Apple on 16/6/22. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/person+PersonCategory.h: -------------------------------------------------------------------------------- 1 | // 2 | // person+PersonCategory.h 3 | // ToolsDemo 4 | // 5 | // Created by Apple on 16/6/28. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import "person.h" 10 | 11 | @interface person (PersonCategory) 12 | 13 | @property (nonatomic,assign)float height; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/person+PersonCategory.m: -------------------------------------------------------------------------------- 1 | // 2 | // person+PersonCategory.m 3 | // ToolsDemo 4 | // 5 | // Created by Apple on 16/6/28. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import "person+PersonCategory.h" 10 | #import 11 | 12 | const char * str = "myKey"; //做为key,字符常量 必须是C语言字符串; 13 | 14 | @implementation person (PersonCategory) 15 | -(void)setHeight:(float)height 16 | { 17 | NSNumber *num = [NSNumber numberWithFloat:height]; 18 | /* 19 | 第一个参数是需要添加属性的对象; 20 | 第二个参数是属性的key; 21 | 第三个参数是属性的值; 22 | 第四个参数是使用的策略,是一个枚举值,可根据开发需要选择不同的枚举; 23 | */ 24 | objc_setAssociatedObject(self, str, num, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 25 | } 26 | -(float)height 27 | { 28 | //提取属性的值: 29 | NSNumber *number = objc_getAssociatedObject(self, str); 30 | return [number floatValue]; 31 | } 32 | 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/person.h: -------------------------------------------------------------------------------- 1 | // 2 | // person.h 3 | // ToolsDemo 4 | // 5 | // Created by Apple on 16/6/28. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface person : NSObject 12 | 13 | @property (nonatomic,assign)int age; //外部调用的类 14 | 15 | -(void)func1; 16 | -(void)func2; 17 | 18 | @end 19 | 20 | -------------------------------------------------------------------------------- /工具代码/CountdownButton/person.m: -------------------------------------------------------------------------------- 1 | // 2 | // person.m 3 | // ToolsDemo 4 | // 5 | // Created by Apple on 16/6/28. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import "person.h" 10 | 11 | @implementation person 12 | { 13 | NSString *name; //私有的 14 | } 15 | 16 | //@synthesize age = _age; 17 | 18 | //初始化person属性 19 | -(instancetype)init 20 | { 21 | self = [super init]; 22 | if(self) 23 | { 24 | name = @"Tom"; 25 | self.age = 12; 26 | } 27 | return self; 28 | } 29 | 30 | //person的2个方法 31 | -(void)func1 32 | { 33 | NSLog(@"执行func1方法。"); 34 | } 35 | 36 | -(void)func2 37 | { 38 | NSLog(@"执行func2方法。"); 39 | } 40 | 41 | 42 | //输出person对象时的方法: 43 | -(NSString *)description 44 | { 45 | return [NSString stringWithFormat:@"name:%@ age:%d",name,self.age]; 46 | } 47 | 48 | @end 49 | 50 | -------------------------------------------------------------------------------- /工具代码/CountdownButtonTests/CountdownButtonTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // CountdownButtonTests.m 3 | // CountdownButtonTests 4 | // 5 | // Created by Apple on 16/6/22. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface CountdownButtonTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation CountdownButtonTests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /工具代码/CountdownButtonTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /工具代码/CountdownButtonUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /工具代码/ToolsDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /工具代码/ToolsDemo.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/工具代码/ToolsDemo.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /工具代码/ToolsDemo.xcodeproj/xcuserdata/apple.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /工具代码/ToolsDemo.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CountdownButton.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 18EDF8931D1A6735009C7CBE 16 | 17 | primary 18 | 19 | 20 | 18EDF8AC1D1A6735009C7CBE 21 | 22 | primary 23 | 24 | 25 | 18EDF8B71D1A6735009C7CBE 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnit1Tests/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // GNUnit1Tests 4 | // 5 | // Created by gdy on 16/2/25. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnit1Tests/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnit1Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnit1Tests/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // GNUnit1Tests 4 | // 5 | // Created by gdy on 16/2/25. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnit1Tests/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // GNUnit1Tests 4 | // 5 | // Created by gdy on 16/2/25. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view, typically from a nib. 20 | } 21 | 22 | - (void)didReceiveMemoryWarning { 23 | [super didReceiveMemoryWarning]; 24 | // Dispose of any resources that can be recreated. 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnit1Tests/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // GNUnit1Tests 4 | // 5 | // Created by gdy on 16/2/25. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnitTests/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnitTests/FirstGHUnitTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // FirstGHUnitTests.m 3 | // UnitTestDemo 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | 10 | 11 | 12 | #import 13 | #import "TableDataSource.h" 14 | #import "TableViewController.h" 15 | 16 | @interface MyTest : GHTestCase 17 | 18 | @end 19 | 20 | @implementation MyTest 21 | 22 | - (void)testStrings{ 23 | NSString* string1 = @"a string"; 24 | GHTestLog(@"I can log to the GHUnit test console: %@",string1); 25 | 26 | GHAssertNotNil(string1, nil); 27 | 28 | NSString* string2 = @"a string"; 29 | GHAssertEqualObjects(string1, string2, @"A custom error message,string1 should be equal to string2"); 30 | } 31 | 32 | - (void)testSimpleFail{ 33 | GHAssertTrue(NO, nil); 34 | } 35 | 36 | 37 | - (void)testDataSourceInitializing{ 38 | TableDataSource* dataSource = [[TableDataSource alloc]initWithItems:@[@"1",@"2",@"3"] cellIdentifier:@"identifier" configureCellBlock:^(UITableViewCell* cell, NSString* item) { 39 | cell.textLabel.text = item; 40 | }]; 41 | GHAssertNotNil(dataSource, @"tableview data source should not be nil"); 42 | } 43 | 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnitTests/GHUnitIOS.framework/GHUnitIOS: -------------------------------------------------------------------------------- 1 | Versions/Current/GHUnitIOS -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnitTests/GHUnitIOS.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnitTests/GHUnitIOS.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnitTests/GHUnitIOS.framework/Versions/A/GHUnitIOS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/测试工程/GNUnitTestDemo/GNUnitTests/GHUnitIOS.framework/Versions/A/GHUnitIOS -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnitTests/GHUnitIOS.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleIdentifier 8 | me.rel.ghunit 9 | CFBundleInfoDictionaryVersion 10 | 6.0 11 | CFBundlePackageType 12 | FMWK 13 | CFBundleSignature 14 | ???? 15 | CFBundleVersion 16 | $(GHUNIT_VERSION) 17 | 18 | 19 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnitTests/GHUnitIOS.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/GNUnitTests/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // GNUnitTests 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char * argv[]) { 12 | @autoreleasepool { 13 | return UIApplicationMain(argc, argv, nil, @"GHUnitIOSAppDelegate"); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/OCMock/OCMock/NSNotificationCenter+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class OCObserverMockObject; 20 | 21 | 22 | @interface NSNotificationCenter(OCMAdditions) 23 | 24 | - (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/OCMock/OCMock/OCMFunctions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | 20 | #if defined(__cplusplus) 21 | #define OCMOCK_EXTERN extern "C" 22 | #else 23 | #define OCMOCK_EXTERN extern 24 | #endif 25 | 26 | 27 | OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); 28 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/OCMock/OCMock/OCMLocation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | #import "OCMFunctions.h" 19 | 20 | 21 | @interface OCMLocation : NSObject 22 | { 23 | id testCase; 24 | NSString *file; 25 | NSUInteger line; 26 | } 27 | 28 | + (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; 29 | 30 | - (instancetype)initWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; 31 | 32 | - (id)testCase; 33 | - (NSString *)file; 34 | - (NSUInteger)line; 35 | 36 | @end 37 | 38 | OCMOCK_EXTERN OCMLocation *OCMMakeLocation(id testCase, const char *file, int line); 39 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/OCMock/OCMock/OCMMacroState.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class OCMLocation; 20 | @class OCMRecorder; 21 | @class OCMStubRecorder; 22 | @class OCMockObject; 23 | 24 | 25 | @interface OCMMacroState : NSObject 26 | { 27 | OCMRecorder *recorder; 28 | } 29 | 30 | + (void)beginStubMacro; 31 | + (OCMStubRecorder *)endStubMacro; 32 | 33 | + (void)beginExpectMacro; 34 | + (OCMStubRecorder *)endExpectMacro; 35 | 36 | + (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; 37 | + (void)endVerifyMacro; 38 | 39 | + (OCMMacroState *)globalState; 40 | 41 | - (OCMRecorder *)recorder; 42 | 43 | - (void)switchToClassMethod; 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/OCMock/OCMock/OCMRecorder.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class OCMockObject; 20 | @class OCMInvocationMatcher; 21 | 22 | 23 | @interface OCMRecorder : NSProxy 24 | { 25 | OCMockObject *mockObject; 26 | OCMInvocationMatcher *invocationMatcher; 27 | } 28 | 29 | - (instancetype)init; 30 | - (instancetype)initWithMockObject:(OCMockObject *)aMockObject; 31 | 32 | - (void)setMockObject:(OCMockObject *)aMockObject; 33 | 34 | - (OCMInvocationMatcher *)invocationMatcher; 35 | 36 | - (id)classMethod; 37 | - (id)ignoringNonObjectArgs; 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/OCMock/libOCMock.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/测试工程/GNUnitTestDemo/OCMock/libOCMock.a -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Podfile: -------------------------------------------------------------------------------- 1 | platform :ios, '7.0' 2 | pod 'AFNetworking', '~> 2.5.0' 3 | pod 'STAlertView', '~> 1.0.0' -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - AFNetworking (2.5.4): 3 | - AFNetworking/NSURLConnection (= 2.5.4) 4 | - AFNetworking/NSURLSession (= 2.5.4) 5 | - AFNetworking/Reachability (= 2.5.4) 6 | - AFNetworking/Security (= 2.5.4) 7 | - AFNetworking/Serialization (= 2.5.4) 8 | - AFNetworking/UIKit (= 2.5.4) 9 | - AFNetworking/NSURLConnection (2.5.4): 10 | - AFNetworking/Reachability 11 | - AFNetworking/Security 12 | - AFNetworking/Serialization 13 | - AFNetworking/NSURLSession (2.5.4): 14 | - AFNetworking/Reachability 15 | - AFNetworking/Security 16 | - AFNetworking/Serialization 17 | - AFNetworking/Reachability (2.5.4) 18 | - AFNetworking/Security (2.5.4) 19 | - AFNetworking/Serialization (2.5.4) 20 | - AFNetworking/UIKit (2.5.4): 21 | - AFNetworking/NSURLConnection 22 | - AFNetworking/NSURLSession 23 | - STAlertView (1.0.0) 24 | 25 | DEPENDENCIES: 26 | - AFNetworking (~> 2.5.0) 27 | - STAlertView (~> 1.0.0) 28 | 29 | SPEC CHECKSUMS: 30 | AFNetworking: 05edc0ac4c4c8cf57bcf4b84be5b0744b6d8e71e 31 | STAlertView: bfcbdfed87dc7bfb35c04acd5d96aecebb923d48 32 | 33 | COCOAPODS: 0.38.2 34 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/AFNetworking/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011–2015 Alamofire Software Foundation (http://alamofire.org/) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/AFHTTPRequestOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperation.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/AFHTTPRequestOperationManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperationManager.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/AFHTTPSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/AFNetworkActivityIndicatorManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/AFNetworkReachabilityManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/AFSecurityPolicy.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFSecurityPolicy.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/AFURLConnectionOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLConnectionOperation.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/AFURLRequestSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/AFURLResponseSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/AFURLSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLSessionManager.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/UIAlertView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/UIButton+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/UIImageView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Private/STAlertView/STAlertView.h: -------------------------------------------------------------------------------- 1 | ../../../STAlertView/Pod/Classes/STAlertView.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperation.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperationManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperationManager.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/AFHTTPSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/AFNetworkActivityIndicatorManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/AFNetworkReachabilityManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/AFSecurityPolicy.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFSecurityPolicy.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/AFURLConnectionOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLConnectionOperation.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/AFURLRequestSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/AFURLResponseSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/AFURLSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLSessionManager.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/UIAlertView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/UIButton+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/UIImageView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Headers/Public/STAlertView/STAlertView.h: -------------------------------------------------------------------------------- 1 | ../../../STAlertView/Pod/Classes/STAlertView.h -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - AFNetworking (2.5.4): 3 | - AFNetworking/NSURLConnection (= 2.5.4) 4 | - AFNetworking/NSURLSession (= 2.5.4) 5 | - AFNetworking/Reachability (= 2.5.4) 6 | - AFNetworking/Security (= 2.5.4) 7 | - AFNetworking/Serialization (= 2.5.4) 8 | - AFNetworking/UIKit (= 2.5.4) 9 | - AFNetworking/NSURLConnection (2.5.4): 10 | - AFNetworking/Reachability 11 | - AFNetworking/Security 12 | - AFNetworking/Serialization 13 | - AFNetworking/NSURLSession (2.5.4): 14 | - AFNetworking/Reachability 15 | - AFNetworking/Security 16 | - AFNetworking/Serialization 17 | - AFNetworking/Reachability (2.5.4) 18 | - AFNetworking/Security (2.5.4) 19 | - AFNetworking/Serialization (2.5.4) 20 | - AFNetworking/UIKit (2.5.4): 21 | - AFNetworking/NSURLConnection 22 | - AFNetworking/NSURLSession 23 | - STAlertView (1.0.0) 24 | 25 | DEPENDENCIES: 26 | - AFNetworking (~> 2.5.0) 27 | - STAlertView (~> 1.0.0) 28 | 29 | SPEC CHECKSUMS: 30 | AFNetworking: 05edc0ac4c4c8cf57bcf4b84be5b0744b6d8e71e 31 | STAlertView: bfcbdfed87dc7bfb35c04acd5d96aecebb923d48 32 | 33 | COCOAPODS: 0.38.2 34 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/STAlertView/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Nestor 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Target Support Files/AFNetworking/AFNetworking-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "AFNetworking.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/AFNetworking" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/STAlertView" 4 | OTHER_LDFLAGS = ${AFNETWORKING_OTHER_LDFLAGS} 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Target Support Files/AFNetworking/AFNetworking-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_AFNetworking : NSObject 3 | @end 4 | @implementation PodsDummy_AFNetworking 5 | @end 6 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig: -------------------------------------------------------------------------------- 1 | AFNETWORKING_OTHER_LDFLAGS = -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Target Support Files/Pods/Pods-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods : NSObject 3 | @end 4 | @implementation PodsDummy_Pods 5 | @end 6 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Target Support Files/Pods/Pods.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/STAlertView" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/STAlertView" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"STAlertView" -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Target Support Files/Pods/Pods.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/STAlertView" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/STAlertView" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"STAlertView" -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Target Support Files/STAlertView/STAlertView-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "STAlertView.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/STAlertView" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/STAlertView" 4 | OTHER_LDFLAGS = ${STALERTVIEW_OTHER_LDFLAGS} 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Target Support Files/STAlertView/STAlertView-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_STAlertView : NSObject 3 | @end 4 | @implementation PodsDummy_STAlertView 5 | @end 6 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Target Support Files/STAlertView/STAlertView-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/Pods/Target Support Files/STAlertView/STAlertView.xcconfig: -------------------------------------------------------------------------------- 1 | STALERTVIEW_OTHER_LDFLAGS = -framework "UIKit" -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/UnitTestDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/UnitTestDemo.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/UnitTestDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // UnitTestDemo 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/UnitTestDemo/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/UnitTestDemo/XCTest/TableDataSource.h: -------------------------------------------------------------------------------- 1 | // 2 | // TableDataSource.h 3 | // UnitTestProject 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | typedef void (^TableViewCellConfigureBlock)(id cell,id item); 13 | 14 | @interface TableDataSource : NSObject 15 | 16 | - (instancetype)initWithItems:(NSArray*)anitems 17 | cellIdentifier:(NSString*)aCellIdentifier 18 | configureCellBlock:(TableViewCellConfigureBlock)aConfigureCellBlock; 19 | 20 | - (id)itemAtIndexPath:(NSIndexPath*)indexPath; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/UnitTestDemo/XCTest/TableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewController.h 3 | // UnitTestProject 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface TableViewController : UITableViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/UnitTestDemo/XCTest/TableViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewController.m 3 | // UnitTestProject 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import "TableViewController.h" 10 | #import "TableDataSource.h" 11 | 12 | static NSString* const kCellIdentifier = @"cellIdentifier"; 13 | 14 | @interface TableViewController () 15 | @property (nonatomic, strong)TableDataSource *dataSource; 16 | @end 17 | 18 | @implementation TableViewController 19 | 20 | - (void)viewDidLoad { 21 | [super viewDidLoad]; 22 | self.view.backgroundColor = [UIColor whiteColor]; 23 | self.dataSource = [[TableDataSource alloc]initWithItems:@[@"hello",@"world",@"nihao",@"good"] cellIdentifier:kCellIdentifier configureCellBlock:^(UITableViewCell* cell, NSString* item) { 24 | cell.textLabel.text = item; 25 | }]; 26 | self.tableView.dataSource = _dataSource; 27 | } 28 | 29 | - (void)didReceiveMemoryWarning { 30 | [super didReceiveMemoryWarning]; 31 | // Dispose of any resources that can be recreated. 32 | } 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/UnitTestDemo/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // UnitTestDemo 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /测试工程/GNUnitTestDemo/UnitTestDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/OCMock/OCMock/NSNotificationCenter+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class OCObserverMockObject; 20 | 21 | 22 | @interface NSNotificationCenter(OCMAdditions) 23 | 24 | - (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/OCMock/OCMock/OCMFunctions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | 20 | #if defined(__cplusplus) 21 | #define OCMOCK_EXTERN extern "C" 22 | #else 23 | #define OCMOCK_EXTERN extern 24 | #endif 25 | 26 | 27 | OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); 28 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/OCMock/OCMock/OCMLocation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | #import "OCMFunctions.h" 19 | 20 | 21 | @interface OCMLocation : NSObject 22 | { 23 | id testCase; 24 | NSString *file; 25 | NSUInteger line; 26 | } 27 | 28 | + (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; 29 | 30 | - (instancetype)initWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; 31 | 32 | - (id)testCase; 33 | - (NSString *)file; 34 | - (NSUInteger)line; 35 | 36 | @end 37 | 38 | OCMOCK_EXTERN OCMLocation *OCMMakeLocation(id testCase, const char *file, int line); 39 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/OCMock/OCMock/OCMMacroState.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class OCMLocation; 20 | @class OCMRecorder; 21 | @class OCMStubRecorder; 22 | @class OCMockObject; 23 | 24 | 25 | @interface OCMMacroState : NSObject 26 | { 27 | OCMRecorder *recorder; 28 | } 29 | 30 | + (void)beginStubMacro; 31 | + (OCMStubRecorder *)endStubMacro; 32 | 33 | + (void)beginExpectMacro; 34 | + (OCMStubRecorder *)endExpectMacro; 35 | 36 | + (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; 37 | + (void)endVerifyMacro; 38 | 39 | + (OCMMacroState *)globalState; 40 | 41 | - (OCMRecorder *)recorder; 42 | 43 | - (void)switchToClassMethod; 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/OCMock/OCMock/OCMRecorder.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class OCMockObject; 20 | @class OCMInvocationMatcher; 21 | 22 | 23 | @interface OCMRecorder : NSProxy 24 | { 25 | OCMockObject *mockObject; 26 | OCMInvocationMatcher *invocationMatcher; 27 | } 28 | 29 | - (instancetype)init; 30 | - (instancetype)initWithMockObject:(OCMockObject *)aMockObject; 31 | 32 | - (void)setMockObject:(OCMockObject *)aMockObject; 33 | 34 | - (OCMInvocationMatcher *)invocationMatcher; 35 | 36 | - (id)classMethod; 37 | - (id)ignoringNonObjectArgs; 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/OCMock/libOCMock.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/测试工程/MockTestDemo/OCMock/libOCMock.a -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Podfile: -------------------------------------------------------------------------------- 1 | platform :ios, '7.0' 2 | pod 'AFNetworking', '~> 2.5.0' 3 | pod 'STAlertView', '~> 1.0.0' -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - AFNetworking (2.5.4): 3 | - AFNetworking/NSURLConnection (= 2.5.4) 4 | - AFNetworking/NSURLSession (= 2.5.4) 5 | - AFNetworking/Reachability (= 2.5.4) 6 | - AFNetworking/Security (= 2.5.4) 7 | - AFNetworking/Serialization (= 2.5.4) 8 | - AFNetworking/UIKit (= 2.5.4) 9 | - AFNetworking/NSURLConnection (2.5.4): 10 | - AFNetworking/Reachability 11 | - AFNetworking/Security 12 | - AFNetworking/Serialization 13 | - AFNetworking/NSURLSession (2.5.4): 14 | - AFNetworking/Reachability 15 | - AFNetworking/Security 16 | - AFNetworking/Serialization 17 | - AFNetworking/Reachability (2.5.4) 18 | - AFNetworking/Security (2.5.4) 19 | - AFNetworking/Serialization (2.5.4) 20 | - AFNetworking/UIKit (2.5.4): 21 | - AFNetworking/NSURLConnection 22 | - AFNetworking/NSURLSession 23 | - STAlertView (1.0.0) 24 | 25 | DEPENDENCIES: 26 | - AFNetworking (~> 2.5.0) 27 | - STAlertView (~> 1.0.0) 28 | 29 | SPEC CHECKSUMS: 30 | AFNetworking: 05edc0ac4c4c8cf57bcf4b84be5b0744b6d8e71e 31 | STAlertView: bfcbdfed87dc7bfb35c04acd5d96aecebb923d48 32 | 33 | COCOAPODS: 0.38.2 34 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/AFNetworking/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011–2015 Alamofire Software Foundation (http://alamofire.org/) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/AFHTTPRequestOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperation.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/AFHTTPRequestOperationManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperationManager.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/AFHTTPSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/AFNetworkActivityIndicatorManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/AFNetworkReachabilityManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/AFSecurityPolicy.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFSecurityPolicy.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/AFURLConnectionOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLConnectionOperation.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/AFURLRequestSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/AFURLResponseSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/AFURLSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLSessionManager.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/UIAlertView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/UIButton+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/UIImageView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Private/STAlertView/STAlertView.h: -------------------------------------------------------------------------------- 1 | ../../../STAlertView/Pod/Classes/STAlertView.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperation.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperationManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperationManager.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/AFHTTPSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/AFNetworkActivityIndicatorManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/AFNetworkReachabilityManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/AFSecurityPolicy.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFSecurityPolicy.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/AFURLConnectionOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLConnectionOperation.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/AFURLRequestSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/AFURLResponseSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/AFURLSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLSessionManager.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/UIAlertView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/UIButton+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/UIImageView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Headers/Public/STAlertView/STAlertView.h: -------------------------------------------------------------------------------- 1 | ../../../STAlertView/Pod/Classes/STAlertView.h -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - AFNetworking (2.5.4): 3 | - AFNetworking/NSURLConnection (= 2.5.4) 4 | - AFNetworking/NSURLSession (= 2.5.4) 5 | - AFNetworking/Reachability (= 2.5.4) 6 | - AFNetworking/Security (= 2.5.4) 7 | - AFNetworking/Serialization (= 2.5.4) 8 | - AFNetworking/UIKit (= 2.5.4) 9 | - AFNetworking/NSURLConnection (2.5.4): 10 | - AFNetworking/Reachability 11 | - AFNetworking/Security 12 | - AFNetworking/Serialization 13 | - AFNetworking/NSURLSession (2.5.4): 14 | - AFNetworking/Reachability 15 | - AFNetworking/Security 16 | - AFNetworking/Serialization 17 | - AFNetworking/Reachability (2.5.4) 18 | - AFNetworking/Security (2.5.4) 19 | - AFNetworking/Serialization (2.5.4) 20 | - AFNetworking/UIKit (2.5.4): 21 | - AFNetworking/NSURLConnection 22 | - AFNetworking/NSURLSession 23 | - STAlertView (1.0.0) 24 | 25 | DEPENDENCIES: 26 | - AFNetworking (~> 2.5.0) 27 | - STAlertView (~> 1.0.0) 28 | 29 | SPEC CHECKSUMS: 30 | AFNetworking: 05edc0ac4c4c8cf57bcf4b84be5b0744b6d8e71e 31 | STAlertView: bfcbdfed87dc7bfb35c04acd5d96aecebb923d48 32 | 33 | COCOAPODS: 0.38.2 34 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Pods.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | AFNetworking.xcscheme 8 | 9 | orderHint 10 | 1 11 | 12 | Pods.xcscheme 13 | 14 | orderHint 15 | 2 16 | 17 | STAlertView-STAlertView.xcscheme 18 | 19 | orderHint 20 | 4 21 | 22 | STAlertView.xcscheme 23 | 24 | orderHint 25 | 3 26 | 27 | 28 | SuppressBuildableAutocreation 29 | 30 | 7BD92D27C9133272B54A4B30B97AEAF0 31 | 32 | primary 33 | 34 | 35 | 97E87C3A42F51FD863BC25176A5A5210 36 | 37 | primary 38 | 39 | 40 | B7AFE14F598BF4C01444C65B267F1AC7 41 | 42 | primary 43 | 44 | 45 | E868137FC0ECBBB8836C9D7A464225F7 46 | 47 | primary 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/STAlertView/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Nestor 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Target Support Files/AFNetworking/AFNetworking-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "AFNetworking.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/AFNetworking" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/STAlertView" 4 | OTHER_LDFLAGS = ${AFNETWORKING_OTHER_LDFLAGS} 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Target Support Files/AFNetworking/AFNetworking-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_AFNetworking : NSObject 3 | @end 4 | @implementation PodsDummy_AFNetworking 5 | @end 6 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig: -------------------------------------------------------------------------------- 1 | AFNETWORKING_OTHER_LDFLAGS = -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Target Support Files/Pods/Pods-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods : NSObject 3 | @end 4 | @implementation PodsDummy_Pods 5 | @end 6 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Target Support Files/Pods/Pods.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/STAlertView" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/STAlertView" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"STAlertView" -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Target Support Files/Pods/Pods.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/STAlertView" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/STAlertView" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"STAlertView" -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Target Support Files/STAlertView/STAlertView-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "STAlertView.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/STAlertView" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/STAlertView" 4 | OTHER_LDFLAGS = ${STALERTVIEW_OTHER_LDFLAGS} 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Target Support Files/STAlertView/STAlertView-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_STAlertView : NSObject 3 | @end 4 | @implementation PodsDummy_STAlertView 5 | @end 6 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Target Support Files/STAlertView/STAlertView-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/Pods/Target Support Files/STAlertView/STAlertView.xcconfig: -------------------------------------------------------------------------------- 1 | STALERTVIEW_OTHER_LDFLAGS = -framework "UIKit" -------------------------------------------------------------------------------- /测试工程/MockTestDemo/UnitTestDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/UnitTestDemo.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | UnitTestDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 068D49401C7DAA5E00A957F5 16 | 17 | primary 18 | 19 | 20 | 068D49591C7DAA5E00A957F5 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/UnitTestDemo.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/UnitTestDemo.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/测试工程/MockTestDemo/UnitTestDemo.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /测试工程/MockTestDemo/UnitTestDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // UnitTestDemo 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/UnitTestDemo/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /测试工程/MockTestDemo/UnitTestDemo/XCTest/TableDataSource.h: -------------------------------------------------------------------------------- 1 | // 2 | // TableDataSource.h 3 | // UnitTestProject 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | typedef void (^TableViewCellConfigureBlock)(id cell,id item); 13 | 14 | @interface TableDataSource : NSObject 15 | 16 | - (instancetype)initWithItems:(NSArray*)anitems 17 | cellIdentifier:(NSString*)aCellIdentifier 18 | configureCellBlock:(TableViewCellConfigureBlock)aConfigureCellBlock; 19 | 20 | - (id)itemAtIndexPath:(NSIndexPath*)indexPath; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/UnitTestDemo/XCTest/TableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewController.h 3 | // UnitTestProject 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface TableViewController : UITableViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/UnitTestDemo/XCTest/TableViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewController.m 3 | // UnitTestProject 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import "TableViewController.h" 10 | #import "TableDataSource.h" 11 | 12 | static NSString* const kCellIdentifier = @"cellIdentifier"; 13 | 14 | @interface TableViewController () 15 | @property (nonatomic, strong)TableDataSource *dataSource; 16 | @end 17 | 18 | @implementation TableViewController 19 | 20 | - (void)viewDidLoad { 21 | [super viewDidLoad]; 22 | self.view.backgroundColor = [UIColor whiteColor]; 23 | self.dataSource = [[TableDataSource alloc]initWithItems:@[@"hello",@"world",@"nihao",@"good"] cellIdentifier:kCellIdentifier configureCellBlock:^(UITableViewCell* cell, NSString* item) { 24 | cell.textLabel.text = item; 25 | }]; 26 | self.tableView.dataSource = _dataSource; 27 | } 28 | 29 | - (void)didReceiveMemoryWarning { 30 | [super didReceiveMemoryWarning]; 31 | // Dispose of any resources that can be recreated. 32 | } 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/UnitTestDemo/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // UnitTestDemo 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /测试工程/MockTestDemo/UnitTestDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /测试工程/README.md: -------------------------------------------------------------------------------- 1 | # iOS-UnitTest 2 | UnitTest and UI automation Test 3 | -------------------------------------------------------------------------------- /测试工程/UITestDemo/UITestDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /测试工程/UITestDemo/UITestDemo.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/测试工程/UITestDemo/UITestDemo.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /测试工程/UITestDemo/UITestDemo.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | UITestDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 068896581C7ED7B500F3A24C 16 | 17 | primary 18 | 19 | 20 | 068896711C7ED7B500F3A24C 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /测试工程/UITestDemo/UITestDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // UITestDemo 4 | // 5 | // Created by gdy on 16/2/25. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /测试工程/UITestDemo/UITestDemo/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /测试工程/UITestDemo/UITestDemo/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /测试工程/UITestDemo/UITestDemo/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // UITestDemo 4 | // 5 | // Created by gdy on 16/2/25. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /测试工程/UITestDemo/UITestDemo/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // UITestDemo 4 | // 5 | // Created by gdy on 16/2/25. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /测试工程/UITestDemo/UITestDemoUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Podfile: -------------------------------------------------------------------------------- 1 | platform :ios, '7.0' 2 | pod 'AFNetworking', '~> 2.5.0' 3 | pod 'STAlertView', '~> 1.0.0' -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - AFNetworking (2.5.4): 3 | - AFNetworking/NSURLConnection (= 2.5.4) 4 | - AFNetworking/NSURLSession (= 2.5.4) 5 | - AFNetworking/Reachability (= 2.5.4) 6 | - AFNetworking/Security (= 2.5.4) 7 | - AFNetworking/Serialization (= 2.5.4) 8 | - AFNetworking/UIKit (= 2.5.4) 9 | - AFNetworking/NSURLConnection (2.5.4): 10 | - AFNetworking/Reachability 11 | - AFNetworking/Security 12 | - AFNetworking/Serialization 13 | - AFNetworking/NSURLSession (2.5.4): 14 | - AFNetworking/Reachability 15 | - AFNetworking/Security 16 | - AFNetworking/Serialization 17 | - AFNetworking/Reachability (2.5.4) 18 | - AFNetworking/Security (2.5.4) 19 | - AFNetworking/Serialization (2.5.4) 20 | - AFNetworking/UIKit (2.5.4): 21 | - AFNetworking/NSURLConnection 22 | - AFNetworking/NSURLSession 23 | - STAlertView (1.0.0) 24 | 25 | DEPENDENCIES: 26 | - AFNetworking (~> 2.5.0) 27 | - STAlertView (~> 1.0.0) 28 | 29 | SPEC CHECKSUMS: 30 | AFNetworking: 05edc0ac4c4c8cf57bcf4b84be5b0744b6d8e71e 31 | STAlertView: bfcbdfed87dc7bfb35c04acd5d96aecebb923d48 32 | 33 | COCOAPODS: 0.38.2 34 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/AFNetworking/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011–2015 Alamofire Software Foundation (http://alamofire.org/) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/AFHTTPRequestOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperation.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/AFHTTPRequestOperationManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperationManager.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/AFHTTPSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/AFNetworkActivityIndicatorManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/AFNetworkReachabilityManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/AFSecurityPolicy.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFSecurityPolicy.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/AFURLConnectionOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLConnectionOperation.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/AFURLRequestSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/AFURLResponseSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/AFURLSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLSessionManager.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/UIAlertView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/UIButton+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/UIImageView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Private/STAlertView/STAlertView.h: -------------------------------------------------------------------------------- 1 | ../../../STAlertView/Pod/Classes/STAlertView.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperation.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/AFHTTPRequestOperationManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPRequestOperationManager.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/AFHTTPSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/AFNetworkActivityIndicatorManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/AFNetworkReachabilityManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/AFSecurityPolicy.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFSecurityPolicy.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/AFURLConnectionOperation.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLConnectionOperation.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/AFURLRequestSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/AFURLResponseSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/AFURLSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLSessionManager.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/UIAlertView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIAlertView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/UIButton+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/UIImageView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Headers/Public/STAlertView/STAlertView.h: -------------------------------------------------------------------------------- 1 | ../../../STAlertView/Pod/Classes/STAlertView.h -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - AFNetworking (2.5.4): 3 | - AFNetworking/NSURLConnection (= 2.5.4) 4 | - AFNetworking/NSURLSession (= 2.5.4) 5 | - AFNetworking/Reachability (= 2.5.4) 6 | - AFNetworking/Security (= 2.5.4) 7 | - AFNetworking/Serialization (= 2.5.4) 8 | - AFNetworking/UIKit (= 2.5.4) 9 | - AFNetworking/NSURLConnection (2.5.4): 10 | - AFNetworking/Reachability 11 | - AFNetworking/Security 12 | - AFNetworking/Serialization 13 | - AFNetworking/NSURLSession (2.5.4): 14 | - AFNetworking/Reachability 15 | - AFNetworking/Security 16 | - AFNetworking/Serialization 17 | - AFNetworking/Reachability (2.5.4) 18 | - AFNetworking/Security (2.5.4) 19 | - AFNetworking/Serialization (2.5.4) 20 | - AFNetworking/UIKit (2.5.4): 21 | - AFNetworking/NSURLConnection 22 | - AFNetworking/NSURLSession 23 | - STAlertView (1.0.0) 24 | 25 | DEPENDENCIES: 26 | - AFNetworking (~> 2.5.0) 27 | - STAlertView (~> 1.0.0) 28 | 29 | SPEC CHECKSUMS: 30 | AFNetworking: 05edc0ac4c4c8cf57bcf4b84be5b0744b6d8e71e 31 | STAlertView: bfcbdfed87dc7bfb35c04acd5d96aecebb923d48 32 | 33 | COCOAPODS: 0.38.2 34 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Pods.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | AFNetworking.xcscheme 8 | 9 | orderHint 10 | 1 11 | 12 | Pods.xcscheme 13 | 14 | orderHint 15 | 2 16 | 17 | STAlertView-STAlertView.xcscheme 18 | 19 | orderHint 20 | 4 21 | 22 | STAlertView.xcscheme 23 | 24 | orderHint 25 | 3 26 | 27 | 28 | SuppressBuildableAutocreation 29 | 30 | 7BD92D27C9133272B54A4B30B97AEAF0 31 | 32 | primary 33 | 34 | 35 | 97E87C3A42F51FD863BC25176A5A5210 36 | 37 | primary 38 | 39 | 40 | B7AFE14F598BF4C01444C65B267F1AC7 41 | 42 | primary 43 | 44 | 45 | E868137FC0ECBBB8836C9D7A464225F7 46 | 47 | primary 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/STAlertView/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Nestor 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Target Support Files/AFNetworking/AFNetworking-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "AFNetworking.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/AFNetworking" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/STAlertView" 4 | OTHER_LDFLAGS = ${AFNETWORKING_OTHER_LDFLAGS} 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Target Support Files/AFNetworking/AFNetworking-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_AFNetworking : NSObject 3 | @end 4 | @implementation PodsDummy_AFNetworking 5 | @end 6 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig: -------------------------------------------------------------------------------- 1 | AFNETWORKING_OTHER_LDFLAGS = -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Target Support Files/Pods/Pods-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods : NSObject 3 | @end 4 | @implementation PodsDummy_Pods 5 | @end 6 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Target Support Files/Pods/Pods.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/STAlertView" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/STAlertView" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"STAlertView" -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Target Support Files/Pods/Pods.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/STAlertView" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/STAlertView" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"STAlertView" -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Target Support Files/STAlertView/STAlertView-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "STAlertView.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/STAlertView" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/STAlertView" 4 | OTHER_LDFLAGS = ${STALERTVIEW_OTHER_LDFLAGS} 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Target Support Files/STAlertView/STAlertView-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_STAlertView : NSObject 3 | @end 4 | @implementation PodsDummy_STAlertView 5 | @end 6 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Target Support Files/STAlertView/STAlertView-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/Pods/Target Support Files/STAlertView/STAlertView.xcconfig: -------------------------------------------------------------------------------- 1 | STALERTVIEW_OTHER_LDFLAGS = -framework "UIKit" -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | UnitTestDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 068D49401C7DAA5E00A957F5 16 | 17 | primary 18 | 19 | 20 | 068D49591C7DAA5E00A957F5 21 | 22 | primary 23 | 24 | 25 | 068D49B81C7E1F1E00A957F5 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/测试工程/UnitTestDemo/UnitTestDemo.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // UnitTestDemo 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo/Assets.xcassets/scan_guide_mask.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "scan_guide_mask@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo/Assets.xcassets/scan_guide_mask.imageset/scan_guide_mask@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/测试工程/UnitTestDemo/UnitTestDemo/Assets.xcassets/scan_guide_mask.imageset/scan_guide_mask@2x.png -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo/XCTest/DataModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // DataModel.h 3 | // UnitTestDemo 4 | // 5 | // Created by gdy on 16/2/25. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface DataModel : NSObject 12 | @property (nonatomic, assign) NSInteger myID; 13 | @end 14 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo/XCTest/DataModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // DataModel.m 3 | // UnitTestDemo 4 | // 5 | // Created by gdy on 16/2/25. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import "DataModel.h" 10 | 11 | @implementation DataModel 12 | - (instancetype)init{ 13 | self = [super init]; 14 | if (self) { 15 | _myID = 100; 16 | } 17 | return self; 18 | } 19 | @end 20 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo/XCTest/TableDataSource.h: -------------------------------------------------------------------------------- 1 | // 2 | // TableDataSource.h 3 | // UnitTestProject 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | typedef void (^TableViewCellConfigureBlock)(id cell,id item); 13 | 14 | @interface TableDataSource : NSObject 15 | 16 | - (instancetype)initWithItems:(NSArray*)anitems 17 | cellIdentifier:(NSString*)aCellIdentifier 18 | configureCellBlock:(TableViewCellConfigureBlock)aConfigureCellBlock; 19 | 20 | - (id)itemAtIndexPath:(NSIndexPath*)indexPath; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo/XCTest/TableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewController.h 3 | // UnitTestProject 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface TableViewController : UITableViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo/XCTest/TableViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // TableViewController.m 3 | // UnitTestProject 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import "TableViewController.h" 10 | #import "TableDataSource.h" 11 | 12 | static NSString* const kCellIdentifier = @"cellIdentifier"; 13 | 14 | @interface TableViewController () 15 | @property (nonatomic, strong)TableDataSource *dataSource; 16 | @end 17 | 18 | @implementation TableViewController 19 | 20 | - (void)viewDidLoad { 21 | [super viewDidLoad]; 22 | self.view.backgroundColor = [UIColor whiteColor]; 23 | self.dataSource = [[TableDataSource alloc]initWithItems:@[@"hello",@"world",@"nihao",@"good"] cellIdentifier:kCellIdentifier configureCellBlock:^(UITableViewCell* cell, NSString* item) { 24 | cell.textLabel.text = item; 25 | }]; 26 | self.tableView.dataSource = _dataSource; 27 | } 28 | 29 | - (void)didReceiveMemoryWarning { 30 | [super didReceiveMemoryWarning]; 31 | // Dispose of any resources that can be recreated. 32 | } 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo/XCTest/UIImage+Scale.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Scale.h 3 | // UnitTestDemo 4 | // 5 | // Created by gdy on 16/2/25. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIImage (Scale) 12 | 13 | + (UIImage*)imageWithImage:(UIImage*)image 14 | scaledToSize:(CGSize)newSize; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo/XCTest/UIImage+Scale.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Scale.m 3 | // UnitTestDemo 4 | // 5 | // Created by gdy on 16/2/25. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import "UIImage+Scale.h" 10 | 11 | @implementation UIImage (Scale) 12 | 13 | + (UIImage*)imageWithImage:(UIImage*)image 14 | scaledToSize:(CGSize)newSize 15 | { 16 | UIGraphicsBeginImageContext( newSize ); 17 | [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; 18 | UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); 19 | UIGraphicsEndImageContext(); 20 | 21 | return newImage; 22 | } 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // UnitTestDemo 4 | // 5 | // Created by gdy on 16/2/24. 6 | // Copyright © 2016年 gdy. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemo1Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /测试工程/UnitTestDemo/UnitTestDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /测试工程/automation/login.js: -------------------------------------------------------------------------------- 1 | 2 | var target = UIATarget.localTarget(); 3 | 4 | target.frontMostApp().mainWindow().buttons()["登录"].tap(); 5 | target.frontMostApp().mainWindow().textFields()[0].tap(); 6 | target.frontMostApp().keyboard().keys()["刪除"].tapWithOptions({tapCount:11}); 7 | target.frontMostApp().keyboard().typeString("13141152232"); 8 | target.frontMostApp().mainWindow().secureTextFields()[0].tap(); 9 | target.frontMostApp().keyboard().keys()["Delete"].tap(); 10 | target.frontMostApp().keyboard().typeString("111111"); 11 | target.frontMostApp().mainWindow().buttons()["登录"].tap(); 12 | -------------------------------------------------------------------------------- /测试工程/单元测试.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/测试工程/单元测试.pptx -------------------------------------------------------------------------------- /算法练习C/算法练习C.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /算法练习C/算法练习C.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/算法练习C/算法练习C.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /算法练习C/算法练习C.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | 算法练习C.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 18D23C221D59BAA900CC9E64 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /算法练习C/算法练习C/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 算法练习C 4 | // 5 | // Created by Apple on 16/8/9. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, const char * argv[]) { 12 | @autoreleasepool { 13 | 14 | int i, j, temp; 15 | 16 | int a[] = {1,3,9,8,2,4,5,7,6,0,11}; 17 | 18 | int length = sizeof(a)/sizeof(a[0]); 19 | 20 | for (j = 0; j < length; j++) 21 | { 22 | for (i = 0; i < length - j - 1; i++) 23 | { 24 | if (a[i] > a[i + 1]) 25 | { 26 | temp = a[i]; 27 | 28 | a[i] = a[i + 1]; 29 | 30 | a[i + 1] = temp; 31 | } 32 | } 33 | } 34 | 35 | for (i = 0; i < length; i++) 36 | { 37 | printf("%d,", a[i]); 38 | } 39 | printf("\n"); 40 | 41 | 42 | } 43 | return 0; 44 | } 45 | -------------------------------------------------------------------------------- /算法练习OC/算法练习.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /算法练习OC/算法练习.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/算法练习OC/算法练习.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /算法练习OC/算法练习.xcodeproj/xcuserdata/apple.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /算法练习OC/算法练习.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | 算法练习.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 18D23BDA1D59B0B600CC9E64 16 | 17 | primary 18 | 19 | 20 | 18D23BF31D59B0B600CC9E64 21 | 22 | primary 23 | 24 | 25 | 18D23BFE1D59B0B600CC9E64 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /算法练习OC/算法练习/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 算法练习 4 | // 5 | // Created by Apple on 16/8/9. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /算法练习OC/算法练习/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /算法练习OC/算法练习/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /算法练习OC/算法练习/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 算法练习 4 | // 5 | // Created by Apple on 16/8/9. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /算法练习OC/算法练习/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // 算法练习 4 | // 5 | // Created by Apple on 16/8/9. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | 20 | NSMutableArray *p = [[NSMutableArray alloc] initWithObjects:@"3",@"5",@"4",@"1",@"9",@"0",nil]; 21 | 22 | for (int i = 0; i b) 31 | { 32 | [p replaceObjectAtIndex:i withObject:p[j]]; 33 | 34 | [p replaceObjectAtIndex:j withObject:[NSString stringWithFormat:@"%d",a]]; 35 | } 36 | } 37 | } 38 | 39 | NSLog(@"%@",p); 40 | 41 | } 42 | 43 | - (void)didReceiveMemoryWarning { 44 | [super didReceiveMemoryWarning]; 45 | // Dispose of any resources that can be recreated. 46 | } 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /算法练习OC/算法练习/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 算法练习 4 | // 5 | // Created by Apple on 16/8/9. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /算法练习OC/算法练习Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /算法练习OC/算法练习Tests/____Tests.m: -------------------------------------------------------------------------------- 1 | // 2 | // ____Tests.m 3 | // 算法练习Tests 4 | // 5 | // Created by Apple on 16/8/9. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ____Tests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation ____Tests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /算法练习OC/算法练习UITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /算法练习OC/算法练习UITests/____UITests.m: -------------------------------------------------------------------------------- 1 | // 2 | // ____UITests.m 3 | // 算法练习UITests 4 | // 5 | // Created by Apple on 16/8/9. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ____UITests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation ____UITests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | 22 | // In UI tests it is usually best to stop immediately when a failure occurs. 23 | self.continueAfterFailure = NO; 24 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. 25 | [[[XCUIApplication alloc] init] launch]; 26 | 27 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 28 | } 29 | 30 | - (void)tearDown { 31 | // Put teardown code here. This method is called after the invocation of each test method in the class. 32 | [super tearDown]; 33 | } 34 | 35 | - (void)testExample { 36 | // Use recording to get started writing UI tests. 37 | // Use XCTAssert and related functions to verify your tests produce the correct results. 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /谓词正则表达式/谓词.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /谓词正则表达式/谓词.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhangguosen3033/SomeTools-Demo/e1f7f08f942f89af447e53b272aa3750513a264b/谓词正则表达式/谓词.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /谓词正则表达式/谓词.xcodeproj/xcuserdata/apple.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /谓词正则表达式/谓词.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | 谓词.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 1853EBE31D5815870084E310 16 | 17 | primary 18 | 19 | 20 | 1853EBFC1D5815870084E310 21 | 22 | primary 23 | 24 | 25 | 1853EC071D5815880084E310 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /谓词正则表达式/谓词/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // 谓词 4 | // 5 | // Created by Apple on 16/8/8. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /谓词正则表达式/谓词/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /谓词正则表达式/谓词/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIMainStoryboardFile 28 | Main 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /谓词正则表达式/谓词/Student.h: -------------------------------------------------------------------------------- 1 | // 2 | // Student.h 3 | // 谓词 4 | // 5 | // Created by Apple on 16/8/8. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface Student : NSObject 12 | 13 | { 14 | int pid; 15 | NSString *name; 16 | float height; 17 | } 18 | 19 | -(void) setPid: (int) pid; 20 | 21 | -(void) setName: (NSString*) name; 22 | 23 | -(void) setHeight: (float) height; 24 | 25 | -(int) pid; 26 | 27 | -(NSString*) name; 28 | 29 | -(float) height; 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /谓词正则表达式/谓词/Student.m: -------------------------------------------------------------------------------- 1 | // 2 | // Student.m 3 | // 谓词 4 | // 5 | // Created by Apple on 16/8/8. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import "Student.h" 10 | 11 | @implementation Student 12 | 13 | -(void) setPid: (int) p{ 14 | 15 | pid=p; 16 | } 17 | 18 | -(void) setName: (NSString*) n{ 19 | 20 | 21 | name=n; 22 | } 23 | 24 | -(void) setHeight: (float) h{ 25 | 26 | height=h; 27 | } 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -(int) pid{ 37 | return pid; 38 | } 39 | 40 | -(NSString*) name{ 41 | return name; 42 | } 43 | 44 | -(float) height{ 45 | return height; 46 | } 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /谓词正则表达式/谓词/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // 谓词 4 | // 5 | // Created by Apple on 16/8/8. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /谓词正则表达式/谓词/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // 谓词 4 | // 5 | // Created by Apple on 16/8/8. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /谓词正则表达式/谓词Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /谓词正则表达式/谓词Tests/__Tests.m: -------------------------------------------------------------------------------- 1 | // 2 | // __Tests.m 3 | // 谓词Tests 4 | // 5 | // Created by Apple on 16/8/8. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface __Tests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation __Tests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /谓词正则表达式/谓词UITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /谓词正则表达式/谓词UITests/__UITests.m: -------------------------------------------------------------------------------- 1 | // 2 | // __UITests.m 3 | // 谓词UITests 4 | // 5 | // Created by Apple on 16/8/8. 6 | // Copyright © 2016年 张国森. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface __UITests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation __UITests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | 22 | // In UI tests it is usually best to stop immediately when a failure occurs. 23 | self.continueAfterFailure = NO; 24 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. 25 | [[[XCUIApplication alloc] init] launch]; 26 | 27 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. 28 | } 29 | 30 | - (void)tearDown { 31 | // Put teardown code here. This method is called after the invocation of each test method in the class. 32 | [super tearDown]; 33 | } 34 | 35 | - (void)testExample { 36 | // Use recording to get started writing UI tests. 37 | // Use XCTAssert and related functions to verify your tests produce the correct results. 38 | } 39 | 40 | @end 41 | --------------------------------------------------------------------------------