3 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
App Groups的另一個(gè)好處是共享NSUserDefaults
數(shù)據(jù)庫的能力。這也適用于App Extensions(通知中心小部件,自定義鍵盤等)。
NSUserDefaults
在應(yīng)用程序組的所有應(yīng)用程序中初始化您的對象,他們將共享數(shù)據(jù)庫:
Objective-C的:
[[NSUserDefaults alloc] initWithSuiteName:@"<group identifier>"];
迅速:
NSUserDefaults(suiteName: "<group identifier>")
請記住[NSUserDefaults standardUserDefaults]
,每個(gè)應(yīng)用程序的數(shù)據(jù)庫中的所有內(nèi)容都不會延續(xù)到此數(shù)據(jù)庫中。
該文檔給出了正確的示例以及(作為β3的)。
并且不要忘記同步數(shù)據(jù)庫:
[yourDefaults synchronize];

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
在多個(gè)應(yīng)用程序之間共享NSUserDefaults數(shù)據(jù)
要在應(yīng)用和分機(jī)之間或2個(gè)應(yīng)用之間共享默認(rèn)值,您必須使用以下步驟在設(shè)置中添加應(yīng)用組:
在Project Navigator中,單擊* .xcodeproj文件(應(yīng)位于頂部)。
在Project Navigator的右側(cè)查找Project和Targets。在目標(biāo)下點(diǎn)擊您的主要目標(biāo)(應(yīng)該是目標(biāo)下的第一件事)。
在頂部,單擊“功能”選項(xiàng)卡。
在“應(yīng)用程序組”部分中,單擊右側(cè)的開關(guān)以打開“應(yīng)用程序組”。
單擊+按鈕,然后添加名為group.com.company.myApp的應(yīng)用程序組。
轉(zhuǎn)到其他應(yīng)用中的相同位置,此組現(xiàn)在可供選擇。為將要使用此共享數(shù)據(jù)的每個(gè)應(yīng)用啟用此組。
注意:如果您訪問Apple Developer Portal(顯示所有證書,標(biāo)識符,設(shè)備和配置文件的Apple網(wǎng)站)并轉(zhuǎn)到標(biāo)識符>應(yīng)用程序組,您應(yīng)該會看到這個(gè)新的應(yīng)用程序組。
存儲數(shù)據(jù):
var userDefaults = NSUserDefaults(suiteName: "group.com.company.myApp")!userDefaults.setObject("user12345", forKey: "userId")userDefaults.synchronize()
要檢索數(shù)據(jù):
var userDefaults = NSUserDefaults(suiteName: "group.com.company.myApp")if let testUserId = userDefaults?.objectForKey("userId") as? String { print("User Id: \(testUserId)")}
- 3 回答
- 0 關(guān)注
- 703 瀏覽
添加回答
舉報(bào)