一旦应用程序终止,SFUserAccountManager就会丢失其详细信息

时间:2017-02-10 10:47:55

标签: ios objective-c iphone salesforce salesforce-ios-sdk

我有一个集成了Salesforcemobilesdk-ios的iPad应用。第一次,我登录后立即在oauthCoordinatorDidAuthenticate方法中设置所有凭据 -

- (void) oauthCoordinatorDidAuthenticate: (SFOAuthCoordinator *) coordinator authInfo:(SFOAuthInfo *)info 
{

    [SFAuthenticationManager sharedManager].coordinator = coordinator;
    [[SFAuthenticationManager sharedManager] coordinator].credentials = coordinator.credentials;
    SFUserAccount *userAccount = [[SFUserAccount alloc]initWithIdentifier:s_currentAccountIdentifier];
    userAccount.credentials = coordinator.credentials;
    userAccount.accessScopes = coordinator.scopes;
    [SFUserAccountManager sharedInstance].currentUser = userAccount;
    [[SFUserAccountManager sharedInstance] applyCredentials:coordinator.credentials];
    [[SFUserAccountManager sharedInstance] saveAccounts:nil];
}

当我在使用或在后台尝试检查有效的OAuth会话时,它工作正常。

但是,当我关闭应用程序(应用已终止)并再次启动时,SFUserAccountManager无法检索详细信息并检查有效会话,而是再次显示salesforce登录屏幕。

即使我关闭应用并再次启动它,如何确保SFUserAccountManagerSFAuthenticationManager保存其详细信息。

谢谢!

更新 我尝试在appDidBecomeActive中调用loadAccounts方法,即使这样也无法检索细节。

[[SFUserAccountManager sharedInstance] loadAccounts:nil];

0 个答案:

没有答案