Google 日历 API for IOS 并将信息存储在钥匙串中

Google calendar API for IOS and storing info in the keychain

我正在按照 link

中的代码在我的 iOS 应用程序中实施 Google 日历 API

https://developers.google.com/google-apps/calendar/quickstart/ios?ver=swift

页面底部有一条注释,内容如下:

"Authorization information is stored in your Keychain, so subsequent executions will not prompt for authorization."

但是,它要求用户在每次午餐时登录应用程序,因此它不会存储在钥匙串中。我的问题是如何在钥匙串中正确存储用户的凭据,这样它就不会在我们每次打开应用程序时都要求用户登录?

是的,没错。如果您没有正确保存令牌,用户将不得不在下次应用程序 运行 时重新登录。

解决此问题的方法如下:

kKeychainItemName - is used to save the token on the user’s keychain

代码片段:

  // Display the authentication view
  GTMOAuth2ViewControllerTouch *viewController;
  viewController = [[[GTMOAuth2ViewControllerTouch alloc] initWithAuthentication:auth
        authorizationURL:authURL
        keychainItemName:kKeychainItemName
               ...
      finishedSelector:@selector(viewController:finishedWithAuth:error:)] autorelease];

GoogleGithubpage提供了更多信息。希望这会有所帮助,祝你好运!