ios开发文件,ios开发文件保存

iOS开发生成txt文件

一开始我用的方法一写,但是后来发现在高系统上报错(大概报错内容:NSCocoaErrorDomain:257)。

创新互联成都网站建设按需制作网站,是成都网站设计公司,为混凝土搅拌站提供网站建设服务,有成熟的网站定制合作流程,提供网站定制设计服务:原型图制作、网站创意设计、前端HTML5制作、后台程序开发等。成都网站营销推广热线:028-86922220

后来解决了,做个记录。

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]);

}

}

iOS开发使用的证书和文件有哪些

证书文件:

1.CSR文件:证书请求文件,从钥匙串工具颁发(一个开发者账号享有一份)

2.开发者开发用签名文件:是开发者开发身份识别文件,苹果后台申请(一个开发者账号享有一份)

3.开发者发布用签名文件:是开发者发布身份识别文件,苹果后台申请(一个开发者账号享有一份)

4.开发用推送证书(每个应用一份)

5.发布用推送证书(每个应用一份)

6.开发调试配置文件(每个应用一份)

7.adhoc配置文件(每个应用一份)

8.发布配置文件(每个应用一份)。

就这些望采纳

iOS开发,plist文件读写操作

这里有一点需要注意:

命名的时候不能用Info.plist , INfo.plist, xxxInfo.plist等形式,否则会与系统中存在的Info.plist文件发生冲突。

点击Root这一行,然后通过点击右键-Add Row或者点击Root后面的加号来增加一行。

这一行中包含三个属性,key、type、value。其中key是字段属性,type是字段类型,value是字段对应的值。

Type包含7中类型,对写入的数据结构应属于7仲:

(NSString,NSData,NSDate,NSNumber,NSArray,NSDictionary)

读取数据

文件是什么类型,就用什么类型的数据来接收

参考文档1: iOS开发,plist文件读写那些事

参考文档2: iOS开发中怎么创建Plist文件

参考文档3: 【iOS】plist无法写入的原因

参考文档4: plist 文件写入与读取


名称栏目:ios开发文件,ios开发文件保存
当前路径:http://ybzwz.com/article/dscoejs.html