2015-07-29 4 views
5

Я пытаюсь сделать работу с Google для входа в мое приложение, но у вас есть проблема.iOS Google Вход в систему для загрузки профиля пользователя невозможно (НЕ Google плюс вход)

(НЕ Google плюс подписей, я использую Google, войдите в аккаунт)

Я последовал this link, и она работает. Я получаю userID, user.authentication.idToken, user.profile.name и user.profile.email.

Но я не могу узнать, как я получаю изображение профиля пользователя. Над Google документами нет комментариев.

Я искал веб часами, но нашел про Google плюс вход, который я не хочу.

Я внедрил вход в Facebook в своем приложении, и они предоставляют URL-адрес, который извлекает изображение профиля пользователя.

Включает ли в Google вход через Google?

Это мой рабочий код для получения информации о пользователе, но без изображения.

Пожалуйста, помогите

- (void)signIn:(GIDSignIn *)signIn didSignInForUser:(GIDGoogleUser *)user withError:(NSError *)error { 

if (user) { 
    NSString *userId = user.userID;     // For client-side use only! 
    NSString *token = user.authentication.idToken; // Safe to send to the server 
    NSString *name = user.profile.name; 
    NSString *email = user.profile.email; 
... 
} 

ответ

23

вы должны установить [GIDSignIn sharedInstance] .shouldFetchBasicProfile = YES; а также использование ниже коды для получения профиля Pic

if ([GIDSignIn sharedInstance].currentUser.profile.hasImage) 
    { 
     NSUInteger dimension = round(thumbSize.width * [[UIScreen mainScreen] scale]); 
     NSURL *imageURL = [user.profile imageURLWithDimension:dimension]; 
    } 

Swift Реализации:

let dimension = round(thumbSize.width * UIScreen.mainScreen().scale); 
let pic = user.profile.imageURLWithDimension(dimension) 
+0

Спасибо вы спасли меня –

+0

Nice Bro ... Его работа Совершенная .... – sohil

+0

Идеальный ответ .. :) –

1

Свифт 3

let dimension = round(imageSize.width * UIScreen.main.scale) 
let pic = userInfo.profile.imageURL(withDimension: dimension) 

imageSize.width требуется ширина изображения.

let dimension = round(100 * UIScreen.main.scale) 
let pic = userInfo.profile.imageURL(withDimension: dimension) 

Благодаря Амит

0

BOOL hashImage = user.profile.hasImage;

CGSize thumbSize=CGSizeMake(500, 500); 
if (hashImage) { 
    NSUInteger dimension = round(thumbSize.width * [[UIScreen mainScreen] scale]); 
    NSURL *imageURL = [user.profile imageURLWithDimension:dimension]; 
    NSLog(@"image url=%@",imageURL); 
} 
Смежные вопросы