이메일로 웹 페이지 링크를 공유하는 iOS 앱을 작성 중이며, 그 중 일부로 사용자가 Google 플러스에 로그인 할 수있게하고 싶습니다.Google 플러스 xcode 공유 확장에 로그인하십시오.
https://developers.google.com/+/mobile/ios/sign-in
을 지금은 또한 사용자의 구글 + 프로필에 액세스 할 수있는 공유 확장명을 추가하려고 해요 : 여기에서 지침에 포함 된 응용 프로그램 작업 벌금을 가지고있다. 먼저 공유 확장에 로그인 버튼을 추가하려고 시도했지만, 버튼을 클릭하면 브라우저에서 권한을 수락하기 위해 앱을 떠났으므로 작동하지 않을 것이라고 생각합니다. 공유 확장으로 다시 리디렉션 할 수 없습니다 (또는 적어도 길을 찾을 수 없음).
사용자가 로그인하여 메인 (포함) 앱에서 권한을 수락하고 나중에 공유 확장을 사용하고 동일한 프로필로 계속 로그인 할 수 있기를 바랍니다. 나는 공유 확장에서 사용자 지정의 UIViewController를 사용하고, 그리고 첫 번째 시도로 나는 포함하는 응용 프로그램으로 공유 확장에 동일한 클라이언트 ID를 사용하고있는 viewDidLoad 방법이 전화를 시도했다 :
GPPSignIn *signIn = [GPPSignIn sharedInstance];
signIn.shouldFetchGooglePlusUser = YES;
signIn.shouldFetchGoogleUserEmail = YES;
signIn.clientID = kClientID;
signIn.scopes = @[ @"profile" ];
signIn.delegate = self;
if ([signIn hasAuthInKeychain]) {
NSLog(@"Has auth in keychain");
} else {
NSLog(@"No auth in keychain");
}
contains app hasAuthInKeychain의
은 true를 반환하지만 공유 확장은 false입니다. 내가 사용하고있는 클라이언트 ID는 메인 앱용 번들에 묶여 있기 때문에 어쨌든 공유 확장에서 사용할 수 있어야할지 모르겠다.하지만 공유를위한 별도의 클라이언트 ID를 만들려고한다면 아마도 승인 절차를 다시 거쳐야할까요?
주 앱의 기존 인증 토큰에 액세스하여 공유 확장 프로그램에서 사용할 수있는 방법이 있습니까?
사과의 개발자 프로그램에 가입해야이 프로그램을 확인할 수 있었지만 한 번 처리 된 후에는 동일한 키 체인 그룹 이름으로 앱과 확장 프로그램에 키 체인 공유 기능을 추가 할 수있었습니다. 그런 다음 두 곳에서 사용하고있는 GPPSignIn 객체에 동일한 키 체인 이름이 설정되어 있는지 확인해야했습니다. 'signIn.keychainName = @ "signinchainname" 그리고 hasAuthInKeychain이 true를 반환합니다. trySilentAuthentication을 사용하면 auth 객체를 가져올 수 있습니다. 도움 주셔서 감사합니다. –