十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一开始我用的方法一写,但是后来发现在高系统上报错(大概报错内容:NSCocoaErrorDomain:257)。
张家界ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
后来解决了,做个记录。
1、在低于iOS13的系统中。用创建文件夹的形式可以如下:
+ (NSString *)tmpLogPath
{
NSString *docPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library"];
NSString *dirPath = [docPath stringByAppendingPathComponent:@"mylog"];
NSString *filePath = [dirPath stringByAppendingPathComponent:@"tmpLog.txt"];
return filePath;
}
+ (void)writeTmpLog:(NSString *)aMsg
{
NSString *filePath = [[self class] tmpLogPath];
if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
BOOL isDir = NO;
BOOL hasDir = [[NSFileManager defaultManager] fileExistsAtPath:filePath isDirectory:isDir];
if (!hasDir || !isDir) {
[[NSFileManager defaultManager] createDirectoryAtPath:filePath withIntermediateDirectories:NO attributes:nil error:nil];
}
}
NSError *error;
NSString *content =[NSString stringWithContentsOfFile:filePath
encoding:NSUTF8StringEncoding
error:error];
NSString *newContent = [NSString stringWithFormat:@"%@\n%@",content,aMsg];
[newContent writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
}
+ (void)clearTmpLog
{
NSString *filePath = [[self class] tmpLogPath];
[@"" writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
}
2、但是在iOS13上,不能这样写。系统会默认创建以为***.txt的文件夹,在写入的时候就出问题了。
会报错:NSCocoaErrorDomain:257 就是
NSFileReadNoPermissionError = 257,/ /读取错误(权限问题)
所以可以这样写:
+ (NSString *)tmpLogPath {
NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
NSString *filePath = [documentPath stringByAppendingPathComponent:@"mylog/tmpLog.txt"];
returnfilePath;
}
+ (void)writeTmpLog:(NSString*)aMsg {
NSString*fieldPath = [[self class]tmpLogPath];
NSLog(@"当前文件大小:%llu",[self fileSizeWithPath:fieldPath]);
NSFileManager *manager = [NSFileManager defaultManager];
if(![managerfileExistsAtPath:fieldPath]){
NSError*error;
[aMsgwriteToFile:fieldPath atomically:YES encoding:NSUTF8StringEncoding error:error];
if(error) {
NSLog(@"写入失败:%@\n",[error localizedDescription]);
}
}else{
NSError*error;
NSError*writeError;
NSString *content =[NSString stringWithContentsOfFile:fieldPath
encoding:NSUTF8StringEncoding
error:error];
if(error) {
NSLog(@"读取失败:%@\n",[error localizedDescription]);
}
NSString*newContent = [NSString stringWithFormat:@"%@\n%@",content,aMsg];
[newContentwriteToFile:fieldPath atomically:YES encoding:NSUTF8StringEncoding error:writeError];
if(writeError) {
NSLog(@"写入失败:%@\n",[writeErrorlocalizedDescription]);
}
}
}
//获取文件大小
+ (unsignedlonglong)fileSizeWithPath:(NSString*)path {
signedlonglongfileSize =0;
NSFileManager *fileManager = [NSFileManager defaultManager];
if([fileManagerfileExistsAtPath:path]) {
NSError*error =nil;
NSDictionary*fileDict = [fileManagerattributesOfItemAtPath:patherror:error];
if(!error fileDict) {
fileSize = [fileDictfileSize];
}
}
returnfileSize;
}
+ (void)clearTmpLog {
NSError*error;
NSFileManager *manager = [NSFileManager defaultManager];
NSString*filePath = [[selfclass]tmpLogPath];
[managerremoveItemAtPath:filePatherror:error];
if(error) {
NSLog(@"删除失败:%@\n",[error localizedDescription]);
}
}
1、将手机与电脑用usb连接,电脑上的itunes自动打开 如果你电脑里没有安装itunes软件的话 请点击“itunes下载”
2、点击上面工具栏中文件下的“将文件添加到资料库”,如果你想把文件夹里所有的歌曲都导入,就选择“将文件夹添加到资料库”
3、选择王传一的练习,点击打开
4、在资料库的音乐里,看到这首练习已经导入了
5、点击设备
6、勾选音乐选项下的同步音乐,想把整个音乐库中的歌曲都导入手机的话就选择“整个音乐资料库”,点击下面的应用即可
1.打开苹果手机里的应用,点击需要保存的文件。
2.进入该文件后,点击更多图标。
3.在菜单栏内选择“用其他应用打开”。
4.选择存储到“文件”就可以了。
简单的数据,对安全性要求不高的数据可以使用 NSUserDefaults (本质上是一个plist)来存储
相对复杂点的数据,可以使用coredata (本质上是使用sqlite 来存储)
对安全性要求较高的数据,可以使用keychain 来存储。