我有两个应用程序:App1和App2。
在App1中,我将密钥this.fastColoredTextBox1.Text = "Some Text";
保存到tokenvalue
。
我需要在App2中获得与App1中相同的NSUserDefaults
。除了使用钥匙串之外,还有可能获得这个价值吗?
答案 0 :(得分:3)
您必须使用 应用程序组 。这将允许两个应用程序保存到共享的NSUserDefaults和File文件夹。
在Xcode中,单击项目文件夹项目名称 - > DesiredTarget - > 功能 - > 应用程序组,将其打开并创建关联的应用程序组。
对App1和App2执行此过程。
// Create and share access to an NSUserDefaults object
NSUserDefaults *mySharedDefaults = [[NSUserDefaults alloc] initWithSuiteName: @"com.example.domain.MyShareExtension"];
// Use the shared user defaults object to update the user's account
[mySharedDefaults setObject:theAccountName forKey:@"lastAccountName"];
答案 1 :(得分:2)
存储数据:
var userDefaults = NSUserDefaults(suiteName: "group.com.company.App")
userDefaults!.setObject("token123", forKey: "tokenvalue")
userDefaults!.synchronize()
要检索数据:
var userDefaults = NSUserDefaults(suiteName: "group.com.company.App")
if let tokenId = userDefaults?.objectForKey("tokenvalue") as? String {
print("User Id: \(tokenId)")
}