Xcode — 找到 UserDefaults 存在哪裡,其實就是 plist 檔。

春麗 S.T.E.M.
Jul 21, 2023

--

目錄

⦿ UserDefaults
⦿ info.plist
⦿ bundleIdentifier.plist

UserDefault

在 Xcode 中,我們用 UserDefaults 去儲存一些不那麼重要(機密),但常常又會使用到的資料,例如使用者偏好設定等等,不過 UserDefaults 這些資料如何存,又存在哪裡呢?

其實它是 XML 格式的 plist 檔案,就像你專案中一開始被加入的 info.plist 一樣。

繼續閱讀|回目錄

info.plist

我們先看看 info.plist 的 Source Code,如下操作:

點擊右鍵 => Open As => Source Code,就會得到如下結果:

還記得嗎?Storyboard 的 Source Code 也長得像這樣,可以參照過往的文章。

於是我們知道,info.plist 檔案是以 XML 格式儲存,排列成 key-value 的一個個資料,若以 Property List 去查看,就是我們常見的介面了,如下:

而 UserDefaults 也像是 info.plist 一樣的檔案,只是平常我們找不到它,下面,就來教大家如何找到 UserDefaults 檔案吧!

繼續閱讀|回目錄

bundleIdentifier.plist

在 Xcode 專案中,我們都會有一個 bundleIdentifier,我們可以到這裡查看,如下:

它的組成方式是公司的 domain name 倒過來一段段拼接,最後加上你專案的名稱,形成專案唯一的識別碼,所以會像是 com.yourCompany.projectName 這樣的文字。

而 UserDefaults 就存在你的 bundleIdentifier.plist 中,好的!我們要來找到它,首先,打開你的 Xcode 專案,Window => Devices and Simulators 就會看到如下:

在你安裝的 Devices,例如你的手機,去找到你有使用 UserDefaults 的 APP,接著,點到下方 Download Container,最後得到的就是 APP 的套件包,將這個檔案以 Package Contents 打開,如下操作:

檔案最終排列如下:

我們就可以在 AppData => Library => Preferences 找到這個 plist 檔,記得是 bundleIdentifier.plist 喔!

最後,我們就會看到 UserDefaults 存了什麼東西,同樣是 key-value 形式的檔案,如下:

注意!這是範例,而一般我們不會將 token 存在 UserDefaults 裡面,好了!終於窺見 UserDefaults 的真面目了。

這次就分享到這,感謝您的閱讀。

繼續閱讀|回目錄

--

--

春麗 S.T.E.M.
春麗 S.T.E.M.

Written by 春麗 S.T.E.M.

Do not go gentle into that good night, Old age should burn and rave at close of day; Rage, rage, against the dying of the light.

No responses yet