2011-11-08 112 views
1

我想將我的iPhone應用程序中的.txt文件保存,但我希望它保留,以便即使應用程序已卸載並重新安裝,仍可以訪問它。將設備上的文件保存在卸載後的設備

我試圖將文件保存在iPhone的硬盤上,但它永遠不會工作。

這個工程在模擬器上:

NSFileManager *filemgr; 
filemgr = [NSFileManager defaultManager]; 


//NSString *dataFile= @"/Users/rajesh/Library/Application Support/iPhone Simulator/4.2/tmp/myfile.dat"; //on simulator 
NSData *databuffer; 
databuffer = [textBox.text dataUsingEncoding: NSASCIIStringEncoding]; 
[filemgr createFileAtPath: dataFile contents: databuffer attributes:nil]; 
[filemgr release]; 

而且我用這個設備上:

NSString *dataFile= @"/var/mobile/Applications/temp/myfile.dat"; //on device 

,但它不工作。

回答

1

這樣做是沒有辦法的,因爲所有的文件都在你的應用程序的一部分的沙箱中,你不能在沙箱外寫文件。

您可以嘗試將文件保存在鑰匙串中(骯髒的黑客攻擊)或通過iCloud存儲它。

+0

如果是的話,我們可以用kaychain或icloud來做到這一點,那麼請告訴我方式,因爲我從來沒有這樣做過,如果我們這樣做,所以請告訴我確切的存儲位置,以保存文件..謝謝.. – RJ168

+0

開始閱讀文檔:http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/iCloud/iCloud.html#//apple_ref/doc/uid/TP40007072-CH5-SW1 – rckoenes

+0

謝謝我讀了一分鐘,但與icloud,設備必須在那裏註冊訪問數據,但我不知道誰去了一個使用我的應用程序。我會完全閱讀,但我認爲我不會工作,所以如果有任何其他解決方案,然後請告訴我..謝謝 – RJ168

0

由於在iOS中沒有這樣的設施,因此無法通過寫入共享文件夾來支持您的用例。但是,您的高級目標(即使在應用程序被刪除並重新安裝後也可以使用該文件)可以使用iCloud進行維護,因此請查看通過iCloud同步文件。

+0

ohh ..謝謝,但可以真正的問題將由iCloud解決,因爲我從來沒有使用過,所以我不知道該怎麼做..如果你知道那麼請告訴我我是如何達到這個解決方案。還有一個問題,如果我們使用iCloud,那麼存儲文件的實際位置是什麼。謝謝 – RJ168

相關問題