iOS 中的 plist 是什麼?


在本教程中,我們將討論如何在應用程式中使用 plist 來儲存資訊。讓我們首先了解什麼是 plist。

什麼是 plist?

plist 檔案也稱為屬性列表,由作業系統(例如 iOS)和使用者使用。資訊以類似於字典的鍵值對格式儲存。

plist 檔案可以包含不同型別的值,例如字串、陣列、字典、布林值、日期、資料和數字(例如整數)。大多數這些型別對應於原生的 Swift 型別,例如 Array 和 Bool。您還可以儲存巢狀的陣列和字典,即在另一個數組中新增陣列等,以建立更復雜的資料結構。

什麼是 info.plist?

info.plist 檔案包含有關您的本地首選項的關鍵資訊。它用於儲存移動應用程式的配置。我們可以在 plist 檔案中儲存設定資訊。

建立新應用程式時會自動建立此檔案。此檔案中儲存的資訊由 App Store 和作業系統用於確定應用程式的功能並找到關鍵資源。必須包含此檔案,並且必須將其命名為 Info.plist,否則編譯器將無法執行應用程式。

info.plist 檔案的預定義值是什麼?

  • 捆綁包名稱和識別符號

  • 支援的介面方向

  • 啟動螢幕介面檔案基本名稱

  • 位置訪問許可權

  • 相機訪問許可權

  • 自定義鍵值對

您可以使用許多預定義鍵來儲存資訊。您可以使用許多不同型別的許可權。例如,如果您的應用程式正在訪問應用程式中使用者的地理位置,則必須新增許可權以及關於您為何訪問應用程式中使用者地理位置的正確訊息,以便應用程式使用者能夠理解其背後的原因。

plist 格式

plist 檔案的格式包含一系列以 XML 編碼的鍵值對。鍵始終是字串,值可以是字串、數字、陣列、字典或日期。當您在文字編輯器中開啟 plist 檔案時,它看起來像是一堆雜亂的資料。但是,資料已以易於計算機讀取的格式進行組織。

<?xml version=1.0″ encoding=UTF-8?> <!DOCTYPE plist PUBLIC-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”> <plist version=1.0> <dict> <key>Name</key> <string>Amit Mishra</string> <key>Age</key> <integer>40</integer> <key>Children</key> <array> <string>Rahul</string> <string>Aman</string> <string>Nitya</string> </array> </dict> </plist>

在此示例中,檔案包含三個鍵值對。第一對的鍵為“Name”,值為“Amit Mishra”。第二對的鍵為“Age”,值為 40(整數)。第三對的鍵為“Children”,值為字串陣列。陣列和字典可以包含其他鍵值對和陣列。這允許您以分層格式儲存資料。

如何在 Swift 中讀取 plist 值?

var dictionary: [String: Any] { if let path = Bundle.main.path(forResource: "Info", ofType: "plist"), let dictionary = NSDictionary(contentsOfFile: path) as? [String : Any] { return dictionary } return [:] }

注意 - 除非您完全瞭解自己在做什麼,否則手動編輯 plist 檔案非常危險。如果您犯錯,應用程式可能會崩潰且無法正常工作。在進行任何更改之前,請保留原始 plist 檔案的備份副本,以便在出現問題時可以恢復。

結論

您也可以手動編輯應用程式的 plist 檔案,但這可能非常棘手,具體取決於特定應用程式如何將資料寫入 plist 檔案。瞭解 XML 結構很有幫助。例如,如果您想更改 TextEdit 應用程式的字型大小,則可以在文字編輯器或 Xcode 中開啟 com.apple.TextEdit.plist 檔案。您會找到與字型大小相關的鍵,更改該值,儲存 plist 檔案,然後退出編輯應用程式。

現在您知道屬性列表對於將使用者設定讀寫到檔案非常有用,並且它們在 Xcode 中易於編輯。

更新於: 2022-12-09

4K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.