0

我正在使用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 sharedAPI] 以在任一侧使用任何方法?我如何共享对象的相同实例

4

1 回答 1

0

为了更好地保存用户凭据存储在钥匙串中,它更安全,您也可以在扩展中访问。

  1. 您可以使用kSecAttrAccessGroup共享钥匙串 Apple 文档 将对此进行解释。
  2. 其他选择是在共享容器中共享核心数据或 sqlite 文件。我在文档提供者的我的博客中做了示例解释,它将解释应用程序和扩展程序之间的数据共享。
于 2015-04-02T23:44:08.430 回答