我正在使用Pocket API并在应用程序上对用户进行身份验证。
在扩展中,我想使用登录用户运行方法来调用各种端点。在应用程序及其扩展之间共享数据的唯一选项是 NSUserDefaults,正如我在各种线程上看到的那样,但 NSUserDefaults 无法保存登录用户的 NSObjects。
如何在扩展中使用登录用户?
我在应用程序中像这样记录用户。
[[PocketAPI sharedAPI] loginWithHandler: ^(PocketAPI *API, NSError *error){
if (error != nil)
{
NSlog (@"User Logged In");
}
}];
}
在扩展中我想使用:
[[PocketAPI sharedAPI] saveURL:url handler: ^(PocketAPI *API, NSURL *URL,
NSError *error){
if(error){
NSLog(@"There was an error in saving the URL : %@ ", [error description]);
}else{
NSLog(@"URL was saved successfully ");
}
}];
如何动态保存 [PocketAPI 共享API] 以在任一端使用任何方法?如何共享对象的同一实例
为了更好地保存用户凭据存储在钥匙串中,它更安全,您也可以在扩展中访问。
- 您可以使用 kSecAttrAccessGroup Apple 文档共享钥匙串会解释一下。
- 另一种选择是在共享容器中共享核心数据或 sqlite 文件。我已经在文档提供程序的博客中完成了示例解释,它将解释应用程序和扩展程序之间的数据共享。