diff --git a/WordPressKit.podspec b/WordPressKit.podspec index e316fa8b..091c3810 100644 --- a/WordPressKit.podspec +++ b/WordPressKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "WordPressKit" - s.version = "4.7.1-beta.1" + s.version = "4.8.0-beta.1" s.summary = "WordPressKit offers a clean and simple WordPress.com and WordPress.org API." s.description = <<-DESC diff --git a/WordPressKit/GravatarServiceRemote.swift b/WordPressKit/GravatarServiceRemote.swift index c6191725..5605ce9b 100644 --- a/WordPressKit/GravatarServiceRemote.swift +++ b/WordPressKit/GravatarServiceRemote.swift @@ -35,15 +35,24 @@ open class GravatarServiceRemote { } do { let jsonData = try JSONSerialization.jsonObject(with: data, options: .allowFragments) - if let jsonDictionary = jsonData as? [String: Array], + + guard let jsonDictionary = jsonData as? [String: Array], let entry = jsonDictionary["entry"], - let profileData = entry.first as? NSDictionary { - let profile = RemoteGravatarProfile(dictionary: profileData) - DispatchQueue.main.async { - success(profile) - } - return + let profileData = entry.first as? NSDictionary else { + DispatchQueue.main.async { + // This case typically happens when the endpoint does + // successfully return but doesn't find the user. + failure(nil) + } + return } + + let profile = RemoteGravatarProfile(dictionary: profileData) + DispatchQueue.main.async { + success(profile) + } + return + } catch { failure (error) return