一開始我用的方法一寫,但是后來發現在高系統上報錯(大概報錯內容: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 來存儲。
文章名稱:ios開發保存文件,ios文件存儲
URL網址:http://vcdvsql.cn/article6/dsdgsig.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、網站改版、企業網站制作、虛擬主機、服務器托管、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯