创建目录
#define kTempFolder [NSHomeDirectory() stringByAppendingPathComponent:@"tmp"]
NSString *irdDir = [kTempFolder stringByAppendingPathComponent: FTP_IRD_ROOT];
if (![fileManager fileExistsAtPath:irdDir]) {
BOOL resIrd = [fileManager createDirectoryAtPath:irdDir withIntermediateDirectories:YES attributes:nil error:nil];
if (resIrd) {
NSLog(@"创建目录() - 成功");
} else {
NSLog(@"创建目录() - 失败");
}
}
测试网络连接
+ (BOOL) isConnected {
// Create zero addy
struct sockaddr_in zeroAddress;
bzero(&zeroAddress, sizeof(zeroAddress));
zeroAddress.sin_len = sizeof(zeroAddress);
zeroAddress.sin_family = AF_INET;
// Recover reachability flags
SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);
SCNetworkReachabilityFlags flags;
BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
CFRelease(defaultRouteReachability);
if (!didRetrieveFlags) {
NSLog(@"Error. Could not recover network reachability flags");
return NO;
}
BOOL isReachable = flags & kSCNetworkFlagsReachable;
BOOL needsConnection = flags & kSCNetworkFlagsConnectionRequired;
BOOL nonWiFi = flags & kSCNetworkReachabilityFlagsTransientConnection;
NSURL *testURL = [NSURL URLWithString:@"http://www.baidu.com"];
NSURLRequest *testRequest = [NSURLRequest requestWithURL:testURL cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:20.0];
NSData *data = [NSURLConnection sendSynchronousRequest:testRequest
returningResponse:nil error:nil];
return ((isReachable && !needsConnection) || nonWiFi) ? (data ? YES : NO) : NO;
}
判断设备类型
// 判断是否为iPhone
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
// 判断是否为iPad
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
清除目录下所有文件
+ (void) clearDirectoryFiles:(NSString *) path {
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *contents = [fileManager contentsOfDirectoryAtPath:path error:NULL];
NSEnumerator *item = [contents objectEnumerator];
NSString *filename;
while ((filename = [item nextObject])) {
[fileManager removeItemAtPath:[path stringByAppendingPathComponent:filename] error:NULL];
}
}
遍历文件夹获得文件大小 返回多少M
+ (float) folderSizeAtPath:(NSString *) folderPath {
NSFileManager *manager = [NSFileManager defaultManager];
if (![manager fileExistsAtPath:folderPath]) return 0;
NSEnumerator *childFilesEnumerator = [[manager subpathsAtPath:folderPath] objectEnumerator];
NSString *fileName;
long long folderSize = 0;
while ((fileName = [childFilesEnumerator nextObject]) != nil) {
NSString *fileAbsolutePath = [folderPath stringByAppendingPathComponent:fileName];
folderSize += [@"类文件名" fileSizeAtPath:fileAbsolutePath];
}
return folderSize/(1024.0*1024.0);
}
+ (long long) fileSizeAtPath:(NSString *) filePath {
NSFileManager* manager = [NSFileManager defaultManager];
if ([manager fileExistsAtPath:filePath]){
return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];
}
return 0;
}
屏幕截图
- (UIImage *)screenshots {
UIGraphicsBeginImageContextWithOptions([UIScreen mainScreen].bounds.size, YES, 0);
[[UIApplication sharedApplication].keyWindow.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}