├── .gitignore ├── FileBrowser ├── FileBrowser.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata ├── FileBrowser.xcworkspace │ └── contents.xcworkspacedata ├── FileBrowser │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ ├── Play_378.imageset │ │ │ ├── Contents.json │ │ │ └── Play_378.png │ │ ├── error_128.imageset │ │ │ ├── Contents.json │ │ │ └── error_128.png │ │ ├── pause_320.imageset │ │ │ ├── Contents.json │ │ │ └── pause_320.png │ │ ├── 文件发送 │ │ │ ├── Contents.json │ │ │ ├── excel-聊天.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── excel-聊天@2x.png │ │ │ │ └── excel-聊天@3x.png │ │ │ ├── html-聊天.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── html-聊天@2x.png │ │ │ │ └── html-聊天@3x.png │ │ │ ├── pdf-聊天.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── pdf-聊天@2x.png │ │ │ │ └── pdf-聊天@3x.png │ │ │ ├── rar-聊天.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── rar-聊天@2x.png │ │ │ │ └── rar-聊天@3x.png │ │ │ ├── txt-聊天.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── txt-聊天@2x.png │ │ │ │ └── txt-聊天@3x.png │ │ │ ├── word-聊天.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── word-聊天@2x.png │ │ │ │ └── word-聊天@3x.png │ │ │ └── 未知问题-文件发送.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── 未知问题@2x-聊天.png │ │ │ │ └── 未知问题@3x-聊天.png │ │ ├── 文件详情 │ │ │ ├── Contents.json │ │ │ ├── excel-文件详情.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── excel-文件详情@2x.png │ │ │ │ └── excel-文件详情@3x.png │ │ │ ├── html-文件详情.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── html-文件详情@2x.png │ │ │ │ └── html-文件详情@3x.png │ │ │ ├── pdf-文件详情.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── pdf-文件详情@2x.png │ │ │ │ └── pdf-文件详情@3x.png │ │ │ ├── rar-文件详情.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── rar-文件详情@2x.png │ │ │ │ └── rar-文件详情@3x.png │ │ │ ├── txt-文件详情.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── txt-文件详情@2x.png │ │ │ │ └── txt-文件详情@3x.png │ │ │ ├── word-文件详情.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── word-文件详情@2x.png │ │ │ │ └── word-文件详情@3x.png │ │ │ ├── 未知应用-文件详情.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── 未知应用-文件详情@2x.png │ │ │ │ └── 未知应用-文件详情@3x.png │ │ │ ├── 视频-文件详情.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── 视频-文件详情@2x.png │ │ │ │ └── 视频-文件详情@3x.png │ │ │ └── 音乐-文件详情.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── 音乐-文件详情@2x.png │ │ │ │ └── 音乐-文件详情@3x.png │ │ ├── 未选-10.imageset │ │ │ ├── Contents.json │ │ │ ├── 未选@2x.png │ │ │ └── 未选@3x.png │ │ ├── 本机文件 │ │ │ ├── Contents.json │ │ │ ├── excel-文档.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── excel-文档@2x.png │ │ │ │ └── excel-文档@3x.png │ │ │ ├── html-其他.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── html-其他@2x.png │ │ │ │ └── html-其他@3x.png │ │ │ ├── pdf-文档.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── pdf-文档@2x.png │ │ │ │ └── pdf-文档@3x.png │ │ │ ├── rar-其他.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── rar-其他@2x.png │ │ │ │ └── rar-其他@3x.png │ │ │ ├── txt-文档.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── txt-文档@2x.png │ │ │ │ └── txt-文档@3x.png │ │ │ ├── word-文档.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── word-文档@2x.png │ │ │ │ └── word-文档@3x.png │ │ │ ├── 未知问题-本机.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── 未知问题@2x-本机.png │ │ │ │ └── 未知问题@3x-本机.png │ │ │ ├── 视频.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── 视频@2x.png │ │ │ │ └── 视频@3x.png │ │ │ └── 音乐.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── 音乐@2x.png │ │ │ │ └── 音乐@3x.png │ │ └── 选中-10.imageset │ │ │ ├── Contents.json │ │ │ ├── 选中@2x.png │ │ │ └── 选中@3x.png │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── FileSelectControler │ │ ├── CFScreenSizeManager.h │ │ ├── CFScreenSizeManager.m │ │ ├── KsFileManagerVC.h │ │ ├── KsFileManagerVC.m │ │ ├── KsFlieLookUpVC.h │ │ ├── KsFlieLookUpVC.m │ │ ├── Model │ │ │ ├── KsFileObjModel.h │ │ │ └── KsFileObjModel.m │ │ ├── TestFile │ │ │ ├── IMG_4143.PNG │ │ │ ├── angle.jpg │ │ │ ├── he is a pirate.mp3 │ │ │ └── 宋冬野 - 董小姐.mp3 │ │ ├── Tools │ │ │ ├── HSDownloadManager │ │ │ │ ├── KsDownloadManager.h │ │ │ │ ├── KsDownloadManager.m │ │ │ │ ├── KsFileTools.h │ │ │ │ ├── KsFileTools.m │ │ │ │ ├── KsSessionModel.h │ │ │ │ ├── KsSessionModel.m │ │ │ │ └── MD5 │ │ │ │ │ ├── NSString+Hash.h │ │ │ │ │ └── NSString+Hash.m │ │ │ ├── KsHttp.h │ │ │ ├── KsHttp.m │ │ │ ├── UIColor+CJColorCategory.h │ │ │ ├── UIColor+CJColorCategory.m │ │ │ ├── UIImage+TYHSetting.h │ │ │ ├── UIImage+TYHSetting.m │ │ │ ├── UIView+CJToast.h │ │ │ ├── UIView+CJToast.m │ │ │ ├── UIView+LCCategory.h │ │ │ └── UIView+LCCategory.m │ │ └── View │ │ │ ├── KsDownFileView.h │ │ │ ├── KsDownFileView.m │ │ │ ├── KsFileDepartmentView.h │ │ │ ├── KsFileDepartmentView.m │ │ │ ├── KsFileManagerToolBar.h │ │ │ ├── KsFileManagerToolBar.m │ │ │ ├── KsFileViewCell.h │ │ │ ├── KsFileViewCell.m │ │ │ ├── KsUnOpenFileView.h │ │ │ └── KsUnOpenFileView.m │ ├── Info.plist │ ├── MyUIViewController.h │ ├── MyUIViewController.m │ └── main.m ├── 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 │ │ ├── Masonry │ │ │ ├── MASCompositeConstraint.h │ │ │ ├── MASConstraint+Private.h │ │ │ ├── MASConstraint.h │ │ │ ├── MASConstraintMaker.h │ │ │ ├── MASLayoutConstraint.h │ │ │ ├── MASUtilities.h │ │ │ ├── MASViewAttribute.h │ │ │ ├── MASViewConstraint.h │ │ │ ├── Masonry.h │ │ │ ├── NSArray+MASAdditions.h │ │ │ ├── NSArray+MASShorthandAdditions.h │ │ │ ├── NSLayoutConstraint+MASDebugAdditions.h │ │ │ ├── View+MASAdditions.h │ │ │ ├── View+MASShorthandAdditions.h │ │ │ └── ViewController+MASAdditions.h │ │ └── SDWebImage │ │ │ ├── NSData+ImageContentType.h │ │ │ ├── SDImageCache.h │ │ │ ├── SDWebImageCompat.h │ │ │ ├── SDWebImageDecoder.h │ │ │ ├── SDWebImageDownloader.h │ │ │ ├── SDWebImageDownloaderOperation.h │ │ │ ├── SDWebImageManager.h │ │ │ ├── SDWebImageOperation.h │ │ │ ├── SDWebImagePrefetcher.h │ │ │ ├── UIButton+WebCache.h │ │ │ ├── UIImage+GIF.h │ │ │ ├── UIImage+MultiFormat.h │ │ │ ├── UIImageView+HighlightedWebCache.h │ │ │ ├── UIImageView+WebCache.h │ │ │ └── UIView+WebCacheOperation.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 │ │ ├── Masonry │ │ ├── MASCompositeConstraint.h │ │ ├── MASConstraint+Private.h │ │ ├── MASConstraint.h │ │ ├── MASConstraintMaker.h │ │ ├── MASLayoutConstraint.h │ │ ├── MASUtilities.h │ │ ├── MASViewAttribute.h │ │ ├── MASViewConstraint.h │ │ ├── Masonry.h │ │ ├── NSArray+MASAdditions.h │ │ ├── NSArray+MASShorthandAdditions.h │ │ ├── NSLayoutConstraint+MASDebugAdditions.h │ │ ├── View+MASAdditions.h │ │ ├── View+MASShorthandAdditions.h │ │ └── ViewController+MASAdditions.h │ │ └── SDWebImage │ │ ├── NSData+ImageContentType.h │ │ ├── SDImageCache.h │ │ ├── SDWebImageCompat.h │ │ ├── SDWebImageDecoder.h │ │ ├── SDWebImageDownloader.h │ │ ├── SDWebImageDownloaderOperation.h │ │ ├── SDWebImageManager.h │ │ ├── SDWebImageOperation.h │ │ ├── SDWebImagePrefetcher.h │ │ ├── UIButton+WebCache.h │ │ ├── UIImage+GIF.h │ │ ├── UIImage+MultiFormat.h │ │ ├── UIImageView+HighlightedWebCache.h │ │ ├── UIImageView+WebCache.h │ │ └── UIView+WebCacheOperation.h │ ├── Manifest.lock │ ├── Masonry │ ├── LICENSE │ ├── Masonry │ │ ├── MASCompositeConstraint.h │ │ ├── MASCompositeConstraint.m │ │ ├── MASConstraint+Private.h │ │ ├── MASConstraint.h │ │ ├── MASConstraint.m │ │ ├── MASConstraintMaker.h │ │ ├── MASConstraintMaker.m │ │ ├── MASLayoutConstraint.h │ │ ├── MASLayoutConstraint.m │ │ ├── MASUtilities.h │ │ ├── MASViewAttribute.h │ │ ├── MASViewAttribute.m │ │ ├── MASViewConstraint.h │ │ ├── MASViewConstraint.m │ │ ├── Masonry.h │ │ ├── NSArray+MASAdditions.h │ │ ├── NSArray+MASAdditions.m │ │ ├── NSArray+MASShorthandAdditions.h │ │ ├── NSLayoutConstraint+MASDebugAdditions.h │ │ ├── NSLayoutConstraint+MASDebugAdditions.m │ │ ├── View+MASAdditions.h │ │ ├── View+MASAdditions.m │ │ ├── View+MASShorthandAdditions.h │ │ ├── ViewController+MASAdditions.h │ │ └── ViewController+MASAdditions.m │ └── README.md │ ├── Pods.xcodeproj │ └── project.pbxproj │ ├── SDWebImage │ ├── LICENSE │ ├── README.md │ └── SDWebImage │ │ ├── NSData+ImageContentType.h │ │ ├── NSData+ImageContentType.m │ │ ├── SDImageCache.h │ │ ├── SDImageCache.m │ │ ├── SDWebImageCompat.h │ │ ├── SDWebImageCompat.m │ │ ├── SDWebImageDecoder.h │ │ ├── SDWebImageDecoder.m │ │ ├── SDWebImageDownloader.h │ │ ├── SDWebImageDownloader.m │ │ ├── SDWebImageDownloaderOperation.h │ │ ├── SDWebImageDownloaderOperation.m │ │ ├── SDWebImageManager.h │ │ ├── SDWebImageManager.m │ │ ├── SDWebImageOperation.h │ │ ├── SDWebImagePrefetcher.h │ │ ├── SDWebImagePrefetcher.m │ │ ├── UIButton+WebCache.h │ │ ├── UIButton+WebCache.m │ │ ├── UIImage+GIF.h │ │ ├── UIImage+GIF.m │ │ ├── UIImage+MultiFormat.h │ │ ├── UIImage+MultiFormat.m │ │ ├── UIImageView+HighlightedWebCache.h │ │ ├── UIImageView+HighlightedWebCache.m │ │ ├── UIImageView+WebCache.h │ │ ├── UIImageView+WebCache.m │ │ ├── UIView+WebCacheOperation.h │ │ └── UIView+WebCacheOperation.m │ └── Target Support Files │ ├── AFNetworking │ ├── AFNetworking-dummy.m │ ├── AFNetworking-prefix.pch │ └── AFNetworking.xcconfig │ ├── Masonry │ ├── Masonry-dummy.m │ ├── Masonry-prefix.pch │ └── Masonry.xcconfig │ ├── Pods-FileBrowser │ ├── Pods-FileBrowser-acknowledgements.markdown │ ├── Pods-FileBrowser-acknowledgements.plist │ ├── Pods-FileBrowser-dummy.m │ ├── Pods-FileBrowser-frameworks.sh │ ├── Pods-FileBrowser-resources.sh │ ├── Pods-FileBrowser.debug.xcconfig │ └── Pods-FileBrowser.release.xcconfig │ └── SDWebImage │ ├── SDWebImage-dummy.m │ ├── SDWebImage-prefix.pch │ └── SDWebImage.xcconfig ├── README.md └── image ├── 0.png ├── 1.png ├── 2.png ├── 3.png ├── 4.png ├── 5.PNG ├── 6.png └── 预览图片2.gif /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | 5 | ## Build generated 6 | build/ 7 | DerivedData/ 8 | 9 | ## Various settings 10 | *.pbxuser 11 | !default.pbxuser 12 | *.mode1v3 13 | !default.mode1v3 14 | *.mode2v3 15 | !default.mode2v3 16 | *.perspectivev3 17 | !default.perspectivev3 18 | xcuserdata/ 19 | 20 | ## Other 21 | *.moved-aside 22 | *.xcuserstate 23 | 24 | ## Obj-C/Swift specific 25 | *.hmap 26 | *.ipa 27 | *.dSYM.zip 28 | *.dSYM 29 | 30 | # CocoaPods 31 | # 32 | # We recommend against adding the Pods directory to your .gitignore. However 33 | # you should judge for yourself, the pros and cons are mentioned at: 34 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 35 | # 36 | # Pods/ 37 | 38 | # Carthage 39 | # 40 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 41 | # Carthage/Checkouts 42 | 43 | Carthage/Build 44 | 45 | # fastlane 46 | # 47 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 48 | # screenshots whenever they are needed. 49 | # For more information about the recommended setup visit: 50 | # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md 51 | 52 | fastlane/report.xml 53 | fastlane/screenshots 54 | 55 | #Code Injection 56 | # 57 | # After new code Injection tools there's a generated folder /iOSInjectionProject 58 | # https://github.com/johnno1962/injectionforxcode 59 | 60 | iOSInjectionProject/ 61 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // FileBrowser 4 | // 5 | // Created by Vieene on 2016/10/31. 6 | // Copyright © 2016年 Vieene. 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 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // FileBrowser 4 | // 5 | // Created by Vieene on 2016/10/31. 6 | // Copyright © 2016年 Vieene. 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 | 20 | 21 | return YES; 22 | } 23 | 24 | 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | } 43 | ], 44 | "info" : { 45 | "version" : 1, 46 | "author" : "xcode" 47 | } 48 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/Play_378.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "Play_378.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/Play_378.imageset/Play_378.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/Play_378.imageset/Play_378.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/error_128.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "error_128.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/error_128.imageset/error_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/error_128.imageset/error_128.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/pause_320.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "pause_320.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/pause_320.imageset/pause_320.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/pause_320.imageset/pause_320.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/excel-聊天.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "excel-聊天@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "excel-聊天@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/excel-聊天.imageset/excel-聊天@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件发送/excel-聊天.imageset/excel-聊天@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/excel-聊天.imageset/excel-聊天@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件发送/excel-聊天.imageset/excel-聊天@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/html-聊天.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "html-聊天@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "html-聊天@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/html-聊天.imageset/html-聊天@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件发送/html-聊天.imageset/html-聊天@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/html-聊天.imageset/html-聊天@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件发送/html-聊天.imageset/html-聊天@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/pdf-聊天.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "pdf-聊天@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "pdf-聊天@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/pdf-聊天.imageset/pdf-聊天@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件发送/pdf-聊天.imageset/pdf-聊天@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/pdf-聊天.imageset/pdf-聊天@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件发送/pdf-聊天.imageset/pdf-聊天@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/rar-聊天.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "rar-聊天@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "rar-聊天@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/rar-聊天.imageset/rar-聊天@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件发送/rar-聊天.imageset/rar-聊天@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/rar-聊天.imageset/rar-聊天@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件发送/rar-聊天.imageset/rar-聊天@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/txt-聊天.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "txt-聊天@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "txt-聊天@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/txt-聊天.imageset/txt-聊天@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件发送/txt-聊天.imageset/txt-聊天@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/txt-聊天.imageset/txt-聊天@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件发送/txt-聊天.imageset/txt-聊天@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/word-聊天.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "word-聊天@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "word-聊天@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/word-聊天.imageset/word-聊天@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件发送/word-聊天.imageset/word-聊天@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/word-聊天.imageset/word-聊天@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件发送/word-聊天.imageset/word-聊天@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/未知问题-文件发送.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "未知问题@2x-聊天.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "未知问题@3x-聊天.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/未知问题-文件发送.imageset/未知问题@2x-聊天.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件发送/未知问题-文件发送.imageset/未知问题@2x-聊天.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件发送/未知问题-文件发送.imageset/未知问题@3x-聊天.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件发送/未知问题-文件发送.imageset/未知问题@3x-聊天.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/excel-文件详情.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "excel-文件详情@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "excel-文件详情@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/excel-文件详情.imageset/excel-文件详情@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/excel-文件详情.imageset/excel-文件详情@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/excel-文件详情.imageset/excel-文件详情@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/excel-文件详情.imageset/excel-文件详情@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/html-文件详情.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "html-文件详情@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "html-文件详情@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/html-文件详情.imageset/html-文件详情@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/html-文件详情.imageset/html-文件详情@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/html-文件详情.imageset/html-文件详情@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/html-文件详情.imageset/html-文件详情@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/pdf-文件详情.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "pdf-文件详情@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "pdf-文件详情@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/pdf-文件详情.imageset/pdf-文件详情@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/pdf-文件详情.imageset/pdf-文件详情@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/pdf-文件详情.imageset/pdf-文件详情@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/pdf-文件详情.imageset/pdf-文件详情@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/rar-文件详情.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "rar-文件详情@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "rar-文件详情@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/rar-文件详情.imageset/rar-文件详情@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/rar-文件详情.imageset/rar-文件详情@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/rar-文件详情.imageset/rar-文件详情@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/rar-文件详情.imageset/rar-文件详情@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/txt-文件详情.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "txt-文件详情@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "txt-文件详情@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/txt-文件详情.imageset/txt-文件详情@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/txt-文件详情.imageset/txt-文件详情@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/txt-文件详情.imageset/txt-文件详情@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/txt-文件详情.imageset/txt-文件详情@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/word-文件详情.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "word-文件详情@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "word-文件详情@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/word-文件详情.imageset/word-文件详情@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/word-文件详情.imageset/word-文件详情@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/word-文件详情.imageset/word-文件详情@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/word-文件详情.imageset/word-文件详情@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/未知应用-文件详情.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "未知应用-文件详情@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "未知应用-文件详情@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/未知应用-文件详情.imageset/未知应用-文件详情@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/未知应用-文件详情.imageset/未知应用-文件详情@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/未知应用-文件详情.imageset/未知应用-文件详情@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/未知应用-文件详情.imageset/未知应用-文件详情@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/视频-文件详情.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "视频-文件详情@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "视频-文件详情@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/视频-文件详情.imageset/视频-文件详情@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/视频-文件详情.imageset/视频-文件详情@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/视频-文件详情.imageset/视频-文件详情@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/视频-文件详情.imageset/视频-文件详情@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/音乐-文件详情.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "音乐-文件详情@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "音乐-文件详情@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/音乐-文件详情.imageset/音乐-文件详情@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/音乐-文件详情.imageset/音乐-文件详情@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/文件详情/音乐-文件详情.imageset/音乐-文件详情@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/文件详情/音乐-文件详情.imageset/音乐-文件详情@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/未选-10.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "未选@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "未选@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/未选-10.imageset/未选@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/未选-10.imageset/未选@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/未选-10.imageset/未选@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/未选-10.imageset/未选@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/excel-文档.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "excel-文档@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "excel-文档@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/excel-文档.imageset/excel-文档@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/excel-文档.imageset/excel-文档@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/excel-文档.imageset/excel-文档@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/excel-文档.imageset/excel-文档@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/html-其他.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "html-其他@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "html-其他@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/html-其他.imageset/html-其他@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/html-其他.imageset/html-其他@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/html-其他.imageset/html-其他@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/html-其他.imageset/html-其他@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/pdf-文档.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "pdf-文档@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "pdf-文档@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/pdf-文档.imageset/pdf-文档@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/pdf-文档.imageset/pdf-文档@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/pdf-文档.imageset/pdf-文档@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/pdf-文档.imageset/pdf-文档@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/rar-其他.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "rar-其他@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "rar-其他@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/rar-其他.imageset/rar-其他@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/rar-其他.imageset/rar-其他@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/rar-其他.imageset/rar-其他@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/rar-其他.imageset/rar-其他@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/txt-文档.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "txt-文档@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "txt-文档@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/txt-文档.imageset/txt-文档@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/txt-文档.imageset/txt-文档@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/txt-文档.imageset/txt-文档@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/txt-文档.imageset/txt-文档@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/word-文档.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "word-文档@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "word-文档@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/word-文档.imageset/word-文档@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/word-文档.imageset/word-文档@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/word-文档.imageset/word-文档@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/word-文档.imageset/word-文档@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/未知问题-本机.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "未知问题@2x-本机.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "未知问题@3x-本机.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/未知问题-本机.imageset/未知问题@2x-本机.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/未知问题-本机.imageset/未知问题@2x-本机.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/未知问题-本机.imageset/未知问题@3x-本机.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/未知问题-本机.imageset/未知问题@3x-本机.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/视频.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "视频@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "视频@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/视频.imageset/视频@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/视频.imageset/视频@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/视频.imageset/视频@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/视频.imageset/视频@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/音乐.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "音乐@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "音乐@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/音乐.imageset/音乐@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/音乐.imageset/音乐@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/本机文件/音乐.imageset/音乐@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/本机文件/音乐.imageset/音乐@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/选中-10.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "选中@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "选中@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/选中-10.imageset/选中@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/选中-10.imageset/选中@2x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Assets.xcassets/选中-10.imageset/选中@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/Assets.xcassets/选中-10.imageset/选中@3x.png -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/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 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/Base.lproj/Main.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 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/CFScreenSizeManager.h: -------------------------------------------------------------------------------- 1 | // 2 | // CFDeviceManager.h 3 | // CoinFriend 4 | // 5 | // Created by Shangen Zhang on 2018/9/18. 6 | // Copyright © 2018年 Flame. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | 14 | 15 | @interface CFScreenSizeManager : NSObject 16 | 17 | // 屏幕判断 18 | + (BOOL)isIphone4S; 19 | + (BOOL)isIphone5S; 20 | + (BOOL)isIphone6S; 21 | + (BOOL)isIphone6P; 22 | + (BOOL)isIphoneX; 23 | + (BOOL)isIphoneXR; 24 | + (BOOL)isIphoneXM; 25 | 26 | 27 | /** 28 | 顶部安全距离 29 | */ 30 | + (CGFloat)safeTopAreaHight; 31 | 32 | /** 33 | 底部安全距离 34 | */ 35 | + (CGFloat)safeBottomAreaHight; 36 | 37 | /** 38 | 导航栏 高度 39 | */ 40 | + (CGFloat)tableBarHeight; 41 | 42 | /** 43 | 导航栏 高度 44 | */ 45 | + (CGFloat)navigationBarHeight; 46 | @end 47 | 48 | NS_ASSUME_NONNULL_END 49 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/CFScreenSizeManager.m: -------------------------------------------------------------------------------- 1 | // 2 | // CFDeviceManager.m 3 | // CoinFriend 4 | // 5 | // Created by Shangen Zhang on 2018/9/18. 6 | // Copyright © 2018年 Flame. All rights reserved. 7 | // 8 | 9 | #import "CFScreenSizeManager.h" 10 | #define iPhone4S \ 11 | ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO) 12 | 13 | #define iPhone5 \ 14 | ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO) 15 | 16 | 17 | 18 | #define iPhone6s \ 19 | ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? (CGSizeEqualToSize(CGSizeMake(750, 1334), [[UIScreen mainScreen] currentMode].size) || CGSizeEqualToSize(CGSizeMake(750, 1136), [[UIScreen mainScreen] currentMode].size)) : NO) 20 | 21 | #define iPhone6SP \ 22 | ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? (CGSizeEqualToSize(CGSizeMake(1125, 2001), [[UIScreen mainScreen] currentMode].size) || CGSizeEqualToSize(CGSizeMake(1242, 2208), [[UIScreen mainScreen] currentMode].size)) : NO) 23 | 24 | #define iPhoneX \ 25 | ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? (CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size)) : NO) 26 | 27 | #define iPhoneXMax \ 28 | ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? (CGSizeEqualToSize(CGSizeMake(1242, 2688), [[UIScreen mainScreen] currentMode].size)) : NO) 29 | 30 | #define iPhoneXR \ 31 | ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? (CGSizeEqualToSize(CGSizeMake(828, 1792), [[UIScreen mainScreen] currentMode].size)) : NO) 32 | 33 | 34 | typedef NS_ENUM(NSInteger, CFIphoneDevice) { 35 | CFIphoneDevice_4S = 1, 36 | CFIphoneDevice_5S, 37 | CFIphoneDevice_6S, 38 | CFIphoneDevice_6P, 39 | CFIphoneDevice_XS, 40 | CFIphoneDevice_XR, 41 | CFIphoneDevice_XM 42 | }; 43 | 44 | static CFIphoneDevice _iphoneDeviceType = 0; 45 | 46 | static CGFloat topH = 0; 47 | static CGFloat botH = 0; 48 | static CGFloat navH = 64; 49 | static CGFloat tabH = 49; 50 | 51 | 52 | @implementation CFScreenSizeManager 53 | 54 | + (void)initialize { 55 | static dispatch_once_t onceToken; 56 | dispatch_once(&onceToken, ^{ 57 | if (iPhoneX) { 58 | _iphoneDeviceType = CFIphoneDevice_XS; 59 | topH = 24; 60 | botH = 34; 61 | navH = 64 + 24; 62 | tabH = 49 + 34; 63 | } 64 | else if (iPhone6SP) { 65 | _iphoneDeviceType = CFIphoneDevice_6P; 66 | } 67 | else if (iPhone6s) { 68 | _iphoneDeviceType = CFIphoneDevice_6S; 69 | } 70 | else if (iPhoneXMax) { 71 | _iphoneDeviceType = CFIphoneDevice_XM; 72 | topH = 24; 73 | botH = 34; 74 | navH = 64 + 24; 75 | tabH = 49 + 34; 76 | } 77 | else if (iPhoneXR) { 78 | _iphoneDeviceType = CFIphoneDevice_XR; 79 | topH = 24; 80 | botH = 34; 81 | navH = 64 + 24; 82 | tabH = 49 + 34; 83 | } 84 | else if (iPhone5) { 85 | _iphoneDeviceType = CFIphoneDevice_5S; 86 | } 87 | 88 | }); 89 | } 90 | + (BOOL)isIphone4S {return _iphoneDeviceType == CFIphoneDevice_4S;} 91 | + (BOOL)isIphone5S {return _iphoneDeviceType == CFIphoneDevice_5S;} 92 | + (BOOL)isIphone6S {return _iphoneDeviceType == CFIphoneDevice_6S;} 93 | + (BOOL)isIphone6P {return _iphoneDeviceType == CFIphoneDevice_6P;} 94 | + (BOOL)isIphoneX {return _iphoneDeviceType == CFIphoneDevice_XS;} 95 | + (BOOL)isIphoneXR {return _iphoneDeviceType == CFIphoneDevice_XR;} 96 | + (BOOL)isIphoneXM {return _iphoneDeviceType == CFIphoneDevice_XM;} 97 | 98 | 99 | 100 | 101 | + (CGFloat)safeTopAreaHight { 102 | return topH; 103 | } 104 | 105 | + (CGFloat)safeBottomAreaHight { 106 | return botH; 107 | } 108 | 109 | + (CGFloat)tableBarHeight { 110 | return tabH; 111 | } 112 | 113 | + (CGFloat)navigationBarHeight { 114 | return navH; 115 | } 116 | 117 | @end 118 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/KsFileManagerVC.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // fileManage 4 | // 5 | // Created by Vieene on 2016/10/13. 6 | // Copyright © 2016年 Vieene. All rights reserved. 7 | // 8 | 9 | #import 10 | @class KsFileObjModel; 11 | @protocol FileSelectVcDelegate 12 | @required 13 | /* 14 | 点击发送的事件 15 | */ 16 | - (void)fileViewControlerSelected:(NSArray *)fileModels; 17 | @end 18 | @interface KsFileManagerVC : UIViewController 19 | @property (nonatomic,weak) id fileSelectVcDelegate; 20 | @end 21 | 22 | 23 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/KsFlieLookUpVC.h: -------------------------------------------------------------------------------- 1 | // 2 | // FlieLookUpVC.h 3 | // fileManage 4 | // 5 | // Created by Vieene on 2016/10/14. 6 | // Copyright © 2016年 Vieene. All rights reserved. 7 | // 8 | 9 | #import 10 | @class KsFileObjModel; 11 | @interface KsFlieLookUpVC : UIViewController 12 | @property (nonatomic,copy) void (^downloadCompleteBlock)(KsFileObjModel *model); 13 | 14 | - (instancetype)initWithFileModel:(KsFileObjModel *)fileModel; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/KsFlieLookUpVC.m: -------------------------------------------------------------------------------- 1 | // 2 | // FlieLookUpVC.m 3 | // fileManage 4 | // 5 | // Created by Vieene on 2016/10/14. 6 | // Copyright © 2016年 Vieene. All rights reserved. 7 | // 8 | 9 | #import "KsFlieLookUpVC.h" 10 | #import 11 | #import "KsUnOpenFileView.h" 12 | #import "KsFileObjModel.h" 13 | #import "Masonry.h" 14 | #import "UIView+LCCategory.h" 15 | #import "KsDownFileView.h" 16 | @interface KsFlieLookUpVC () 17 | @property (nonatomic,strong) KsFileObjModel *actualmodel; 18 | @property (nonatomic,strong)UIDocumentInteractionController *documentInteraction; 19 | @property (nonatomic,strong) KsUnOpenFileView *openfileView; 20 | @property (nonatomic,strong) KsDownFileView *downView; 21 | @end 22 | 23 | @implementation KsFlieLookUpVC 24 | - (instancetype)initWithFileModel:(KsFileObjModel *)fileModel; 25 | { 26 | if ((fileModel.filePath == nil || [fileModel.filePath isEqualToString:@""]) && fileModel.fileUrl == nil) { 27 | return nil; 28 | } 29 | self = [super init]; 30 | if (self) { 31 | _actualmodel = fileModel; 32 | self.view.backgroundColor = [UIColor whiteColor]; 33 | } 34 | return self; 35 | } 36 | - (void)viewDidLoad { 37 | [super viewDidLoad]; 38 | self.title = (@"文件详情"); 39 | NSFileManager *manger = [NSFileManager defaultManager]; 40 | __weak typeof(self) weakSelf = self; 41 | if (_actualmodel.filePath && [manger fileExistsAtPath:_actualmodel.filePath]) { 42 | dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ 43 | //使用系统自带工具打开 44 | [weakSelf loadData]; 45 | }); 46 | }else{ 47 | //显示下载文件视图 48 | [self showDownloadFile]; 49 | } 50 | 51 | 52 | } 53 | - (void)viewDidAppear:(BOOL)animated 54 | { 55 | [super viewDidAppear:animated]; 56 | 57 | } 58 | 59 | - (void)loadData{ 60 | _documentInteraction = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:_actualmodel.filePath]]; 61 | _documentInteraction.delegate = self; 62 | // _documentInteraction.UTI = @"com.microsoft.ico"; 63 | if(![_documentInteraction presentPreviewAnimated:NO]){ 64 | [self openfileView]; 65 | __weak KsFlieLookUpVC *weakself = self; 66 | _openfileView.Clickblock = ^(KsFileObjModel *model){ 67 | [weakself.documentInteraction presentOpenInMenuFromRect:CGRectMake(0, weakself.view.height - 500, 100, 100) 68 | inView:weakself.view 69 | animated:YES]; 70 | }; 71 | } 72 | } 73 | - (void)viewDidDisappear:(BOOL)animated 74 | { 75 | [super viewDidDisappear:animated]; 76 | _documentInteraction = nil; 77 | } 78 | - (void)showDownloadFile 79 | { 80 | [self downView]; 81 | } 82 | - (KsDownFileView *)downView 83 | { 84 | if (_downView == nil) { 85 | _downView = [[KsDownFileView alloc] init]; 86 | _downView.model = _actualmodel; 87 | [self.view addSubview:_downView]; 88 | __weak typeof(self) weakself = self; 89 | _downView.downloadComplete = ^(KsFileObjModel *model){ 90 | weakself.downView.hidden =YES; 91 | if (weakself.downloadCompleteBlock) { 92 | weakself.downloadCompleteBlock(model); 93 | } 94 | [weakself loadData]; 95 | }; 96 | } 97 | return _downView; 98 | } 99 | - (KsUnOpenFileView *)openfileView 100 | { 101 | if (_openfileView == nil) { 102 | _openfileView = [[KsUnOpenFileView alloc] init]; 103 | _openfileView.model =_actualmodel; 104 | [self.view addSubview:_openfileView]; 105 | } 106 | return _openfileView; 107 | } 108 | - (void)viewWillLayoutSubviews 109 | { 110 | [super viewWillLayoutSubviews]; 111 | __weak typeof(self) weakSelf = self; 112 | [_openfileView mas_makeConstraints:^(MASConstraintMaker *make) { 113 | make.edges.mas_equalTo(UIEdgeInsetsMake(0, 0, 0, 0)); 114 | weakSelf.openfileView.backgroundColor = [UIColor whiteColor]; 115 | 116 | }]; 117 | [_downView mas_makeConstraints:^(MASConstraintMaker *make) { 118 | make.edges.mas_equalTo(UIEdgeInsetsMake(0, 0, 0, 0)); 119 | weakSelf.downView.backgroundColor = [UIColor whiteColor]; 120 | }]; 121 | } 122 | #pragma mark -UIDocumentInteractionControllerDelegate 123 | - (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller 124 | { 125 | return self; 126 | } 127 | - (nullable UIView *)documentInteractionControllerViewForPreview:(UIDocumentInteractionController *)controller 128 | { 129 | return self.view; 130 | 131 | } 132 | - (void)documentInteractionControllerDidEndPreview:(UIDocumentInteractionController *)controller 133 | { 134 | [self.navigationController popViewControllerAnimated:YES]; 135 | } 136 | 137 | 138 | 139 | @end 140 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Model/KsFileObjModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // FileObjModel.h 3 | // fileManage 4 | // 5 | // Created by Vieene on 2016/10/13. 6 | // Copyright © 2016年 Vieene. All rights reserved. 7 | // 文件模型 8 | 9 | #import 10 | #import 11 | 12 | 13 | typedef NS_ENUM(NSInteger, MKFileType) { 14 | 15 | MKFileTypeUnknown = -1, //其他 16 | 17 | MKFileTypeAll = 0, //所有 18 | 19 | MKFileTypeImage = 1, //图片 20 | 21 | MKFileTypeTxt = 2, //文档 22 | 23 | MKFileTypeAudioVidio = 3, //音乐视频 24 | 25 | MKFileTypeApplication = 4, //应用 26 | 27 | MKFileTypeDirectory = 5, //目录 28 | 29 | }; 30 | @interface KsFileObjModel : NSObject 31 | 32 | -(instancetype)initWithFilePath:(NSString *)filePath; 33 | 34 | //文件路径 35 | @property (copy, nonatomic) NSString *filePath; 36 | //文件URL 37 | @property (copy, nonatomic) NSString *fileUrl; 38 | 39 | @property (copy, nonatomic) NSString *name; 40 | 41 | @property (copy, nonatomic) NSString *fileSize; 42 | @property (nonatomic, assign) CGFloat fileSizefloat; 43 | 44 | @property (copy, nonatomic) NSString *creatTime; 45 | 46 | //图标 47 | @property (strong, nonatomic) UIImage *image; 48 | 49 | @property (assign, nonatomic) MKFileType fileType; 50 | @property (nonatomic,assign) BOOL select;//是否被选中 51 | // 52 | ///** 53 | // * 获取路径下所有某类型的文件 54 | // * 55 | // * @param path 路径 56 | // * @param fileType 文件类型 57 | // * 58 | // * @return 文件路径集合 59 | // */ 60 | //+(NSArray *)getFilesInPath:(NSString *)path fileType:(MKFileType)fileType; 61 | // 62 | // 63 | ///** 64 | // * 获取当前文件所在目录所有相同类型的文件集合 65 | // * 66 | // * @return 文件路径集合 67 | // */ 68 | //-(NSArray *)getDirectoryFiles; 69 | 70 | @end 71 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Model/KsFileObjModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // FileObjModel.m 3 | // fileManage 4 | // 5 | // Created by Vieene on 2016/10/13. 6 | // Copyright © 2016年 Vieene. All rights reserved. 7 | // 8 | 9 | #import "KsFileObjModel.h" 10 | #import "UIImage+TYHSetting.h" 11 | 12 | 13 | @implementation KsFileObjModel 14 | { 15 | NSFileManager *fileMgr; 16 | } 17 | 18 | -(instancetype)init { 19 | if(self = [super init]) { 20 | fileMgr = [NSFileManager defaultManager]; 21 | } 22 | return self; 23 | } 24 | 25 | -(instancetype)initWithFilePath:(NSString *)filePath { 26 | if(self = [self init]){ 27 | self.filePath = filePath; 28 | } 29 | return self; 30 | } 31 | 32 | 33 | -(void)setFilePath:(NSString *)filePath { 34 | _filePath = filePath; 35 | 36 | self.name = [filePath lastPathComponent]; 37 | 38 | BOOL isDirectory = true; 39 | [fileMgr fileExistsAtPath: filePath isDirectory: &isDirectory]; 40 | self.image = [UIImage imageNamed: @"fielIcon"]; 41 | self.fileType = MKFileTypeUnknown; 42 | 43 | if(isDirectory){ 44 | self.image = [UIImage imageNamed: @"dirIcon"]; 45 | self.fileType = MKFileTypeDirectory; 46 | }else{ 47 | 48 | NSArray *imageTypesArray = [NSArray arrayWithObjects: IMAGES_TYPES count: IMAGES_TYPES_COUNT]; 49 | 50 | if([imageTypesArray containsObject: [filePath pathExtension]]){ 51 | self.image = [UIImage imageWithContentsOfFile: filePath]; 52 | self.fileType = MKFileTypeUnknown; 53 | }else { 54 | self.image =[UIImage imageWithFileModel:self]; 55 | } 56 | 57 | 58 | NSError *error = nil; 59 | NSDictionary *fileAttributes = [fileMgr attributesOfItemAtPath:filePath error:&error]; 60 | 61 | if (fileAttributes != nil) { 62 | NSNumber *fileSize = [fileAttributes objectForKey:NSFileSize]; 63 | NSDate *fileModDate = [fileAttributes objectForKey:NSFileModificationDate]; 64 | NSDate *fileCreateDate = [fileAttributes objectForKey:NSFileCreationDate]; 65 | if (fileSize) { 66 | CGFloat size = [fileSize unsignedLongLongValue]; 67 | self.fileSizefloat = size; 68 | NSString *sizestr = [NSString stringWithFormat:@"%qi",[fileSize unsignedLongLongValue]]; 69 | // NSLog(@"File size: %@\n",fileSize); 70 | if (sizestr.length <=3) { 71 | self.fileSize = [NSString stringWithFormat:@"%.1f B",size]; 72 | } else if(sizestr.length>3 && sizestr.length<7){ 73 | self.fileSize = [NSString stringWithFormat:@"%.1f KB",size/1000.0]; 74 | }else{ 75 | self.fileSize = [NSString stringWithFormat:@"%.1f M",size/(1000.0 * 1000)]; 76 | } 77 | } 78 | 79 | if (fileModDate) { 80 | //用于格式化NSDate对象 81 | NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 82 | //设置格式:zzz表示时区 83 | [dateFormatter setDateFormat:@"MM-dd HH:mm:ss"]; 84 | //NSDate转NSString 85 | self.creatTime = [dateFormatter stringFromDate:fileModDate]; 86 | } 87 | if (fileCreateDate) { 88 | // NSLog(@"create date:%@\n", fileModDate); 89 | } 90 | } 91 | else { 92 | // NSLog(@"Path (%@) is invalid.", filePath); 93 | } 94 | } 95 | } 96 | 97 | 98 | @end 99 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/TestFile/IMG_4143.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/FileSelectControler/TestFile/IMG_4143.PNG -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/TestFile/angle.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/FileSelectControler/TestFile/angle.jpg -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/TestFile/he is a pirate.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/FileSelectControler/TestFile/he is a pirate.mp3 -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/TestFile/宋冬野 - 董小姐.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/FileBrowser/FileBrowser/FileSelectControler/TestFile/宋冬野 - 董小姐.mp3 -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/HSDownloadManager/KsDownloadManager.h: -------------------------------------------------------------------------------- 1 | // 2 | // HSDownloadManager.h 3 | // HSDownloadManagerExample 4 | // 5 | // Created by hans on 15/8/4. 6 | // Copyright © 2015年 hans. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "KsSessionModel.h" 11 | 12 | @interface KsDownloadManager : NSObject 13 | 14 | /** 15 | * 单例 16 | * 17 | * @return 返回单例对象 18 | */ 19 | + (instancetype)sharedInstance; 20 | 21 | /** 22 | * 开启任务下载资源 23 | * 24 | * @param url 下载地址 25 | * @param progressBlock 回调下载进度 26 | * @param stateBlock 下载状态 27 | */ 28 | - (void)download:(NSString *)url progress:(void(^)(NSInteger receivedSize, NSInteger expectedSize, CGFloat progress))progressBlock state:(void(^)(DownloadState state))stateBlock; 29 | 30 | /** 31 | * 查询该资源的下载进度值 32 | * 33 | * @param url 下载地址 34 | * 35 | * @return 返回下载进度值 36 | */ 37 | - (CGFloat)progress:(NSString *)url; 38 | 39 | /** 40 | * 获取该资源总大小 41 | * 42 | * @param url 下载地址 43 | * 44 | * @return 资源总大小 45 | */ 46 | - (NSInteger)fileTotalLength:(NSString *)url; 47 | 48 | /** 49 | * 判断该资源是否下载完成 50 | * 51 | * @param url 下载地址 52 | * 53 | * @return YES: 完成 54 | */ 55 | - (BOOL)isCompletion:(NSString *)url; 56 | 57 | /** 58 | * 删除该资源 59 | * 60 | * @param url 下载地址 61 | */ 62 | - (void)deleteFile:(NSString *)url; 63 | 64 | /** 65 | * 清空所有下载资源 66 | */ 67 | - (void)deleteAllFile; 68 | 69 | 70 | @end 71 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/HSDownloadManager/KsFileTools.h: -------------------------------------------------------------------------------- 1 | // 2 | // CJFileTools.h 3 | // Antenna 4 | // 5 | // Created by Vieene on 2016/10/26. 6 | // Copyright © 2016年 HHLY. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface KsFileTools : NSObject 12 | //移动文件到另一个文件夹下 13 | + (BOOL)moveFile:(NSString *)filePath to:(NSString *)path; 14 | //移动文件到另一个文件夹下 15 | + (BOOL)copyFile:(NSString *)filePath to:(NSString *)path; 16 | //检查名字,对于已经存在的文件,使用(1)添加后缀 17 | + (NSString *)checkFileName:(NSString *)destinationPath; 18 | 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/HSDownloadManager/KsFileTools.m: -------------------------------------------------------------------------------- 1 | // 2 | // CJFileTools.m 3 | // Antenna 4 | // 5 | // Created by Vieene on 2016/10/26. 6 | // Copyright © 2016年 HHLY. All rights reserved. 7 | // 8 | 9 | #import "KsFileTools.h" 10 | 11 | @implementation KsFileTools 12 | //移动文件到另一个文件夹下 13 | + (BOOL)moveFile:(NSString *)filePath to:(NSString *)path 14 | { 15 | NSFileManager *fileManager = [NSFileManager defaultManager]; 16 | 17 | if([self creatFileDirection:path.stringByDeletingLastPathComponent]){ 18 | NSError *error; 19 | BOOL result = [fileManager moveItemAtPath:filePath toPath:path error:&error]; 20 | if (error) { 21 | NSLog(@"------moveFile ERROR-%@",error); 22 | } 23 | return result; 24 | 25 | } 26 | return NO; 27 | } 28 | + (BOOL)copyFile:(NSString *)filePath to:(NSString *)path 29 | { 30 | NSFileManager *fileManager = [NSFileManager defaultManager]; 31 | if([self creatFileDirection:path.stringByDeletingLastPathComponent ]){ 32 | NSError *error; 33 | BOOL result = [fileManager copyItemAtPath:filePath toPath:path error:&error]; 34 | if (error) { 35 | NSLog(@"------copyItemAtPath ERROR-%@",error); 36 | } 37 | return result; 38 | } 39 | return NO; 40 | } 41 | 42 | + (BOOL)creatFileDirection:(NSString *)path 43 | { 44 | NSFileManager *fileManager = [NSFileManager defaultManager]; 45 | if (![fileManager fileExistsAtPath:path]) { 46 | return [fileManager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:NULL]; 47 | } 48 | return YES; 49 | } 50 | + (NSString *)checkFileName:(NSString *)destinationPath 51 | { 52 | NSFileManager *fileManager = [NSFileManager defaultManager]; 53 | // 54 | BOOL isDirection; 55 | BOOL exist = [fileManager fileExistsAtPath:destinationPath isDirectory:&isDirection]; 56 | if (exist) { 57 | NSArray *componentsArray = destinationPath.pathComponents; 58 | NSArray *nameArray = [componentsArray.lastObject componentsSeparatedByString:@"."]; 59 | NSString *name = [nameArray firstObject]; 60 | NSString *estension = [nameArray lastObject]; 61 | for (int a = 1 ; a <100; a++) { 62 | 63 | NSString * tempName = [name stringByAppendingString:[NSString stringWithFormat:@"(%d)",a]]; 64 | NSString * twoName = [tempName stringByAppendingFormat:@".%@",estension]; 65 | NSMutableArray *array = [NSMutableArray arrayWithArray:componentsArray.mutableCopy]; 66 | [array removeLastObject]; 67 | [array addObject:twoName]; 68 | NSString *twoPath = [NSString pathWithComponents:array]; 69 | if ([fileManager fileExistsAtPath:twoPath isDirectory:&isDirection]) { 70 | continue; 71 | }else{ 72 | return twoPath; 73 | break; 74 | } 75 | } 76 | }else{ 77 | NSLog(@"没有发现重命的文件"); 78 | } 79 | return destinationPath; 80 | } 81 | @end 82 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/HSDownloadManager/KsSessionModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // HSNSURLSession.h 3 | // HSDownloadManagerExample 4 | // 5 | // Created by hans on 15/8/4. 6 | // Copyright © 2015年 hans. All rights reserved. 7 | // 8 | 9 | typedef enum { 10 | DownloadStateStart = 0, /** 下载中 */ 11 | DownloadStateSuspended, /** 下载暂停 */ 12 | DownloadStateCompleted, /** 下载完成 */ 13 | DownloadStateFailed /** 下载失败 */ 14 | }DownloadState; 15 | 16 | #import 17 | @interface KsSessionModel : NSObject 18 | 19 | /** 流 */ 20 | @property (nonatomic, strong) NSOutputStream *stream; 21 | 22 | /** 下载地址 */ 23 | @property (nonatomic, copy) NSString *url; 24 | 25 | /** 获得服务器这次请求 返回数据的总长度 */ 26 | @property (nonatomic, assign) NSInteger totalLength; 27 | 28 | /** 下载进度 */ 29 | @property (nonatomic, copy) void(^progressBlock)(NSInteger receivedSize, NSInteger expectedSize, CGFloat progress); 30 | 31 | /** 下载状态 */ 32 | @property (nonatomic, copy) void(^stateBlock)(DownloadState state); 33 | 34 | 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/HSDownloadManager/KsSessionModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // HSNSURLSession.m 3 | // HSDownloadManagerExample 4 | // 5 | // Created by hans on 15/8/4. 6 | // Copyright © 2015年 hans. All rights reserved. 7 | // 8 | 9 | #import "KsSessionModel.h" 10 | 11 | @implementation KsSessionModel 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/HSDownloadManager/MD5/NSString+Hash.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+Hash.h 3 | // 4 | // Created by Tom Corwine on 5/30/12.. 5 | // 6 | 7 | #import 8 | 9 | @interface NSString (Hash) 10 | 11 | @property (readonly) NSString *md5String; 12 | @property (readonly) NSString *sha1String; 13 | @property (readonly) NSString *sha256String; 14 | @property (readonly) NSString *sha512String; 15 | 16 | - (NSString *)hmacSHA1StringWithKey:(NSString *)key; 17 | - (NSString *)hmacSHA256StringWithKey:(NSString *)key; 18 | - (NSString *)hmacSHA512StringWithKey:(NSString *)key; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/HSDownloadManager/MD5/NSString+Hash.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+Hash.m 3 | // 4 | // Created by Tom Corwine on 5/30/12. 5 | // 6 | 7 | #import "NSString+Hash.h" 8 | 9 | #import 10 | #import 11 | 12 | @implementation NSString (Hash) 13 | 14 | - (NSString *)md5String 15 | { 16 | const char *string = self.UTF8String; 17 | int length = (int)strlen(string); 18 | unsigned char bytes[CC_MD5_DIGEST_LENGTH]; 19 | CC_MD5(string, length, bytes); 20 | return [self stringFromBytes:bytes length:CC_MD5_DIGEST_LENGTH]; 21 | } 22 | 23 | - (NSString *)sha1String 24 | { 25 | const char *string = self.UTF8String; 26 | int length = (int)strlen(string); 27 | unsigned char bytes[CC_SHA1_DIGEST_LENGTH]; 28 | CC_SHA1(string, length, bytes); 29 | return [self stringFromBytes:bytes length:CC_SHA1_DIGEST_LENGTH]; 30 | } 31 | 32 | - (NSString *)sha256String 33 | { 34 | const char *string = self.UTF8String; 35 | int length = (int)strlen(string); 36 | unsigned char bytes[CC_SHA256_DIGEST_LENGTH]; 37 | CC_SHA256(string, length, bytes); 38 | return [self stringFromBytes:bytes length:CC_SHA256_DIGEST_LENGTH]; 39 | } 40 | 41 | - (NSString *)sha512String 42 | { 43 | const char *string = self.UTF8String; 44 | int length = (int)strlen(string); 45 | unsigned char bytes[CC_SHA512_DIGEST_LENGTH]; 46 | CC_SHA512(string, length, bytes); 47 | return [self stringFromBytes:bytes length:CC_SHA512_DIGEST_LENGTH]; 48 | } 49 | 50 | - (NSString *)hmacSHA1StringWithKey:(NSString *)key 51 | { 52 | NSData *keyData = [key dataUsingEncoding:NSUTF8StringEncoding]; 53 | NSData *messageData = [self dataUsingEncoding:NSUTF8StringEncoding]; 54 | NSMutableData *mutableData = [NSMutableData dataWithLength:CC_SHA1_DIGEST_LENGTH]; 55 | CCHmac(kCCHmacAlgSHA1, keyData.bytes, keyData.length, messageData.bytes, messageData.length, mutableData.mutableBytes); 56 | return [self stringFromBytes:(unsigned char *)mutableData.bytes length:mutableData.length]; 57 | } 58 | 59 | - (NSString *)hmacSHA256StringWithKey:(NSString *)key 60 | { 61 | NSData *keyData = [key dataUsingEncoding:NSUTF8StringEncoding]; 62 | NSData *messageData = [self dataUsingEncoding:NSUTF8StringEncoding]; 63 | NSMutableData *mutableData = [NSMutableData dataWithLength:CC_SHA256_DIGEST_LENGTH]; 64 | CCHmac(kCCHmacAlgSHA256, keyData.bytes, keyData.length, messageData.bytes, messageData.length, mutableData.mutableBytes); 65 | return [self stringFromBytes:(unsigned char *)mutableData.bytes length:mutableData.length]; 66 | } 67 | 68 | - (NSString *)hmacSHA512StringWithKey:(NSString *)key 69 | { 70 | NSData *keyData = [key dataUsingEncoding:NSUTF8StringEncoding]; 71 | NSData *messageData = [self dataUsingEncoding:NSUTF8StringEncoding]; 72 | NSMutableData *mutableData = [NSMutableData dataWithLength:CC_SHA512_DIGEST_LENGTH]; 73 | CCHmac(kCCHmacAlgSHA512, keyData.bytes, keyData.length, messageData.bytes, messageData.length, mutableData.mutableBytes); 74 | return [self stringFromBytes:(unsigned char *)mutableData.bytes length:mutableData.length]; 75 | } 76 | 77 | #pragma mark - Helpers 78 | 79 | - (NSString *)stringFromBytes:(unsigned char *)bytes length:(NSUInteger)length 80 | { 81 | NSMutableString *mutableString = @"".mutableCopy; 82 | for (NSUInteger i = 0; i < length; i++) 83 | [mutableString appendFormat:@"%02x", bytes[i]]; 84 | return [NSString stringWithString:mutableString]; 85 | } 86 | 87 | @end 88 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/KsHttp.h: -------------------------------------------------------------------------------- 1 | // 2 | // CJHttp.h 3 | // Antenna 4 | // 5 | // Created by Lc on 16/6/13. 6 | // Copyright © 2016年 HHLY. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface KsHttp : AFHTTPSessionManager 12 | + (instancetype)shareInstance; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/KsHttp.m: -------------------------------------------------------------------------------- 1 | // 2 | // CJHttp.m 3 | // Antenna 4 | // 5 | // Created by Lc on 16/6/13. 6 | // Copyright © 2016年 HHLY. All rights reserved. 7 | // 8 | 9 | #import "KsHttp.h" 10 | 11 | @implementation KsHttp 12 | + (instancetype)shareInstance 13 | { 14 | static KsHttp *baseTool = nil; 15 | static dispatch_once_t onceToken; 16 | dispatch_once(&onceToken, ^{ 17 | baseTool = [[self alloc] initWithBaseURL:nil sessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; 18 | baseTool.requestSerializer.timeoutInterval = 60; 19 | baseTool.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain" ,@"application/json", @"text/json", @"text/javascript",@"text/html", nil]; 20 | }); 21 | 22 | return baseTool; 23 | } 24 | @end 25 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/UIColor+CJColorCategory.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIColor+CJColorCategory.h 3 | // Antenna 4 | // 5 | // Created by HHLY on 16/6/12. 6 | // Copyright © 2016年 HHLY. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIColor (CJColorCategory) 12 | 13 | /** 14 | * @brief 根据色值得到颜色 15 | * @param hex 16进制的色值 16 | **/ 17 | +(UIColor *)colorWithHex:(int)hex; 18 | 19 | /** 20 | * @brief 根据色值得到颜色 21 | * @param hexString 16进制色值 22 | **/ 23 | +(UIColor *)colorWithHexString:(NSString *)hexString; 24 | 25 | /** 26 | * @brief 根据色值得到颜色 27 | * @param hexString 16进制色值 28 | * @param alpha 透明值 29 | **/ 30 | 31 | +(UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/UIColor+CJColorCategory.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIColor+CJColorCategory.m 3 | // Antenna 4 | // 5 | // Created by HHLY on 16/6/12. 6 | // Copyright © 2016年 HHLY. All rights reserved. 7 | // 8 | 9 | #import "UIColor+CJColorCategory.h" 10 | 11 | @implementation UIColor (CJColorCategory) 12 | 13 | #pragma mark - 根据色值生成颜色 14 | +(UIColor *)colorWithHex:(int)hex 15 | { 16 | 17 | return [UIColor colorWithRed:((float)((hex & 0xFF0000) >> 16))/255.0 green:((float)((hex & 0xFF00) >> 8))/255.0 blue:((float)(hex & 0xFF))/255.0 alpha:1.0]; 18 | } 19 | 20 | #pragma mark - 根据16进制色值字符串生成颜色 21 | +(UIColor *)colorWithHexString:(NSString *)hexString 22 | { 23 | return [self getColorWithHexString:hexString alpha:1.0]; 24 | } 25 | 26 | #pragma mark - 根据16进制色值字符串和透明度生成颜色 27 | +(UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha 28 | { 29 | return [self getColorWithHexString:hexString alpha:alpha]; 30 | } 31 | 32 | #pragma mark - 根据16进制色值字符串和透明度生成颜色 33 | + (UIColor *)getColorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha 34 | { 35 | NSString *cString = [[hexString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString]; 36 | 37 | // String should be 6 or 8 characters 38 | if ([cString length] < 6) { 39 | return [UIColor clearColor]; 40 | } 41 | 42 | // strip 0X if it appears 43 | if ([cString hasPrefix:@"0X"]) 44 | cString = [cString substringFromIndex:2]; 45 | if ([cString hasPrefix:@"#"]) 46 | cString = [cString substringFromIndex:1]; 47 | if ([cString length] > 6 || [cString length] <= 1) 48 | return [UIColor clearColor]; 49 | 50 | // Separate into r, g, b substrings 51 | NSRange range; 52 | range.location = 0; 53 | range.length = 2; 54 | 55 | //r 56 | NSString *rString = [cString length] > 1?[cString substringWithRange:range]: @"00"; 57 | 58 | //g 59 | range.location = 2; 60 | NSString *gString = [cString length] > 3?[cString substringWithRange:range]: @"00"; 61 | 62 | //b 63 | range.location = 4; 64 | NSString *bString = [cString length] > 5?[cString substringWithRange:range]: @"00"; 65 | 66 | // Scan values 67 | unsigned int r, g, b; 68 | [[NSScanner scannerWithString:rString] scanHexInt:&r]; 69 | [[NSScanner scannerWithString:gString] scanHexInt:&g]; 70 | [[NSScanner scannerWithString:bString] scanHexInt:&b]; 71 | 72 | return [UIColor colorWithRed:((float) r / 255.0f) green:((float) g / 255.0f) blue:((float) b / 255.0f) alpha:alpha]; 73 | } 74 | 75 | @end 76 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/UIImage+TYHSetting.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+TYHSetting.h 3 | // TaiYangHua 4 | // 5 | // Created by Lc on 15/12/25. 6 | // Copyright © 2015年 hhly. All rights reserved. 7 | // 8 | 9 | #import 10 | @class CJSession,KsFileObjModel; 11 | static const UInt8 IMAGES_TYPES_COUNT = 8; 12 | static const UInt8 TEXT_TYPES_COUNT = 14; 13 | static const UInt8 VIOCEVIDIO_COUNT = 14; 14 | static const UInt8 Application_count = 4; 15 | static const UInt8 AV_COUNT = 12; 16 | 17 | //定义图片后缀名 18 | extern NSString *IMAGES_TYPES[IMAGES_TYPES_COUNT]; 19 | //定义文本后缀名 20 | extern NSString *TEXT_TYPES[TEXT_TYPES_COUNT]; 21 | //定义音频后缀名 22 | extern NSString *VIOCEVIDIO_TYPES[VIOCEVIDIO_COUNT]; 23 | //定义视频后缀名 24 | extern NSString *AV_TYPES[AV_COUNT]; 25 | //定义应用后缀名 26 | extern NSString *Application_types[Application_count]; 27 | 28 | 29 | @interface UIImage (TYHSetting) 30 | /** 31 | * 将颜色转换为图片 32 | */ 33 | + (UIImage *)createImageWithColor:(UIColor*) color; 34 | 35 | /** 36 | * 根据CJFileObjModel 返回图片 37 | */ 38 | + (UIImage *)imageWithFileModel:(KsFileObjModel *)model; 39 | 40 | /** 41 | * 根据CJFileObjModel 返回图片(查看文件时候用到) 42 | */ 43 | + (UIImage *)imageWithFileModelOnCheck:(KsFileObjModel *)model; 44 | @end 45 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/UIView+CJToast.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | 3 | UIView+Toast.h 4 | Toast 5 | 6 | Copyright (c) 2014 Charles Scalesse. 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a 9 | copy of this software and associated documentation files (the 10 | "Software"), to deal in the Software without restriction, including 11 | without limitation the rights to use, copy, modify, merge, publish, 12 | distribute, sublicense, and/or sell copies of the Software, and to 13 | permit persons to whom the Software is furnished to do so, subject to 14 | the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included 17 | in all copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 20 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 22 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 23 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 24 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | 27 | ***************************************************************************/ 28 | 29 | #import 30 | 31 | extern NSString * const CSToastPositionTop; 32 | extern NSString * const CSToastPositionCenter; 33 | extern NSString * const CSToastPositionBottom; 34 | 35 | @interface UIView (Toast) 36 | 37 | // each makeToast method creates a view and displays it as toast 38 | - (void)makeToast:(NSString *)message; 39 | - (void)makeToast:(NSString *)message duration:(NSTimeInterval)interval position:(id)position; 40 | - (void)makeToast:(NSString *)message duration:(NSTimeInterval)interval position:(id)position image:(UIImage *)image; 41 | - (void)makeToast:(NSString *)message duration:(NSTimeInterval)interval position:(id)position title:(NSString *)title; 42 | - (void)makeToast:(NSString *)message duration:(NSTimeInterval)interval position:(id)position title:(NSString *)title image:(UIImage *)image; 43 | 44 | // displays toast with an activity spinner 45 | - (void)makeToastActivity; 46 | - (void)makeToastActivity:(id)position; 47 | - (void)hideToastActivity; 48 | 49 | // the showToast methods display any view as toast 50 | - (void)showToast:(UIView *)toast; 51 | - (void)showToast:(UIView *)toast duration:(NSTimeInterval)interval position:(id)point; 52 | - (void)showToast:(UIView *)toast duration:(NSTimeInterval)interval position:(id)point 53 | tapCallback:(void(^)(void))tapCallback; 54 | 55 | @end 56 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/UIView+LCCategory.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+LCCategory.h 3 | // weChat 4 | // 5 | // Created by Lc on 16/3/29. 6 | // Copyright © 2016年 LC. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIView (LCCategory) 12 | @property (nonatomic, assign) CGFloat x; 13 | @property (nonatomic, assign) CGFloat y; 14 | @property (nonatomic, assign) CGFloat width; 15 | @property (nonatomic, assign) CGFloat height; 16 | @property (nonatomic, assign) CGFloat centerX; 17 | @property (nonatomic, assign) CGFloat centerY; 18 | 19 | /** 从xib中创建一个控件 */ 20 | + (instancetype)viewFromXib; 21 | @end 22 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/Tools/UIView+LCCategory.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+LCCategory.m 3 | // weChat 4 | // 5 | // Created by Lc on 16/3/29. 6 | // Copyright © 2016年 LC. All rights reserved. 7 | // 8 | 9 | #import "UIView+LCCategory.h" 10 | 11 | @implementation UIView (LCCategory) 12 | + (instancetype)viewFromXib 13 | { 14 | return [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self) owner:nil options:nil] lastObject]; 15 | } 16 | 17 | - (void)setX:(CGFloat)x 18 | { 19 | CGRect frame = self.frame; 20 | frame.origin.x = x; 21 | self.frame = frame; 22 | } 23 | 24 | - (CGFloat)x 25 | { 26 | return self.frame.origin.x; 27 | } 28 | 29 | - (void)setY:(CGFloat)y 30 | { 31 | CGRect frame = self.frame; 32 | frame.origin.y = y; 33 | self.frame = frame; 34 | } 35 | 36 | - (CGFloat)y 37 | { 38 | return self.frame.origin.y; 39 | } 40 | 41 | - (void)setWidth:(CGFloat)width 42 | { 43 | CGRect frame = self.frame; 44 | frame.size.width = width; 45 | self.frame = frame; 46 | } 47 | 48 | - (CGFloat)width 49 | { 50 | return self.frame.size.width; 51 | } 52 | 53 | - (void)setHeight:(CGFloat)height 54 | { 55 | CGRect frame = self.frame; 56 | frame.size.height = height; 57 | self.frame = frame; 58 | } 59 | 60 | - (CGFloat)height 61 | { 62 | return self.frame.size.height; 63 | } 64 | 65 | - (void)setCenterX:(CGFloat)centerX 66 | { 67 | CGPoint center = self.center; 68 | center.x = centerX; 69 | self.center = center; 70 | } 71 | 72 | - (CGFloat)centerX 73 | { 74 | return self.center.x; 75 | } 76 | 77 | - (void)setCenterY:(CGFloat)centerY 78 | { 79 | CGPoint center = self.center; 80 | center.y = centerY; 81 | self.center = center; 82 | } 83 | 84 | - (CGFloat)centerY 85 | { 86 | return self.center.y; 87 | } 88 | @end 89 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/View/KsDownFileView.h: -------------------------------------------------------------------------------- 1 | // 2 | // KsDownFileView.h 3 | // Antenna 4 | // 5 | // Created by Vieene on 2016/10/26. 6 | // Copyright © 2016年 HHLY. All rights reserved. 7 | // 8 | 9 | #import 10 | @class KsFileObjModel; 11 | 12 | @interface KsDownFileView : UIView 13 | //下载完成回调 14 | @property (nonatomic,copy) void (^downloadComplete)(KsFileObjModel *model); 15 | 16 | @property (nonatomic,strong) KsFileObjModel *model; 17 | @end 18 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/View/KsFileDepartmentView.h: -------------------------------------------------------------------------------- 1 | // 2 | // KsDepartmentView.h 3 | // Antenna 4 | // 5 | // Created by HHLY on 16/6/15. 6 | // Copyright © 2016年 HHLY. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @protocol KsDepartmentViewDelegate 12 | 13 | - (void)didScrollToIndex:(NSInteger)index; 14 | 15 | @end 16 | 17 | 18 | @interface KsFileDepartmentView : UIScrollView 19 | 20 | @property (strong, nonatomic) NSArray *departmentArr; 21 | 22 | @property (weak, nonatomic) id departmentViewDelegate; 23 | 24 | 25 | - (instancetype)initWithParts:(NSArray *)partArr; 26 | - (instancetype)initWithParts:(NSArray *)partArr withFrame:(CGRect)frame; 27 | 28 | - (void)setSelectedIndex:(NSInteger)selectedIndex; 29 | 30 | - (void)reloadData; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/View/KsFileManagerToolBar.h: -------------------------------------------------------------------------------- 1 | // 2 | // TYHInternalAssetGridToolBar.h 3 | // TaiYangHua 4 | // 5 | // Created by Lc on 16/2/17. 6 | // Copyright © 2016年 hhly. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class KsFileManagerToolBar; 12 | @class KsFileObjModel; 13 | @protocol KsInternalAssetGridToolBarDelegate 14 | 15 | @required 16 | 17 | - (void)didClickSenderButtonInAssetGridToolBar:(KsFileManagerToolBar *)internalAssetGridToolBar; 18 | 19 | @end 20 | 21 | @interface KsFileManagerToolBar : UIView 22 | 23 | 24 | /** 25 | 选中的文件 数组 26 | */ 27 | @property (strong, nonatomic) NSMutableArray * selectedItems; 28 | 29 | @property (weak, nonatomic) id delegate; 30 | 31 | @end 32 | 33 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/View/KsFileViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // FileViewCell.h 3 | // fileManage 4 | // 5 | // Created by Vieene on 2016/10/13. 6 | // Copyright © 2016年 Vieene. All rights reserved. 7 | // 8 | 9 | #import 10 | @class KsFileObjModel; 11 | @interface KsFileViewCell : UITableViewCell 12 | @property (nonatomic,strong)KsFileObjModel *model; 13 | @property (nonatomic,copy) void (^Clickblock)(KsFileObjModel *model,UIButton *btn); 14 | 15 | - (instancetype) initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier; 16 | @end 17 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/View/KsFileViewCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // FileViewCell.m 3 | // fileManage 4 | // 5 | // Created by Vieene on 2016/10/13. 6 | // Copyright © 2016年 Vieene. All rights reserved. 7 | // 8 | 9 | #import "KsFileViewCell.h" 10 | #import "Masonry.h" 11 | #import "KsFileObjModel.h" 12 | #import "UIColor+CJColorCategory.h" 13 | @interface KsFileViewCell () 14 | @property (nonatomic,strong) UIImageView *headImagV; 15 | @property (nonatomic,strong) UILabel *titleLabel; 16 | @property (nonatomic,strong) UILabel *detailLabel; 17 | @property (nonatomic,strong) UIButton *sendBtn; 18 | @end 19 | @implementation KsFileViewCell 20 | - (instancetype) initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 21 | { 22 | self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 23 | if (self) { 24 | _headImagV = [[UIImageView alloc] init]; 25 | _titleLabel = [[UILabel alloc] init]; 26 | _titleLabel.font = [UIFont systemFontOfSize:14]; 27 | _titleLabel.lineBreakMode=NSLineBreakByTruncatingMiddle; 28 | 29 | _titleLabel.numberOfLines = 1; 30 | _detailLabel = [[UILabel alloc] init]; 31 | _detailLabel.font = [UIFont systemFontOfSize:14]; 32 | _detailLabel.numberOfLines = 1; 33 | _detailLabel.lineBreakMode=NSLineBreakByTruncatingMiddle; 34 | 35 | _sendBtn = [[UIButton alloc] init]; 36 | [_sendBtn setImage:[UIImage imageNamed:@"未选-10"] forState:UIControlStateNormal]; 37 | [_sendBtn setImage:[UIImage imageNamed:@"选中-10"] forState:UIControlStateSelected]; 38 | 39 | [_sendBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 40 | [_sendBtn setTitleColor:[UIColor redColor] forState:UIControlStateSelected]; 41 | [_sendBtn addTarget:self action:@selector(clickBtn:) forControlEvents:UIControlEventTouchUpInside]; 42 | 43 | self.contentView.backgroundColor = [UIColor whiteColor]; 44 | _titleLabel.textColor = [UIColor colorWithHexString:@"333333"]; 45 | _detailLabel.textColor = [UIColor colorWithHexString:@"999999"]; 46 | [self.contentView addSubview:_headImagV]; 47 | [self.contentView addSubview:_titleLabel]; 48 | [self.contentView addSubview:_detailLabel]; 49 | [self.contentView addSubview:_sendBtn]; 50 | } 51 | return self; 52 | } 53 | - (void)setModel:(KsFileObjModel *)model 54 | { 55 | _model = model; 56 | self.headImagV.image = model.image; 57 | self.titleLabel.text = model.name; 58 | self.detailLabel.text = [model.creatTime stringByAppendingString:[NSString stringWithFormat:@" %@",model.fileSize]]; 59 | self.sendBtn.selected = model.select; 60 | 61 | } 62 | - (void)clickBtn:(UIButton *)btn 63 | { 64 | 65 | btn.selected = !btn.selected; 66 | self.model.select = btn.selected; 67 | if (_Clickblock) { 68 | _Clickblock(_model,btn); 69 | } 70 | 71 | } 72 | - (void)layoutSubviews 73 | { 74 | [super layoutSubviews]; 75 | 76 | CGFloat margin = 12; 77 | CGFloat w = 48; 78 | CGFloat h = 48; 79 | [_headImagV mas_makeConstraints:^(MASConstraintMaker *make) { 80 | make.left.equalTo(self.mas_left).offset(margin); 81 | make.centerY.equalTo(self.mas_centerY); 82 | make.size.mas_equalTo(CGSizeMake(w, h)); 83 | }]; 84 | [_titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { 85 | make.left.equalTo(self.headImagV.mas_right).offset(10); 86 | make.centerY.equalTo(self.mas_centerY).offset(-10); 87 | make.right.equalTo(self.sendBtn.mas_left).offset(-margin); 88 | }]; 89 | [_detailLabel mas_makeConstraints:^(MASConstraintMaker *make) { 90 | make.left.equalTo(self.headImagV.mas_right).offset(10); 91 | make.centerY.equalTo(self.mas_centerY).offset(10); 92 | make.right.equalTo(self.sendBtn.mas_left).offset(-margin); 93 | }]; 94 | [_sendBtn mas_makeConstraints:^(MASConstraintMaker *make) { 95 | make.right.equalTo(self.mas_right).offset(-margin); 96 | make.centerY.equalTo(self.mas_centerY); 97 | make.size.mas_equalTo(CGSizeMake(50, 50)); 98 | }]; 99 | } 100 | @end 101 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/FileSelectControler/View/KsUnOpenFileView.h: -------------------------------------------------------------------------------- 1 | // 2 | // UnOpenFileView.h 3 | // fileManage 4 | // 5 | // Created by Vieene on 2016/10/14. 6 | // Copyright © 2016年 Vieene. All rights reserved. 7 | // 8 | 9 | #import 10 | @class KsFileObjModel; 11 | @interface KsUnOpenFileView : UIView 12 | @property (nonatomic,copy) void (^Clickblock)(KsFileObjModel *model); 13 | 14 | @property (nonatomic,strong) KsFileObjModel *model; 15 | @end 16 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/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 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/MyUIViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MyUIViewController.h 3 | // FileBrowser 4 | // 5 | // Created by 谭建中 on 4/3/2019. 6 | // Copyright © 2019 Vieene. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface MyUIViewController : UIViewController 14 | 15 | @end 16 | 17 | NS_ASSUME_NONNULL_END 18 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/MyUIViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // MyUIViewController.m 3 | // FileBrowser 4 | // 5 | // Created by 谭建中 on 4/3/2019. 6 | // Copyright © 2019 Vieene. All rights reserved. 7 | // 8 | 9 | #import "MyUIViewController.h" 10 | #import "KsFileManagerVC.h" 11 | @interface MyUIViewController () 12 | 13 | @end 14 | 15 | @implementation MyUIViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | self.view.backgroundColor = [UIColor whiteColor]; 20 | } 21 | - (IBAction)inspectFileClick:(UIButton *)sender { 22 | KsFileManagerVC *vc = [[KsFileManagerVC alloc] init]; 23 | [self.navigationController pushViewController:vc animated:vc]; 24 | } 25 | 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /FileBrowser/FileBrowser/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // FileBrowser 4 | // 5 | // Created by Vieene on 2016/10/31. 6 | // Copyright © 2016年 Vieene. 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 | -------------------------------------------------------------------------------- /FileBrowser/Podfile: -------------------------------------------------------------------------------- 1 | source 'https://github.com/CocoaPods/Specs.git' 2 | 3 | platform :ios, '8.0' 4 | pod 'Masonry', '~> 0.6.3' 5 | pod 'SDWebImage', '~> 3.7.3' 6 | pod 'AFNetworking', '~> 3.0' 7 | target ’FileBrowser‘ do 8 | end 9 | -------------------------------------------------------------------------------- /FileBrowser/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 | - Masonry (0.6.4) 18 | - SDWebImage (3.7.6): 19 | - SDWebImage/Core (= 3.7.6) 20 | - SDWebImage/Core (3.7.6) 21 | 22 | DEPENDENCIES: 23 | - AFNetworking (~> 3.0) 24 | - Masonry (~> 0.6.3) 25 | - SDWebImage (~> 3.7.3) 26 | 27 | SPEC CHECKSUMS: 28 | AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67 29 | Masonry: 281802d04d787ea2973179ee8bcb50500579ede2 30 | SDWebImage: c325cf02c30337336b95beff20a13df489ec0ec9 31 | 32 | PODFILE CHECKSUM: 57dc48a99da6c91e41ae803e9b7e189b7d34344b 33 | 34 | COCOAPODS: 1.0.1 35 | -------------------------------------------------------------------------------- /FileBrowser/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 | -------------------------------------------------------------------------------- /FileBrowser/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 | -------------------------------------------------------------------------------- /FileBrowser/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 | -------------------------------------------------------------------------------- /FileBrowser/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 | -------------------------------------------------------------------------------- /FileBrowser/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 | -------------------------------------------------------------------------------- /FileBrowser/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 | -------------------------------------------------------------------------------- /FileBrowser/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 | -------------------------------------------------------------------------------- /FileBrowser/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // UIWebView+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 27 | 28 | #import 29 | 30 | NS_ASSUME_NONNULL_BEGIN 31 | 32 | @class AFHTTPSessionManager; 33 | 34 | /** 35 | This category adds methods to the UIKit framework's `UIWebView` class. The methods in this category provide increased control over the request cycle, including progress monitoring and success / failure handling. 36 | 37 | @discussion When using these category methods, make sure to assign `delegate` for the web view, which implements `–webView:shouldStartLoadWithRequest:navigationType:` appropriately. This allows for tapped links to be loaded through AFNetworking, and can ensure that `canGoBack` & `canGoForward` update their values correctly. 38 | */ 39 | @interface UIWebView (AFNetworking) 40 | 41 | /** 42 | The session manager used to download all requests. 43 | */ 44 | @property (nonatomic, strong) AFHTTPSessionManager *sessionManager; 45 | 46 | /** 47 | Asynchronously loads the specified request. 48 | 49 | @param request A URL request identifying the location of the content to load. This must not be `nil`. 50 | @param progress A progress object monitoring the current download progress. 51 | @param success A block object to be executed when the request finishes loading successfully. This block returns the HTML string to be loaded by the web view, and takes two arguments: the response, and the response string. 52 | @param failure A block object to be executed when the data task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a single argument: the error that occurred. 53 | */ 54 | - (void)loadRequest:(NSURLRequest *)request 55 | progress:(NSProgress * _Nullable __autoreleasing * _Nullable)progress 56 | success:(nullable NSString * (^)(NSHTTPURLResponse *response, NSString *HTML))success 57 | failure:(nullable void (^)(NSError *error))failure; 58 | 59 | /** 60 | Asynchronously loads the data associated with a particular request with a specified MIME type and text encoding. 61 | 62 | @param request A URL request identifying the location of the content to load. This must not be `nil`. 63 | @param MIMEType The MIME type of the content. Defaults to the content type of the response if not specified. 64 | @param textEncodingName The IANA encoding name, as in `utf-8` or `utf-16`. Defaults to the response text encoding if not specified. 65 | @param progress A progress object monitoring the current download progress. 66 | @param success A block object to be executed when the request finishes loading successfully. This block returns the data to be loaded by the web view and takes two arguments: the response, and the downloaded data. 67 | @param failure A block object to be executed when the data task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a single argument: the error that occurred. 68 | */ 69 | - (void)loadRequest:(NSURLRequest *)request 70 | MIMEType:(nullable NSString *)MIMEType 71 | textEncodingName:(nullable NSString *)textEncodingName 72 | progress:(NSProgress * _Nullable __autoreleasing * _Nullable)progress 73 | success:(nullable NSData * (^)(NSHTTPURLResponse *response, NSData *data))success 74 | failure:(nullable void (^)(NSError *error))failure; 75 | 76 | @end 77 | 78 | NS_ASSUME_NONNULL_END 79 | 80 | #endif 81 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/AFAutoPurgingImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/AFHTTPSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/AFImageDownloader.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFImageDownloader.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/AFNetworkActivityIndicatorManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/AFNetworkReachabilityManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/AFSecurityPolicy.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFSecurityPolicy.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/AFURLRequestSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/AFURLResponseSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/AFURLSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLSessionManager.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/UIButton+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/UIImage+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/UIImageView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/MASCompositeConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASCompositeConstraint.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/MASConstraint+Private.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint+Private.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/MASConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/MASConstraintMaker.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraintMaker.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASLayoutConstraint.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/MASUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASUtilities.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/MASViewAttribute.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewAttribute.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/MASViewConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewConstraint.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/Masonry.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/Masonry.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/NSArray+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASAdditions.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/NSArray+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASShorthandAdditions.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/View+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASAdditions.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/View+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASShorthandAdditions.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/Masonry/ViewController+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/ViewController+MASAdditions.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/NSData+ImageContentType.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/NSData+ImageContentType.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/SDImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDImageCache.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/SDWebImageCompat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageCompat.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/SDWebImageDecoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDecoder.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/SDWebImageDownloader.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDownloader.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/SDWebImageDownloaderOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDownloaderOperation.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/SDWebImageManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageManager.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/SDWebImageOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageOperation.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/SDWebImagePrefetcher.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImagePrefetcher.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/UIButton+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIButton+WebCache.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/UIImage+GIF.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImage+GIF.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/UIImage+MultiFormat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImage+MultiFormat.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/UIImageView+HighlightedWebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImageView+HighlightedWebCache.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/UIImageView+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImageView+WebCache.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Private/SDWebImage/UIView+WebCacheOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIView+WebCacheOperation.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/AFAutoPurgingImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/AFHTTPSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/AFImageDownloader.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFImageDownloader.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/AFNetworkActivityIndicatorManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/AFNetworkReachabilityManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/AFSecurityPolicy.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFSecurityPolicy.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/AFURLRequestSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/AFURLResponseSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/AFURLSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLSessionManager.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/UIButton+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/UIImage+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/UIImageView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/MASCompositeConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASCompositeConstraint.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/MASConstraint+Private.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint+Private.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/MASConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraint.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/MASConstraintMaker.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASConstraintMaker.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASLayoutConstraint.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/MASUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASUtilities.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/MASViewAttribute.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewAttribute.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/MASViewConstraint.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/MASViewConstraint.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/Masonry.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/Masonry.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/NSArray+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASAdditions.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/NSArray+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSArray+MASShorthandAdditions.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/View+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASAdditions.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/View+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/View+MASShorthandAdditions.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/Masonry/ViewController+MASAdditions.h: -------------------------------------------------------------------------------- 1 | ../../../Masonry/Masonry/ViewController+MASAdditions.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/NSData+ImageContentType.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/NSData+ImageContentType.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/SDImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDImageCache.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/SDWebImageCompat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageCompat.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/SDWebImageDecoder.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDecoder.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/SDWebImageDownloader.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDownloader.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/SDWebImageDownloaderOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageDownloaderOperation.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/SDWebImageManager.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageManager.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/SDWebImageOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImageOperation.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/SDWebImagePrefetcher.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/SDWebImagePrefetcher.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/UIButton+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIButton+WebCache.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/UIImage+GIF.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImage+GIF.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/UIImage+MultiFormat.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImage+MultiFormat.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/UIImageView+HighlightedWebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImageView+HighlightedWebCache.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/UIImageView+WebCache.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIImageView+WebCache.h -------------------------------------------------------------------------------- /FileBrowser/Pods/Headers/Public/SDWebImage/UIView+WebCacheOperation.h: -------------------------------------------------------------------------------- 1 | ../../../SDWebImage/SDWebImage/UIView+WebCacheOperation.h -------------------------------------------------------------------------------- /FileBrowser/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 | - Masonry (0.6.4) 18 | - SDWebImage (3.7.6): 19 | - SDWebImage/Core (= 3.7.6) 20 | - SDWebImage/Core (3.7.6) 21 | 22 | DEPENDENCIES: 23 | - AFNetworking (~> 3.0) 24 | - Masonry (~> 0.6.3) 25 | - SDWebImage (~> 3.7.3) 26 | 27 | SPEC CHECKSUMS: 28 | AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67 29 | Masonry: 281802d04d787ea2973179ee8bcb50500579ede2 30 | SDWebImage: c325cf02c30337336b95beff20a13df489ec0ec9 31 | 32 | PODFILE CHECKSUM: 57dc48a99da6c91e41ae803e9b7e189b7d34344b 33 | 34 | COCOAPODS: 1.0.1 35 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry 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. -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/MASCompositeConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASCompositeConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 21/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASConstraint.h" 10 | #import "MASUtilities.h" 11 | 12 | /** 13 | * A group of MASConstraint objects 14 | */ 15 | @interface MASCompositeConstraint : MASConstraint 16 | 17 | /** 18 | * Creates a composite with a predefined array of children 19 | * 20 | * @param children child MASConstraints 21 | * 22 | * @return a composite constraint 23 | */ 24 | - (id)initWithChildren:(NSArray *)children; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/MASConstraint+Private.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASConstraint+Private.h 3 | // Masonry 4 | // 5 | // Created by Nick Tymchenko on 29/04/14. 6 | // Copyright (c) 2014 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASConstraint.h" 10 | 11 | @protocol MASConstraintDelegate; 12 | 13 | 14 | @interface MASConstraint () 15 | 16 | /** 17 | * Whether or not to check for an existing constraint instead of adding constraint 18 | */ 19 | @property (nonatomic, assign) BOOL updateExisting; 20 | 21 | /** 22 | * Usually MASConstraintMaker but could be a parent MASConstraint 23 | */ 24 | @property (nonatomic, weak) id delegate; 25 | 26 | /** 27 | * Based on a provided value type, is equal to calling: 28 | * NSNumber - setOffset: 29 | * NSValue with CGPoint - setPointOffset: 30 | * NSValue with CGSize - setSizeOffset: 31 | * NSValue with MASEdgeInsets - setInsets: 32 | */ 33 | - (void)setLayoutConstantWithValue:(NSValue *)value; 34 | 35 | @end 36 | 37 | 38 | @interface MASConstraint (Abstract) 39 | 40 | /** 41 | * Sets the constraint relation to given NSLayoutRelation 42 | * returns a block which accepts one of the following: 43 | * MASViewAttribute, UIView, NSValue, NSArray 44 | * see readme for more details. 45 | */ 46 | - (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation; 47 | 48 | /** 49 | * Override to set a custom chaining behaviour 50 | */ 51 | - (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute; 52 | 53 | @end 54 | 55 | 56 | @protocol MASConstraintDelegate 57 | 58 | /** 59 | * Notifies the delegate when the constraint needs to be replaced with another constraint. For example 60 | * A MASViewConstraint may turn into a MASCompositeConstraint when an array is passed to one of the equality blocks 61 | */ 62 | - (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint; 63 | 64 | - (MASConstraint *)constraint:(MASConstraint *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute; 65 | 66 | @end 67 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASLayoutConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * When you are debugging or printing the constraints attached to a view this subclass 13 | * makes it easier to identify which constraints have been created via Masonry 14 | */ 15 | @interface MASLayoutConstraint : NSLayoutConstraint 16 | 17 | /** 18 | * a key to associate with this constraint 19 | */ 20 | @property (nonatomic, strong) id mas_key; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/MASLayoutConstraint.m: -------------------------------------------------------------------------------- 1 | // 2 | // MASLayoutConstraint.m 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASLayoutConstraint.h" 10 | 11 | @implementation MASLayoutConstraint 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/MASViewAttribute.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASAttribute.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 21/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * An immutable tuple which stores the view and the related NSLayoutAttribute. 13 | * Describes part of either the left or right hand side of a constraint equation 14 | */ 15 | @interface MASViewAttribute : NSObject 16 | 17 | /** 18 | * The view which the reciever relates to. Can be nil if item is not a view. 19 | */ 20 | @property (nonatomic, weak, readonly) MAS_VIEW *view; 21 | 22 | /** 23 | * The item which the reciever relates to. 24 | */ 25 | @property (nonatomic, weak, readonly) id item; 26 | 27 | /** 28 | * The attribute which the reciever relates to 29 | */ 30 | @property (nonatomic, assign, readonly) NSLayoutAttribute layoutAttribute; 31 | 32 | /** 33 | * Convenience initializer. 34 | */ 35 | - (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute; 36 | 37 | /** 38 | * The designated initializer. 39 | */ 40 | - (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute; 41 | 42 | /** 43 | * Determine whether the layoutAttribute is a size attribute 44 | * 45 | * @return YES if layoutAttribute is equal to NSLayoutAttributeWidth or NSLayoutAttributeHeight 46 | */ 47 | - (BOOL)isSizeAttribute; 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/MASViewAttribute.m: -------------------------------------------------------------------------------- 1 | // 2 | // MASAttribute.m 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 21/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASViewAttribute.h" 10 | 11 | @implementation MASViewAttribute 12 | 13 | - (id)initWithView:(MAS_VIEW *)view layoutAttribute:(NSLayoutAttribute)layoutAttribute { 14 | self = [self initWithView:view item:view layoutAttribute:layoutAttribute]; 15 | return self; 16 | } 17 | 18 | - (id)initWithView:(MAS_VIEW *)view item:(id)item layoutAttribute:(NSLayoutAttribute)layoutAttribute { 19 | self = [super init]; 20 | if (!self) return nil; 21 | 22 | _view = view; 23 | _item = item; 24 | _layoutAttribute = layoutAttribute; 25 | 26 | return self; 27 | } 28 | 29 | - (BOOL)isSizeAttribute { 30 | return self.layoutAttribute == NSLayoutAttributeWidth 31 | || self.layoutAttribute == NSLayoutAttributeHeight; 32 | } 33 | 34 | - (BOOL)isEqual:(MASViewAttribute *)viewAttribute { 35 | if ([viewAttribute isKindOfClass:self.class]) { 36 | return self.view == viewAttribute.view 37 | && self.layoutAttribute == viewAttribute.layoutAttribute; 38 | } 39 | return [super isEqual:viewAttribute]; 40 | } 41 | 42 | - (NSUInteger)hash { 43 | return MAS_NSUINTROTATE([self.view hash], MAS_NSUINT_BIT / 2) ^ self.layoutAttribute; 44 | } 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/MASViewConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 20/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASViewAttribute.h" 10 | #import "MASConstraint.h" 11 | #import "MASLayoutConstraint.h" 12 | #import "MASUtilities.h" 13 | 14 | /** 15 | * A single constraint. 16 | * Contains the attributes neccessary for creating a NSLayoutConstraint and adding it to the appropriate view 17 | */ 18 | @interface MASViewConstraint : MASConstraint 19 | 20 | /** 21 | * First item/view and first attribute of the NSLayoutConstraint 22 | */ 23 | @property (nonatomic, strong, readonly) MASViewAttribute *firstViewAttribute; 24 | 25 | /** 26 | * Second item/view and second attribute of the NSLayoutConstraint 27 | */ 28 | @property (nonatomic, strong, readonly) MASViewAttribute *secondViewAttribute; 29 | 30 | /** 31 | * initialises the MASViewConstraint with the first part of the equation 32 | * 33 | * @param firstViewAttribute view.mas_left, view.mas_width etc. 34 | * 35 | * @return a new view constraint 36 | */ 37 | - (id)initWithFirstViewAttribute:(MASViewAttribute *)firstViewAttribute; 38 | 39 | /** 40 | * Returns all MASViewConstraints installed with this view as a first item. 41 | * 42 | * @param view A view to retrieve constraints for. 43 | * 44 | * @return An array of MASViewConstraints. 45 | */ 46 | + (NSArray *)installedConstraintsForView:(MAS_VIEW *)view; 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/Masonry.h: -------------------------------------------------------------------------------- 1 | // 2 | // Masonry.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 20/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for Masonry. 12 | FOUNDATION_EXPORT double MasonryVersionNumber; 13 | 14 | //! Project version string for Masonry. 15 | FOUNDATION_EXPORT const unsigned char MasonryVersionString[]; 16 | 17 | #import "MASUtilities.h" 18 | #import "View+MASAdditions.h" 19 | #import "View+MASShorthandAdditions.h" 20 | #import "ViewController+MASAdditions.h" 21 | #import "NSArray+MASAdditions.h" 22 | #import "NSArray+MASShorthandAdditions.h" 23 | #import "MASConstraint.h" 24 | #import "MASCompositeConstraint.h" 25 | #import "MASViewAttribute.h" 26 | #import "MASViewConstraint.h" 27 | #import "MASConstraintMaker.h" 28 | #import "MASLayoutConstraint.h" 29 | #import "NSLayoutConstraint+MASDebugAdditions.h" 30 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/NSArray+MASAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+MASAdditions.h 3 | // 4 | // 5 | // Created by Daniel Hammond on 11/26/13. 6 | // 7 | // 8 | 9 | #import "MASUtilities.h" 10 | #import "MASConstraintMaker.h" 11 | #import "MASViewAttribute.h" 12 | 13 | typedef NS_ENUM(NSUInteger, MASAxisType) { 14 | MASAxisTypeHorizontal, 15 | MASAxisTypeVertical 16 | }; 17 | 18 | @interface NSArray (MASAdditions) 19 | 20 | /** 21 | * Creates a MASConstraintMaker with each view in the callee. 22 | * Any constraints defined are added to the view or the appropriate superview once the block has finished executing on each view 23 | * 24 | * @param block scope within which you can build up the constraints which you wish to apply to each view. 25 | * 26 | * @return Array of created MASConstraints 27 | */ 28 | - (NSArray *)mas_makeConstraints:(void (^)(MASConstraintMaker *make))block; 29 | 30 | /** 31 | * Creates a MASConstraintMaker with each view in the callee. 32 | * Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view. 33 | * If an existing constraint exists then it will be updated instead. 34 | * 35 | * @param block scope within which you can build up the constraints which you wish to apply to each view. 36 | * 37 | * @return Array of created/updated MASConstraints 38 | */ 39 | - (NSArray *)mas_updateConstraints:(void (^)(MASConstraintMaker *make))block; 40 | 41 | /** 42 | * Creates a MASConstraintMaker with each view in the callee. 43 | * Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view. 44 | * All constraints previously installed for the views will be removed. 45 | * 46 | * @param block scope within which you can build up the constraints which you wish to apply to each view. 47 | * 48 | * @return Array of created/updated MASConstraints 49 | */ 50 | - (NSArray *)mas_remakeConstraints:(void (^)(MASConstraintMaker *make))block; 51 | 52 | /** 53 | * distribute with fixed spacing 54 | * 55 | * @param axisType which axis to distribute items along 56 | * @param fixedSpacing the spacing between each item 57 | * @param leadSpacing the spacing before the first item and the container 58 | * @param tailSpacing the spacing after the last item and the container 59 | */ 60 | - (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CGFloat)fixedSpacing leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing; 61 | 62 | /** 63 | * distribute with fixed item size 64 | * 65 | * @param axisType which axis to distribute items along 66 | * @param fixedItemLength the fixed length of each item 67 | * @param leadSpacing the spacing before the first item and the container 68 | * @param tailSpacing the spacing after the last item and the container 69 | */ 70 | - (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing; 71 | 72 | @end 73 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/NSArray+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+MASShorthandAdditions.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 22/07/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "NSArray+MASAdditions.h" 10 | 11 | #ifdef MAS_SHORTHAND 12 | 13 | /** 14 | * Shorthand array additions without the 'mas_' prefixes, 15 | * only enabled if MAS_SHORTHAND is defined 16 | */ 17 | @interface NSArray (MASShorthandAdditions) 18 | 19 | - (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *make))block; 20 | - (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *make))block; 21 | - (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *make))block; 22 | 23 | @end 24 | 25 | @implementation NSArray (MASShorthandAdditions) 26 | 27 | - (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *))block { 28 | return [self mas_makeConstraints:block]; 29 | } 30 | 31 | - (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *))block { 32 | return [self mas_updateConstraints:block]; 33 | } 34 | 35 | - (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *))block { 36 | return [self mas_remakeConstraints:block]; 37 | } 38 | 39 | @end 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSLayoutConstraint+MASDebugAdditions.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * makes debug and log output of NSLayoutConstraints more readable 13 | */ 14 | @interface NSLayoutConstraint (MASDebugAdditions) 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/View+MASAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+MASAdditions.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 20/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | #import "MASConstraintMaker.h" 11 | #import "MASViewAttribute.h" 12 | 13 | /** 14 | * Provides constraint maker block 15 | * and convience methods for creating MASViewAttribute which are view + NSLayoutAttribute pairs 16 | */ 17 | @interface MAS_VIEW (MASAdditions) 18 | 19 | /** 20 | * following properties return a new MASViewAttribute with current view and appropriate NSLayoutAttribute 21 | */ 22 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_left; 23 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_top; 24 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_right; 25 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottom; 26 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_leading; 27 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_trailing; 28 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_width; 29 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_height; 30 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_centerX; 31 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_centerY; 32 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_baseline; 33 | @property (nonatomic, strong, readonly) MASViewAttribute *(^mas_attribute)(NSLayoutAttribute attr); 34 | 35 | #if TARGET_OS_IPHONE || TARGET_OS_TV 36 | 37 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_leftMargin; 38 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_rightMargin; 39 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topMargin; 40 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomMargin; 41 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_leadingMargin; 42 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_trailingMargin; 43 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_centerXWithinMargins; 44 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_centerYWithinMargins; 45 | 46 | #endif 47 | 48 | /** 49 | * a key to associate with this view 50 | */ 51 | @property (nonatomic, strong) id mas_key; 52 | 53 | /** 54 | * Finds the closest common superview between this view and another view 55 | * 56 | * @param view other view 57 | * 58 | * @return returns nil if common superview could not be found 59 | */ 60 | - (instancetype)mas_closestCommonSuperview:(MAS_VIEW *)view; 61 | 62 | /** 63 | * Creates a MASConstraintMaker with the callee view. 64 | * Any constraints defined are added to the view or the appropriate superview once the block has finished executing 65 | * 66 | * @param block scope within which you can build up the constraints which you wish to apply to the view. 67 | * 68 | * @return Array of created MASConstraints 69 | */ 70 | - (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block; 71 | 72 | /** 73 | * Creates a MASConstraintMaker with the callee view. 74 | * Any constraints defined are added to the view or the appropriate superview once the block has finished executing. 75 | * If an existing constraint exists then it will be updated instead. 76 | * 77 | * @param block scope within which you can build up the constraints which you wish to apply to the view. 78 | * 79 | * @return Array of created/updated MASConstraints 80 | */ 81 | - (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block; 82 | 83 | /** 84 | * Creates a MASConstraintMaker with the callee view. 85 | * Any constraints defined are added to the view or the appropriate superview once the block has finished executing. 86 | * All constraints previously installed for the view will be removed. 87 | * 88 | * @param block scope within which you can build up the constraints which you wish to apply to the view. 89 | * 90 | * @return Array of created/updated MASConstraints 91 | */ 92 | - (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block; 93 | 94 | @end 95 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/View+MASShorthandAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+MASShorthandAdditions.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 22/07/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "View+MASAdditions.h" 10 | 11 | #ifdef MAS_SHORTHAND 12 | 13 | /** 14 | * Shorthand view additions without the 'mas_' prefixes, 15 | * only enabled if MAS_SHORTHAND is defined 16 | */ 17 | @interface MAS_VIEW (MASShorthandAdditions) 18 | 19 | @property (nonatomic, strong, readonly) MASViewAttribute *left; 20 | @property (nonatomic, strong, readonly) MASViewAttribute *top; 21 | @property (nonatomic, strong, readonly) MASViewAttribute *right; 22 | @property (nonatomic, strong, readonly) MASViewAttribute *bottom; 23 | @property (nonatomic, strong, readonly) MASViewAttribute *leading; 24 | @property (nonatomic, strong, readonly) MASViewAttribute *trailing; 25 | @property (nonatomic, strong, readonly) MASViewAttribute *width; 26 | @property (nonatomic, strong, readonly) MASViewAttribute *height; 27 | @property (nonatomic, strong, readonly) MASViewAttribute *centerX; 28 | @property (nonatomic, strong, readonly) MASViewAttribute *centerY; 29 | @property (nonatomic, strong, readonly) MASViewAttribute *baseline; 30 | @property (nonatomic, strong, readonly) MASViewAttribute *(^attribute)(NSLayoutAttribute attr); 31 | 32 | #if TARGET_OS_IPHONE || TARGET_OS_TV 33 | 34 | @property (nonatomic, strong, readonly) MASViewAttribute *leftMargin; 35 | @property (nonatomic, strong, readonly) MASViewAttribute *rightMargin; 36 | @property (nonatomic, strong, readonly) MASViewAttribute *topMargin; 37 | @property (nonatomic, strong, readonly) MASViewAttribute *bottomMargin; 38 | @property (nonatomic, strong, readonly) MASViewAttribute *leadingMargin; 39 | @property (nonatomic, strong, readonly) MASViewAttribute *trailingMargin; 40 | @property (nonatomic, strong, readonly) MASViewAttribute *centerXWithinMargins; 41 | @property (nonatomic, strong, readonly) MASViewAttribute *centerYWithinMargins; 42 | 43 | #endif 44 | 45 | - (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *make))block; 46 | - (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *make))block; 47 | - (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *make))block; 48 | 49 | @end 50 | 51 | #define MAS_ATTR_FORWARD(attr) \ 52 | - (MASViewAttribute *)attr { \ 53 | return [self mas_##attr]; \ 54 | } 55 | 56 | @implementation MAS_VIEW (MASShorthandAdditions) 57 | 58 | MAS_ATTR_FORWARD(top); 59 | MAS_ATTR_FORWARD(left); 60 | MAS_ATTR_FORWARD(bottom); 61 | MAS_ATTR_FORWARD(right); 62 | MAS_ATTR_FORWARD(leading); 63 | MAS_ATTR_FORWARD(trailing); 64 | MAS_ATTR_FORWARD(width); 65 | MAS_ATTR_FORWARD(height); 66 | MAS_ATTR_FORWARD(centerX); 67 | MAS_ATTR_FORWARD(centerY); 68 | MAS_ATTR_FORWARD(baseline); 69 | 70 | #if TARGET_OS_IPHONE || TARGET_OS_TV 71 | 72 | MAS_ATTR_FORWARD(leftMargin); 73 | MAS_ATTR_FORWARD(rightMargin); 74 | MAS_ATTR_FORWARD(topMargin); 75 | MAS_ATTR_FORWARD(bottomMargin); 76 | MAS_ATTR_FORWARD(leadingMargin); 77 | MAS_ATTR_FORWARD(trailingMargin); 78 | MAS_ATTR_FORWARD(centerXWithinMargins); 79 | MAS_ATTR_FORWARD(centerYWithinMargins); 80 | 81 | #endif 82 | 83 | - (MASViewAttribute *(^)(NSLayoutAttribute))attribute { 84 | return [self mas_attribute]; 85 | } 86 | 87 | - (NSArray *)makeConstraints:(void(^)(MASConstraintMaker *))block { 88 | return [self mas_makeConstraints:block]; 89 | } 90 | 91 | - (NSArray *)updateConstraints:(void(^)(MASConstraintMaker *))block { 92 | return [self mas_updateConstraints:block]; 93 | } 94 | 95 | - (NSArray *)remakeConstraints:(void(^)(MASConstraintMaker *))block { 96 | return [self mas_remakeConstraints:block]; 97 | } 98 | 99 | @end 100 | 101 | #endif 102 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/ViewController+MASAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewController+MASAdditions.h 3 | // Masonry 4 | // 5 | // Created by Craig Siemens on 2015-06-23. 6 | // 7 | // 8 | 9 | #import "MASUtilities.h" 10 | #import "MASConstraintMaker.h" 11 | #import "MASViewAttribute.h" 12 | 13 | #ifdef MAS_VIEW_CONTROLLER 14 | 15 | @interface MAS_VIEW_CONTROLLER (MASAdditions) 16 | 17 | /** 18 | * following properties return a new MASViewAttribute with appropriate UILayoutGuide and NSLayoutAttribute 19 | */ 20 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuide; 21 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuide; 22 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuideTop; 23 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_topLayoutGuideBottom; 24 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuideTop; 25 | @property (nonatomic, strong, readonly) MASViewAttribute *mas_bottomLayoutGuideBottom; 26 | 27 | 28 | @end 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Masonry/Masonry/ViewController+MASAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIViewController+MASAdditions.m 3 | // Masonry 4 | // 5 | // Created by Craig Siemens on 2015-06-23. 6 | // 7 | // 8 | 9 | #import "ViewController+MASAdditions.h" 10 | 11 | #ifdef MAS_VIEW_CONTROLLER 12 | 13 | @implementation MAS_VIEW_CONTROLLER (MASAdditions) 14 | 15 | - (MASViewAttribute *)mas_topLayoutGuide { 16 | return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeBottom]; 17 | } 18 | - (MASViewAttribute *)mas_topLayoutGuideTop { 19 | return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeTop]; 20 | } 21 | - (MASViewAttribute *)mas_topLayoutGuideBottom { 22 | return [[MASViewAttribute alloc] initWithView:self.view item:self.topLayoutGuide layoutAttribute:NSLayoutAttributeBottom]; 23 | } 24 | 25 | - (MASViewAttribute *)mas_bottomLayoutGuide { 26 | return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeTop]; 27 | } 28 | - (MASViewAttribute *)mas_bottomLayoutGuideTop { 29 | return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeTop]; 30 | } 31 | - (MASViewAttribute *)mas_bottomLayoutGuideBottom { 32 | return [[MASViewAttribute alloc] initWithView:self.view item:self.bottomLayoutGuide layoutAttribute:NSLayoutAttributeBottom]; 33 | } 34 | 35 | 36 | 37 | @end 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016 Olivier Poitrey rs@dailymotion.com 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 furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | 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 | 21 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/SDWebImage/NSData+ImageContentType.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Fabrice Aneche on 06/01/14. 3 | // Copyright (c) 2014 Dailymotion. All rights reserved. 4 | // 5 | 6 | #import 7 | 8 | @interface NSData (ImageContentType) 9 | 10 | /** 11 | * Compute the content type for an image data 12 | * 13 | * @param data the input data 14 | * 15 | * @return the content type as string (i.e. image/jpeg, image/gif) 16 | */ 17 | + (NSString *)sd_contentTypeForImageData:(NSData *)data; 18 | 19 | @end 20 | 21 | 22 | @interface NSData (ImageContentTypeDeprecated) 23 | 24 | + (NSString *)contentTypeForImageData:(NSData *)data __deprecated_msg("Use `sd_contentTypeForImageData:`"); 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/SDWebImage/NSData+ImageContentType.m: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Fabrice Aneche on 06/01/14. 3 | // Copyright (c) 2014 Dailymotion. All rights reserved. 4 | // 5 | 6 | #import "NSData+ImageContentType.h" 7 | 8 | 9 | @implementation NSData (ImageContentType) 10 | 11 | + (NSString *)sd_contentTypeForImageData:(NSData *)data { 12 | uint8_t c; 13 | [data getBytes:&c length:1]; 14 | switch (c) { 15 | case 0xFF: 16 | return @"image/jpeg"; 17 | case 0x89: 18 | return @"image/png"; 19 | case 0x47: 20 | return @"image/gif"; 21 | case 0x49: 22 | case 0x4D: 23 | return @"image/tiff"; 24 | case 0x52: 25 | // R as RIFF for WEBP 26 | if ([data length] < 12) { 27 | return nil; 28 | } 29 | 30 | NSString *testString = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(0, 12)] encoding:NSASCIIStringEncoding]; 31 | if ([testString hasPrefix:@"RIFF"] && [testString hasSuffix:@"WEBP"]) { 32 | return @"image/webp"; 33 | } 34 | 35 | return nil; 36 | } 37 | return nil; 38 | } 39 | 40 | @end 41 | 42 | 43 | @implementation NSData (ImageContentTypeDeprecated) 44 | 45 | + (NSString *)contentTypeForImageData:(NSData *)data { 46 | return [self sd_contentTypeForImageData:data]; 47 | } 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/SDWebImage/SDWebImageCompat.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * (c) Jamie Pinkham 5 | * 6 | * For the full copyright and license information, please view the LICENSE 7 | * file that was distributed with this source code. 8 | */ 9 | 10 | #import 11 | 12 | #ifdef __OBJC_GC__ 13 | #error SDWebImage does not support Objective-C Garbage Collection 14 | #endif 15 | 16 | #if __IPHONE_OS_VERSION_MIN_REQUIRED != 20000 && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0 17 | #error SDWebImage doesn't support Deployment Target version < 5.0 18 | #endif 19 | 20 | #if !TARGET_OS_IPHONE 21 | #import 22 | #ifndef UIImage 23 | #define UIImage NSImage 24 | #endif 25 | #ifndef UIImageView 26 | #define UIImageView NSImageView 27 | #endif 28 | #else 29 | 30 | #import 31 | 32 | #endif 33 | 34 | #ifndef NS_ENUM 35 | #define NS_ENUM(_type, _name) enum _name : _type _name; enum _name : _type 36 | #endif 37 | 38 | #ifndef NS_OPTIONS 39 | #define NS_OPTIONS(_type, _name) enum _name : _type _name; enum _name : _type 40 | #endif 41 | 42 | #if OS_OBJECT_USE_OBJC 43 | #undef SDDispatchQueueRelease 44 | #undef SDDispatchQueueSetterSementics 45 | #define SDDispatchQueueRelease(q) 46 | #define SDDispatchQueueSetterSementics strong 47 | #else 48 | #undef SDDispatchQueueRelease 49 | #undef SDDispatchQueueSetterSementics 50 | #define SDDispatchQueueRelease(q) (dispatch_release(q)) 51 | #define SDDispatchQueueSetterSementics assign 52 | #endif 53 | 54 | extern UIImage *SDScaledImageForKey(NSString *key, UIImage *image); 55 | 56 | typedef void(^SDWebImageNoParamsBlock)(void); 57 | 58 | extern NSString *const SDWebImageErrorDomain; 59 | 60 | #define dispatch_main_sync_safe(block)\ 61 | if ([NSThread isMainThread]) {\ 62 | block();\ 63 | } else {\ 64 | dispatch_sync(dispatch_get_main_queue(), block);\ 65 | } 66 | 67 | #define dispatch_main_async_safe(block)\ 68 | if ([NSThread isMainThread]) {\ 69 | block();\ 70 | } else {\ 71 | dispatch_async(dispatch_get_main_queue(), block);\ 72 | } 73 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/SDWebImage/SDWebImageCompat.m: -------------------------------------------------------------------------------- 1 | // 2 | // SDWebImageCompat.m 3 | // SDWebImage 4 | // 5 | // Created by Olivier Poitrey on 11/12/12. 6 | // Copyright (c) 2012 Dailymotion. All rights reserved. 7 | // 8 | 9 | #import "SDWebImageCompat.h" 10 | 11 | #if !__has_feature(objc_arc) 12 | #error SDWebImage is ARC only. Either turn on ARC for the project or use -fobjc-arc flag 13 | #endif 14 | 15 | inline UIImage *SDScaledImageForKey(NSString *key, UIImage *image) { 16 | if (!image) { 17 | return nil; 18 | } 19 | 20 | if ([image.images count] > 0) { 21 | NSMutableArray *scaledImages = [NSMutableArray array]; 22 | 23 | for (UIImage *tempImage in image.images) { 24 | [scaledImages addObject:SDScaledImageForKey(key, tempImage)]; 25 | } 26 | 27 | return [UIImage animatedImageWithImages:scaledImages duration:image.duration]; 28 | } 29 | else { 30 | if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) { 31 | CGFloat scale = 1; 32 | if (key.length >= 8) { 33 | NSRange range = [key rangeOfString:@"@2x."]; 34 | if (range.location != NSNotFound) { 35 | scale = 2.0; 36 | } 37 | 38 | range = [key rangeOfString:@"@3x."]; 39 | if (range.location != NSNotFound) { 40 | scale = 3.0; 41 | } 42 | } 43 | 44 | UIImage *scaledImage = [[UIImage alloc] initWithCGImage:image.CGImage scale:scale orientation:image.imageOrientation]; 45 | image = scaledImage; 46 | } 47 | return image; 48 | } 49 | } 50 | 51 | NSString *const SDWebImageErrorDomain = @"SDWebImageErrorDomain"; 52 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/SDWebImage/SDWebImageDecoder.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * Created by james on 9/28/11. 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | #import 12 | #import "SDWebImageCompat.h" 13 | 14 | @interface UIImage (ForceDecode) 15 | 16 | + (UIImage *)decodedImageWithImage:(UIImage *)image; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/SDWebImage/SDWebImageDecoder.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * Created by james on 9/28/11. 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | #import "SDWebImageDecoder.h" 12 | 13 | @implementation UIImage (ForceDecode) 14 | 15 | + (UIImage *)decodedImageWithImage:(UIImage *)image { 16 | // while downloading huge amount of images 17 | // autorelease the bitmap context 18 | // and all vars to help system to free memory 19 | // when there are memory warning. 20 | // on iOS7, do not forget to call 21 | // [[SDImageCache sharedImageCache] clearMemory]; 22 | 23 | if (image == nil) { // Prevent "CGBitmapContextCreateImage: invalid context 0x0" error 24 | return nil; 25 | } 26 | 27 | @autoreleasepool{ 28 | // do not decode animated images 29 | if (image.images != nil) { 30 | return image; 31 | } 32 | 33 | CGImageRef imageRef = image.CGImage; 34 | 35 | CGImageAlphaInfo alpha = CGImageGetAlphaInfo(imageRef); 36 | BOOL anyAlpha = (alpha == kCGImageAlphaFirst || 37 | alpha == kCGImageAlphaLast || 38 | alpha == kCGImageAlphaPremultipliedFirst || 39 | alpha == kCGImageAlphaPremultipliedLast); 40 | if (anyAlpha) { 41 | return image; 42 | } 43 | 44 | // current 45 | CGColorSpaceModel imageColorSpaceModel = CGColorSpaceGetModel(CGImageGetColorSpace(imageRef)); 46 | CGColorSpaceRef colorspaceRef = CGImageGetColorSpace(imageRef); 47 | 48 | BOOL unsupportedColorSpace = (imageColorSpaceModel == kCGColorSpaceModelUnknown || 49 | imageColorSpaceModel == kCGColorSpaceModelMonochrome || 50 | imageColorSpaceModel == kCGColorSpaceModelCMYK || 51 | imageColorSpaceModel == kCGColorSpaceModelIndexed); 52 | if (unsupportedColorSpace) { 53 | colorspaceRef = CGColorSpaceCreateDeviceRGB(); 54 | } 55 | 56 | size_t width = CGImageGetWidth(imageRef); 57 | size_t height = CGImageGetHeight(imageRef); 58 | NSUInteger bytesPerPixel = 4; 59 | NSUInteger bytesPerRow = bytesPerPixel * width; 60 | NSUInteger bitsPerComponent = 8; 61 | 62 | 63 | // kCGImageAlphaNone is not supported in CGBitmapContextCreate. 64 | // Since the original image here has no alpha info, use kCGImageAlphaNoneSkipLast 65 | // to create bitmap graphics contexts without alpha info. 66 | CGContextRef context = CGBitmapContextCreate(NULL, 67 | width, 68 | height, 69 | bitsPerComponent, 70 | bytesPerRow, 71 | colorspaceRef, 72 | kCGBitmapByteOrderDefault|kCGImageAlphaNoneSkipLast); 73 | 74 | // Draw the image into the context and retrieve the new bitmap image without alpha 75 | CGContextDrawImage(context, CGRectMake(0, 0, width, height), imageRef); 76 | CGImageRef imageRefWithoutAlpha = CGBitmapContextCreateImage(context); 77 | UIImage *imageWithoutAlpha = [UIImage imageWithCGImage:imageRefWithoutAlpha 78 | scale:image.scale 79 | orientation:image.imageOrientation]; 80 | 81 | if (unsupportedColorSpace) { 82 | CGColorSpaceRelease(colorspaceRef); 83 | } 84 | 85 | CGContextRelease(context); 86 | CGImageRelease(imageRefWithoutAlpha); 87 | 88 | return imageWithoutAlpha; 89 | } 90 | } 91 | 92 | @end 93 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/SDWebImage/SDWebImageDownloaderOperation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | #import "SDWebImageDownloader.h" 11 | #import "SDWebImageOperation.h" 12 | 13 | extern NSString *const SDWebImageDownloadStartNotification; 14 | extern NSString *const SDWebImageDownloadReceiveResponseNotification; 15 | extern NSString *const SDWebImageDownloadStopNotification; 16 | extern NSString *const SDWebImageDownloadFinishNotification; 17 | 18 | @interface SDWebImageDownloaderOperation : NSOperation 19 | 20 | /** 21 | * The request used by the operation's connection. 22 | */ 23 | @property (strong, nonatomic, readonly) NSURLRequest *request; 24 | 25 | 26 | @property (assign, nonatomic) BOOL shouldDecompressImages; 27 | 28 | /** 29 | * Whether the URL connection should consult the credential storage for authenticating the connection. `YES` by default. 30 | * 31 | * This is the value that is returned in the `NSURLConnectionDelegate` method `-connectionShouldUseCredentialStorage:`. 32 | */ 33 | @property (nonatomic, assign) BOOL shouldUseCredentialStorage; 34 | 35 | /** 36 | * The credential used for authentication challenges in `-connection:didReceiveAuthenticationChallenge:`. 37 | * 38 | * This will be overridden by any shared credentials that exist for the username or password of the request URL, if present. 39 | */ 40 | @property (nonatomic, strong) NSURLCredential *credential; 41 | 42 | /** 43 | * The SDWebImageDownloaderOptions for the receiver. 44 | */ 45 | @property (assign, nonatomic, readonly) SDWebImageDownloaderOptions options; 46 | 47 | /** 48 | * The expected size of data. 49 | */ 50 | @property (assign, nonatomic) NSInteger expectedSize; 51 | 52 | /** 53 | * The response returned by the operation's connection. 54 | */ 55 | @property (strong, nonatomic) NSURLResponse *response; 56 | 57 | /** 58 | * Initializes a `SDWebImageDownloaderOperation` object 59 | * 60 | * @see SDWebImageDownloaderOperation 61 | * 62 | * @param request the URL request 63 | * @param options downloader options 64 | * @param progressBlock the block executed when a new chunk of data arrives. 65 | * @note the progress block is executed on a background queue 66 | * @param completedBlock the block executed when the download is done. 67 | * @note the completed block is executed on the main queue for success. If errors are found, there is a chance the block will be executed on a background queue 68 | * @param cancelBlock the block executed if the download (operation) is cancelled 69 | * 70 | * @return the initialized instance 71 | */ 72 | - (id)initWithRequest:(NSURLRequest *)request 73 | options:(SDWebImageDownloaderOptions)options 74 | progress:(SDWebImageDownloaderProgressBlock)progressBlock 75 | completed:(SDWebImageDownloaderCompletedBlock)completedBlock 76 | cancelled:(SDWebImageNoParamsBlock)cancelBlock; 77 | 78 | @end 79 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/SDWebImage/SDWebImageOperation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | 11 | @protocol SDWebImageOperation 12 | 13 | - (void)cancel; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/SDWebImage/SDWebImagePrefetcher.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | #import "SDWebImageManager.h" 11 | 12 | @class SDWebImagePrefetcher; 13 | 14 | @protocol SDWebImagePrefetcherDelegate 15 | 16 | @optional 17 | 18 | /** 19 | * Called when an image was prefetched. 20 | * 21 | * @param imagePrefetcher The current image prefetcher 22 | * @param imageURL The image url that was prefetched 23 | * @param finishedCount The total number of images that were prefetched (successful or not) 24 | * @param totalCount The total number of images that were to be prefetched 25 | */ 26 | - (void)imagePrefetcher:(SDWebImagePrefetcher *)imagePrefetcher didPrefetchURL:(NSURL *)imageURL finishedCount:(NSUInteger)finishedCount totalCount:(NSUInteger)totalCount; 27 | 28 | /** 29 | * Called when all images are prefetched. 30 | * @param imagePrefetcher The current image prefetcher 31 | * @param totalCount The total number of images that were prefetched (whether successful or not) 32 | * @param skippedCount The total number of images that were skipped 33 | */ 34 | - (void)imagePrefetcher:(SDWebImagePrefetcher *)imagePrefetcher didFinishWithTotalCount:(NSUInteger)totalCount skippedCount:(NSUInteger)skippedCount; 35 | 36 | @end 37 | 38 | typedef void(^SDWebImagePrefetcherProgressBlock)(NSUInteger noOfFinishedUrls, NSUInteger noOfTotalUrls); 39 | typedef void(^SDWebImagePrefetcherCompletionBlock)(NSUInteger noOfFinishedUrls, NSUInteger noOfSkippedUrls); 40 | 41 | /** 42 | * Prefetch some URLs in the cache for future use. Images are downloaded in low priority. 43 | */ 44 | @interface SDWebImagePrefetcher : NSObject 45 | 46 | /** 47 | * The web image manager 48 | */ 49 | @property (strong, nonatomic, readonly) SDWebImageManager *manager; 50 | 51 | /** 52 | * Maximum number of URLs to prefetch at the same time. Defaults to 3. 53 | */ 54 | @property (nonatomic, assign) NSUInteger maxConcurrentDownloads; 55 | 56 | /** 57 | * SDWebImageOptions for prefetcher. Defaults to SDWebImageLowPriority. 58 | */ 59 | @property (nonatomic, assign) SDWebImageOptions options; 60 | 61 | /** 62 | * Queue options for Prefetcher. Defaults to Main Queue. 63 | */ 64 | @property (nonatomic, assign) dispatch_queue_t prefetcherQueue; 65 | 66 | @property (weak, nonatomic) id delegate; 67 | 68 | /** 69 | * Return the global image prefetcher instance. 70 | */ 71 | + (SDWebImagePrefetcher *)sharedImagePrefetcher; 72 | 73 | /** 74 | * Allows you to instantiate a prefetcher with any arbitrary image manager. 75 | */ 76 | - (id)initWithImageManager:(SDWebImageManager *)manager; 77 | 78 | /** 79 | * Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, 80 | * currently one image is downloaded at a time, 81 | * and skips images for failed downloads and proceed to the next image in the list 82 | * 83 | * @param urls list of URLs to prefetch 84 | */ 85 | - (void)prefetchURLs:(NSArray *)urls; 86 | 87 | /** 88 | * Assign list of URLs to let SDWebImagePrefetcher to queue the prefetching, 89 | * currently one image is downloaded at a time, 90 | * and skips images for failed downloads and proceed to the next image in the list 91 | * 92 | * @param urls list of URLs to prefetch 93 | * @param progressBlock block to be called when progress updates; 94 | * first parameter is the number of completed (successful or not) requests, 95 | * second parameter is the total number of images originally requested to be prefetched 96 | * @param completionBlock block to be called when prefetching is completed 97 | * first param is the number of completed (successful or not) requests, 98 | * second parameter is the number of skipped requests 99 | */ 100 | - (void)prefetchURLs:(NSArray *)urls progress:(SDWebImagePrefetcherProgressBlock)progressBlock completed:(SDWebImagePrefetcherCompletionBlock)completionBlock; 101 | 102 | /** 103 | * Remove and cancel queued list 104 | */ 105 | - (void)cancelPrefetching; 106 | 107 | 108 | @end 109 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/SDWebImage/UIImage+GIF.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+GIF.h 3 | // LBGIFImage 4 | // 5 | // Created by Laurin Brandner on 06.01.12. 6 | // Copyright (c) 2012 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIImage (GIF) 12 | 13 | + (UIImage *)sd_animatedGIFNamed:(NSString *)name; 14 | 15 | + (UIImage *)sd_animatedGIFWithData:(NSData *)data; 16 | 17 | - (UIImage *)sd_animatedImageByScalingAndCroppingToSize:(CGSize)size; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/SDWebImage/UIImage+MultiFormat.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+MultiFormat.h 3 | // SDWebImage 4 | // 5 | // Created by Olivier Poitrey on 07/06/13. 6 | // Copyright (c) 2013 Dailymotion. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIImage (MultiFormat) 12 | 13 | + (UIImage *)sd_imageWithData:(NSData *)data; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/SDWebImage/UIImage+MultiFormat.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+MultiFormat.m 3 | // SDWebImage 4 | // 5 | // Created by Olivier Poitrey on 07/06/13. 6 | // Copyright (c) 2013 Dailymotion. All rights reserved. 7 | // 8 | 9 | #import "UIImage+MultiFormat.h" 10 | #import "UIImage+GIF.h" 11 | #import "NSData+ImageContentType.h" 12 | #import 13 | 14 | #ifdef SD_WEBP 15 | #import "UIImage+WebP.h" 16 | #endif 17 | 18 | @implementation UIImage (MultiFormat) 19 | 20 | + (UIImage *)sd_imageWithData:(NSData *)data { 21 | if (!data) { 22 | return nil; 23 | } 24 | 25 | UIImage *image; 26 | NSString *imageContentType = [NSData sd_contentTypeForImageData:data]; 27 | if ([imageContentType isEqualToString:@"image/gif"]) { 28 | image = [UIImage sd_animatedGIFWithData:data]; 29 | } 30 | #ifdef SD_WEBP 31 | else if ([imageContentType isEqualToString:@"image/webp"]) 32 | { 33 | image = [UIImage sd_imageWithWebPData:data]; 34 | } 35 | #endif 36 | else { 37 | image = [[UIImage alloc] initWithData:data]; 38 | UIImageOrientation orientation = [self sd_imageOrientationFromImageData:data]; 39 | if (orientation != UIImageOrientationUp) { 40 | image = [UIImage imageWithCGImage:image.CGImage 41 | scale:image.scale 42 | orientation:orientation]; 43 | } 44 | } 45 | 46 | 47 | return image; 48 | } 49 | 50 | 51 | +(UIImageOrientation)sd_imageOrientationFromImageData:(NSData *)imageData { 52 | UIImageOrientation result = UIImageOrientationUp; 53 | CGImageSourceRef imageSource = CGImageSourceCreateWithData((__bridge CFDataRef)imageData, NULL); 54 | if (imageSource) { 55 | CFDictionaryRef properties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, NULL); 56 | if (properties) { 57 | CFTypeRef val; 58 | int exifOrientation; 59 | val = CFDictionaryGetValue(properties, kCGImagePropertyOrientation); 60 | if (val) { 61 | CFNumberGetValue(val, kCFNumberIntType, &exifOrientation); 62 | result = [self sd_exifOrientationToiOSOrientation:exifOrientation]; 63 | } // else - if it's not set it remains at up 64 | CFRelease((CFTypeRef) properties); 65 | } else { 66 | //NSLog(@"NO PROPERTIES, FAIL"); 67 | } 68 | CFRelease(imageSource); 69 | } 70 | return result; 71 | } 72 | 73 | #pragma mark EXIF orientation tag converter 74 | // Convert an EXIF image orientation to an iOS one. 75 | // reference see here: http://sylvana.net/jpegcrop/exif_orientation.html 76 | + (UIImageOrientation) sd_exifOrientationToiOSOrientation:(int)exifOrientation { 77 | UIImageOrientation orientation = UIImageOrientationUp; 78 | switch (exifOrientation) { 79 | case 1: 80 | orientation = UIImageOrientationUp; 81 | break; 82 | 83 | case 3: 84 | orientation = UIImageOrientationDown; 85 | break; 86 | 87 | case 8: 88 | orientation = UIImageOrientationLeft; 89 | break; 90 | 91 | case 6: 92 | orientation = UIImageOrientationRight; 93 | break; 94 | 95 | case 2: 96 | orientation = UIImageOrientationUpMirrored; 97 | break; 98 | 99 | case 4: 100 | orientation = UIImageOrientationDownMirrored; 101 | break; 102 | 103 | case 5: 104 | orientation = UIImageOrientationLeftMirrored; 105 | break; 106 | 107 | case 7: 108 | orientation = UIImageOrientationRightMirrored; 109 | break; 110 | default: 111 | break; 112 | } 113 | return orientation; 114 | } 115 | 116 | 117 | 118 | @end 119 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/SDWebImage/UIView+WebCacheOperation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | #import "SDWebImageManager.h" 11 | 12 | @interface UIView (WebCacheOperation) 13 | 14 | /** 15 | * Set the image load operation (storage in a UIView based dictionary) 16 | * 17 | * @param operation the operation 18 | * @param key key for storing the operation 19 | */ 20 | - (void)sd_setImageLoadOperation:(id)operation forKey:(NSString *)key; 21 | 22 | /** 23 | * Cancel all operations for the current UIView and key 24 | * 25 | * @param key key for identifying the operations 26 | */ 27 | - (void)sd_cancelImageLoadOperationWithKey:(NSString *)key; 28 | 29 | /** 30 | * Just remove the operations corresponding to the current UIView and key without cancelling them 31 | * 32 | * @param key key for identifying the operations 33 | */ 34 | - (void)sd_removeImageLoadOperationWithKey:(NSString *)key; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /FileBrowser/Pods/SDWebImage/SDWebImage/UIView+WebCacheOperation.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "UIView+WebCacheOperation.h" 10 | #import "objc/runtime.h" 11 | 12 | static char loadOperationKey; 13 | 14 | @implementation UIView (WebCacheOperation) 15 | 16 | - (NSMutableDictionary *)operationDictionary { 17 | NSMutableDictionary *operations = objc_getAssociatedObject(self, &loadOperationKey); 18 | if (operations) { 19 | return operations; 20 | } 21 | operations = [NSMutableDictionary dictionary]; 22 | objc_setAssociatedObject(self, &loadOperationKey, operations, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 23 | return operations; 24 | } 25 | 26 | - (void)sd_setImageLoadOperation:(id)operation forKey:(NSString *)key { 27 | [self sd_cancelImageLoadOperationWithKey:key]; 28 | NSMutableDictionary *operationDictionary = [self operationDictionary]; 29 | [operationDictionary setObject:operation forKey:key]; 30 | } 31 | 32 | - (void)sd_cancelImageLoadOperationWithKey:(NSString *)key { 33 | // Cancel in progress downloader from queue 34 | NSMutableDictionary *operationDictionary = [self operationDictionary]; 35 | id operations = [operationDictionary objectForKey:key]; 36 | if (operations) { 37 | if ([operations isKindOfClass:[NSArray class]]) { 38 | for (id operation in operations) { 39 | if (operation) { 40 | [operation cancel]; 41 | } 42 | } 43 | } else if ([operations conformsToProtocol:@protocol(SDWebImageOperation)]){ 44 | [(id) operations cancel]; 45 | } 46 | [operationDictionary removeObjectForKey:key]; 47 | } 48 | } 49 | 50 | - (void)sd_removeImageLoadOperationWithKey:(NSString *)key { 51 | NSMutableDictionary *operationDictionary = [self operationDictionary]; 52 | [operationDictionary removeObjectForKey:key]; 53 | } 54 | 55 | @end 56 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Target Support Files/AFNetworking/AFNetworking-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_AFNetworking : NSObject 3 | @end 4 | @implementation PodsDummy_AFNetworking 5 | @end 6 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | #ifndef TARGET_OS_IOS 6 | #define TARGET_OS_IOS TARGET_OS_IPHONE 7 | #endif 8 | 9 | #ifndef TARGET_OS_WATCH 10 | #define TARGET_OS_WATCH 0 11 | #endif 12 | 13 | #ifndef TARGET_OS_TV 14 | #define TARGET_OS_TV 0 15 | #endif 16 | -------------------------------------------------------------------------------- /FileBrowser/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/Masonry" "${PODS_ROOT}/Headers/Public/SDWebImage" 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 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Target Support Files/Masonry/Masonry-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Masonry : NSObject 3 | @end 4 | @implementation PodsDummy_Masonry 5 | @end 6 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Target Support Files/Masonry/Masonry-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Target Support Files/Masonry/Masonry.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Masonry 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Masonry" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/SDWebImage" 4 | OTHER_LDFLAGS = -framework "Foundation" -framework "UIKit" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Target Support Files/Pods-FileBrowser/Pods-FileBrowser-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## AFNetworking 5 | 6 | Copyright (c) 2011–2016 Alamofire Software Foundation (http://alamofire.org/) 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | 26 | 27 | ## Masonry 28 | 29 | Copyright (c) 2011-2012 Masonry Team - https://github.com/Masonry 30 | 31 | Permission is hereby granted, free of charge, to any person obtaining a copy 32 | of this software and associated documentation files (the "Software"), to deal 33 | in the Software without restriction, including without limitation the rights 34 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 35 | copies of the Software, and to permit persons to whom the Software is 36 | furnished to do so, subject to the following conditions: 37 | 38 | The above copyright notice and this permission notice shall be included in 39 | all copies or substantial portions of the Software. 40 | 41 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 42 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 43 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 44 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 45 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 46 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 47 | THE SOFTWARE. 48 | 49 | ## SDWebImage 50 | 51 | Copyright (c) 2016 Olivier Poitrey rs@dailymotion.com 52 | 53 | Permission is hereby granted, free of charge, to any person obtaining a copy 54 | of this software and associated documentation files (the "Software"), to deal 55 | in the Software without restriction, including without limitation the rights 56 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 57 | copies of the Software, and to permit persons to whom the Software is furnished 58 | to do so, subject to the following conditions: 59 | 60 | The above copyright notice and this permission notice shall be included in all 61 | copies or substantial portions of the Software. 62 | 63 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 64 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 65 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 66 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 67 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 68 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 69 | THE SOFTWARE. 70 | 71 | 72 | Generated by CocoaPods - https://cocoapods.org 73 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Target Support Files/Pods-FileBrowser/Pods-FileBrowser-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_FileBrowser : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_FileBrowser 5 | @end 6 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Target Support Files/Pods-FileBrowser/Pods-FileBrowser-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | install_framework() 10 | { 11 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 12 | local source="${BUILT_PRODUCTS_DIR}/$1" 13 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 14 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 15 | elif [ -r "$1" ]; then 16 | local source="$1" 17 | fi 18 | 19 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 20 | 21 | if [ -L "${source}" ]; then 22 | echo "Symlinked..." 23 | source="$(readlink "${source}")" 24 | fi 25 | 26 | # use filter instead of exclude so missing patterns dont' throw errors 27 | echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 28 | rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 29 | 30 | local basename 31 | basename="$(basename -s .framework "$1")" 32 | binary="${destination}/${basename}.framework/${basename}" 33 | if ! [ -r "$binary" ]; then 34 | binary="${destination}/${basename}" 35 | fi 36 | 37 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 38 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 39 | strip_invalid_archs "$binary" 40 | fi 41 | 42 | # Resign the code if required by the build settings to avoid unstable apps 43 | code_sign_if_enabled "${destination}/$(basename "$1")" 44 | 45 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 46 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 47 | local swift_runtime_libs 48 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 49 | for lib in $swift_runtime_libs; do 50 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 51 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 52 | code_sign_if_enabled "${destination}/${lib}" 53 | done 54 | fi 55 | } 56 | 57 | # Signs a framework with the provided identity 58 | code_sign_if_enabled() { 59 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 60 | # Use the current code_sign_identitiy 61 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 62 | echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" 63 | /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" 64 | fi 65 | } 66 | 67 | # Strip invalid architectures 68 | strip_invalid_archs() { 69 | binary="$1" 70 | # Get architectures for current file 71 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 72 | stripped="" 73 | for arch in $archs; do 74 | if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then 75 | # Strip non-valid architectures in-place 76 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 77 | stripped="$stripped $arch" 78 | fi 79 | done 80 | if [[ "$stripped" ]]; then 81 | echo "Stripped $binary of architectures:$stripped" 82 | fi 83 | } 84 | 85 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Target Support Files/Pods-FileBrowser/Pods-FileBrowser.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/SDWebImage" 3 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/Masonry" "$PODS_CONFIGURATION_BUILD_DIR/SDWebImage" 4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" 5 | OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"Masonry" -l"SDWebImage" -framework "CoreGraphics" -framework "Foundation" -framework "ImageIO" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Target Support Files/Pods-FileBrowser/Pods-FileBrowser.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/SDWebImage" 3 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/Masonry" "$PODS_CONFIGURATION_BUILD_DIR/SDWebImage" 4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" 5 | OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"Masonry" -l"SDWebImage" -framework "CoreGraphics" -framework "Foundation" -framework "ImageIO" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Target Support Files/SDWebImage/SDWebImage-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_SDWebImage : NSObject 3 | @end 4 | @implementation PodsDummy_SDWebImage 5 | @end 6 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Target Support Files/SDWebImage/SDWebImage-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /FileBrowser/Pods/Target Support Files/SDWebImage/SDWebImage.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/SDWebImage 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SDWebImage" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/SDWebImage" 4 | OTHER_LDFLAGS = -framework "ImageIO" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # FileManager 2 | iOS文件沙盒文件浏览器 , 3 | 特点:1、支持系统文件预览和第三方软件打开文件(真机运行才有第三方打开功能)。 4 | 2、使用流下载传输,支持断点下载功能(需要URL)。 5 | 6 | 效果请看下图: 7 | 8 | ![gif](image/预览图片2.gif) 9 | ![预览图0](image/0.png) 10 | ![预览图1](image/1.png) 11 | 12 | ![预览图2](image/2.png) 13 | 14 | ![预览图3](image/3.png) 15 | 16 | ![预览图4](image/4.png) 17 | 18 | ![预览图5](image/5.PNG) 19 | 20 | ![预览图6](image/6.png) 21 | -------------------------------------------------------------------------------- /image/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/image/0.png -------------------------------------------------------------------------------- /image/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/image/1.png -------------------------------------------------------------------------------- /image/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/image/2.png -------------------------------------------------------------------------------- /image/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/image/3.png -------------------------------------------------------------------------------- /image/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/image/4.png -------------------------------------------------------------------------------- /image/5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/image/5.PNG -------------------------------------------------------------------------------- /image/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/image/6.png -------------------------------------------------------------------------------- /image/预览图片2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kssss/FileManager/6e705dce61d646a5f98cacf5bb01e506167f3d96/image/预览图片2.gif --------------------------------------------------------------------------------