我正在製作我的第一個iOS應用程序。我有一個問題。在我的應用程序中,我想要保存應用程序的當前狀態:完成的級別,達成的分數,金錢,應用程序內購買等在Settings.plist中。問題是,我如何放置這個plist,以便如果用戶更新應用程序,他/她不會丟失這些設置。我閱讀了應用程序沙箱,但我不明白 它如何工作,以及如何從Xcode管理它。如何更新除應用程序以外的iOS應用程序
0
A
回答
2
您應該將這些設置存儲在NSUserDefaults中。當安裝新的應用程序版本時,它們會保留,所以您不會遇到任何問題。
0
兩點:
一)當你更新你的應用程序在其提交的相同的應用程序由舊版本創建的文件的新版本應用商店也不會丟失後。因此,您可以將任何您喜歡的內容存儲在應用程序的Document或Library目錄中,並期望它在更新後仍然存在。 Library/Caches目錄不會被iTunes備份或恢復,所以不要放置那些無法重新創建的東西。如果您提交不同版本的應用程序(不是更新,而是新應用程序,因此您在應用程序商店中有兩個單獨的應用程序,可能是免費和付費的),但我無法知道新版本可以訪問第一個版本創建的文件。
b)用戶很容易讀取,刪除或更改在Documents/or Library /中創建的任何文件。它可以通過他/她的Mac上的應用程序完成,例如iExplorer(可從macroplant.com下載)。所以請注意,如果文件是可讀的,.plist文件是用戶可讀的,那麼用戶可以改變它以提高他/她的分數,獲得更多的消耗品或其他。您可以通過加密數據或以某種方式模糊含義或通過某種校驗和方案來防止這種情況,這樣您至少可以檢測到它已更改。任何這些措施當然都涉及複雜問題,可能不值得麻煩。
順便說一句...如果你正在開發一個使用數據文件的應用程序iExplorer是一個很好的調試工具。除了我學會了如何使用它並希望它繼續得到支持之外,我對它沒有既得利益。有可能是其他應用程序做同樣的事情,但這個工程很好,並且快速和易於使用。
相關問題
- 1. iOS應用程序更新代碼衝突,如果全新的應用程序?
- 2. 如何更新我的應用程序/系統/應用程序
- 3. 更新轉移的iOS應用程序
- 4. 如何從應用程序內更新應用程序?
- 5. 如何提醒用戶iOS應用程序的最新更新
- 6. iOS 8企業應用程序更新
- 7. iOS應用程序圖標未更新
- 8. iOS應用程序更新系統
- 9. iOS應用程序更新 - CFBundleShortVersionString和CFBundleVersion
- 10. 更新已刪除的應用程序
- 11. ios更改應用程序內部應用程序的通知
- 12. iOS:如何以編程方式更改應用程序語言而無需重新啓動應用程序?
- 13. iPhone英文以外的應用程序的應用程序
- 14. 從應用程序外部調用Sparkle更新程序
- 15. 上傳應用程序的更新版本,以新的應用程序ID店
- 16. 應用程序更新刪除設置
- 17. 應用程序更新數據刪除
- 18. asp.net web應用程序更新程序
- 19. 正在更新應用程序商店中的應用程序以及更多
- 20. iOS 8應用程序提交以及今日新版本的應用程序
- 21. 應用程序圖標更新後不更改應用程序
- 22. 如何檢測iOS應用程序安裝應用程序
- 23. 如何將ios應用程序轉換爲Xamarin.ios應用程序?
- 24. 從外部來源更新apk應用程序的安卓應用程序
- 25. 如何刪除沙盒應用程序中的應用程序?
- 26. 如何自動更新應用程序
- 27. 如何更新iPhone應用程序
- 28. 如何更新ASP.NET Web應用程序?
- 29. 如何更新asp.net Azure應用程序
- 30. 如何實現應用程序更新?
我不能這樣做嗎? – kommancs96 2013-04-08 13:54:22
爲什麼你想這樣做,否則 – Jona 2013-04-08 14:16:48
這是最簡單的方法 - 爲什麼你有這樣做的問題? – TheEye 2013-04-08 14:23:24