簡體   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