在我設計的應用程序中,我有幾個文本字段,當應用程序關閉時保存爲.txt文件,然後在應用程序打開時再讀回;但是,當我嘗試分發應用程序時(只是將其作爲應用程序導出並將其保存到某些朋友),我發送給它的人沒有我要保存在其計算機上的文件位置,所以文本字段不保存。有什麼方法可以在應用程序下載時在計算機上創建.txt文件?還是有更好的方式來保存分發比做.txt文件?謝謝。可可在保存文本文件時分發
回答
爲什麼不直接使用和NSUserDefaults的存儲應用程序的偏好數據庫(希望相當小)的文本?它保證存在並且可以訪問,不會受到沙箱限制或非標準存儲位置的影響。
除此之外,如果您想直接回答您的問題,則需要提供更多信息。具體而言,您使用的確切路徑是什麼以及您收到的確切錯誤是什麼?爲什麼當你需要在運行時創建文件時,你需要捆綁空的文本文件?
如果我可以在第一次運行時創建文件,我不覺得需要捆綁空的文本文件。你會如何推薦我這樣做?另外,使用NSUserDefaults來存儲程序的保存文件通常是一種很好的做法嗎?如果他們是更大的文件,即。自定義對象? –
請提供我要求的信息。您應該能夠在運行時創建該文件;如果你不能,發佈你遇到的*實際錯誤*。 –
做了更多的研究並想出瞭如何在運行時創建文件。這就是我真正所要求的,對於混淆抱歉,我並不真正知道我在做什麼。沒有錯誤,我只是不知道該怎麼做。 –
我只是將最初的.txt文件打包到應用程序包中。檢查文件是否存在於用戶的本地文件系統上。如果沒有,請將您的包的.txt文件讀取到一個字符串中,然後將該字符串保存到用戶文件系統的正確位置。
NSError *fileError = nil;
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
//Read the file
NSString *fileContents = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&fileError];
if (fileError) {
//Handle the error
}
} else {
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"initialFile" ofType:@"txt"];
NSString *initialFileContents = [[NSString alloc] initWithContentsOfFile:bundlePath encoding:NSUTF8StringEncoding error:&fileError];
if (!fileError) {
[initialFileContents writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&fileError];
if (fileError) {
//Handle the error
}
}
}
所以你的建議是我創建空的文本文件並將它們與應用程序捆綁在一起?我該怎麼做呢?或者像Joshua Nozzi建議的那樣,在運行時創建文件會更好一些。 –
對於空文件完全沒有必要。 –
我建議捆綁它們的唯一原因是因爲我認爲最初的文本文件需要已經有一些文本。不,你應該在第一次需要保存文本時創建文件。我想我真的不明白你的問題。當你調用'writeToFile:atomically:encoding:error'時,如果文件不存在於指定的位置,它將在那裏創建一個文件,除非路徑中的一個或多個目錄不存在,你應該調用NSFileManager的'createDirectoryAtPath:withIntermediateDirectories:attributes:error:'方法。 – daltonclaybrook
- 1. 如何在可執行文件中保存文本文件?
- 2. 將文件保存在可可
- 3. 保存可執行文件到文件
- 4. Hogan.js可分發文件
- 5. 當文件保存到Google Drive時,我可以觸發Google腳本嗎?
- 6. 可可文本 - 即時刷新文本
- 7. 選項可將輸出結果保存爲文本文件(Python)
- 8. 將可變內容保存到文本文件
- 9. 如何我可以從保存爲文本文件
- 10. 無法保存可變文本到文件
- 11. 在可可中,如何使用特定的UTI保存文本
- 12. 在本地保存文件
- 13. NSDocumentController在審查未保存的文件在可可/ Objective-C
- 14. 如何在plist文件數據保存在可可觸摸
- 15. 保存文本文件MATLAB
- 16. 保存爲文本文件
- 17. 保存爲文本文件
- 18. 保存文本文件,它
- 19. IPhone HTTP發佈文本數據並保存爲文本文件
- 20. Scala IDE Eclipse版本在文件保存時凍結2.5分鐘
- 21. 多個可選文件保存
- 22. JTable,可以保存到文件
- 23. 哪裏可以保存用戶文件?
- 24. 拆分unix文件並將文件名保存在文本文件中
- 25. QFile在程序退出時保存文件,根本不會保存〜500MB文件
- 26. 將文件保存在用戶臨時文件夾中是否可以接受?
- 27. JRuby:Rails:Warbler - 如何在war文件中分發可執行腳本
- 28. UWP在文件中保存文本
- 29. 保存在單個文本文件
- 30. Android - 在哪裏保存文本文件?
Package Maker在這些情況下是天賜之物。只要你不反對寫腳本,就是這樣。 – CodaFi
更新了我的答案。對此感到抱歉。 – daltonclaybrook