1、JS 调用IOS相机的时候是英文状态
解决方法:把plist文件的Localization native development region, en改成China 。
2、在字符串中截取两个字符串之间的字符串
NSRange start = [String rangeOfString:@">{"];
NSRange end = [String rangeOfString:@"}<"];
NSString *sub = [String substringWithRange:NSMakeRange(start.location+1, end.location-start.location)];
3、清除cookie
(1)清除所有的cookie 方法
OC:
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
if (url) {
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:url];
for (int i = 0; i < [cookies count]; i++) {
NSHTTPCookie *cookie = (NSHTTPCookie *)[cookies objectAtIndex:i];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
}
(2)清除指定的cookie
let cookArray = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookiesForURL(NSURL.init(string: URL)!);
for cookie:NSHTTPCookie in cookArray! {
if cookie.name == "ULSID" {NSHTTPCookieStorage.sharedHTTPCookieStorage().deleteCookie(cookie);
}
}
(3)清除所有URL缓存
[[NSURLCache sharedURLCache] removeAllCachedResponses];
4、清除app缓存
Swift:
(1)计算缓存大小
var cacheSize: String{
get{
let basePath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true).first
let fileManager = NSFileManager.defaultManager()
func caculateCache() -> Float{
var total: Float = 0
if fileManager.fileExistsAtPath(basePath!){
let childrenPath = fileManager.subpathsAtPath(basePath!)
if childrenPath != nil{
for path in childrenPath!{
let childPath = basePath!.stringByAppendingString("/").stringByAppendingString(path)
do{
let attr = try fileManager.attributesOfItemAtPath(childPath)
let fileSize = attr["NSFileSize"] as! Float
total += fileSize
}catch _{ }
}
}
}
return total
}
let totalCache = caculateCache()
return NSString(format: "%.2f MB", totalCache / 1024.0 / 1024.0 ) as String
}
}
(2)清除缓存
func clearCache() -> Bool{
var result = true
let basePath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true).first
let fileManager = NSFileManager.defaultManager()
if fileManager.fileExistsAtPath(basePath!){
let childrenPath = fileManager.subpathsAtPath(basePath!)
for childPath in childrenPath!{
let cachePath = basePath?.stringByAppendingString("/").stringByAppendingString(childPath)
do{
try fileManager.removeItemAtPath(cachePath!)
}catch _{
result = false
}
}
}
return result
}
OC:
(1)查找缓存
- (void)clearCache{
NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
NSFileManager *fileManager=[NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:path]) {
//拿到算有文件的数组
NSArray *childerFiles = [fileManager subpathsAtPath:path];
//拿到每个文件的名字,如有有不想清除的文件就在这里判断
for (NSString *fileName in childerFiles) {
//将路径拼接到一起
NSString *fullPath = [path stringByAppendingPathComponent:fileName];
folderSize += [self fileSizeAtPath:fullPath];
}
//点击了确定,遍历整个caches文件,将里面的缓存清空
NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
NSFileManager *fileManager=[NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:path]) {
NSArray *childerFiles=[fileManager subpathsAtPath:path];
for (NSString *fileName in childerFiles) {
//如有需要,加入条件,过滤掉不想删除的文件
NSString *absolutePath=[path stringByAppendingPathComponent:fileName];
[fileManager removeItemAtPath:absolutePath error:nil];
[self clear];
}
}
}
}
(2)计算大小
-(float)fileSizeAtPath:(NSString *)path{
NSFileManager *fileManager=[NSFileManager defaultManager];
if([fileManager fileExistsAtPath:path]){
long long size=[fileManager attributesOfItemAtPath:path error:nil].fileSize;
return size/1024.0/1024.0;
}
return 0;
}
(3)清除缓存
- (void)clear{
NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
NSFileManager *fileManager=[NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:path]) {
//拿到算有文件的数组
NSArray *childerFiles = [fileManager subpathsAtPath:path];
//拿到每个文件的名字,如有有不想清除的文件就在这里判断
for (NSString *fileName in childerFiles) {
//将路径拼接到一起
NSString *fullPath = [path stringByAppendingPathComponent:fileName];
folderSize += [self fileSizeAtPath:fullPath];
[self showAlert:@"清除成功"];
}
}
}