繁体   English   中英

在iOS8中的App和App Extension之间共享用户对象

[英]Share User Object between App and App Extension in iOS8

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

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

  1. 您可以使用kSecAttrAccessGroup共享钥匙串, Apple文档将对此进行解释。
  2. 另一种选择是在共享容器中共享核心数据或sqlite文件。 我已经在“文档提供者上的我的博客”中完成了示例解释,该示例解释了应用程序和扩展之间的数据共享。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM