2013-10-19 15 views

回答

2

不同於別人的解釋,文件根本不鼓勵的選擇的玩家ID作爲摺疊名字。實際上,玩家ID的格式不能保證,並且將來可能包含不允許包含在路徑名中的字符。如今,玩家ID的第二個字符是冒號(:),這似乎是一個包含路徑名稱的壞字符。該文件明確指出,不能對玩家ID的格式進行假設。

0

Apple documentation,它是關於每個玩家唯一地由播放器標識字符串標識真的清楚。

只是不對字符串的格式或長度作任何假設。

可以肯定,使其不與任何其他文件夾衝突,任何奇怪的巧合,我會把您的播放器的文件夾在自己制定的一個子文件夾。

1

Apple建議您確實使用播放器ID來達到此目的。

除了與遊戲中心的交互使用播放器標識符,你的遊戲也應該使用時,它也希望在本地存儲有關特定玩家數據的播放器標識。例如,如果您的遊戲存儲數據以跟蹤玩家的進度(例如在設備上,在您自己的服務器上或在iCloud上),請使用玩家標識符來區分在同一設備上玩的多個玩家。這樣,如果不同的玩家在設備上簽名,您可以立即通過顯示該玩家特有的內容來個性化體驗。

在你想有一個字符串,它是保證是唯一不管其他任何情況下,你可以使用這個:

NSString *guid = [[NSProcessInfo processInfo] globallyUniqueString]; 

這可以被用來唯一命名文件夾,文件,資產,任何東西,你可以放心,它不會與一些用戶或以往的任何其他用戶發生衝突造成[來源]

+0

文檔不鼓勵的文件夾名稱中使用的玩家ID的,但本地存儲的其他方式,如'NSUserDefaults'文件或鍵/值存儲例如裏面你自己的數據結構。玩家ID不保證製作有效的文件夾名稱。 –

+0

很高興知道,我會傾向於全局唯一的字符串,因爲我可以對它進行更多的測試,因此對它的操作感覺更加舒適,而我必須假設playerID的工作原理類似。我是否錯過文檔中有關不使用它作爲文件夾名稱的特定行,或僅僅是經歷了談話? FWIW,guid的文件夾名稱非常出色(和無法理解)。 –

1

您可以間接使用它。 在Apple Doc中,「標識符字符串是在玩家的帳戶首次創建時創建的,永遠不會更改」「玩家標識符是跟蹤特定玩家的唯一可靠方式。 因爲播放器ID始終是一個字符串。您可以使用散列或其他算法將playerid字符串轉換爲安全格式。