PFUser *aUser = [PFUser 当前用户]; //可能不是当前用户 NSLog("username %@", [aUser username]); //如果不是FB用户也可以。否则它给了我一个令牌。我知道有一个 [PFUser isLinkedWithUser:aUser] 返回的是 CURRENT LOGGED USER 已链接,但 aUser 可能不是此设备中的当前用户。
这适用于当前用户:
+ (void)getUsernameWithCompletionBlock:(void(^)(NSString *username))handler {
if([PFFacebookUtils isLinkedWithUser:[PFUser currentUser]]){ //<-
FBRequest *request = [FBRequest requestForMe];
[request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (!error) {
NSDictionary *userData = (NSDictionary *)result;
NSString *name = userData[@"name"];
handler(name);
}}];
} else {
handler([[PFUser currentUser] username]);
}
}
但我想要这样的东西
+(void)getUsernameWithUser:(PFUser *)user andCompletionBlock:(void(^)(NSString *username))handler {
if([PFFacebookUtils isLinkedWithUser:user]){ //<- THIS ALWAYS RETURN FALSE
//return the real facebook username
} else {
handler([user username]);
}
}
在文档中说:isLinkedWithUser:
用户是否将其帐户链接到 Facebook。
(BOOL)isLinkedWithUser:(PFUser *)user 参数 user 用于检查 facebook 链接的用户。用户必须在此设备上登录。有任何想法吗?