我有一个集成了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登录屏幕。
即使我关闭应用并再次启动它,如何确保SFUserAccountManager
和SFAuthenticationManager
保存其详细信息。
谢谢!
更新 我尝试在appDidBecomeActive中调用loadAccounts方法,即使这样也无法检索细节。
[[SFUserAccountManager sharedInstance] loadAccounts:nil];