├── .DS_Store ├── Podfile ├── Podfile.lock ├── Pods ├── AFNetworking │ ├── AFNetworking │ │ ├── AFHTTPSessionManager.h │ │ ├── AFHTTPSessionManager.m │ │ ├── AFNetworkReachabilityManager.h │ │ ├── AFNetworkReachabilityManager.m │ │ ├── AFNetworking.h │ │ ├── AFSecurityPolicy.h │ │ ├── AFSecurityPolicy.m │ │ ├── AFURLRequestSerialization.h │ │ ├── AFURLRequestSerialization.m │ │ ├── AFURLResponseSerialization.h │ │ ├── AFURLResponseSerialization.m │ │ ├── AFURLSessionManager.h │ │ └── AFURLSessionManager.m │ ├── LICENSE │ ├── README.md │ └── UIKit+AFNetworking │ │ ├── AFAutoPurgingImageCache.h │ │ ├── AFAutoPurgingImageCache.m │ │ ├── AFImageDownloader.h │ │ ├── AFImageDownloader.m │ │ ├── AFNetworkActivityIndicatorManager.h │ │ ├── AFNetworkActivityIndicatorManager.m │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ ├── UIActivityIndicatorView+AFNetworking.m │ │ ├── UIButton+AFNetworking.h │ │ ├── UIButton+AFNetworking.m │ │ ├── UIImage+AFNetworking.h │ │ ├── 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 │ │ │ ├── AFAutoPurgingImageCache.h │ │ │ ├── AFHTTPSessionManager.h │ │ │ ├── AFImageDownloader.h │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ ├── AFNetworking.h │ │ │ ├── AFSecurityPolicy.h │ │ │ ├── AFURLRequestSerialization.h │ │ │ ├── AFURLResponseSerialization.h │ │ │ ├── AFURLSessionManager.h │ │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ │ ├── UIButton+AFNetworking.h │ │ │ ├── UIImage+AFNetworking.h │ │ │ ├── UIImageView+AFNetworking.h │ │ │ ├── UIKit+AFNetworking.h │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ └── UIWebView+AFNetworking.h │ │ ├── MBProgressHUD │ │ │ └── MBProgressHUD.h │ │ └── YYKit │ │ │ ├── CALayer+YYAdd.h │ │ │ ├── CALayer+YYWebImage.h │ │ │ ├── MKAnnotationView+YYWebImage.h │ │ │ ├── NSArray+YYAdd.h │ │ │ ├── NSAttributedString+YYText.h │ │ │ ├── NSBundle+YYAdd.h │ │ │ ├── NSData+YYAdd.h │ │ │ ├── NSDate+YYAdd.h │ │ │ ├── NSDictionary+YYAdd.h │ │ │ ├── NSKeyedUnarchiver+YYAdd.h │ │ │ ├── NSNotificationCenter+YYAdd.h │ │ │ ├── NSNumber+YYAdd.h │ │ │ ├── NSObject+YYAdd.h │ │ │ ├── NSObject+YYAddForARC.h │ │ │ ├── NSObject+YYAddForKVO.h │ │ │ ├── NSObject+YYModel.h │ │ │ ├── NSParagraphStyle+YYText.h │ │ │ ├── NSString+YYAdd.h │ │ │ ├── NSThread+YYAdd.h │ │ │ ├── NSTimer+YYAdd.h │ │ │ ├── UIApplication+YYAdd.h │ │ │ ├── UIBarButtonItem+YYAdd.h │ │ │ ├── UIBezierPath+YYAdd.h │ │ │ ├── UIButton+YYWebImage.h │ │ │ ├── UIColor+YYAdd.h │ │ │ ├── UIControl+YYAdd.h │ │ │ ├── UIDevice+YYAdd.h │ │ │ ├── UIFont+YYAdd.h │ │ │ ├── UIGestureRecognizer+YYAdd.h │ │ │ ├── UIImage+YYAdd.h │ │ │ ├── UIImageView+YYWebImage.h │ │ │ ├── UIPasteboard+YYText.h │ │ │ ├── UIScreen+YYAdd.h │ │ │ ├── UIScrollView+YYAdd.h │ │ │ ├── UITableView+YYAdd.h │ │ │ ├── UITextField+YYAdd.h │ │ │ ├── UIView+YYAdd.h │ │ │ ├── YYAnimatedImageView.h │ │ │ ├── YYAsyncLayer.h │ │ │ ├── YYCGUtilities.h │ │ │ ├── YYCache.h │ │ │ ├── YYClassInfo.h │ │ │ ├── YYDiskCache.h │ │ │ ├── YYDispatchQueuePool.h │ │ │ ├── YYFileHash.h │ │ │ ├── YYFrameImage.h │ │ │ ├── YYGestureRecognizer.h │ │ │ ├── YYImage.h │ │ │ ├── YYImageCache.h │ │ │ ├── YYImageCoder.h │ │ │ ├── YYKVStorage.h │ │ │ ├── YYKeychain.h │ │ │ ├── YYKit.h │ │ │ ├── YYKitMacro.h │ │ │ ├── YYLabel.h │ │ │ ├── YYMemoryCache.h │ │ │ ├── YYReachability.h │ │ │ ├── YYSentinel.h │ │ │ ├── YYSpriteSheetImage.h │ │ │ ├── YYTextArchiver.h │ │ │ ├── YYTextAttribute.h │ │ │ ├── YYTextContainerView.h │ │ │ ├── YYTextDebugOption.h │ │ │ ├── YYTextEffectWindow.h │ │ │ ├── YYTextInput.h │ │ │ ├── YYTextKeyboardManager.h │ │ │ ├── YYTextLayout.h │ │ │ ├── YYTextLine.h │ │ │ ├── YYTextMagnifier.h │ │ │ ├── YYTextParser.h │ │ │ ├── YYTextRubyAnnotation.h │ │ │ ├── YYTextRunDelegate.h │ │ │ ├── YYTextSelectionView.h │ │ │ ├── YYTextUtilities.h │ │ │ ├── YYTextView.h │ │ │ ├── YYThreadSafeArray.h │ │ │ ├── YYThreadSafeDictionary.h │ │ │ ├── YYTimer.h │ │ │ ├── YYTransaction.h │ │ │ ├── YYWeakProxy.h │ │ │ ├── YYWebImageManager.h │ │ │ ├── YYWebImageOperation.h │ │ │ └── _YYWebImageSetter.h │ └── Public │ │ ├── AFNetworking │ │ ├── AFAutoPurgingImageCache.h │ │ ├── AFHTTPSessionManager.h │ │ ├── AFImageDownloader.h │ │ ├── AFNetworkActivityIndicatorManager.h │ │ ├── AFNetworkReachabilityManager.h │ │ ├── AFNetworking.h │ │ ├── AFSecurityPolicy.h │ │ ├── AFURLRequestSerialization.h │ │ ├── AFURLResponseSerialization.h │ │ ├── AFURLSessionManager.h │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ ├── UIButton+AFNetworking.h │ │ ├── UIImage+AFNetworking.h │ │ ├── UIImageView+AFNetworking.h │ │ ├── UIKit+AFNetworking.h │ │ ├── UIProgressView+AFNetworking.h │ │ ├── UIRefreshControl+AFNetworking.h │ │ └── UIWebView+AFNetworking.h │ │ ├── MBProgressHUD │ │ └── MBProgressHUD.h │ │ └── YYKit │ │ ├── CALayer+YYAdd.h │ │ ├── CALayer+YYWebImage.h │ │ ├── MKAnnotationView+YYWebImage.h │ │ ├── NSArray+YYAdd.h │ │ ├── NSAttributedString+YYText.h │ │ ├── NSBundle+YYAdd.h │ │ ├── NSData+YYAdd.h │ │ ├── NSDate+YYAdd.h │ │ ├── NSDictionary+YYAdd.h │ │ ├── NSKeyedUnarchiver+YYAdd.h │ │ ├── NSNotificationCenter+YYAdd.h │ │ ├── NSNumber+YYAdd.h │ │ ├── NSObject+YYAdd.h │ │ ├── NSObject+YYAddForARC.h │ │ ├── NSObject+YYAddForKVO.h │ │ ├── NSObject+YYModel.h │ │ ├── NSParagraphStyle+YYText.h │ │ ├── NSString+YYAdd.h │ │ ├── NSThread+YYAdd.h │ │ ├── NSTimer+YYAdd.h │ │ ├── UIApplication+YYAdd.h │ │ ├── UIBarButtonItem+YYAdd.h │ │ ├── UIBezierPath+YYAdd.h │ │ ├── UIButton+YYWebImage.h │ │ ├── UIColor+YYAdd.h │ │ ├── UIControl+YYAdd.h │ │ ├── UIDevice+YYAdd.h │ │ ├── UIFont+YYAdd.h │ │ ├── UIGestureRecognizer+YYAdd.h │ │ ├── UIImage+YYAdd.h │ │ ├── UIImageView+YYWebImage.h │ │ ├── UIPasteboard+YYText.h │ │ ├── UIScreen+YYAdd.h │ │ ├── UIScrollView+YYAdd.h │ │ ├── UITableView+YYAdd.h │ │ ├── UITextField+YYAdd.h │ │ ├── UIView+YYAdd.h │ │ ├── WebP │ │ ├── config.h │ │ ├── decode.h │ │ ├── demux.h │ │ ├── encode.h │ │ ├── extras.h │ │ ├── format_constants.h │ │ ├── mux.h │ │ ├── mux_types.h │ │ └── types.h │ │ ├── YYAnimatedImageView.h │ │ ├── YYAsyncLayer.h │ │ ├── YYCGUtilities.h │ │ ├── YYCache.h │ │ ├── YYClassInfo.h │ │ ├── YYDiskCache.h │ │ ├── YYDispatchQueuePool.h │ │ ├── YYFileHash.h │ │ ├── YYFrameImage.h │ │ ├── YYGestureRecognizer.h │ │ ├── YYImage.h │ │ ├── YYImageCache.h │ │ ├── YYImageCoder.h │ │ ├── YYKVStorage.h │ │ ├── YYKeychain.h │ │ ├── YYKit.h │ │ ├── YYKitMacro.h │ │ ├── YYLabel.h │ │ ├── YYMemoryCache.h │ │ ├── YYReachability.h │ │ ├── YYSentinel.h │ │ ├── YYSpriteSheetImage.h │ │ ├── YYTextArchiver.h │ │ ├── YYTextAttribute.h │ │ ├── YYTextContainerView.h │ │ ├── YYTextDebugOption.h │ │ ├── YYTextEffectWindow.h │ │ ├── YYTextInput.h │ │ ├── YYTextKeyboardManager.h │ │ ├── YYTextLayout.h │ │ ├── YYTextLine.h │ │ ├── YYTextMagnifier.h │ │ ├── YYTextParser.h │ │ ├── YYTextRubyAnnotation.h │ │ ├── YYTextRunDelegate.h │ │ ├── YYTextSelectionView.h │ │ ├── YYTextUtilities.h │ │ ├── YYTextView.h │ │ ├── YYThreadSafeArray.h │ │ ├── YYThreadSafeDictionary.h │ │ ├── YYTimer.h │ │ ├── YYTransaction.h │ │ ├── YYWeakProxy.h │ │ ├── YYWebImageManager.h │ │ ├── YYWebImageOperation.h │ │ └── _YYWebImageSetter.h ├── MBProgressHUD │ ├── LICENSE │ ├── MBProgressHUD.h │ ├── MBProgressHUD.m │ └── README.mdown ├── Manifest.lock ├── Pods.xcodeproj │ ├── project.pbxproj │ └── xcuserdata │ │ ├── allen.xcuserdatad │ │ └── xcschemes │ │ │ ├── AFNetworking.xcscheme │ │ │ ├── MBProgressHUD.xcscheme │ │ │ ├── Pods-ZYNetWork.xcscheme │ │ │ ├── YYKit.xcscheme │ │ │ └── xcschememanagement.plist │ │ └── huanyihuan.xcuserdatad │ │ └── xcschemes │ │ ├── AFNetworking.xcscheme │ │ ├── Pods-ZYNetWork.xcscheme │ │ ├── YYKit.xcscheme │ │ └── xcschememanagement.plist ├── Target Support Files │ ├── AFNetworking │ │ ├── AFNetworking-dummy.m │ │ ├── AFNetworking-prefix.pch │ │ └── AFNetworking.xcconfig │ ├── MBProgressHUD │ │ ├── MBProgressHUD-dummy.m │ │ ├── MBProgressHUD-prefix.pch │ │ └── MBProgressHUD.xcconfig │ ├── Pods-ZYNetWork │ │ ├── Pods-ZYNetWork-acknowledgements.markdown │ │ ├── Pods-ZYNetWork-acknowledgements.plist │ │ ├── Pods-ZYNetWork-dummy.m │ │ ├── Pods-ZYNetWork-frameworks.sh │ │ ├── Pods-ZYNetWork-resources.sh │ │ ├── Pods-ZYNetWork.debug.xcconfig │ │ └── Pods-ZYNetWork.release.xcconfig │ └── YYKit │ │ ├── YYKit-dummy.m │ │ ├── YYKit-prefix.pch │ │ └── YYKit.xcconfig └── YYKit │ ├── LICENSE │ ├── README.md │ ├── Vendor │ └── WebP.framework │ │ ├── Headers │ │ ├── config.h │ │ ├── decode.h │ │ ├── demux.h │ │ ├── encode.h │ │ ├── extras.h │ │ ├── format_constants.h │ │ ├── mux.h │ │ ├── mux_types.h │ │ └── types.h │ │ └── WebP │ └── YYKit │ ├── Base │ ├── Foundation │ │ ├── NSArray+YYAdd.h │ │ ├── NSArray+YYAdd.m │ │ ├── NSBundle+YYAdd.h │ │ ├── NSBundle+YYAdd.m │ │ ├── NSData+YYAdd.h │ │ ├── NSData+YYAdd.m │ │ ├── NSDate+YYAdd.h │ │ ├── NSDate+YYAdd.m │ │ ├── NSDictionary+YYAdd.h │ │ ├── NSDictionary+YYAdd.m │ │ ├── NSKeyedUnarchiver+YYAdd.h │ │ ├── NSKeyedUnarchiver+YYAdd.m │ │ ├── NSNotificationCenter+YYAdd.h │ │ ├── NSNotificationCenter+YYAdd.m │ │ ├── NSNumber+YYAdd.h │ │ ├── NSNumber+YYAdd.m │ │ ├── NSObject+YYAdd.h │ │ ├── NSObject+YYAdd.m │ │ ├── NSObject+YYAddForARC.h │ │ ├── NSObject+YYAddForARC.m │ │ ├── NSObject+YYAddForKVO.h │ │ ├── NSObject+YYAddForKVO.m │ │ ├── NSString+YYAdd.h │ │ ├── NSString+YYAdd.m │ │ ├── NSThread+YYAdd.h │ │ ├── NSThread+YYAdd.m │ │ ├── NSTimer+YYAdd.h │ │ └── NSTimer+YYAdd.m │ ├── Quartz │ │ ├── CALayer+YYAdd.h │ │ ├── CALayer+YYAdd.m │ │ ├── YYCGUtilities.h │ │ └── YYCGUtilities.m │ ├── UIKit │ │ ├── UIApplication+YYAdd.h │ │ ├── UIApplication+YYAdd.m │ │ ├── UIBarButtonItem+YYAdd.h │ │ ├── UIBarButtonItem+YYAdd.m │ │ ├── UIBezierPath+YYAdd.h │ │ ├── UIBezierPath+YYAdd.m │ │ ├── UIColor+YYAdd.h │ │ ├── UIColor+YYAdd.m │ │ ├── UIControl+YYAdd.h │ │ ├── UIControl+YYAdd.m │ │ ├── UIDevice+YYAdd.h │ │ ├── UIDevice+YYAdd.m │ │ ├── UIFont+YYAdd.h │ │ ├── UIFont+YYAdd.m │ │ ├── UIGestureRecognizer+YYAdd.h │ │ ├── UIGestureRecognizer+YYAdd.m │ │ ├── UIImage+YYAdd.h │ │ ├── UIImage+YYAdd.m │ │ ├── UIScreen+YYAdd.h │ │ ├── UIScreen+YYAdd.m │ │ ├── UIScrollView+YYAdd.h │ │ ├── UIScrollView+YYAdd.m │ │ ├── UITableView+YYAdd.h │ │ ├── UITableView+YYAdd.m │ │ ├── UITextField+YYAdd.h │ │ ├── UITextField+YYAdd.m │ │ ├── UIView+YYAdd.h │ │ └── UIView+YYAdd.m │ └── YYKitMacro.h │ ├── Cache │ ├── YYCache.h │ ├── YYCache.m │ ├── YYDiskCache.h │ ├── YYDiskCache.m │ ├── YYKVStorage.h │ ├── YYKVStorage.m │ ├── YYMemoryCache.h │ └── YYMemoryCache.m │ ├── Image │ ├── Categories │ │ ├── CALayer+YYWebImage.h │ │ ├── CALayer+YYWebImage.m │ │ ├── MKAnnotationView+YYWebImage.h │ │ ├── MKAnnotationView+YYWebImage.m │ │ ├── UIButton+YYWebImage.h │ │ ├── UIButton+YYWebImage.m │ │ ├── UIImageView+YYWebImage.h │ │ ├── UIImageView+YYWebImage.m │ │ ├── _YYWebImageSetter.h │ │ └── _YYWebImageSetter.m │ ├── YYAnimatedImageView.h │ ├── YYAnimatedImageView.m │ ├── YYFrameImage.h │ ├── YYFrameImage.m │ ├── YYImage.h │ ├── YYImage.m │ ├── YYImageCache.h │ ├── YYImageCache.m │ ├── YYImageCoder.h │ ├── YYImageCoder.m │ ├── YYSpriteSheetImage.h │ ├── YYSpriteSheetImage.m │ ├── YYWebImageManager.h │ ├── YYWebImageManager.m │ ├── YYWebImageOperation.h │ └── YYWebImageOperation.m │ ├── Model │ ├── NSObject+YYModel.h │ ├── NSObject+YYModel.m │ ├── YYClassInfo.h │ └── YYClassInfo.m │ ├── Text │ ├── Component │ │ ├── YYTextContainerView.h │ │ ├── YYTextContainerView.m │ │ ├── YYTextDebugOption.h │ │ ├── YYTextDebugOption.m │ │ ├── YYTextEffectWindow.h │ │ ├── YYTextEffectWindow.m │ │ ├── YYTextInput.h │ │ ├── YYTextInput.m │ │ ├── YYTextKeyboardManager.h │ │ ├── YYTextKeyboardManager.m │ │ ├── YYTextLayout.h │ │ ├── YYTextLayout.m │ │ ├── YYTextLine.h │ │ ├── YYTextLine.m │ │ ├── YYTextMagnifier.h │ │ ├── YYTextMagnifier.m │ │ ├── YYTextSelectionView.h │ │ └── YYTextSelectionView.m │ ├── String │ │ ├── NSAttributedString+YYText.h │ │ ├── NSAttributedString+YYText.m │ │ ├── NSParagraphStyle+YYText.h │ │ ├── NSParagraphStyle+YYText.m │ │ ├── UIPasteboard+YYText.h │ │ ├── UIPasteboard+YYText.m │ │ ├── YYTextArchiver.h │ │ ├── YYTextArchiver.m │ │ ├── YYTextAttribute.h │ │ ├── YYTextAttribute.m │ │ ├── YYTextParser.h │ │ ├── YYTextParser.m │ │ ├── YYTextRubyAnnotation.h │ │ ├── YYTextRubyAnnotation.m │ │ ├── YYTextRunDelegate.h │ │ ├── YYTextRunDelegate.m │ │ ├── YYTextUtilities.h │ │ └── YYTextUtilities.m │ ├── YYLabel.h │ ├── YYLabel.m │ ├── YYTextView.h │ └── YYTextView.m │ ├── Utility │ ├── YYAsyncLayer.h │ ├── YYAsyncLayer.m │ ├── YYDispatchQueuePool.h │ ├── YYDispatchQueuePool.m │ ├── YYFileHash.h │ ├── YYFileHash.m │ ├── YYGestureRecognizer.h │ ├── YYGestureRecognizer.m │ ├── YYKeychain.h │ ├── YYKeychain.m │ ├── YYReachability.h │ ├── YYReachability.m │ ├── YYSentinel.h │ ├── YYSentinel.m │ ├── YYThreadSafeArray.h │ ├── YYThreadSafeArray.m │ ├── YYThreadSafeDictionary.h │ ├── YYThreadSafeDictionary.m │ ├── YYTimer.h │ ├── YYTimer.m │ ├── YYTransaction.h │ ├── YYTransaction.m │ ├── YYWeakProxy.h │ └── YYWeakProxy.m │ └── YYKit.h ├── README.md ├── ZYNetWork.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcuserdata │ ├── allen.xcuserdatad │ └── xcschemes │ │ ├── ZYNetWork.xcscheme │ │ └── xcschememanagement.plist │ └── huanyihuan.xcuserdatad │ └── xcschemes │ ├── ZYNetWork.xcscheme │ └── xcschememanagement.plist ├── ZYNetWork.xcworkspace ├── contents.xcworkspacedata └── xcuserdata │ └── allen.xcuserdatad │ ├── UserInterfaceState.xcuserstate │ └── xcdebugger │ └── Breakpoints_v2.xcbkptlist ├── ZYNetWork ├── 1.jpg ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Base.lproj │ └── LaunchScreen.storyboard ├── Info.plist ├── Main.storyboard ├── ViewController.h ├── ViewController.m ├── ZYHUDHeaper │ ├── .DS_Store │ ├── ZYHUDHeaper.bundle │ │ ├── hud_error.png │ │ ├── hud_error@2x.png │ │ ├── hud_info.png │ │ ├── hud_info@2x.png │ │ ├── hud_success.png │ │ └── hud_success@2x.png │ ├── ZYHUDHeaper.h │ └── ZYHUDHeaper.m ├── ZYNetWorking │ ├── ZYAppDotNetAPIClient.h │ ├── ZYAppDotNetAPIClient.m │ ├── ZYCacheHelper.h │ ├── ZYCacheHelper.m │ ├── ZYNetWorking.h │ ├── ZYNetWorking.m │ ├── ZYServerConfig.h │ └── ZYServerConfig.m └── main.m ├── ZYNetWorkTests ├── Info.plist └── ZYNetWorkTests.m └── ZYNetWorkUITests ├── Info.plist └── ZYNetWorkUITests.m /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/321zhangyang/ZYNewWork/79ae3867ceeee8ddb0fe160bbdac315831a28e09/.DS_Store -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | platform :ios, '8.0' 2 | 3 | target 'ZYNetWork' do 4 | 5 | pod 'AFNetworking' 6 | 7 | pod 'YYKit' 8 | 9 | pod 'MBProgressHUD' 10 | 11 | end 12 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - AFNetworking (3.1.0): 3 | - AFNetworking/NSURLSession (= 3.1.0) 4 | - AFNetworking/Reachability (= 3.1.0) 5 | - AFNetworking/Security (= 3.1.0) 6 | - AFNetworking/Serialization (= 3.1.0) 7 | - AFNetworking/UIKit (= 3.1.0) 8 | - AFNetworking/NSURLSession (3.1.0): 9 | - AFNetworking/Reachability 10 | - AFNetworking/Security 11 | - AFNetworking/Serialization 12 | - AFNetworking/Reachability (3.1.0) 13 | - AFNetworking/Security (3.1.0) 14 | - AFNetworking/Serialization (3.1.0) 15 | - AFNetworking/UIKit (3.1.0): 16 | - AFNetworking/NSURLSession 17 | - MBProgressHUD (1.0.0) 18 | - YYKit (1.0.9): 19 | - YYKit/no-arc (= 1.0.9) 20 | - YYKit/no-arc (1.0.9) 21 | 22 | DEPENDENCIES: 23 | - AFNetworking 24 | - MBProgressHUD 25 | - YYKit 26 | 27 | SPEC CHECKSUMS: 28 | AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67 29 | MBProgressHUD: 4890f671c94e8a0f3cf959aa731e9de2f036d71a 30 | YYKit: 7cda43304a8dc3696c449041e2cb3107b4e236e7 31 | 32 | PODFILE CHECKSUM: 391c9fb256c97138db6f2c3e0ea73db2c498e98e 33 | 34 | COCOAPODS: 1.2.0 35 | -------------------------------------------------------------------------------- /Pods/AFNetworking/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | // AFNetworking.h 2 | // 3 | // Copyright (c) 2013 AFNetworking (http://afnetworking.com/) 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. 22 | 23 | #import 24 | #import 25 | #import 26 | 27 | #ifndef _AFNETWORKING_ 28 | #define _AFNETWORKING_ 29 | 30 | #import "AFURLRequestSerialization.h" 31 | #import "AFURLResponseSerialization.h" 32 | #import "AFSecurityPolicy.h" 33 | 34 | #if !TARGET_OS_WATCH 35 | #import "AFNetworkReachabilityManager.h" 36 | #endif 37 | 38 | #import "AFURLSessionManager.h" 39 | #import "AFHTTPSessionManager.h" 40 | 41 | #endif /* _AFNETWORKING_ */ 42 | -------------------------------------------------------------------------------- /Pods/AFNetworking/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011–2016 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 | -------------------------------------------------------------------------------- /Pods/AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // UIActivityIndicatorView+AFNetworking.h 2 | // Copyright (c) 2011–2016 Alamofire Software Foundation ( http://alamofire.org/ ) 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | 22 | #import 23 | 24 | #import 25 | 26 | #if TARGET_OS_IOS || TARGET_OS_TV 27 | 28 | #import 29 | 30 | /** 31 | This category adds methods to the UIKit framework's `UIActivityIndicatorView` class. The methods in this category provide support for automatically starting and stopping animation depending on the loading state of a session task. 32 | */ 33 | @interface UIActivityIndicatorView (AFNetworking) 34 | 35 | ///---------------------------------- 36 | /// @name Animating for Session Tasks 37 | ///---------------------------------- 38 | 39 | /** 40 | Binds the animating state to the state of the specified task. 41 | 42 | @param task The task. If `nil`, automatic updating from any previously specified operation will be disabled. 43 | */ 44 | - (void)setAnimatingWithStateOfTask:(nullable NSURLSessionTask *)task; 45 | 46 | @end 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /Pods/AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+AFNetworking.h 3 | // 4 | // 5 | // Created by Paulo Ferreira on 08/07/15. 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | 25 | #if TARGET_OS_IOS || TARGET_OS_TV 26 | 27 | #import 28 | 29 | @interface UIImage (AFNetworking) 30 | 31 | + (UIImage*) safeImageWithData:(NSData*)data; 32 | 33 | @end 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // UIKit+AFNetworking.h 2 | // 3 | // Copyright (c) 2011–2016 Alamofire Software Foundation ( http://alamofire.org/ ) 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. 22 | 23 | #if TARGET_OS_IOS || TARGET_OS_TV 24 | #import 25 | 26 | #ifndef _UIKIT_AFNETWORKING_ 27 | #define _UIKIT_AFNETWORKING_ 28 | 29 | #if TARGET_OS_IOS 30 | #import "AFAutoPurgingImageCache.h" 31 | #import "AFImageDownloader.h" 32 | #import "AFNetworkActivityIndicatorManager.h" 33 | #import "UIRefreshControl+AFNetworking.h" 34 | #import "UIWebView+AFNetworking.h" 35 | #endif 36 | 37 | #import "UIActivityIndicatorView+AFNetworking.h" 38 | #import "UIButton+AFNetworking.h" 39 | #import "UIImageView+AFNetworking.h" 40 | #import "UIProgressView+AFNetworking.h" 41 | #endif /* _UIKIT_AFNETWORKING_ */ 42 | #endif 43 | -------------------------------------------------------------------------------- /Pods/AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // UIProgressView+AFNetworking.h 2 | // Copyright (c) 2011–2016 Alamofire Software Foundation ( http://alamofire.org/ ) 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | 22 | #import 23 | 24 | #import 25 | 26 | #if TARGET_OS_IOS || TARGET_OS_TV 27 | 28 | #import 29 | 30 | NS_ASSUME_NONNULL_BEGIN 31 | 32 | 33 | /** 34 | This category adds methods to the UIKit framework's `UIProgressView` class. The methods in this category provide support for binding the progress to the upload and download progress of a session task. 35 | */ 36 | @interface UIProgressView (AFNetworking) 37 | 38 | ///------------------------------------ 39 | /// @name Setting Session Task Progress 40 | ///------------------------------------ 41 | 42 | /** 43 | Binds the progress to the upload progress of the specified session task. 44 | 45 | @param task The session task. 46 | @param animated `YES` if the change should be animated, `NO` if the change should happen immediately. 47 | */ 48 | - (void)setProgressWithUploadProgressOfTask:(NSURLSessionUploadTask *)task 49 | animated:(BOOL)animated; 50 | 51 | /** 52 | Binds the progress to the download progress of the specified session task. 53 | 54 | @param task The session task. 55 | @param animated `YES` if the change should be animated, `NO` if the change should happen immediately. 56 | */ 57 | - (void)setProgressWithDownloadProgressOfTask:(NSURLSessionDownloadTask *)task 58 | animated:(BOOL)animated; 59 | 60 | @end 61 | 62 | NS_ASSUME_NONNULL_END 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /Pods/AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // UIRefreshControl+AFNetworking.m 2 | // 3 | // Copyright (c) 2011–2016 Alamofire Software Foundation ( http://alamofire.org/ ) 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. 22 | 23 | #import 24 | 25 | #import 26 | 27 | #if TARGET_OS_IOS 28 | 29 | #import 30 | 31 | NS_ASSUME_NONNULL_BEGIN 32 | 33 | /** 34 | This category adds methods to the UIKit framework's `UIRefreshControl` class. The methods in this category provide support for automatically beginning and ending refreshing depending on the loading state of a session task. 35 | */ 36 | @interface UIRefreshControl (AFNetworking) 37 | 38 | ///----------------------------------- 39 | /// @name Refreshing for Session Tasks 40 | ///----------------------------------- 41 | 42 | /** 43 | Binds the refreshing state to the state of the specified task. 44 | 45 | @param task The task. If `nil`, automatic updating from any previously specified operation will be disabled. 46 | */ 47 | - (void)setRefreshingWithStateOfTask:(NSURLSessionTask *)task; 48 | 49 | @end 50 | 51 | NS_ASSUME_NONNULL_END 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFAutoPurgingImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFHTTPSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFImageDownloader.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFImageDownloader.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFNetworkActivityIndicatorManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFNetworkReachabilityManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFSecurityPolicy.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFSecurityPolicy.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFURLRequestSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFURLResponseSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFURLSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLSessionManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIButton+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIImage+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIImageView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/MBProgressHUD/MBProgressHUD.h: -------------------------------------------------------------------------------- 1 | ../../../MBProgressHUD/MBProgressHUD.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/CALayer+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Quartz/CALayer+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/CALayer+YYWebImage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/Categories/CALayer+YYWebImage.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/MKAnnotationView+YYWebImage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/Categories/MKAnnotationView+YYWebImage.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSArray+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSArray+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSAttributedString+YYText.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/NSAttributedString+YYText.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSBundle+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSBundle+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSData+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSData+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSDate+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSDate+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSDictionary+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSDictionary+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSKeyedUnarchiver+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSKeyedUnarchiver+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSNotificationCenter+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSNotificationCenter+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSNumber+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSNumber+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSObject+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSObject+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSObject+YYAddForARC.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSObject+YYAddForARC.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSObject+YYAddForKVO.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSObject+YYAddForKVO.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSObject+YYModel.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Model/NSObject+YYModel.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSParagraphStyle+YYText.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/NSParagraphStyle+YYText.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSString+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSString+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSThread+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSThread+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/NSTimer+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSTimer+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIApplication+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIApplication+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIBarButtonItem+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIBarButtonItem+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIBezierPath+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIBezierPath+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIButton+YYWebImage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/Categories/UIButton+YYWebImage.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIColor+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIColor+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIControl+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIControl+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIDevice+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIDevice+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIFont+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIFont+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIGestureRecognizer+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIGestureRecognizer+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIImage+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIImage+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIImageView+YYWebImage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/Categories/UIImageView+YYWebImage.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIPasteboard+YYText.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/UIPasteboard+YYText.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIScreen+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIScreen+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIScrollView+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIScrollView+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UITableView+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UITableView+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UITextField+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UITextField+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/UIView+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIView+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYAnimatedImageView.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYAnimatedImageView.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYAsyncLayer.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYAsyncLayer.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYCGUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Quartz/YYCGUtilities.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYCache.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Cache/YYCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYClassInfo.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Model/YYClassInfo.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYDiskCache.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Cache/YYDiskCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYDispatchQueuePool.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYDispatchQueuePool.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYFileHash.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYFileHash.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYFrameImage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYFrameImage.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYGestureRecognizer.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYGestureRecognizer.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYImage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYImage.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYImageCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYImageCoder.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYImageCoder.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYKVStorage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Cache/YYKVStorage.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYKeychain.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYKeychain.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYKit.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/YYKit.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYKitMacro.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/YYKitMacro.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYLabel.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/YYLabel.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYMemoryCache.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Cache/YYMemoryCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYReachability.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYReachability.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYSentinel.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYSentinel.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYSpriteSheetImage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYSpriteSheetImage.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextArchiver.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/YYTextArchiver.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextAttribute.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/YYTextAttribute.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextContainerView.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextContainerView.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextDebugOption.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextDebugOption.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextEffectWindow.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextEffectWindow.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextInput.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextInput.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextKeyboardManager.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextKeyboardManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextLayout.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextLayout.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextLine.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextLine.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextMagnifier.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextMagnifier.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextParser.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/YYTextParser.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextRubyAnnotation.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/YYTextRubyAnnotation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextRunDelegate.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/YYTextRunDelegate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextSelectionView.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextSelectionView.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/YYTextUtilities.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTextView.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/YYTextView.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYThreadSafeArray.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYThreadSafeArray.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYThreadSafeDictionary.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYThreadSafeDictionary.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTimer.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYTimer.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYTransaction.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYTransaction.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYWeakProxy.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYWeakProxy.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYWebImageManager.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYWebImageManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/YYWebImageOperation.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYWebImageOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Private/YYKit/_YYWebImageSetter.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/Categories/_YYWebImageSetter.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFAutoPurgingImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFHTTPSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFImageDownloader.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFImageDownloader.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFNetworkActivityIndicatorManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFNetworkReachabilityManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFSecurityPolicy.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFSecurityPolicy.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFURLRequestSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFURLResponseSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFURLSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLSessionManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIButton+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIImage+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIImageView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/MBProgressHUD/MBProgressHUD.h: -------------------------------------------------------------------------------- 1 | ../../../MBProgressHUD/MBProgressHUD.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/CALayer+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Quartz/CALayer+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/CALayer+YYWebImage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/Categories/CALayer+YYWebImage.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/MKAnnotationView+YYWebImage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/Categories/MKAnnotationView+YYWebImage.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSArray+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSArray+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSAttributedString+YYText.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/NSAttributedString+YYText.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSBundle+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSBundle+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSData+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSData+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSDate+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSDate+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSDictionary+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSDictionary+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSKeyedUnarchiver+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSKeyedUnarchiver+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSNotificationCenter+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSNotificationCenter+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSNumber+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSNumber+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSObject+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSObject+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSObject+YYAddForARC.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSObject+YYAddForARC.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSObject+YYAddForKVO.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSObject+YYAddForKVO.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSObject+YYModel.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Model/NSObject+YYModel.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSParagraphStyle+YYText.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/NSParagraphStyle+YYText.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSString+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSString+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSThread+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSThread+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/NSTimer+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Foundation/NSTimer+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIApplication+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIApplication+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIBarButtonItem+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIBarButtonItem+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIBezierPath+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIBezierPath+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIButton+YYWebImage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/Categories/UIButton+YYWebImage.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIColor+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIColor+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIControl+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIControl+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIDevice+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIDevice+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIFont+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIFont+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIGestureRecognizer+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIGestureRecognizer+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIImage+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIImage+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIImageView+YYWebImage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/Categories/UIImageView+YYWebImage.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIPasteboard+YYText.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/UIPasteboard+YYText.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIScreen+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIScreen+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIScrollView+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIScrollView+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UITableView+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UITableView+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UITextField+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UITextField+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/UIView+YYAdd.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/UIKit/UIView+YYAdd.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/WebP/config.h: -------------------------------------------------------------------------------- 1 | ../../../../YYKit/Vendor/WebP.framework/Headers/config.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/WebP/decode.h: -------------------------------------------------------------------------------- 1 | ../../../../YYKit/Vendor/WebP.framework/Headers/decode.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/WebP/demux.h: -------------------------------------------------------------------------------- 1 | ../../../../YYKit/Vendor/WebP.framework/Headers/demux.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/WebP/encode.h: -------------------------------------------------------------------------------- 1 | ../../../../YYKit/Vendor/WebP.framework/Headers/encode.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/WebP/extras.h: -------------------------------------------------------------------------------- 1 | ../../../../YYKit/Vendor/WebP.framework/Headers/extras.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/WebP/format_constants.h: -------------------------------------------------------------------------------- 1 | ../../../../YYKit/Vendor/WebP.framework/Headers/format_constants.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/WebP/mux.h: -------------------------------------------------------------------------------- 1 | ../../../../YYKit/Vendor/WebP.framework/Headers/mux.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/WebP/mux_types.h: -------------------------------------------------------------------------------- 1 | ../../../../YYKit/Vendor/WebP.framework/Headers/mux_types.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/WebP/types.h: -------------------------------------------------------------------------------- 1 | ../../../../YYKit/Vendor/WebP.framework/Headers/types.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYAnimatedImageView.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYAnimatedImageView.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYAsyncLayer.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYAsyncLayer.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYCGUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/Quartz/YYCGUtilities.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYCache.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Cache/YYCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYClassInfo.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Model/YYClassInfo.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYDiskCache.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Cache/YYDiskCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYDispatchQueuePool.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYDispatchQueuePool.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYFileHash.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYFileHash.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYFrameImage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYFrameImage.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYGestureRecognizer.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYGestureRecognizer.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYImage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYImage.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYImageCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYImageCoder.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYImageCoder.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYKVStorage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Cache/YYKVStorage.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYKeychain.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYKeychain.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYKit.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/YYKit.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYKitMacro.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Base/YYKitMacro.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYLabel.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/YYLabel.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYMemoryCache.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Cache/YYMemoryCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYReachability.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYReachability.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYSentinel.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYSentinel.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYSpriteSheetImage.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYSpriteSheetImage.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextArchiver.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/YYTextArchiver.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextAttribute.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/YYTextAttribute.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextContainerView.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextContainerView.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextDebugOption.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextDebugOption.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextEffectWindow.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextEffectWindow.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextInput.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextInput.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextKeyboardManager.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextKeyboardManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextLayout.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextLayout.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextLine.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextLine.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextMagnifier.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextMagnifier.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextParser.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/YYTextParser.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextRubyAnnotation.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/YYTextRubyAnnotation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextRunDelegate.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/YYTextRunDelegate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextSelectionView.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/Component/YYTextSelectionView.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/String/YYTextUtilities.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTextView.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Text/YYTextView.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYThreadSafeArray.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYThreadSafeArray.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYThreadSafeDictionary.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYThreadSafeDictionary.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTimer.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYTimer.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYTransaction.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYTransaction.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYWeakProxy.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Utility/YYWeakProxy.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYWebImageManager.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYWebImageManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/YYWebImageOperation.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/YYWebImageOperation.h -------------------------------------------------------------------------------- /Pods/Headers/Public/YYKit/_YYWebImageSetter.h: -------------------------------------------------------------------------------- 1 | ../../../YYKit/YYKit/Image/Categories/_YYWebImageSetter.h -------------------------------------------------------------------------------- /Pods/MBProgressHUD/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright © 2009-2016 Matej Bukovinski 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - AFNetworking (3.1.0): 3 | - AFNetworking/NSURLSession (= 3.1.0) 4 | - AFNetworking/Reachability (= 3.1.0) 5 | - AFNetworking/Security (= 3.1.0) 6 | - AFNetworking/Serialization (= 3.1.0) 7 | - AFNetworking/UIKit (= 3.1.0) 8 | - AFNetworking/NSURLSession (3.1.0): 9 | - AFNetworking/Reachability 10 | - AFNetworking/Security 11 | - AFNetworking/Serialization 12 | - AFNetworking/Reachability (3.1.0) 13 | - AFNetworking/Security (3.1.0) 14 | - AFNetworking/Serialization (3.1.0) 15 | - AFNetworking/UIKit (3.1.0): 16 | - AFNetworking/NSURLSession 17 | - MBProgressHUD (1.0.0) 18 | - YYKit (1.0.9): 19 | - YYKit/no-arc (= 1.0.9) 20 | - YYKit/no-arc (1.0.9) 21 | 22 | DEPENDENCIES: 23 | - AFNetworking 24 | - MBProgressHUD 25 | - YYKit 26 | 27 | SPEC CHECKSUMS: 28 | AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67 29 | MBProgressHUD: 4890f671c94e8a0f3cf959aa731e9de2f036d71a 30 | YYKit: 7cda43304a8dc3696c449041e2cb3107b4e236e7 31 | 32 | PODFILE CHECKSUM: 391c9fb256c97138db6f2c3e0ea73db2c498e98e 33 | 34 | COCOAPODS: 1.2.0 35 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/allen.xcuserdatad/xcschemes/AFNetworking.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/allen.xcuserdatad/xcschemes/MBProgressHUD.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/allen.xcuserdatad/xcschemes/Pods-ZYNetWork.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/allen.xcuserdatad/xcschemes/YYKit.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/allen.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | AFNetworking.xcscheme 8 | 9 | isShown 10 | 11 | 12 | MBProgressHUD.xcscheme 13 | 14 | isShown 15 | 16 | 17 | Pods-ZYNetWork.xcscheme 18 | 19 | isShown 20 | 21 | 22 | YYKit.xcscheme 23 | 24 | isShown 25 | 26 | 27 | 28 | SuppressBuildableAutocreation 29 | 30 | 1CA64353EDA5ED61F62B703BD6DFABBE 31 | 32 | primary 33 | 34 | 35 | 586F2DFA9BDCC6675C2546793A69E5CC 36 | 37 | primary 38 | 39 | 40 | 9E033EDB5EC0819481B0546434FA577B 41 | 42 | primary 43 | 44 | 45 | D5A40E3B274F73E07DF3F92481B25D16 46 | 47 | primary 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/huanyihuan.xcuserdatad/xcschemes/AFNetworking.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/huanyihuan.xcuserdatad/xcschemes/Pods-ZYNetWork.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/huanyihuan.xcuserdatad/xcschemes/YYKit.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/huanyihuan.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | AFNetworking.xcscheme 8 | 9 | isShown 10 | 11 | 12 | Pods-ZYNetWork.xcscheme 13 | 14 | isShown 15 | 16 | 17 | YYKit.xcscheme 18 | 19 | isShown 20 | 21 | 22 | 23 | SuppressBuildableAutocreation 24 | 25 | 054A9DED1F5322B2D273D9A74FE1E3F3 26 | 27 | primary 28 | 29 | 30 | 90B73D3C48E7E930431D0681AA28425C 31 | 32 | primary 33 | 34 | 35 | 928353533005A4198EBDA5B700D37B64 36 | 37 | primary 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /Pods/Target Support Files/AFNetworking/AFNetworking-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_AFNetworking : NSObject 3 | @end 4 | @implementation PodsDummy_AFNetworking 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #ifndef TARGET_OS_IOS 14 | #define TARGET_OS_IOS TARGET_OS_IPHONE 15 | #endif 16 | 17 | #ifndef TARGET_OS_WATCH 18 | #define TARGET_OS_WATCH 0 19 | #endif 20 | 21 | #ifndef TARGET_OS_TV 22 | #define TARGET_OS_TV 0 23 | #endif 24 | -------------------------------------------------------------------------------- /Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/AFNetworking 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/MBProgressHUD" "${PODS_ROOT}/Headers/Public/YYKit" 4 | OTHER_LDFLAGS = -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/AFNetworking 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MBProgressHUD/MBProgressHUD-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_MBProgressHUD : NSObject 3 | @end 4 | @implementation PodsDummy_MBProgressHUD 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MBProgressHUD/MBProgressHUD-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MBProgressHUD/MBProgressHUD.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/MBProgressHUD 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/MBProgressHUD" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/YYKit" 4 | OTHER_LDFLAGS = -framework "CoreGraphics" -framework "QuartzCore" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MBProgressHUD 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ZYNetWork/Pods-ZYNetWork-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_ZYNetWork : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_ZYNetWork 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ZYNetWork/Pods-ZYNetWork.debug.xcconfig: -------------------------------------------------------------------------------- 1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/YYKit/Vendor" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/YYKit" 4 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/MBProgressHUD" "$PODS_CONFIGURATION_BUILD_DIR/YYKit" 5 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/MBProgressHUD" -isystem "${PODS_ROOT}/Headers/Public/YYKit" 6 | OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"MBProgressHUD" -l"YYKit" -l"sqlite3" -l"z" -framework "Accelerate" -framework "AssetsLibrary" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreImage" -framework "CoreText" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "WebP" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-ZYNetWork/Pods-ZYNetWork.release.xcconfig: -------------------------------------------------------------------------------- 1 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/YYKit/Vendor" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/YYKit" 4 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/MBProgressHUD" "$PODS_CONFIGURATION_BUILD_DIR/YYKit" 5 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/MBProgressHUD" -isystem "${PODS_ROOT}/Headers/Public/YYKit" 6 | OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"MBProgressHUD" -l"YYKit" -l"sqlite3" -l"z" -framework "Accelerate" -framework "AssetsLibrary" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreImage" -framework "CoreText" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -framework "WebP" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/YYKit/YYKit-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_YYKit : NSObject 3 | @end 4 | @implementation PodsDummy_YYKit 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/YYKit/YYKit-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/YYKit/YYKit.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/YYKit 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/YYKit/Vendor" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/YYKit" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/MBProgressHUD" "${PODS_ROOT}/Headers/Public/YYKit" 5 | OTHER_LDFLAGS = -l"sqlite3" -l"z" -framework "Accelerate" -framework "AssetsLibrary" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreImage" -framework "CoreText" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "SystemConfiguration" -framework "UIKit" -framework "WebP" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT} 9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/YYKit 10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 11 | SKIP_INSTALL = YES 12 | -------------------------------------------------------------------------------- /Pods/YYKit/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 ibireme 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /Pods/YYKit/Vendor/WebP.framework/Headers/extras.h: -------------------------------------------------------------------------------- 1 | // Copyright 2015 Google Inc. All Rights Reserved. 2 | // 3 | // Use of this source code is governed by a BSD-style license 4 | // that can be found in the COPYING file in the root of the source 5 | // tree. An additional intellectual property rights grant can be found 6 | // in the file PATENTS. All contributing project authors may 7 | // be found in the AUTHORS file in the root of the source tree. 8 | // ----------------------------------------------------------------------------- 9 | // 10 | 11 | #ifndef WEBP_WEBP_EXTRAS_H_ 12 | #define WEBP_WEBP_EXTRAS_H_ 13 | 14 | #include "./types.h" 15 | 16 | #ifdef __cplusplus 17 | extern "C" { 18 | #endif 19 | 20 | #include "./encode.h" 21 | 22 | #define WEBP_EXTRAS_ABI_VERSION 0x0000 // MAJOR(8b) + MINOR(8b) 23 | 24 | //------------------------------------------------------------------------------ 25 | 26 | // Returns the version number of the extras library, packed in hexadecimal using 27 | // 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. 28 | WEBP_EXTERN(int) WebPGetExtrasVersion(void); 29 | 30 | //------------------------------------------------------------------------------ 31 | // Ad-hoc colorspace importers. 32 | 33 | // Import luma sample (gray scale image) into 'picture'. The 'picture' 34 | // width and height must be set prior to calling this function. 35 | WEBP_EXTERN(int) WebPImportGray(const uint8_t* gray, WebPPicture* picture); 36 | 37 | // Import rgb sample in RGB565 packed format into 'picture'. The 'picture' 38 | // width and height must be set prior to calling this function. 39 | WEBP_EXTERN(int) WebPImportRGB565(const uint8_t* rgb565, WebPPicture* pic); 40 | 41 | // Import rgb sample in RGB4444 packed format into 'picture'. The 'picture' 42 | // width and height must be set prior to calling this function. 43 | WEBP_EXTERN(int) WebPImportRGB4444(const uint8_t* rgb4444, WebPPicture* pic); 44 | 45 | //------------------------------------------------------------------------------ 46 | 47 | #ifdef __cplusplus 48 | } // extern "C" 49 | #endif 50 | 51 | #endif /* WEBP_WEBP_EXTRAS_H_ */ 52 | -------------------------------------------------------------------------------- /Pods/YYKit/Vendor/WebP.framework/Headers/types.h: -------------------------------------------------------------------------------- 1 | // Copyright 2010 Google Inc. All Rights Reserved. 2 | // 3 | // Use of this source code is governed by a BSD-style license 4 | // that can be found in the COPYING file in the root of the source 5 | // tree. An additional intellectual property rights grant can be found 6 | // in the file PATENTS. All contributing project authors may 7 | // be found in the AUTHORS file in the root of the source tree. 8 | // ----------------------------------------------------------------------------- 9 | // 10 | // Common types 11 | // 12 | // Author: Skal (pascal.massimino@gmail.com) 13 | 14 | #ifndef WEBP_WEBP_TYPES_H_ 15 | #define WEBP_WEBP_TYPES_H_ 16 | 17 | #include // for size_t 18 | 19 | #ifndef _MSC_VER 20 | #include 21 | #if defined(__cplusplus) || !defined(__STRICT_ANSI__) || \ 22 | (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) 23 | #define WEBP_INLINE inline 24 | #else 25 | #define WEBP_INLINE 26 | #endif 27 | #else 28 | typedef signed char int8_t; 29 | typedef unsigned char uint8_t; 30 | typedef signed short int16_t; 31 | typedef unsigned short uint16_t; 32 | typedef signed int int32_t; 33 | typedef unsigned int uint32_t; 34 | typedef unsigned long long int uint64_t; 35 | typedef long long int int64_t; 36 | #define WEBP_INLINE __forceinline 37 | #endif /* _MSC_VER */ 38 | 39 | #ifndef WEBP_EXTERN 40 | // This explicitly marks library functions and allows for changing the 41 | // signature for e.g., Windows DLL builds. 42 | # if defined(__GNUC__) && __GNUC__ >= 4 43 | # define WEBP_EXTERN(type) extern __attribute__ ((visibility ("default"))) type 44 | # else 45 | # define WEBP_EXTERN(type) extern type 46 | # endif /* __GNUC__ >= 4 */ 47 | #endif /* WEBP_EXTERN */ 48 | 49 | // Macro to check ABI compatibility (same major revision number) 50 | #define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) 51 | 52 | #endif /* WEBP_WEBP_TYPES_H_ */ 53 | -------------------------------------------------------------------------------- /Pods/YYKit/Vendor/WebP.framework/WebP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/321zhangyang/ZYNewWork/79ae3867ceeee8ddb0fe160bbdac315831a28e09/Pods/YYKit/Vendor/WebP.framework/WebP -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/Foundation/NSKeyedUnarchiver+YYAdd.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSKeyedUnarchiver+YYAdd.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/8/4. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | Provides extensions for `NSKeyedUnarchiver`. 18 | */ 19 | @interface NSKeyedUnarchiver (YYAdd) 20 | 21 | /** 22 | Same as unarchiveObjectWithData:, except it returns the exception by reference. 23 | 24 | @param data The data need unarchived. 25 | 26 | @param exception Pointer which will, upon return, if an exception occurred and 27 | said pointer is not NULL, point to said NSException. 28 | */ 29 | + (nullable id)unarchiveObjectWithData:(NSData *)data 30 | exception:(NSException *_Nullable *_Nullable)exception; 31 | 32 | /** 33 | Same as unarchiveObjectWithFile:, except it returns the exception by reference. 34 | 35 | @param path The path of archived object file. 36 | 37 | @param exception Pointer which will, upon return, if an exception occurred and 38 | said pointer is not NULL, point to said NSException. 39 | */ 40 | + (nullable id)unarchiveObjectWithFile:(NSString *)path 41 | exception:(NSException *_Nullable *_Nullable)exception; 42 | 43 | @end 44 | 45 | NS_ASSUME_NONNULL_END 46 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/Foundation/NSKeyedUnarchiver+YYAdd.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSKeyedUnarchiver+YYAdd.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/8/4. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "NSKeyedUnarchiver+YYAdd.h" 13 | #import "YYKitMacro.h" 14 | 15 | YYSYNTH_DUMMY_CLASS(NSKeyedUnarchiver_YYAdd) 16 | 17 | 18 | @implementation NSKeyedUnarchiver (YYAdd) 19 | 20 | + (id)unarchiveObjectWithData:(NSData *)data exception:(__autoreleasing NSException **)exception { 21 | id object = nil; 22 | @try { 23 | object = [NSKeyedUnarchiver unarchiveObjectWithData:data]; 24 | } 25 | @catch (NSException *e) 26 | { 27 | if (exception) *exception = e; 28 | } 29 | @finally 30 | { 31 | } 32 | return object; 33 | } 34 | 35 | + (id)unarchiveObjectWithFile:(NSString *)path exception:(__autoreleasing NSException **)exception { 36 | id object = nil; 37 | 38 | @try { 39 | object = [NSKeyedUnarchiver unarchiveObjectWithFile:path]; 40 | } 41 | @catch (NSException *e) 42 | { 43 | if (exception) *exception = e; 44 | } 45 | @finally 46 | { 47 | } 48 | return object; 49 | } 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/Foundation/NSNotificationCenter+YYAdd.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSNotificationCenter+YYAdd.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/8/24. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "NSNotificationCenter+YYAdd.h" 13 | #include 14 | #import "YYKitMacro.h" 15 | 16 | YYSYNTH_DUMMY_CLASS(NSNotificationCenter_YYAdd) 17 | 18 | 19 | @implementation NSNotificationCenter (YYAdd) 20 | 21 | - (void)postNotificationOnMainThread:(NSNotification *)notification { 22 | if (pthread_main_np()) return [self postNotification:notification]; 23 | [self postNotificationOnMainThread:notification waitUntilDone:NO]; 24 | } 25 | 26 | - (void)postNotificationOnMainThread:(NSNotification *)notification waitUntilDone:(BOOL)wait { 27 | if (pthread_main_np()) return [self postNotification:notification]; 28 | [[self class] performSelectorOnMainThread:@selector(_yy_postNotification:) withObject:notification waitUntilDone:wait]; 29 | } 30 | 31 | - (void)postNotificationOnMainThreadWithName:(NSString *)name object:(id)object { 32 | if (pthread_main_np()) return [self postNotificationName:name object:object userInfo:nil]; 33 | [self postNotificationOnMainThreadWithName:name object:object userInfo:nil waitUntilDone:NO]; 34 | } 35 | 36 | - (void)postNotificationOnMainThreadWithName:(NSString *)name object:(id)object userInfo:(NSDictionary *)userInfo { 37 | if (pthread_main_np()) return [self postNotificationName:name object:object userInfo:userInfo]; 38 | [self postNotificationOnMainThreadWithName:name object:object userInfo:userInfo waitUntilDone:NO]; 39 | } 40 | 41 | - (void)postNotificationOnMainThreadWithName:(NSString *)name object:(id)object userInfo:(NSDictionary *)userInfo waitUntilDone:(BOOL)wait { 42 | if (pthread_main_np()) return [self postNotificationName:name object:object userInfo:userInfo]; 43 | NSMutableDictionary *info = [[NSMutableDictionary allocWithZone:nil] initWithCapacity:3]; 44 | if (name) [info setObject:name forKey:@"name"]; 45 | if (object) [info setObject:object forKey:@"object"]; 46 | if (userInfo) [info setObject:userInfo forKey:@"userInfo"]; 47 | [[self class] performSelectorOnMainThread:@selector(_yy_postNotificationName:) withObject:info waitUntilDone:wait]; 48 | } 49 | 50 | + (void)_yy_postNotification:(NSNotification *)notification { 51 | [[self defaultCenter] postNotification:notification]; 52 | } 53 | 54 | + (void)_yy_postNotificationName:(NSDictionary *)info { 55 | NSString *name = [info objectForKey:@"name"]; 56 | id object = [info objectForKey:@"object"]; 57 | NSDictionary *userInfo = [info objectForKey:@"userInfo"]; 58 | 59 | [[self defaultCenter] postNotificationName:name object:object userInfo:userInfo]; 60 | } 61 | 62 | @end 63 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/Foundation/NSNumber+YYAdd.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSNumber+YYAdd.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/8/24. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | Provide a method to parse `NSString` for `NSNumber`. 18 | */ 19 | @interface NSNumber (YYAdd) 20 | 21 | /** 22 | Creates and returns an NSNumber object from a string. 23 | Valid format: @"12", @"12.345", @" -0xFF", @" .23e99 "... 24 | 25 | @param string The string described an number. 26 | 27 | @return an NSNumber when parse succeed, or nil if an error occurs. 28 | */ 29 | + (nullable NSNumber *)numberWithString:(NSString *)string; 30 | 31 | @end 32 | 33 | NS_ASSUME_NONNULL_END 34 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/Foundation/NSNumber+YYAdd.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSNumber+YYAdd.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/8/24. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "NSNumber+YYAdd.h" 13 | #import "NSString+YYAdd.h" 14 | #import "YYKitMacro.h" 15 | 16 | YYSYNTH_DUMMY_CLASS(NSNumber_YYAdd) 17 | 18 | 19 | @implementation NSNumber (YYAdd) 20 | 21 | + (NSNumber *)numberWithString:(NSString *)string { 22 | NSString *str = [[string stringByTrim] lowercaseString]; 23 | if (!str || !str.length) { 24 | return nil; 25 | } 26 | 27 | static NSDictionary *dic; 28 | static dispatch_once_t onceToken; 29 | dispatch_once(&onceToken, ^{ 30 | dic = @{@"true" : @(YES), 31 | @"yes" : @(YES), 32 | @"false" : @(NO), 33 | @"no" : @(NO), 34 | @"nil" : [NSNull null], 35 | @"null" : [NSNull null], 36 | @"" : [NSNull null]}; 37 | }); 38 | id num = dic[str]; 39 | if (num) { 40 | if (num == [NSNull null]) return nil; 41 | return num; 42 | } 43 | 44 | // hex number 45 | int sign = 0; 46 | if ([str hasPrefix:@"0x"]) sign = 1; 47 | else if ([str hasPrefix:@"-0x"]) sign = -1; 48 | if (sign != 0) { 49 | NSScanner *scan = [NSScanner scannerWithString:str]; 50 | unsigned num = -1; 51 | BOOL suc = [scan scanHexInt:&num]; 52 | if (suc) 53 | return [NSNumber numberWithLong:((long)num * sign)]; 54 | else 55 | return nil; 56 | } 57 | // normal number 58 | NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 59 | [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; 60 | return [formatter numberFromString:string]; 61 | } 62 | 63 | @end 64 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/Foundation/NSObject+YYAddForARC.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+YYAddForARC.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/12/15. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | /** 15 | Debug method for NSObject when using ARC. 16 | */ 17 | @interface NSObject (YYAddForARC) 18 | 19 | /// Same as `retain` 20 | - (instancetype)arcDebugRetain; 21 | 22 | /// Same as `release` 23 | - (oneway void)arcDebugRelease; 24 | 25 | /// Same as `autorelease` 26 | - (instancetype)arcDebugAutorelease; 27 | 28 | /// Same as `retainCount` 29 | - (NSUInteger)arcDebugRetainCount; 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/Foundation/NSObject+YYAddForARC.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+YYAddForARC.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/12/15. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "NSObject+YYAddForARC.h" 13 | 14 | @interface NSObject_YYAddForARC : NSObject @end 15 | @implementation NSObject_YYAddForARC @end 16 | 17 | #if __has_feature(objc_arc) 18 | #error This file must be compiled without ARC. Specify the -fno-objc-arc flag to this file. 19 | #endif 20 | 21 | 22 | @implementation NSObject (YYAddForARC) 23 | 24 | - (instancetype)arcDebugRetain { 25 | return [self retain]; 26 | } 27 | 28 | - (oneway void)arcDebugRelease { 29 | [self release]; 30 | } 31 | 32 | - (instancetype)arcDebugAutorelease { 33 | return [self autorelease]; 34 | } 35 | 36 | - (NSUInteger)arcDebugRetainCount { 37 | return [self retainCount]; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/Foundation/NSObject+YYAddForKVO.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+YYAddForKVO.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/10/15. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | Observer with block (KVO). 18 | */ 19 | @interface NSObject (YYAddForKVO) 20 | 21 | /** 22 | Registers a block to receive KVO notifications for the specified key-path 23 | relative to the receiver. 24 | 25 | @discussion The block and block captured objects are retained. Call 26 | `removeObserverBlocksForKeyPath:` or `removeObserverBlocks` to release. 27 | 28 | @param keyPath The key path, relative to the receiver, of the property to 29 | observe. This value must not be nil. 30 | 31 | @param block The block to register for KVO notifications. 32 | */ 33 | - (void)addObserverBlockForKeyPath:(NSString*)keyPath block:(void (^)(id _Nonnull obj, _Nullable id oldVal, _Nullable id newVal))block; 34 | 35 | /** 36 | Stops all blocks (associated by `addObserverBlockForKeyPath:block:`) from 37 | receiving change notifications for the property specified by a given key-path 38 | relative to the receiver, and release these blocks. 39 | 40 | @param keyPath A key-path, relative to the receiver, for which blocks is 41 | registered to receive KVO change notifications. 42 | */ 43 | - (void)removeObserverBlocksForKeyPath:(NSString*)keyPath; 44 | 45 | /** 46 | Stops all blocks (associated by `addObserverBlockForKeyPath:block:`) from 47 | receiving change notifications, and release these blocks. 48 | */ 49 | - (void)removeObserverBlocks; 50 | 51 | @end 52 | 53 | NS_ASSUME_NONNULL_END 54 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/Foundation/NSThread+YYAdd.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSThread+YYAdd.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/7/3. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | @interface NSThread (YYAdd) 15 | 16 | /** 17 | Add an autorelease pool to current runloop for current thread. 18 | 19 | @discussion If you create your own thread (NSThread/pthread), and you use 20 | runloop to manage your task, you may use this method to add an autorelease pool 21 | to the runloop. Its behavior is the same as the main thread's autorelease pool. 22 | */ 23 | + (void)addAutoreleasePoolToCurrentRunloop; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/Foundation/NSTimer+YYAdd.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSTimer+YYAdd.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/15/11. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | Provides extensions for `NSTimer`. 18 | */ 19 | @interface NSTimer (YYAdd) 20 | 21 | /** 22 | Creates and returns a new NSTimer object and schedules it on the current run 23 | loop in the default mode. 24 | 25 | @discussion After seconds seconds have elapsed, the timer fires, 26 | sending the message aSelector to target. 27 | 28 | @param seconds The number of seconds between firings of the timer. If seconds 29 | is less than or equal to 0.0, this method chooses the 30 | nonnegative value of 0.1 milliseconds instead. 31 | 32 | @param block The block to invoke when the timer fires. The timer maintains 33 | a strong reference to the block until it (the timer) is invalidated. 34 | 35 | @param repeats If YES, the timer will repeatedly reschedule itself until 36 | invalidated. If NO, the timer will be invalidated after it fires. 37 | 38 | @return A new NSTimer object, configured according to the specified parameters. 39 | */ 40 | + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)seconds block:(void (^)(NSTimer *timer))block repeats:(BOOL)repeats; 41 | 42 | /** 43 | Creates and returns a new NSTimer object initialized with the specified block. 44 | 45 | @discussion You must add the new timer to a run loop, using addTimer:forMode:. 46 | Then, after seconds have elapsed, the timer fires, invoking 47 | block. (If the timer is configured to repeat, there is no need 48 | to subsequently re-add the timer to the run loop.) 49 | 50 | @param seconds The number of seconds between firings of the timer. If seconds 51 | is less than or equal to 0.0, this method chooses the 52 | nonnegative value of 0.1 milliseconds instead. 53 | 54 | @param block The block to invoke when the timer fires. The timer instructs 55 | the block to maintain a strong reference to its arguments. 56 | 57 | @param repeats If YES, the timer will repeatedly reschedule itself until 58 | invalidated. If NO, the timer will be invalidated after it fires. 59 | 60 | @return A new NSTimer object, configured according to the specified parameters. 61 | */ 62 | + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)seconds block:(void (^)(NSTimer *timer))block repeats:(BOOL)repeats; 63 | 64 | @end 65 | 66 | NS_ASSUME_NONNULL_END 67 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/Foundation/NSTimer+YYAdd.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSTimer+YYAdd.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/15/11. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "NSTimer+YYAdd.h" 13 | #import "YYKitMacro.h" 14 | 15 | YYSYNTH_DUMMY_CLASS(NSTimer_YYAdd) 16 | 17 | 18 | @implementation NSTimer (YYAdd) 19 | 20 | + (void)_yy_ExecBlock:(NSTimer *)timer { 21 | if ([timer userInfo]) { 22 | void (^block)(NSTimer *timer) = (void (^)(NSTimer *timer))[timer userInfo]; 23 | block(timer); 24 | } 25 | } 26 | 27 | + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)seconds block:(void (^)(NSTimer *timer))block repeats:(BOOL)repeats { 28 | return [NSTimer scheduledTimerWithTimeInterval:seconds target:self selector:@selector(_yy_ExecBlock:) userInfo:[block copy] repeats:repeats]; 29 | } 30 | 31 | + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)seconds block:(void (^)(NSTimer *timer))block repeats:(BOOL)repeats { 32 | return [NSTimer timerWithTimeInterval:seconds target:self selector:@selector(_yy_ExecBlock:) userInfo:[block copy] repeats:repeats]; 33 | } 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/UIKit/UIBarButtonItem+YYAdd.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIBarButtonItem+YYAdd.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/10/15. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | Provides extensions for `UIBarButtonItem`. 18 | */ 19 | @interface UIBarButtonItem (YYAdd) 20 | 21 | /** 22 | The block that invoked when the item is selected. The objects captured by block 23 | will retained by the ButtonItem. 24 | 25 | @discussion This param is conflict with `target` and `action` property. 26 | Set this will set `target` and `action` property to some internal objects. 27 | */ 28 | @property (nullable, nonatomic, copy) void (^actionBlock)(id); 29 | 30 | @end 31 | 32 | NS_ASSUME_NONNULL_END -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/UIKit/UIBarButtonItem+YYAdd.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIBarButtonItem+YYAdd.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/10/15. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "UIBarButtonItem+YYAdd.h" 13 | #import "YYKitMacro.h" 14 | #import 15 | 16 | YYSYNTH_DUMMY_CLASS(UIBarButtonItem_YYAdd) 17 | 18 | 19 | static const int block_key; 20 | 21 | @interface _YYUIBarButtonItemBlockTarget : NSObject 22 | 23 | @property (nonatomic, copy) void (^block)(id sender); 24 | 25 | - (id)initWithBlock:(void (^)(id sender))block; 26 | - (void)invoke:(id)sender; 27 | 28 | @end 29 | 30 | @implementation _YYUIBarButtonItemBlockTarget 31 | 32 | - (id)initWithBlock:(void (^)(id sender))block{ 33 | self = [super init]; 34 | if (self) { 35 | _block = [block copy]; 36 | } 37 | return self; 38 | } 39 | 40 | - (void)invoke:(id)sender { 41 | if (self.block) self.block(sender); 42 | } 43 | 44 | @end 45 | 46 | 47 | @implementation UIBarButtonItem (YYAdd) 48 | 49 | - (void)setActionBlock:(void (^)(id sender))block { 50 | _YYUIBarButtonItemBlockTarget *target = [[_YYUIBarButtonItemBlockTarget alloc] initWithBlock:block]; 51 | objc_setAssociatedObject(self, &block_key, target, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 52 | 53 | [self setTarget:target]; 54 | [self setAction:@selector(invoke:)]; 55 | } 56 | 57 | - (void (^)(id)) actionBlock { 58 | _YYUIBarButtonItemBlockTarget *target = objc_getAssociatedObject(self, &block_key); 59 | return target.block; 60 | } 61 | 62 | @end 63 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/UIKit/UIBezierPath+YYAdd.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIBezierPath+YYAdd.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/10/30. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | Provides extensions for `UIBezierPath`. 18 | */ 19 | @interface UIBezierPath (YYAdd) 20 | 21 | /** 22 | Creates and returns a new UIBezierPath object initialized with the text glyphs 23 | generated from the specified font. 24 | 25 | @discussion It doesnot support apple emoji. If you want get emoji image, try 26 | [UIImage imageWithEmoji:size:] in `UIImage(YYAdd)`. 27 | 28 | @param text The text to generate glyph path. 29 | @param font The font to generate glyph path. 30 | 31 | @return A new path object with the text and font, or nil if an error occurs. 32 | */ 33 | + (nullable UIBezierPath *)bezierPathWithText:(NSString *)text font:(UIFont *)font; 34 | 35 | @end 36 | 37 | NS_ASSUME_NONNULL_END -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/UIKit/UIBezierPath+YYAdd.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIBezierPath+YYAdd.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/10/30. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "UIBezierPath+YYAdd.h" 13 | #import "UIFont+YYAdd.h" 14 | #import 15 | #import "YYKitMacro.h" 16 | 17 | YYSYNTH_DUMMY_CLASS(UIBezierPath_YYAdd) 18 | 19 | 20 | @implementation UIBezierPath (YYAdd) 21 | 22 | + (UIBezierPath *)bezierPathWithText:(NSString *)text font:(UIFont *)font { 23 | CTFontRef ctFont = font.CTFontRef; 24 | if (!ctFont) return nil; 25 | NSDictionary *attrs = @{ (__bridge id)kCTFontAttributeName:(__bridge id)ctFont }; 26 | NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:text attributes:attrs]; 27 | CFRelease(ctFont); 28 | 29 | CTLineRef line = CTLineCreateWithAttributedString((__bridge CFTypeRef)attrString); 30 | if (!line) return nil; 31 | 32 | CGMutablePathRef cgPath = CGPathCreateMutable(); 33 | CFArrayRef runs = CTLineGetGlyphRuns(line); 34 | for (CFIndex iRun = 0, iRunMax = CFArrayGetCount(runs); iRun < iRunMax; iRun++) { 35 | CTRunRef run = (CTRunRef)CFArrayGetValueAtIndex(runs, iRun); 36 | CTFontRef runFont = CFDictionaryGetValue(CTRunGetAttributes(run), kCTFontAttributeName); 37 | 38 | for (CFIndex iGlyph = 0, iGlyphMax = CTRunGetGlyphCount(run); iGlyph < iGlyphMax; iGlyph++) { 39 | CFRange glyphRange = CFRangeMake(iGlyph, 1); 40 | CGGlyph glyph; 41 | CGPoint position; 42 | CTRunGetGlyphs(run, glyphRange, &glyph); 43 | CTRunGetPositions(run, glyphRange, &position); 44 | 45 | CGPathRef glyphPath = CTFontCreatePathForGlyph(runFont, glyph, NULL); 46 | if (glyphPath) { 47 | CGAffineTransform transform = CGAffineTransformMakeTranslation(position.x, position.y); 48 | CGPathAddPath(cgPath, &transform, glyphPath); 49 | CGPathRelease(glyphPath); 50 | } 51 | } 52 | } 53 | UIBezierPath *path = [UIBezierPath bezierPathWithCGPath:cgPath]; 54 | CGRect boundingBox = CGPathGetPathBoundingBox(cgPath); 55 | CFRelease(cgPath); 56 | CFRelease(line); 57 | 58 | [path applyTransform:CGAffineTransformMakeScale(1.0, -1.0)]; 59 | [path applyTransform:CGAffineTransformMakeTranslation(0.0, boundingBox.size.height)]; 60 | 61 | return path; 62 | } 63 | 64 | @end 65 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/UIKit/UIControl+YYAdd.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIControl+YYAdd.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/4/5. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | Provides extensions for `UIControl`. 18 | */ 19 | @interface UIControl (YYAdd) 20 | 21 | /** 22 | Removes all targets and actions for a particular event (or events) 23 | from an internal dispatch table. 24 | */ 25 | - (void)removeAllTargets; 26 | 27 | /** 28 | Adds or replaces a target and action for a particular event (or events) 29 | to an internal dispatch table. 30 | 31 | @param target The target object—that is, the object to which the 32 | action message is sent. If this is nil, the responder 33 | chain is searched for an object willing to respond to the 34 | action message. 35 | 36 | @param action A selector identifying an action message. It cannot be NULL. 37 | 38 | @param controlEvents A bitmask specifying the control events for which the 39 | action message is sent. 40 | */ 41 | - (void)setTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents; 42 | 43 | /** 44 | Adds a block for a particular event (or events) to an internal dispatch table. 45 | It will cause a strong reference to @a block. 46 | 47 | @param block The block which is invoked then the action message is 48 | sent (cannot be nil). The block is retained. 49 | 50 | @param controlEvents A bitmask specifying the control events for which the 51 | action message is sent. 52 | */ 53 | - (void)addBlockForControlEvents:(UIControlEvents)controlEvents block:(void (^)(id sender))block; 54 | 55 | /** 56 | Adds or replaces a block for a particular event (or events) to an internal 57 | dispatch table. It will cause a strong reference to @a block. 58 | 59 | @param block The block which is invoked then the action message is 60 | sent (cannot be nil). The block is retained. 61 | 62 | @param controlEvents A bitmask specifying the control events for which the 63 | action message is sent. 64 | */ 65 | - (void)setBlockForControlEvents:(UIControlEvents)controlEvents block:(void (^)(id sender))block; 66 | 67 | /** 68 | Removes all blocks for a particular event (or events) from an internal 69 | dispatch table. 70 | 71 | @param controlEvents A bitmask specifying the control events for which the 72 | action message is sent. 73 | */ 74 | - (void)removeAllBlocksForControlEvents:(UIControlEvents)controlEvents; 75 | 76 | @end 77 | 78 | NS_ASSUME_NONNULL_END 79 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/UIKit/UIGestureRecognizer+YYAdd.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIGestureRecognizer+YYAdd.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/10/13. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | Provides extensions for `UIGestureRecognizer`. 18 | */ 19 | @interface UIGestureRecognizer (YYAdd) 20 | 21 | /** 22 | Initializes an allocated gesture-recognizer object with a action block. 23 | 24 | @param block An action block that to handle the gesture recognized by the 25 | receiver. nil is invalid. It is retained by the gesture. 26 | 27 | @return An initialized instance of a concrete UIGestureRecognizer subclass or 28 | nil if an error occurred in the attempt to initialize the object. 29 | */ 30 | - (instancetype)initWithActionBlock:(void (^)(id sender))block; 31 | 32 | /** 33 | Adds an action block to a gesture-recognizer object. It is retained by the 34 | gesture. 35 | 36 | @param block A block invoked by the action message. nil is not a valid value. 37 | */ 38 | - (void)addActionBlock:(void (^)(id sender))block; 39 | 40 | /** 41 | Remove all action blocks. 42 | */ 43 | - (void)removeAllActionBlocks; 44 | 45 | @end 46 | 47 | NS_ASSUME_NONNULL_END 48 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/UIKit/UIGestureRecognizer+YYAdd.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIGestureRecognizer+YYAdd.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/10/13. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "UIGestureRecognizer+YYAdd.h" 13 | #import "YYKitMacro.h" 14 | #import 15 | 16 | static const int block_key; 17 | 18 | @interface _YYUIGestureRecognizerBlockTarget : NSObject 19 | 20 | @property (nonatomic, copy) void (^block)(id sender); 21 | 22 | - (id)initWithBlock:(void (^)(id sender))block; 23 | - (void)invoke:(id)sender; 24 | 25 | @end 26 | 27 | @implementation _YYUIGestureRecognizerBlockTarget 28 | 29 | - (id)initWithBlock:(void (^)(id sender))block{ 30 | self = [super init]; 31 | if (self) { 32 | _block = [block copy]; 33 | } 34 | return self; 35 | } 36 | 37 | - (void)invoke:(id)sender { 38 | if (_block) _block(sender); 39 | } 40 | 41 | @end 42 | 43 | 44 | 45 | 46 | @implementation UIGestureRecognizer (YYAdd) 47 | 48 | - (instancetype)initWithActionBlock:(void (^)(id sender))block { 49 | self = [self init]; 50 | [self addActionBlock:block]; 51 | return self; 52 | } 53 | 54 | - (void)addActionBlock:(void (^)(id sender))block { 55 | _YYUIGestureRecognizerBlockTarget *target = [[_YYUIGestureRecognizerBlockTarget alloc] initWithBlock:block]; 56 | [self addTarget:target action:@selector(invoke:)]; 57 | NSMutableArray *targets = [self _yy_allUIGestureRecognizerBlockTargets]; 58 | [targets addObject:target]; 59 | } 60 | 61 | - (void)removeAllActionBlocks{ 62 | NSMutableArray *targets = [self _yy_allUIGestureRecognizerBlockTargets]; 63 | [targets enumerateObjectsUsingBlock:^(id target, NSUInteger idx, BOOL *stop) { 64 | [self removeTarget:target action:@selector(invoke:)]; 65 | }]; 66 | [targets removeAllObjects]; 67 | } 68 | 69 | - (NSMutableArray *)_yy_allUIGestureRecognizerBlockTargets { 70 | NSMutableArray *targets = objc_getAssociatedObject(self, &block_key); 71 | if (!targets) { 72 | targets = [NSMutableArray array]; 73 | objc_setAssociatedObject(self, &block_key, targets, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 74 | } 75 | return targets; 76 | } 77 | 78 | @end 79 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/UIKit/UIScreen+YYAdd.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIScreen+YYAdd.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/4/5. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | Provides extensions for `UIScreen`. 18 | */ 19 | @interface UIScreen (YYAdd) 20 | 21 | /** 22 | Main screen's scale 23 | 24 | @return screen's scale 25 | */ 26 | + (CGFloat)screenScale; 27 | 28 | /** 29 | Returns the bounds of the screen for the current device orientation. 30 | 31 | @return A rect indicating the bounds of the screen. 32 | @see boundsForOrientation: 33 | */ 34 | - (CGRect)currentBounds NS_EXTENSION_UNAVAILABLE_IOS(""); 35 | 36 | /** 37 | Returns the bounds of the screen for a given device orientation. 38 | `UIScreen`'s `bounds` method always returns the bounds of the 39 | screen of it in the portrait orientation. 40 | 41 | @param orientation The orientation to get the screen's bounds. 42 | @return A rect indicating the bounds of the screen. 43 | @see currentBounds 44 | */ 45 | - (CGRect)boundsForOrientation:(UIInterfaceOrientation)orientation; 46 | 47 | /** 48 | The screen's real size in pixel (width is always smaller than height). 49 | This value may not be very accurate in an unknown device, or simulator. 50 | e.g. (768,1024) 51 | */ 52 | @property (nonatomic, readonly) CGSize sizeInPixel; 53 | 54 | /** 55 | The screen's PPI. 56 | This value may not be very accurate in an unknown device, or simulator. 57 | Default value is 96. 58 | */ 59 | @property (nonatomic, readonly) CGFloat pixelsPerInch; 60 | 61 | @end 62 | 63 | NS_ASSUME_NONNULL_END 64 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/UIKit/UIScrollView+YYAdd.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIScrollView+YYAdd.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/4/5. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | Provides extensions for `UIScrollView`. 18 | */ 19 | @interface UIScrollView (YYAdd) 20 | 21 | /** 22 | Scroll content to top with animation. 23 | */ 24 | - (void)scrollToTop; 25 | 26 | /** 27 | Scroll content to bottom with animation. 28 | */ 29 | - (void)scrollToBottom; 30 | 31 | /** 32 | Scroll content to left with animation. 33 | */ 34 | - (void)scrollToLeft; 35 | 36 | /** 37 | Scroll content to right with animation. 38 | */ 39 | - (void)scrollToRight; 40 | 41 | /** 42 | Scroll content to top. 43 | 44 | @param animated Use animation. 45 | */ 46 | - (void)scrollToTopAnimated:(BOOL)animated; 47 | 48 | /** 49 | Scroll content to bottom. 50 | 51 | @param animated Use animation. 52 | */ 53 | - (void)scrollToBottomAnimated:(BOOL)animated; 54 | 55 | /** 56 | Scroll content to left. 57 | 58 | @param animated Use animation. 59 | */ 60 | - (void)scrollToLeftAnimated:(BOOL)animated; 61 | 62 | /** 63 | Scroll content to right. 64 | 65 | @param animated Use animation. 66 | */ 67 | - (void)scrollToRightAnimated:(BOOL)animated; 68 | 69 | @end 70 | 71 | NS_ASSUME_NONNULL_END 72 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/UIKit/UIScrollView+YYAdd.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIScrollView+YYAdd.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 13/4/5. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "UIScrollView+YYAdd.h" 13 | #import "YYKitMacro.h" 14 | 15 | YYSYNTH_DUMMY_CLASS(UIScrollView_YYAdd) 16 | 17 | 18 | @implementation UIScrollView (YYAdd) 19 | 20 | - (void)scrollToTop { 21 | [self scrollToTopAnimated:YES]; 22 | } 23 | 24 | - (void)scrollToBottom { 25 | [self scrollToBottomAnimated:YES]; 26 | } 27 | 28 | - (void)scrollToLeft { 29 | [self scrollToLeftAnimated:YES]; 30 | } 31 | 32 | - (void)scrollToRight { 33 | [self scrollToRightAnimated:YES]; 34 | } 35 | 36 | - (void)scrollToTopAnimated:(BOOL)animated { 37 | CGPoint off = self.contentOffset; 38 | off.y = 0 - self.contentInset.top; 39 | [self setContentOffset:off animated:animated]; 40 | } 41 | 42 | - (void)scrollToBottomAnimated:(BOOL)animated { 43 | CGPoint off = self.contentOffset; 44 | off.y = self.contentSize.height - self.bounds.size.height + self.contentInset.bottom; 45 | [self setContentOffset:off animated:animated]; 46 | } 47 | 48 | - (void)scrollToLeftAnimated:(BOOL)animated { 49 | CGPoint off = self.contentOffset; 50 | off.x = 0 - self.contentInset.left; 51 | [self setContentOffset:off animated:animated]; 52 | } 53 | 54 | - (void)scrollToRightAnimated:(BOOL)animated { 55 | CGPoint off = self.contentOffset; 56 | off.x = self.contentSize.width - self.bounds.size.width + self.contentInset.right; 57 | [self setContentOffset:off animated:animated]; 58 | } 59 | 60 | @end 61 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/UIKit/UITextField+YYAdd.h: -------------------------------------------------------------------------------- 1 | // 2 | // UITextField+YYAdd.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/5/12. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | Provides extensions for `UITextField`. 18 | */ 19 | @interface UITextField (YYAdd) 20 | 21 | /** 22 | Set all text selected. 23 | */ 24 | - (void)selectAllText; 25 | 26 | /** 27 | Set text in range selected. 28 | 29 | @param range The range of selected text in a document. 30 | */ 31 | - (void)setSelectedRange:(NSRange)range; 32 | 33 | @end 34 | 35 | NS_ASSUME_NONNULL_END 36 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Base/UIKit/UITextField+YYAdd.m: -------------------------------------------------------------------------------- 1 | // 2 | // UITextField+YYAdd.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/5/12. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "UITextField+YYAdd.h" 13 | #import "YYKitMacro.h" 14 | 15 | YYSYNTH_DUMMY_CLASS(UITextField_YYAdd) 16 | 17 | 18 | @implementation UITextField (YYAdd) 19 | 20 | - (void)selectAllText { 21 | UITextRange *range = [self textRangeFromPosition:self.beginningOfDocument toPosition:self.endOfDocument]; 22 | [self setSelectedTextRange:range]; 23 | } 24 | 25 | - (void)setSelectedRange:(NSRange)range { 26 | UITextPosition *beginning = self.beginningOfDocument; 27 | UITextPosition *startPosition = [self positionFromPosition:beginning offset:range.location]; 28 | UITextPosition *endPosition = [self positionFromPosition:beginning offset:NSMaxRange(range)]; 29 | UITextRange *selectionRange = [self textRangeFromPosition:startPosition toPosition:endPosition]; 30 | [self setSelectedTextRange:selectionRange]; 31 | } 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Image/Categories/_YYWebImageSetter.h: -------------------------------------------------------------------------------- 1 | // 2 | // _YYWebImageSetter.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/7/15. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #if __has_include() 13 | #import 14 | #else 15 | #import "YYWebImageManager.h" 16 | #endif 17 | 18 | NS_ASSUME_NONNULL_BEGIN 19 | 20 | extern NSString *const _YYWebImageFadeAnimationKey; 21 | extern const NSTimeInterval _YYWebImageFadeTime; 22 | extern const NSTimeInterval _YYWebImageProgressiveFadeTime; 23 | 24 | /** 25 | Private class used by web image categories. 26 | Typically, you should not use this class directly. 27 | */ 28 | @interface _YYWebImageSetter : NSObject 29 | /// Current image url. 30 | @property (nullable, nonatomic, readonly) NSURL *imageURL; 31 | /// Current sentinel. 32 | @property (nonatomic, readonly) int32_t sentinel; 33 | 34 | /// Create new operation for web image and return a sentinel value. 35 | - (int32_t)setOperationWithSentinel:(int32_t)sentinel 36 | url:(nullable NSURL *)imageURL 37 | options:(YYWebImageOptions)options 38 | manager:(YYWebImageManager *)manager 39 | progress:(nullable YYWebImageProgressBlock)progress 40 | transform:(nullable YYWebImageTransformBlock)transform 41 | completion:(nullable YYWebImageCompletionBlock)completion; 42 | 43 | /// Cancel and return a sentinel value. The imageURL will be set to nil. 44 | - (int32_t)cancel; 45 | 46 | /// Cancel and return a sentinel value. The imageURL will be set to new value. 47 | - (int32_t)cancelWithNewURL:(nullable NSURL *)imageURL; 48 | 49 | /// A queue to set operation. 50 | + (dispatch_queue_t)setterQueue; 51 | 52 | @end 53 | 54 | NS_ASSUME_NONNULL_END 55 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Image/YYImage.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYImage.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/10/20. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | #if __has_include() 15 | #import 16 | #import 17 | #else 18 | #import "YYAnimatedImageView.h" 19 | #import "YYImageCoder.h" 20 | #endif 21 | 22 | NS_ASSUME_NONNULL_BEGIN 23 | 24 | /** 25 | A YYImage object is a high-level way to display animated image data. 26 | 27 | @discussion It is a fully compatible `UIImage` subclass. It extends the UIImage 28 | to support animated WebP, APNG and GIF format image data decoding. It also 29 | support NSCoding protocol to archive and unarchive multi-frame image data. 30 | 31 | If the image is created from multi-frame image data, and you want to play the 32 | animation, try replace UIImageView with `YYAnimatedImageView`. 33 | 34 | Sample Code: 35 | 36 | // animation@3x.webp 37 | YYImage *image = [YYImage imageNamed:@"animation.webp"]; 38 | YYAnimatedImageView *imageView = [YYAnimatedImageView alloc] initWithImage:image]; 39 | [view addSubView:imageView]; 40 | 41 | */ 42 | @interface YYImage : UIImage 43 | 44 | + (nullable YYImage *)imageNamed:(NSString *)name; // no cache! 45 | + (nullable YYImage *)imageWithContentsOfFile:(NSString *)path; 46 | + (nullable YYImage *)imageWithData:(NSData *)data; 47 | + (nullable YYImage *)imageWithData:(NSData *)data scale:(CGFloat)scale; 48 | 49 | /** 50 | If the image is created from data or file, then the value indicates the data type. 51 | */ 52 | @property (nonatomic, readonly) YYImageType animatedImageType; 53 | 54 | /** 55 | If the image is created from animated image data (multi-frame GIF/APNG/WebP), 56 | this property stores the original image data. 57 | */ 58 | @property (nullable, nonatomic, readonly) NSData *animatedImageData; 59 | 60 | /** 61 | The total memory usage (in bytes) if all frame images was loaded into memory. 62 | The value is 0 if the image is not created from a multi-frame image data. 63 | */ 64 | @property (nonatomic, readonly) NSUInteger animatedImageMemorySize; 65 | 66 | /** 67 | Preload all frame image to memory. 68 | 69 | @discussion Set this property to `YES` will block the calling thread to decode 70 | all animation frame image to memory, set to `NO` will release the preloaded frames. 71 | If the image is shared by lots of image views (such as emoticon), preload all 72 | frames will reduce the CPU cost. 73 | 74 | See `animatedImageMemorySize` for memory cost. 75 | */ 76 | @property (nonatomic) BOOL preloadAllAnimatedImageFrames; 77 | 78 | @end 79 | 80 | NS_ASSUME_NONNULL_END 81 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Image/YYSpriteSheetImage.m: -------------------------------------------------------------------------------- 1 | // 2 | // YYSpriteImage.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/4/21. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "YYSpriteSheetImage.h" 13 | 14 | @implementation YYSpriteSheetImage 15 | 16 | - (instancetype)initWithSpriteSheetImage:(UIImage *)image 17 | contentRects:(NSArray *)contentRects 18 | frameDurations:(NSArray *)frameDurations 19 | loopCount:(NSUInteger)loopCount { 20 | if (!image.CGImage) return nil; 21 | if (contentRects.count < 1 || frameDurations.count < 1) return nil; 22 | if (contentRects.count != frameDurations.count) return nil; 23 | 24 | self = [super initWithCGImage:image.CGImage scale:image.scale orientation:image.imageOrientation]; 25 | if (!self) return nil; 26 | 27 | _contentRects = contentRects.copy; 28 | _frameDurations = frameDurations.copy; 29 | _loopCount = loopCount; 30 | return self; 31 | } 32 | 33 | - (CGRect)contentsRectForCALayerAtIndex:(NSUInteger)index { 34 | CGRect layerRect = CGRectMake(0, 0, 1, 1); 35 | if (index >= _contentRects.count) return layerRect; 36 | 37 | CGSize imageSize = self.size; 38 | CGRect rect = [self animatedImageContentsRectAtIndex:index]; 39 | if (imageSize.width > 0.01 && imageSize.height > 0.01) { 40 | layerRect.origin.x = rect.origin.x / imageSize.width; 41 | layerRect.origin.y = rect.origin.y / imageSize.height; 42 | layerRect.size.width = rect.size.width / imageSize.width; 43 | layerRect.size.height = rect.size.height / imageSize.height; 44 | layerRect = CGRectIntersection(layerRect, CGRectMake(0, 0, 1, 1)); 45 | if (CGRectIsNull(layerRect) || CGRectIsEmpty(layerRect)) { 46 | layerRect = CGRectMake(0, 0, 1, 1); 47 | } 48 | } 49 | return layerRect; 50 | } 51 | 52 | #pragma mark @protocol YYAnimatedImage 53 | 54 | - (NSUInteger)animatedImageFrameCount { 55 | return _contentRects.count; 56 | } 57 | 58 | - (NSUInteger)animatedImageLoopCount { 59 | return _loopCount; 60 | } 61 | 62 | - (NSUInteger)animatedImageBytesPerFrame { 63 | return 0; 64 | } 65 | 66 | - (UIImage *)animatedImageFrameAtIndex:(NSUInteger)index { 67 | return self; 68 | } 69 | 70 | - (NSTimeInterval)animatedImageDurationAtIndex:(NSUInteger)index { 71 | if (index >= _frameDurations.count) return 0; 72 | return ((NSNumber *)_frameDurations[index]).doubleValue; 73 | } 74 | 75 | - (CGRect)animatedImageContentsRectAtIndex:(NSUInteger)index { 76 | if (index >= _contentRects.count) return CGRectZero; 77 | return ((NSValue *)_contentRects[index]).CGRectValue; 78 | } 79 | 80 | @end 81 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Text/Component/YYTextContainerView.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYTextContainerView.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/4/21. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | #if __has_include() 15 | #import 16 | #else 17 | #import "YYTextLayout.h" 18 | #endif 19 | 20 | NS_ASSUME_NONNULL_BEGIN 21 | 22 | /** 23 | A simple view to diaplay `YYTextLayout`. 24 | 25 | @discussion This view can become first responder. If this view is first responder, 26 | all the action (such as UIMenu's action) would forward to the `hostView` property. 27 | Typically, you should not use this class directly. 28 | 29 | @warning All the methods in this class should be called on main thread. 30 | */ 31 | @interface YYTextContainerView : UIView 32 | 33 | /// First responder's aciton will forward to this view. 34 | @property (nullable, nonatomic, weak) UIView *hostView; 35 | 36 | /// Debug option for layout debug. Set this property will let the view redraw it's contents. 37 | @property (nullable, nonatomic, copy) YYTextDebugOption *debugOption; 38 | 39 | /// Text vertical alignment. 40 | @property (nonatomic) YYTextVerticalAlignment textVerticalAlignment; 41 | 42 | /// Text layout. Set this property will let the view redraw it's contents. 43 | @property (nullable, nonatomic, strong) YYTextLayout *layout; 44 | 45 | /// The contents fade animation duration when the layout's contents changed. Default is 0 (no animation). 46 | @property (nonatomic) NSTimeInterval contentsFadeDuration; 47 | 48 | /// Convenience method to set `layout` and `contentsFadeDuration`. 49 | /// @param layout Same as `layout` property. 50 | /// @param fadeDuration Same as `contentsFadeDuration` property. 51 | - (void)setLayout:(nullable YYTextLayout *)layout withFadeDuration:(NSTimeInterval)fadeDuration; 52 | 53 | @end 54 | 55 | NS_ASSUME_NONNULL_END 56 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Text/Component/YYTextEffectWindow.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYTextEffectWindow.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/2/25. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | #if __has_include() 15 | #import 16 | #import 17 | #else 18 | #import "YYTextMagnifier.h" 19 | #import "YYTextSelectionView.h" 20 | #endif 21 | 22 | NS_ASSUME_NONNULL_BEGIN 23 | 24 | /** 25 | A window to display magnifier and extra contents for text view. 26 | 27 | @discussion Use `sharedWindow` to get the instance, don't create your own instance. 28 | Typically, you should not use this class directly. 29 | */ 30 | @interface YYTextEffectWindow : UIWindow 31 | 32 | /// Returns the shared instance (returns nil in App Extension). 33 | + (nullable instancetype)sharedWindow; 34 | 35 | /// Show the magnifier in this window with a 'popup' animation. @param mag A magnifier. 36 | - (void)showMagnifier:(YYTextMagnifier *)mag; 37 | /// Update the magnifier content and position. @param mag A magnifier. 38 | - (void)moveMagnifier:(YYTextMagnifier *)mag; 39 | /// Remove the magnifier from this window with a 'shrink' animation. @param mag A magnifier. 40 | - (void)hideMagnifier:(YYTextMagnifier *)mag; 41 | 42 | 43 | /// Show the selection dot in this window if the dot is clipped by the selection view. 44 | /// @param selection A selection view. 45 | - (void)showSelectionDot:(YYTextSelectionView *)selection; 46 | /// Remove the selection dot from this window. 47 | /// @param selection A selection view. 48 | - (void)hideSelectionDot:(YYTextSelectionView *)selection; 49 | 50 | @end 51 | 52 | NS_ASSUME_NONNULL_END 53 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Text/Component/YYTextMagnifier.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYTextMagnifier.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/2/25. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | #if __has_include() 15 | #import 16 | #else 17 | #import "YYTextAttribute.h" 18 | #endif 19 | 20 | NS_ASSUME_NONNULL_BEGIN 21 | 22 | /// Magnifier type 23 | typedef NS_ENUM(NSInteger, YYTextMagnifierType) { 24 | YYTextMagnifierTypeCaret, ///< Circular magnifier 25 | YYTextMagnifierTypeRanged, ///< Round rectangle magnifier 26 | }; 27 | 28 | /** 29 | A magnifier view which can be displayed in `YYTextEffectWindow`. 30 | 31 | @discussion Use `magnifierWithType:` to create instance. 32 | Typically, you should not use this class directly. 33 | */ 34 | @interface YYTextMagnifier : UIView 35 | 36 | /// Create a mangifier with the specified type. @param type The magnifier type. 37 | + (id)magnifierWithType:(YYTextMagnifierType)type; 38 | 39 | @property (nonatomic, readonly) YYTextMagnifierType type; ///< Type of magnifier 40 | @property (nonatomic, readonly) CGSize fitSize; ///< The 'best' size for magnifier view. 41 | @property (nonatomic, readonly) CGSize snapshotSize; ///< The 'best' snapshot image size for magnifier. 42 | @property (nullable, nonatomic, strong) UIImage *snapshot; ///< The image in magnifier (readwrite). 43 | 44 | @property (nullable, nonatomic, weak) UIView *hostView; ///< The coordinate based view. 45 | @property (nonatomic) CGPoint hostCaptureCenter; ///< The snapshot capture center in `hostView`. 46 | @property (nonatomic) CGPoint hostPopoverCenter; ///< The popover center in `hostView`. 47 | @property (nonatomic) BOOL hostVerticalForm; ///< The host view is vertical form. 48 | @property (nonatomic) BOOL captureDisabled; ///< A hint for `YYTextEffectWindow` to disable capture. 49 | @property (nonatomic) BOOL captureFadeAnimation; ///< Show fade animation when the snapshot image changed. 50 | @end 51 | 52 | NS_ASSUME_NONNULL_END 53 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Text/Component/YYTextSelectionView.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYTextSelectionView.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/2/25. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | #if __has_include() 15 | #import 16 | #import 17 | #else 18 | #import "YYTextAttribute.h" 19 | #import "YYTextInput.h" 20 | #endif 21 | 22 | NS_ASSUME_NONNULL_BEGIN 23 | 24 | /** 25 | A single dot view. The frame should be foursquare. 26 | Change the background color for display. 27 | 28 | @discussion Typically, you should not use this class directly. 29 | */ 30 | @interface YYSelectionGrabberDot : UIView 31 | /// Dont't access this property. It was used by `YYTextEffectWindow`. 32 | @property (nonatomic, strong) UIView *mirror; 33 | @end 34 | 35 | 36 | /** 37 | A grabber (stick with a dot). 38 | 39 | @discussion Typically, you should not use this class directly. 40 | */ 41 | @interface YYSelectionGrabber : UIView 42 | 43 | @property (nonatomic, readonly) YYSelectionGrabberDot *dot; ///< the dot view 44 | @property (nonatomic) YYTextDirection dotDirection; ///< don't support composite direction 45 | @property (nullable, nonatomic, strong) UIColor *color; ///< tint color, default is nil 46 | 47 | @end 48 | 49 | 50 | /** 51 | The selection view for text edit and select. 52 | 53 | @discussion Typically, you should not use this class directly. 54 | */ 55 | @interface YYTextSelectionView : UIView 56 | 57 | @property (nullable, nonatomic, weak) UIView *hostView; ///< the holder view 58 | @property (nullable, nonatomic, strong) UIColor *color; ///< the tint color 59 | @property (nonatomic, getter = isCaretBlinks) BOOL caretBlinks; ///< whether the caret is blinks 60 | @property (nonatomic, getter = isCaretVisible) BOOL caretVisible; ///< whether the caret is visible 61 | @property (nonatomic, getter = isVerticalForm) BOOL verticalForm; ///< weather the text view is vertical form 62 | 63 | @property (nonatomic) CGRect caretRect; ///< caret rect (width==0 or height==0) 64 | @property (nullable, nonatomic, copy) NSArray *selectionRects; ///< default is nil 65 | 66 | @property (nonatomic, readonly) UIView *caretView; 67 | @property (nonatomic, readonly) YYSelectionGrabber *startGrabber; 68 | @property (nonatomic, readonly) YYSelectionGrabber *endGrabber; 69 | 70 | - (BOOL)isGrabberContainsPoint:(CGPoint)point; 71 | - (BOOL)isStartGrabberContainsPoint:(CGPoint)point; 72 | - (BOOL)isEndGrabberContainsPoint:(CGPoint)point; 73 | - (BOOL)isCaretContainsPoint:(CGPoint)point; 74 | - (BOOL)isSelectionRectsContainsPoint:(CGPoint)point; 75 | 76 | @end 77 | 78 | NS_ASSUME_NONNULL_END 79 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Text/String/NSParagraphStyle+YYText.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSParagraphStyle+YYText.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/10/7. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | Provides extensions for `NSParagraphStyle` to work with CoreText. 18 | */ 19 | @interface NSParagraphStyle (YYText) 20 | 21 | /** 22 | Creates a new NSParagraphStyle object from the CoreText Style. 23 | 24 | @param CTStyle CoreText Paragraph Style. 25 | 26 | @return a new NSParagraphStyle 27 | */ 28 | + (nullable NSParagraphStyle *)styleWithCTStyle:(CTParagraphStyleRef)CTStyle; 29 | 30 | /** 31 | Creates and returns a CoreText Paragraph Style. (need call CFRelease() after used) 32 | */ 33 | - (nullable CTParagraphStyleRef)CTStyle CF_RETURNS_RETAINED; 34 | 35 | @end 36 | 37 | NS_ASSUME_NONNULL_END 38 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Text/String/UIPasteboard+YYText.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIPasteboard+YYText.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/4/2. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | Extend UIPasteboard to support image and attributed string. 18 | */ 19 | @interface UIPasteboard (YYText) 20 | 21 | @property (nullable, nonatomic, copy) NSData *PNGData; ///< PNG file data 22 | @property (nullable, nonatomic, copy) NSData *JPEGData; ///< JPEG file data 23 | @property (nullable, nonatomic, copy) NSData *GIFData; ///< GIF file data 24 | @property (nullable, nonatomic, copy) NSData *WEBPData; ///< WebP file data 25 | @property (nullable, nonatomic, copy) NSData *imageData; ///< image file data 26 | 27 | /// Attributed string, 28 | /// Set this attributed will also set the string property which is copy from the attributed string. 29 | /// If the attributed string contains one or more image, it will also set the `images` property. 30 | @property (nullable, nonatomic, copy) NSAttributedString *attributedString; 31 | 32 | @end 33 | 34 | 35 | /// The name identifying the attributed string in pasteboard. 36 | UIKIT_EXTERN NSString *const YYPasteboardTypeAttributedString; 37 | 38 | /// The UTI Type identifying WebP data in pasteboard. 39 | UIKIT_EXTERN NSString *const YYUTTypeWEBP; 40 | 41 | NS_ASSUME_NONNULL_END 42 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Text/String/YYTextArchiver.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYTextArchiver.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/3/16. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | A subclass of `NSKeyedArchiver` which implement `NSKeyedArchiverDelegate` protocol. 18 | 19 | The archiver can encode the object which contains 20 | CGColor/CGImage/CTRunDelegateRef/.. (such as NSAttributedString). 21 | */ 22 | @interface YYTextArchiver : NSKeyedArchiver 23 | @end 24 | 25 | /** 26 | A subclass of `NSKeyedUnarchiver` which implement `NSKeyedUnarchiverDelegate` 27 | protocol. The unarchiver can decode the data which is encoded by 28 | `YYTextArchiver` or `NSKeyedArchiver`. 29 | */ 30 | @interface YYTextUnarchiver : NSKeyedUnarchiver 31 | @end 32 | 33 | NS_ASSUME_NONNULL_END 34 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Text/String/YYTextRubyAnnotation.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYTextRubyAnnotation.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/4/24. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | #import 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** 18 | Wrapper for CTRubyAnnotationRef. 19 | 20 | Example: 21 | 22 | YYTextRubyAnnotation *ruby = [YYTextRubyAnnotation new]; 23 | ruby.textBefore = @"zhù yīn"; 24 | CTRubyAnnotationRef ctRuby = ruby.CTRubyAnnotation; 25 | if (ctRuby) { 26 | /// add to attributed string 27 | CFRelease(ctRuby); 28 | } 29 | 30 | */ 31 | @interface YYTextRubyAnnotation : NSObject 32 | 33 | /// Specifies how the ruby text and the base text should be aligned relative to each other. 34 | @property (nonatomic) CTRubyAlignment alignment; 35 | 36 | /// Specifies how the ruby text can overhang adjacent characters. 37 | @property (nonatomic) CTRubyOverhang overhang; 38 | 39 | /// Specifies the size of the annotation text as a percent of the size of the base text. 40 | @property (nonatomic) CGFloat sizeFactor; 41 | 42 | 43 | /// The ruby text is positioned before the base text; 44 | /// i.e. above horizontal text and to the right of vertical text. 45 | @property (nullable, nonatomic, copy) NSString *textBefore; 46 | 47 | /// The ruby text is positioned after the base text; 48 | /// i.e. below horizontal text and to the left of vertical text. 49 | @property (nullable, nonatomic, copy) NSString *textAfter; 50 | 51 | /// The ruby text is positioned to the right of the base text whether it is horizontal or vertical. 52 | /// This is the way that Bopomofo annotations are attached to Chinese text in Taiwan. 53 | @property (nullable, nonatomic, copy) NSString *textInterCharacter; 54 | 55 | /// The ruby text follows the base text with no special styling. 56 | @property (nullable, nonatomic, copy) NSString *textInline; 57 | 58 | 59 | /** 60 | Create a ruby object from CTRuby object. 61 | 62 | @param ctRuby A CTRuby object. 63 | 64 | @return A ruby object, or nil when an error occurs. 65 | */ 66 | + (instancetype)rubyWithCTRubyRef:(CTRubyAnnotationRef)ctRuby NS_AVAILABLE_IOS(8_0); 67 | 68 | /** 69 | Create a CTRuby object from the instance. 70 | 71 | @return A new CTRuby object, or NULL when an error occurs. 72 | The returned value should be release after used. 73 | */ 74 | - (nullable CTRubyAnnotationRef)CTRubyAnnotation CF_RETURNS_RETAINED NS_AVAILABLE_IOS(8_0); 75 | 76 | @end 77 | 78 | NS_ASSUME_NONNULL_END 79 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Text/String/YYTextRunDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYTextRunDelegate.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/10/14. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | #import 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | /** 18 | Wrapper for CTRunDelegateRef. 19 | 20 | Example: 21 | 22 | YYTextRunDelegate *delegate = [YYTextRunDelegate new]; 23 | delegate.ascent = 20; 24 | delegate.descent = 4; 25 | delegate.width = 20; 26 | CTRunDelegateRef ctRunDelegate = delegate.CTRunDelegate; 27 | if (ctRunDelegate) { 28 | /// add to attributed string 29 | CFRelease(ctRunDelegate); 30 | } 31 | 32 | */ 33 | @interface YYTextRunDelegate : NSObject 34 | 35 | /** 36 | Creates and returns the CTRunDelegate. 37 | 38 | @discussion You need call CFRelease() after used. 39 | The CTRunDelegateRef has a strong reference to this YYTextRunDelegate object. 40 | In CoreText, use CTRunDelegateGetRefCon() to get this YYTextRunDelegate object. 41 | 42 | @return The CTRunDelegate object. 43 | */ 44 | - (nullable CTRunDelegateRef)CTRunDelegate CF_RETURNS_RETAINED; 45 | 46 | /** 47 | Additional information about the the run delegate. 48 | */ 49 | @property (nullable, nonatomic, strong) NSDictionary *userInfo; 50 | 51 | /** 52 | The typographic ascent of glyphs in the run. 53 | */ 54 | @property (nonatomic) CGFloat ascent; 55 | 56 | /** 57 | The typographic descent of glyphs in the run. 58 | */ 59 | @property (nonatomic) CGFloat descent; 60 | 61 | /** 62 | The typographic width of glyphs in the run. 63 | */ 64 | @property (nonatomic) CGFloat width; 65 | 66 | @end 67 | 68 | NS_ASSUME_NONNULL_END 69 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Text/String/YYTextRunDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // YYTextRunDelegate.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/10/14. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "YYTextRunDelegate.h" 13 | 14 | static void DeallocCallback(void *ref) { 15 | YYTextRunDelegate *self = (__bridge_transfer YYTextRunDelegate *)(ref); 16 | self = nil; // release 17 | } 18 | 19 | static CGFloat GetAscentCallback(void *ref) { 20 | YYTextRunDelegate *self = (__bridge YYTextRunDelegate *)(ref); 21 | return self.ascent; 22 | } 23 | 24 | static CGFloat GetDecentCallback(void *ref) { 25 | YYTextRunDelegate *self = (__bridge YYTextRunDelegate *)(ref); 26 | return self.descent; 27 | } 28 | 29 | static CGFloat GetWidthCallback(void *ref) { 30 | YYTextRunDelegate *self = (__bridge YYTextRunDelegate *)(ref); 31 | return self.width; 32 | } 33 | 34 | @implementation YYTextRunDelegate 35 | 36 | - (CTRunDelegateRef)CTRunDelegate CF_RETURNS_RETAINED { 37 | CTRunDelegateCallbacks callbacks; 38 | callbacks.version = kCTRunDelegateCurrentVersion; 39 | callbacks.dealloc = DeallocCallback; 40 | callbacks.getAscent = GetAscentCallback; 41 | callbacks.getDescent = GetDecentCallback; 42 | callbacks.getWidth = GetWidthCallback; 43 | return CTRunDelegateCreate(&callbacks, (__bridge_retained void *)(self.copy)); 44 | } 45 | 46 | - (void)encodeWithCoder:(NSCoder *)aCoder { 47 | [aCoder encodeObject:@(_ascent) forKey:@"ascent"]; 48 | [aCoder encodeObject:@(_descent) forKey:@"descent"]; 49 | [aCoder encodeObject:@(_width) forKey:@"width"]; 50 | [aCoder encodeObject:_userInfo forKey:@"userInfo"]; 51 | } 52 | 53 | - (id)initWithCoder:(NSCoder *)aDecoder { 54 | self = [super init]; 55 | _ascent = ((NSNumber *)[aDecoder decodeObjectForKey:@"ascent"]).floatValue; 56 | _descent = ((NSNumber *)[aDecoder decodeObjectForKey:@"descent"]).floatValue; 57 | _width = ((NSNumber *)[aDecoder decodeObjectForKey:@"width"]).floatValue; 58 | _userInfo = [aDecoder decodeObjectForKey:@"userInfo"]; 59 | return self; 60 | } 61 | 62 | - (id)copyWithZone:(NSZone *)zone { 63 | typeof(self) one = [self.class new]; 64 | one.ascent = self.ascent; 65 | one.descent = self.descent; 66 | one.width = self.width; 67 | one.userInfo = self.userInfo; 68 | return one; 69 | } 70 | 71 | @end 72 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Utility/YYAsyncLayer.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYAsyncLayer.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/4/11. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | #import 14 | 15 | @class YYAsyncLayerDisplayTask; 16 | 17 | NS_ASSUME_NONNULL_BEGIN 18 | 19 | /** 20 | The YYAsyncLayer class is a subclass of CALayer used for render contents asynchronously. 21 | 22 | @discussion When the layer need update it's contents, it will ask the delegate 23 | for a async display task to render the contents in a background queue. 24 | */ 25 | @interface YYAsyncLayer : CALayer 26 | /// Whether the render code is executed in background. Default is YES. 27 | @property BOOL displaysAsynchronously; 28 | @end 29 | 30 | 31 | /** 32 | The YYAsyncLayer's delegate protocol. The delegate of the YYAsyncLayer (typically a UIView) 33 | must implements the method in this protocol. 34 | */ 35 | @protocol YYAsyncLayerDelegate 36 | @required 37 | /// This method is called to return a new display task when the layer's contents need update. 38 | - (YYAsyncLayerDisplayTask *)newAsyncDisplayTask; 39 | @end 40 | 41 | 42 | /** 43 | A display task used by YYAsyncLayer to render the contents in background queue. 44 | */ 45 | @interface YYAsyncLayerDisplayTask : NSObject 46 | 47 | /** 48 | This block will be called before the asynchronous drawing begins. 49 | It will be called on the main thread. 50 | 51 | @param layer The layer. 52 | */ 53 | @property (nullable, nonatomic, copy) void (^willDisplay)(CALayer *layer); 54 | 55 | /** 56 | This block is called to draw the layer's contents. 57 | 58 | @discussion This block may be called on main thread or background thread, 59 | so is should be thread-safe. 60 | 61 | @param context A new bitmap content created by layer. 62 | @param size The content size (typically same as layer's bound size). 63 | @param isCancelled If this block returns `YES`, the method should cancel the 64 | drawing process and return as quickly as possible. 65 | */ 66 | @property (nullable, nonatomic, copy) void (^display)(CGContextRef context, CGSize size, BOOL(^isCancelled)(void)); 67 | 68 | /** 69 | This block will be called after the asynchronous drawing finished. 70 | It will be called on the main thread. 71 | 72 | @param layer The layer. 73 | @param finished If the draw process is cancelled, it's `NO`, otherwise it's `YES`; 74 | */ 75 | @property (nullable, nonatomic, copy) void (^didDisplay)(CALayer *layer, BOOL finished); 76 | 77 | @end 78 | 79 | NS_ASSUME_NONNULL_END 80 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Utility/YYDispatchQueuePool.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYDispatchQueueManager.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/7/18. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | #ifndef YYDispatchQueuePool_h 15 | #define YYDispatchQueuePool_h 16 | 17 | NS_ASSUME_NONNULL_BEGIN 18 | 19 | /** 20 | A dispatch queue pool holds multiple serial queues. 21 | Use this class to control queue's thread count (instead of concurrent queue). 22 | */ 23 | @interface YYDispatchQueuePool : NSObject 24 | - (instancetype)init UNAVAILABLE_ATTRIBUTE; 25 | + (instancetype)new UNAVAILABLE_ATTRIBUTE; 26 | 27 | /** 28 | Creates and returns a dispatch queue pool. 29 | @param name The name of the pool. 30 | @param queueCount Maxmium queue count, should in range (1, 32). 31 | @param qos Queue quality of service (QOS). 32 | @return A new pool, or nil if an error occurs. 33 | */ 34 | - (instancetype)initWithName:(nullable NSString *)name queueCount:(NSUInteger)queueCount qos:(NSQualityOfService)qos; 35 | 36 | /// Pool's name. 37 | @property (nullable, nonatomic, readonly) NSString *name; 38 | 39 | /// Get a serial queue from pool. 40 | - (dispatch_queue_t)queue; 41 | 42 | + (instancetype)defaultPoolForQOS:(NSQualityOfService)qos; 43 | 44 | @end 45 | 46 | /// Get a serial queue from global queue pool with a specified qos. 47 | extern dispatch_queue_t YYDispatchQueueGetForQOS(NSQualityOfService qos); 48 | 49 | NS_ASSUME_NONNULL_END 50 | 51 | #endif -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Utility/YYGestureRecognizer.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYGestureRecognizer.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/10/26. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /// State of the gesture 17 | typedef NS_ENUM(NSUInteger, YYGestureRecognizerState) { 18 | YYGestureRecognizerStateBegan, ///< gesture start 19 | YYGestureRecognizerStateMoved, ///< gesture moved 20 | YYGestureRecognizerStateEnded, ///< gesture end 21 | YYGestureRecognizerStateCancelled, ///< gesture cancel 22 | }; 23 | 24 | /** 25 | A simple UIGestureRecognizer subclass for receive touch events. 26 | */ 27 | @interface YYGestureRecognizer : UIGestureRecognizer 28 | 29 | @property (nonatomic, readonly) CGPoint startPoint; ///< start point 30 | @property (nonatomic, readonly) CGPoint lastPoint; ///< last move point. 31 | @property (nonatomic, readonly) CGPoint currentPoint; ///< current move point. 32 | 33 | /// The action block invoked by every gesture event. 34 | @property (nullable, nonatomic, copy) void (^action)(YYGestureRecognizer *gesture, YYGestureRecognizerState state); 35 | 36 | /// Cancel the gesture for current touch. 37 | - (void)cancel; 38 | 39 | @end 40 | 41 | NS_ASSUME_NONNULL_END 42 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Utility/YYGestureRecognizer.m: -------------------------------------------------------------------------------- 1 | // 2 | // YYGestureRecognizer.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/10/26. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "YYGestureRecognizer.h" 13 | #import 14 | 15 | @implementation YYGestureRecognizer 16 | 17 | - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 18 | self.state = UIGestureRecognizerStateBegan; 19 | _startPoint = [(UITouch *)[touches anyObject] locationInView:self.view]; 20 | _lastPoint = _currentPoint; 21 | _currentPoint = _startPoint; 22 | if (_action) _action(self, YYGestureRecognizerStateBegan); 23 | } 24 | 25 | - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 26 | UITouch *touch = (UITouch *)[touches anyObject]; 27 | CGPoint currentPoint = [touch locationInView:self.view]; 28 | self.state = UIGestureRecognizerStateChanged; 29 | _currentPoint = currentPoint; 30 | if (_action) _action(self, YYGestureRecognizerStateMoved); 31 | _lastPoint = _currentPoint; 32 | } 33 | 34 | - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 35 | self.state = UIGestureRecognizerStateEnded; 36 | if (_action) _action(self, YYGestureRecognizerStateEnded); 37 | } 38 | 39 | - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event { 40 | self.state = UIGestureRecognizerStateCancelled; 41 | if (_action) _action(self, YYGestureRecognizerStateCancelled); 42 | } 43 | 44 | - (void)reset { 45 | self.state = UIGestureRecognizerStatePossible; 46 | } 47 | 48 | - (void)cancel { 49 | if (self.state == UIGestureRecognizerStateBegan || self.state == UIGestureRecognizerStateChanged) { 50 | self.state = UIGestureRecognizerStateCancelled; 51 | if (_action) _action(self, YYGestureRecognizerStateCancelled); 52 | } 53 | } 54 | 55 | @end 56 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Utility/YYReachability.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYReachability.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/2/6. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | #import 14 | #import 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | 18 | typedef NS_ENUM(NSUInteger, YYReachabilityStatus) { 19 | YYReachabilityStatusNone = 0, ///< Not Reachable 20 | YYReachabilityStatusWWAN = 1, ///< Reachable via WWAN (2G/3G/4G) 21 | YYReachabilityStatusWiFi = 2, ///< Reachable via WiFi 22 | }; 23 | 24 | typedef NS_ENUM(NSUInteger, YYReachabilityWWANStatus) { 25 | YYReachabilityWWANStatusNone = 0, ///< Not Reachable vis WWAN 26 | YYReachabilityWWANStatus2G = 2, ///< Reachable via 2G (GPRS/EDGE) 10~100Kbps 27 | YYReachabilityWWANStatus3G = 3, ///< Reachable via 3G (WCDMA/HSDPA/...) 1~10Mbps 28 | YYReachabilityWWANStatus4G = 4, ///< Reachable via 4G (eHRPD/LTE) 100Mbps 29 | }; 30 | 31 | 32 | /** 33 | `YYReachability` can used to monitor the network status of an iOS device. 34 | */ 35 | @interface YYReachability : NSObject 36 | 37 | @property (nonatomic, readonly) SCNetworkReachabilityFlags flags; ///< Current flags. 38 | @property (nonatomic, readonly) YYReachabilityStatus status; ///< Current status. 39 | @property (nonatomic, readonly) YYReachabilityWWANStatus wwanStatus NS_AVAILABLE_IOS(7_0); ///< Current WWAN status. 40 | @property (nonatomic, readonly, getter=isReachable) BOOL reachable; ///< Current reachable status. 41 | 42 | /// Notify block which will be called on main thread when network changed. 43 | @property (nullable, nonatomic, copy) void (^notifyBlock)(YYReachability *reachability); 44 | 45 | /// Create an object to check the reachability of the default route. 46 | + (instancetype)reachability; 47 | 48 | /// Create an object to check the reachability of the local WI-FI. 49 | + (instancetype)reachabilityForLocalWifi DEPRECATED_MSG_ATTRIBUTE("unnecessary and potentially harmful"); 50 | 51 | /// Create an object to check the reachability of a given host name. 52 | + (nullable instancetype)reachabilityWithHostname:(NSString *)hostname; 53 | 54 | /// Create an object to check the reachability of a given IP address 55 | /// @param hostAddress You may pass `struct sockaddr_in` for IPv4 address or `struct sockaddr_in6` for IPv6 address. 56 | + (nullable instancetype)reachabilityWithAddress:(const struct sockaddr *)hostAddress; 57 | 58 | @end 59 | 60 | NS_ASSUME_NONNULL_END 61 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Utility/YYSentinel.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYSentinel.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/4/13. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | YYSentinel is a thread safe incrementing counter. 18 | It may be used in some multi-threaded situation. 19 | */ 20 | @interface YYSentinel : NSObject 21 | 22 | /// Returns the current value of the counter. 23 | @property (readonly) int32_t value; 24 | 25 | /// Increase the value atomically. 26 | /// @return The new value. 27 | - (int32_t)increase; 28 | 29 | @end 30 | 31 | NS_ASSUME_NONNULL_END 32 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Utility/YYSentinel.m: -------------------------------------------------------------------------------- 1 | // 2 | // YYSentinel.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/4/13. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "YYSentinel.h" 13 | #import 14 | 15 | @implementation YYSentinel { 16 | int32_t _value; 17 | } 18 | 19 | - (int32_t)value { 20 | return _value; 21 | } 22 | 23 | - (int32_t)increase { 24 | return OSAtomicIncrement32(&_value); 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Utility/YYThreadSafeArray.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYThreadSafeArray.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/10/21. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | /** 15 | A simple implementation of thread safe mutable array. 16 | 17 | @discussion Generally, access performance is lower than NSMutableArray, 18 | but higher than using @synchronized, NSLock, or pthread_mutex_t. 19 | 20 | @discussion It's also compatible with the custom methods in `NSArray(YYAdd)` 21 | and `NSMutableArray(YYAdd)` 22 | 23 | @warning Fast enumerate(for..in) and enumerator is not thread safe, 24 | use enumerate using block instead. When enumerate or sort with block/callback, 25 | do *NOT* send message to the array inside the block/callback. 26 | */ 27 | @interface YYThreadSafeArray : NSMutableArray 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Utility/YYThreadSafeDictionary.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYThreadSafeDictionary.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/10/21. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | /** 15 | A simple implementation of thread safe mutable dictionary. 16 | 17 | @discussion Generally, access performance is lower than NSMutableDictionary, 18 | but higher than using @synchronized, NSLock, or pthread_mutex_t. 19 | 20 | @discussion It's also compatible with the custom methods in `NSDictionary(YYAdd)` 21 | and `NSMutableDictionary(YYAdd)` 22 | 23 | @warning Fast enumerate(for...in) and enumerator is not thread safe, 24 | use enumerate using block instead. When enumerate or sort with block/callback, 25 | do *NOT* send message to the dictionary inside the block/callback. 26 | */ 27 | @interface YYThreadSafeDictionary : NSMutableDictionary 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Utility/YYTimer.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYTimer.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/2/7. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | YYTimer is a thread-safe timer based on GCD. It has similar API with `NSTimer`. 18 | YYTimer object differ from NSTimer in a few ways: 19 | 20 | * It use GCD to produce timer tick, and won't be affected by runLoop. 21 | * It make a weak reference to the target, so it can avoid retain cycles. 22 | * It always fire on main thread. 23 | 24 | */ 25 | @interface YYTimer : NSObject 26 | 27 | + (YYTimer *)timerWithTimeInterval:(NSTimeInterval)interval 28 | target:(id)target 29 | selector:(SEL)selector 30 | repeats:(BOOL)repeats; 31 | 32 | - (instancetype)initWithFireTime:(NSTimeInterval)start 33 | interval:(NSTimeInterval)interval 34 | target:(id)target 35 | selector:(SEL)selector 36 | repeats:(BOOL)repeats NS_DESIGNATED_INITIALIZER; 37 | 38 | @property (readonly) BOOL repeats; 39 | @property (readonly) NSTimeInterval timeInterval; 40 | @property (readonly, getter=isValid) BOOL valid; 41 | 42 | - (void)invalidate; 43 | 44 | - (void)fire; 45 | 46 | @end 47 | 48 | NS_ASSUME_NONNULL_END 49 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Utility/YYTransaction.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYTransaction.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/4/18. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | YYTransaction let you perform a selector once before current runloop sleep. 18 | */ 19 | @interface YYTransaction : NSObject 20 | 21 | /** 22 | Creates and returns a transaction with a specified target and selector. 23 | 24 | @param target A specified target, the target is retained until runloop end. 25 | @param selector A selector for target. 26 | 27 | @return A new transaction, or nil if an error occurs. 28 | */ 29 | + (YYTransaction *)transactionWithTarget:(id)target selector:(SEL)selector; 30 | 31 | /** 32 | Commit the trancaction to main runloop. 33 | 34 | @discussion It will perform the selector on the target once before main runloop's 35 | current loop sleep. If the same transaction (same target and same selector) has 36 | already commit to runloop in this loop, this method do nothing. 37 | */ 38 | - (void)commit; 39 | 40 | @end 41 | 42 | NS_ASSUME_NONNULL_END 43 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Utility/YYTransaction.m: -------------------------------------------------------------------------------- 1 | // 2 | // YYTransaction.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 15/4/18. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "YYTransaction.h" 13 | 14 | 15 | @interface YYTransaction() 16 | @property (nonatomic, strong) id target; 17 | @property (nonatomic, assign) SEL selector; 18 | @end 19 | 20 | static NSMutableSet *transactionSet = nil; 21 | 22 | static void YYRunLoopObserverCallBack(CFRunLoopObserverRef observer, CFRunLoopActivity activity, void *info) { 23 | if (transactionSet.count == 0) return; 24 | NSSet *currentSet = transactionSet; 25 | transactionSet = [NSMutableSet new]; 26 | [currentSet enumerateObjectsUsingBlock:^(YYTransaction *transaction, BOOL *stop) { 27 | #pragma clang diagnostic push 28 | #pragma clang diagnostic ignored "-Warc-performSelector-leaks" 29 | [transaction.target performSelector:transaction.selector]; 30 | #pragma clang diagnostic pop 31 | }]; 32 | } 33 | 34 | static void YYTransactionSetup() { 35 | static dispatch_once_t onceToken; 36 | dispatch_once(&onceToken, ^{ 37 | transactionSet = [NSMutableSet new]; 38 | CFRunLoopRef runloop = CFRunLoopGetMain(); 39 | CFRunLoopObserverRef observer; 40 | 41 | observer = CFRunLoopObserverCreate(CFAllocatorGetDefault(), 42 | kCFRunLoopBeforeWaiting | kCFRunLoopExit, 43 | true, // repeat 44 | 0xFFFFFF, // after CATransaction(2000000) 45 | YYRunLoopObserverCallBack, NULL); 46 | CFRunLoopAddObserver(runloop, observer, kCFRunLoopCommonModes); 47 | CFRelease(observer); 48 | }); 49 | } 50 | 51 | 52 | @implementation YYTransaction 53 | 54 | + (YYTransaction *)transactionWithTarget:(id)target selector:(SEL)selector{ 55 | if (!target || !selector) return nil; 56 | YYTransaction *t = [YYTransaction new]; 57 | t.target = target; 58 | t.selector = selector; 59 | return t; 60 | } 61 | 62 | - (void)commit { 63 | if (!_target || !_selector) return; 64 | YYTransactionSetup(); 65 | [transactionSet addObject:self]; 66 | } 67 | 68 | - (NSUInteger)hash { 69 | long v1 = (long)((void *)_selector); 70 | long v2 = (long)_target; 71 | return v1 ^ v2; 72 | } 73 | 74 | - (BOOL)isEqual:(id)object { 75 | if (self == object) return YES; 76 | if (![object isMemberOfClass:self.class]) return NO; 77 | YYTransaction *other = object; 78 | return other.selector == _selector && other.target == _target; 79 | } 80 | 81 | @end 82 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Utility/YYWeakProxy.h: -------------------------------------------------------------------------------- 1 | // 2 | // YYWeakProxy.h 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/10/18. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | /** 17 | A proxy used to hold a weak object. 18 | It can be used to avoid retain cycles, such as the target in NSTimer or CADisplayLink. 19 | 20 | sample code: 21 | 22 | @implementation MyView { 23 | NSTimer *_timer; 24 | } 25 | 26 | - (void)initTimer { 27 | YYWeakProxy *proxy = [YYWeakProxy proxyWithTarget:self]; 28 | _timer = [NSTimer timerWithTimeInterval:0.1 target:proxy selector:@selector(tick:) userInfo:nil repeats:YES]; 29 | } 30 | 31 | - (void)tick:(NSTimer *)timer {...} 32 | @end 33 | */ 34 | @interface YYWeakProxy : NSProxy 35 | 36 | /** 37 | The proxy target. 38 | */ 39 | @property (nullable, nonatomic, weak, readonly) id target; 40 | 41 | /** 42 | Creates a new weak proxy for target. 43 | 44 | @param target Target object. 45 | 46 | @return A new proxy object. 47 | */ 48 | - (instancetype)initWithTarget:(id)target; 49 | 50 | /** 51 | Creates a new weak proxy for target. 52 | 53 | @param target Target object. 54 | 55 | @return A new proxy object. 56 | */ 57 | + (instancetype)proxyWithTarget:(id)target; 58 | 59 | @end 60 | 61 | NS_ASSUME_NONNULL_END 62 | -------------------------------------------------------------------------------- /Pods/YYKit/YYKit/Utility/YYWeakProxy.m: -------------------------------------------------------------------------------- 1 | // 2 | // YYWeakProxy.m 3 | // YYKit 4 | // 5 | // Created by ibireme on 14/10/18. 6 | // Copyright (c) 2015 ibireme. 7 | // 8 | // This source code is licensed under the MIT-style license found in the 9 | // LICENSE file in the root directory of this source tree. 10 | // 11 | 12 | #import "YYWeakProxy.h" 13 | 14 | 15 | @implementation YYWeakProxy 16 | 17 | - (instancetype)initWithTarget:(id)target { 18 | _target = target; 19 | return self; 20 | } 21 | 22 | + (instancetype)proxyWithTarget:(id)target { 23 | return [[YYWeakProxy alloc] initWithTarget:target]; 24 | } 25 | 26 | - (id)forwardingTargetForSelector:(SEL)selector { 27 | return _target; 28 | } 29 | 30 | - (void)forwardInvocation:(NSInvocation *)invocation { 31 | void *null = NULL; 32 | [invocation setReturnValue:&null]; 33 | } 34 | 35 | - (NSMethodSignature *)methodSignatureForSelector:(SEL)selector { 36 | return [NSObject instanceMethodSignatureForSelector:@selector(init)]; 37 | } 38 | 39 | - (BOOL)respondsToSelector:(SEL)aSelector { 40 | return [_target respondsToSelector:aSelector]; 41 | } 42 | 43 | - (BOOL)isEqual:(id)object { 44 | return [_target isEqual:object]; 45 | } 46 | 47 | - (NSUInteger)hash { 48 | return [_target hash]; 49 | } 50 | 51 | - (Class)superclass { 52 | return [_target superclass]; 53 | } 54 | 55 | - (Class)class { 56 | return [_target class]; 57 | } 58 | 59 | - (BOOL)isKindOfClass:(Class)aClass { 60 | return [_target isKindOfClass:aClass]; 61 | } 62 | 63 | - (BOOL)isMemberOfClass:(Class)aClass { 64 | return [_target isMemberOfClass:aClass]; 65 | } 66 | 67 | - (BOOL)conformsToProtocol:(Protocol *)aProtocol { 68 | return [_target conformsToProtocol:aProtocol]; 69 | } 70 | 71 | - (BOOL)isProxy { 72 | return YES; 73 | } 74 | 75 | - (NSString *)description { 76 | return [_target description]; 77 | } 78 | 79 | - (NSString *)debugDescription { 80 | return [_target debugDescription]; 81 | } 82 | 83 | @end 84 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #### 对AF3.0 和 YYCache进行封装实现网络请求,以及缓存 2 | -------------------------------------------------------------------------------- /ZYNetWork.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ZYNetWork.xcodeproj/xcuserdata/allen.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | ZYNetWork.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 52556B571E52DA650079BC40 16 | 17 | primary 18 | 19 | 20 | 52556B701E52DA660079BC40 21 | 22 | primary 23 | 24 | 25 | 52556B7B1E52DA660079BC40 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /ZYNetWork.xcodeproj/xcuserdata/huanyihuan.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | ZYNetWork.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 52556B571E52DA650079BC40 16 | 17 | primary 18 | 19 | 20 | 52556B701E52DA660079BC40 21 | 22 | primary 23 | 24 | 25 | 52556B7B1E52DA660079BC40 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /ZYNetWork.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ZYNetWork.xcworkspace/xcuserdata/allen.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/321zhangyang/ZYNewWork/79ae3867ceeee8ddb0fe160bbdac315831a28e09/ZYNetWork.xcworkspace/xcuserdata/allen.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ZYNetWork.xcworkspace/xcuserdata/allen.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /ZYNetWork/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/321zhangyang/ZYNewWork/79ae3867ceeee8ddb0fe160bbdac315831a28e09/ZYNetWork/1.jpg -------------------------------------------------------------------------------- /ZYNetWork/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ZYNetWork 4 | // 5 | // Created by 换一换 on 17/2/14. 6 | // Copyright © 2017年 换一换. 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 | -------------------------------------------------------------------------------- /ZYNetWork/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // ZYNetWork 4 | // 5 | // Created by 换一换 on 17/2/14. 6 | // Copyright © 2017年 换一换. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | 18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 19 | // Override point for customization after application launch. 20 | return YES; 21 | } 22 | 23 | 24 | - (void)applicationWillResignActive:(UIApplication *)application { 25 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 26 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 27 | } 28 | 29 | 30 | - (void)applicationDidEnterBackground:(UIApplication *)application { 31 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 32 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 33 | } 34 | 35 | 36 | - (void)applicationWillEnterForeground:(UIApplication *)application { 37 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 38 | } 39 | 40 | 41 | - (void)applicationDidBecomeActive:(UIApplication *)application { 42 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 43 | } 44 | 45 | 46 | - (void)applicationWillTerminate:(UIApplication *)application { 47 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 48 | } 49 | 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /ZYNetWork/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 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /ZYNetWork/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /ZYNetWork/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 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | NSAppTransportSecurity 24 | 25 | NSAllowsArbitraryLoads 26 | 27 | 28 | UILaunchStoryboardName 29 | LaunchScreen 30 | UIMainStoryboardFile 31 | Main 32 | UIRequiredDeviceCapabilities 33 | 34 | armv7 35 | 36 | UISupportedInterfaceOrientations 37 | 38 | UIInterfaceOrientationPortrait 39 | UIInterfaceOrientationLandscapeLeft 40 | UIInterfaceOrientationLandscapeRight 41 | 42 | UISupportedInterfaceOrientations~ipad 43 | 44 | UIInterfaceOrientationPortrait 45 | UIInterfaceOrientationPortraitUpsideDown 46 | UIInterfaceOrientationLandscapeLeft 47 | UIInterfaceOrientationLandscapeRight 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /ZYNetWork/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // ZYNetWork 4 | // 5 | // Created by 换一换 on 17/2/14. 6 | // Copyright © 2017年 换一换. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /ZYNetWork/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // ZYNetWork 4 | // 5 | // Created by 换一换 on 17/2/14. 6 | // Copyright © 2017年 换一换. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | #import "ZYHUDHeaper.h" 11 | #import "ZYNetWorking.h" 12 | @interface ViewController () 13 | @property (weak, nonatomic) IBOutlet UIImageView *imageView; 14 | @end 15 | 16 | @implementation ViewController 17 | 18 | - (void)viewDidLoad { 19 | [super viewDidLoad]; 20 | 21 | 22 | // Do any additional setup after loading the view, typically from a nib. 23 | } 24 | - (IBAction)request:(id)sender { 25 | 26 | [ZYNetWorking getWithUrl:@"app_common/markDevice" params:nil Cache:NO refreshCache:YES showHUD:@"请求数据中" success:^(id response) { 27 | 28 | } fail:^(NSError *error) { 29 | 30 | }]; 31 | 32 | } 33 | 34 | - (IBAction)requestCache:(id)sender { 35 | 36 | [ZYNetWorking getWithUrl:@"app_common/markDevice" params:nil Cache:YES refreshCache:NO showHUD:@"请求数据中" success:^(id response) { 37 | 38 | } fail:^(NSError *error) { 39 | 40 | }]; 41 | } 42 | 43 | - (IBAction)uploadImage:(id)sender { 44 | 45 | NSDictionary *dic = @{@"method":@"file.uploadavatar",@"is_debug":@"1"}; 46 | [ZYNetWorking uploadWithImage:self.imageView.image url:@"http://api.beikeshushe.com/v3/gateway.php" filename:nil name:@"image" mimeType:@"jpg" parameters:dic progress:^(int64_t bytesWritten, int64_t totalBytesWritten) { 47 | 48 | } success:^(id response) { 49 | 50 | 51 | 52 | 53 | } fail:^(NSError *error) { 54 | 55 | }]; 56 | } 57 | - (IBAction)uploadOss:(id)sender { 58 | //@"appu_user/getUploadUserHeadUrl" 密匙有时效性 59 | [ZYNetWorking updateBaseUrl:@"http://47.92.79.222:8080/server/"]; 60 | 61 | NSData *data = UIImageJPEGRepresentation(self.imageView.image, 0.5); 62 | 63 | [ZYNetWorking uploadFileWithUrl:@"appu_user/getUploadUserHeadUrl?token=0a85f13f9ed849dab99e4815c173972030a8264d09414e0489e5448f071d716a" uploadBody:data progress:^(int64_t bytesWritten, int64_t totalBytesWritten) { 64 | 65 | } success:^(id response) { 66 | 67 | } fail:^(NSError *error) { 68 | 69 | }]; 70 | 71 | 72 | } 73 | 74 | 75 | 76 | - (void)didReceiveMemoryWarning { 77 | [super didReceiveMemoryWarning]; 78 | // Dispose of any resources that can be recreated. 79 | } 80 | 81 | 82 | @end 83 | -------------------------------------------------------------------------------- /ZYNetWork/ZYHUDHeaper/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/321zhangyang/ZYNewWork/79ae3867ceeee8ddb0fe160bbdac315831a28e09/ZYNetWork/ZYHUDHeaper/.DS_Store -------------------------------------------------------------------------------- /ZYNetWork/ZYHUDHeaper/ZYHUDHeaper.bundle/hud_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/321zhangyang/ZYNewWork/79ae3867ceeee8ddb0fe160bbdac315831a28e09/ZYNetWork/ZYHUDHeaper/ZYHUDHeaper.bundle/hud_error.png -------------------------------------------------------------------------------- /ZYNetWork/ZYHUDHeaper/ZYHUDHeaper.bundle/hud_error@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/321zhangyang/ZYNewWork/79ae3867ceeee8ddb0fe160bbdac315831a28e09/ZYNetWork/ZYHUDHeaper/ZYHUDHeaper.bundle/hud_error@2x.png -------------------------------------------------------------------------------- /ZYNetWork/ZYHUDHeaper/ZYHUDHeaper.bundle/hud_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/321zhangyang/ZYNewWork/79ae3867ceeee8ddb0fe160bbdac315831a28e09/ZYNetWork/ZYHUDHeaper/ZYHUDHeaper.bundle/hud_info.png -------------------------------------------------------------------------------- /ZYNetWork/ZYHUDHeaper/ZYHUDHeaper.bundle/hud_info@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/321zhangyang/ZYNewWork/79ae3867ceeee8ddb0fe160bbdac315831a28e09/ZYNetWork/ZYHUDHeaper/ZYHUDHeaper.bundle/hud_info@2x.png -------------------------------------------------------------------------------- /ZYNetWork/ZYHUDHeaper/ZYHUDHeaper.bundle/hud_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/321zhangyang/ZYNewWork/79ae3867ceeee8ddb0fe160bbdac315831a28e09/ZYNetWork/ZYHUDHeaper/ZYHUDHeaper.bundle/hud_success.png -------------------------------------------------------------------------------- /ZYNetWork/ZYHUDHeaper/ZYHUDHeaper.bundle/hud_success@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/321zhangyang/ZYNewWork/79ae3867ceeee8ddb0fe160bbdac315831a28e09/ZYNetWork/ZYHUDHeaper/ZYHUDHeaper.bundle/hud_success@2x.png -------------------------------------------------------------------------------- /ZYNetWork/ZYHUDHeaper/ZYHUDHeaper.h: -------------------------------------------------------------------------------- 1 | // 2 | // ZYHUDHeaper.h 3 | // ZYNetWorking 4 | // 5 | // Created by allen on 2017/4/27. 6 | // Copyright © 2017年 allen. All rights reserved. 7 | // 8 | 9 | #import 10 | typedef NS_ENUM(NSInteger, ZYHUDHeaperStatus) { 11 | 12 | /** 信息 */ 13 | ZYProgerssHUDHeaperMessage, 14 | 15 | /** 成功 */ 16 | ZYProgressHUDHeaperSuccess, 17 | 18 | /** 失败 */ 19 | ZYProgressHUDHeaperError, 20 | 21 | /** 提示 */ 22 | ZYProgressHUDHeaperInfo, 23 | 24 | /** 等待 */ 25 | ZYProgressHUDHeaperWaitting 26 | }; 27 | 28 | @interface ZYHUDHeaper : MBProgressHUD 29 | 30 | /** 31 | * 是否正在显示 32 | */ 33 | @property (nonatomic, assign, getter=isShowNow) BOOL showNow; 34 | /** 返回一个 HUD 的单例 */ 35 | + (instancetype)sharedHUD; 36 | 37 | /** 在 window 上添加一个只显示文字的 HUD */ 38 | + (void)showMessage:(NSString *)text; 39 | 40 | /** 在 window 上添加一个提示`信息`的 HUD */ 41 | + (void)showInfoMsg:(NSString *)text; 42 | 43 | /** 在 window 上添加一个提示`失败`的 HUD */ 44 | + (void)showFailure:(NSString *)text; 45 | 46 | /** 在 window 上添加一个提示`成功`的 HUD */ 47 | + (void)showSuccess:(NSString *)text; 48 | 49 | /** 在 window 上添加一个提示`等待`的 HUD, 需要手动关闭 */ 50 | + (void)showLoading:(NSString *)text; 51 | 52 | /** 手动隐藏 HUD */ 53 | + (void)dismissHud; 54 | @end 55 | -------------------------------------------------------------------------------- /ZYNetWork/ZYNetWorking/ZYAppDotNetAPIClient.h: -------------------------------------------------------------------------------- 1 | // 2 | // ZYAppDotNetAPIClient.h 3 | // ZYNetWorking 4 | // 5 | // Created by allen on 2017/4/28. 6 | // Copyright © 2017年 allen. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ZYAppDotNetAPIClient : AFHTTPSessionManager 12 | 13 | + (instancetype)sharedClient; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /ZYNetWork/ZYNetWorking/ZYAppDotNetAPIClient.m: -------------------------------------------------------------------------------- 1 | // 2 | // ZYAppDotNetAPIClient.m 3 | // ZYNetWorking 4 | // 5 | // Created by allen on 2017/4/28. 6 | // Copyright © 2017年 allen. All rights reserved. 7 | // 8 | 9 | #import "ZYAppDotNetAPIClient.h" 10 | 11 | @implementation ZYAppDotNetAPIClient 12 | + (instancetype)sharedClient { 13 | static ZYAppDotNetAPIClient *_sharedClient = nil; 14 | static dispatch_once_t onceToken; 15 | dispatch_once(&onceToken, ^{ 16 | _sharedClient = [[ZYAppDotNetAPIClient alloc] init]; 17 | _sharedClient.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone]; 18 | }); 19 | 20 | return _sharedClient; 21 | } 22 | @end 23 | -------------------------------------------------------------------------------- /ZYNetWork/ZYNetWorking/ZYCacheHelper.h: -------------------------------------------------------------------------------- 1 | // 2 | // ZYCacheHelper.h 3 | // ZYNetWorking 4 | // 5 | // Created by allen on 2017/5/2. 6 | // Copyright © 2017年 allen. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ZYCacheHelper : NSObject 12 | /** 13 | * 缓存网络数据 14 | * 15 | * @param responseCache 服务器返回的数据 16 | * @param key 缓存数据对应的key值,推荐填入请求的URL 17 | */ 18 | +(void)saveResponseCache:(id)responseCache forKey:(NSString *)key; 19 | 20 | /** 21 | * 取出缓存的数据 22 | * 23 | * @param key 根据存入时候填入的key值来取出对应的数据 24 | * 25 | * @return 缓存的数据 26 | */ 27 | +(id)getResponseCacheForKey:(NSString *)key; 28 | /** 29 | * 根据某个值删除缓存 30 | * 31 | * @param key key 32 | */ 33 | +(void)removeCacheForKey:(NSString *)key; 34 | /** 35 | * 清除所有数据 36 | */ 37 | +(void)removAllCache; 38 | 39 | /** 40 | 存储文件 41 | 42 | @param key 缓存数据对应的key值 43 | @param file 文件 44 | @param fileName 文件名称 45 | 46 | @return 存储的位置 47 | */ 48 | +(NSString *)saveFileWithKey:(NSString *)key file:(id)file fileName:(NSString *)fileName; 49 | 50 | /** 51 | 得到存储的文件 52 | 53 | @param key 存储的key 54 | 55 | @return 返回文件 56 | */ 57 | +(id)getFileWithKey:(NSString *)key; 58 | 59 | /** 60 | 得到文件储存路径 61 | 62 | @return 返回路径 63 | */ 64 | +(NSString *)getFilePath; 65 | @end 66 | -------------------------------------------------------------------------------- /ZYNetWork/ZYNetWorking/ZYCacheHelper.m: -------------------------------------------------------------------------------- 1 | // 2 | // ZYCacheHelper.m 3 | // ZYNetWorking 4 | // 5 | // Created by allen on 2017/5/2. 6 | // Copyright © 2017年 allen. All rights reserved. 7 | // 8 | 9 | #import "ZYCacheHelper.h" 10 | #import 11 | @implementation ZYCacheHelper 12 | static NSString *const NetworkResponseCache = @"NetworkResponseCache"; 13 | static YYCache *_dataCache; 14 | static YYKVStorage *_diskCache; 15 | 16 | + (void)initialize 17 | { 18 | _dataCache = [YYCache cacheWithName:NetworkResponseCache]; 19 | NSString *downloadDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; 20 | 21 | _diskCache = [[YYKVStorage alloc] initWithPath:downloadDir type: YYKVStorageTypeFile]; 22 | 23 | } 24 | 25 | + (void)saveResponseCache:(id)responseCache forKey:(NSString *)key 26 | { 27 | //异步缓存,不会阻塞主线程 28 | [_dataCache setObject:responseCache forKey:key withBlock:nil]; 29 | } 30 | 31 | + (id)getResponseCacheForKey:(NSString *)key 32 | { 33 | return [_dataCache objectForKey:key]; 34 | } 35 | 36 | +(void)removeCacheForKey:(NSString *)key 37 | { 38 | [_dataCache removeObjectForKey:key]; 39 | } 40 | +(void)removAllCache 41 | { 42 | [_dataCache removeAllObjects]; 43 | } 44 | 45 | +(NSString *)saveFileWithKey:(NSString *)key file:(id)file fileName:(NSString *)fileName 46 | { 47 | NSLog(@"%@",fileName); 48 | 49 | 50 | [_diskCache saveItemWithKey:key value:file filename:fileName extendedData:nil]; 51 | 52 | return _diskCache.path; 53 | 54 | } 55 | +(id)getFileWithKey:(NSString *)key 56 | { 57 | return [_diskCache getItemForKey:key]; 58 | } 59 | +(NSString *)getFilePath 60 | 61 | { 62 | return _diskCache.path; 63 | } 64 | 65 | @end 66 | -------------------------------------------------------------------------------- /ZYNetWork/ZYNetWorking/ZYServerConfig.h: -------------------------------------------------------------------------------- 1 | // 2 | // ZYServerConfig.h 3 | // ZYNetWorking 4 | // 5 | // Created by allen on 2017/5/2. 6 | // Copyright © 2017年 allen. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ZYServerConfig : NSObject 12 | 13 | // env: 环境参数 00: 测试环境 01: 生产环境 14 | + (void)setZYConfigEnv:(NSString *)value; 15 | 16 | // 返回环境参数 00: 测试环境 01: 生产环境 17 | + (NSString *)ZYConfigEnv; 18 | 19 | // 获取服务器地址 20 | + (NSString *)getZYServerAddr; 21 | @end 22 | -------------------------------------------------------------------------------- /ZYNetWork/ZYNetWorking/ZYServerConfig.m: -------------------------------------------------------------------------------- 1 | // 2 | // ZYServerConfig.m 3 | // ZYNetWorking 4 | // 5 | // Created by allen on 2017/5/2. 6 | // Copyright © 2017年 allen. All rights reserved. 7 | // 8 | 9 | #import "ZYServerConfig.h" 10 | static NSString *ZYConfigEnv; //环境参数 00: 测试环境,01: 生产环境 11 | // 服务地址 12 | NSString *const ZYURL = @"http://47.92.79.222:8080/server/"; 13 | NSString *const ZYURL_Test = @"http://47.92.79.222:8080/server/"; 14 | 15 | @implementation ZYServerConfig 16 | 17 | +(void)setZYConfigEnv:(NSString *)value 18 | { 19 | ZYConfigEnv = value; 20 | } 21 | 22 | +(NSString *)ZYConfigEnv 23 | { 24 | return ZYConfigEnv; 25 | } 26 | //获取服务器地址 27 | + (NSString *)getZYServerAddr{ 28 | if ([ZYConfigEnv isEqualToString:@"00"]) { 29 | return ZYURL_Test; 30 | }else{ 31 | return ZYURL; 32 | } 33 | } 34 | @end 35 | -------------------------------------------------------------------------------- /ZYNetWork/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ZYNetWork 4 | // 5 | // Created by 换一换 on 17/2/14. 6 | // Copyright © 2017年 换一换. 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 | -------------------------------------------------------------------------------- /ZYNetWorkTests/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 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /ZYNetWorkTests/ZYNetWorkTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // ZYNetWorkTests.m 3 | // ZYNetWorkTests 4 | // 5 | // Created by 换一换 on 17/2/14. 6 | // Copyright © 2017年 换一换. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ZYNetWorkTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation ZYNetWorkTests 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 | -------------------------------------------------------------------------------- /ZYNetWorkUITests/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 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /ZYNetWorkUITests/ZYNetWorkUITests.m: -------------------------------------------------------------------------------- 1 | // 2 | // ZYNetWorkUITests.m 3 | // ZYNetWorkUITests 4 | // 5 | // Created by 换一换 on 17/2/14. 6 | // Copyright © 2017年 换一换. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ZYNetWorkUITests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation ZYNetWorkUITests 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 | --------------------------------------------------------------------------------