我目前正在使用Swift开发iOS应用,用户可以在一个视图中通过用户名添加好友,并在另一个桌面视图中显示用户的好友列表,我目前正在使用解析和我能够让我的应用程序让用户注册并登录。
我想知道通过用户名添加好友的代码,并用解析显示用户的好友列表, 我已经尝试过寻找这个解决方案,除了如何从Facebook获取与我的应用程序无关的朋友列表外,我什么都没有。
感谢任何帮助,如果您需要任何其他信息,请与我们联系! (抱歉我的英语不好)。
答案 0 :(得分:0)
您需要使用FBSDK for iOS才能为Facebook好友列表发出图形请求。
我不太明白,如果您想添加已在您的应用中注册的“朋友”或拥有Facebook帐户,但无论如何您需要将您的用户存储在数据存储中,我相信Parse有PFObject,你可以像这样保存:
var appUser = PFObject(className:"AppUser")
appUser["userFullName"] = "John Doe"
appUser["userFacebookID"] = 1
appUser["userEmail"] = "j.doe@doe.com"
appUser.saveInBackgroundWithBlock {
(success: Bool, error: NSError?) -> Void in
if (success) {
// The object has been saved.
} else {
// There was a problem, check error.description
}
}
从那里您需要的是将用户与“友谊”对象相关联,例如:
var userFriendship = PFObject(className:"Friendship")
appUser["invitedUserEmail"] = "jane.doe@doe.com"
appUser["invitingUserEmail"] = "j.doe@doe.com"
appUser["invitationStatus"] = "pending"
appUser.saveInBackgroundWithBlock {
(success: Bool, error: NSError?) -> Void in
if (success) {
// The object has been saved.
} else {
// There was a problem, check error.description
}
}
之后,您可以更新对象,以便将邀请状态更改为“已接受”或“已拒绝”,取消“等等。
要获取用户邀请和朋友列表,您需要使用您正在寻找的参数制作ParseQuery,例如:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"invitingUserEmail = 'j.doe@doe.com' AND invitationStatus = 'accepted'"];
PFQuery *query = [PFQuery queryWithClassName:@"Friendship" predicate:predicate];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
// The find succeeded.
NSLog(@"Successfully retrieved %d friends.", objects.count);
// Do something with the found objects
for (PFObject *object in objects) {
NSLog(@"%@", object.objectId);
}
} else {
// Log details of the failure
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];
您可以在Parse Docs https://parse.com/docs/ios/guide
中找到更多内容