ユーザーがプロフィール画像を設定していない場合に備えて、アプリで設定されたデフォルトの画像を表示することになっています。ユーザーが自分の Google アカウントにプロフィール画像を設定しているかどうかを検出する必要があります。
現在、まだ画像を設定していないユーザーのプロフィール画像にアクセスすると、API は Google によって設定されたデフォルトのプロフィール画像を返します。また、この場合でも常に true を返すため、 hasImageプロパティは役に立たない結果になりました。
以下は、profileImage GoogleSignIn (3.0.0)にアクセスするために使用した API です。
GIDProfileData->hasImage : "Whether or not the user has profile image"
GIDProfileData->imageURLWithDimension : "Gets the user's profile image URL for the given dimension in pixels for each side of the square"
プロフィール画像にアクセスするためのスニペットは次のとおりです。
if([GIDSignIn sharedInstance].currentUser.profile.hasImage) {
NSUInteger imgSize = usrImgV.frame.size.height * 2;
NSURL *imgUrl = [[GIDSignIn sharedInstance].currentUser.profile imageURLWithDimension:imgSize];
[usrImgV setImageWithURL:imgUrl placeholderImage:placeholderImg];
}
これの最後の手段は画像を比較するようですが、デフォルトの画像が変更された場合にも壊れます。
