我正在开发一款iOS游戏,该游戏将使用Facebook请求作为用户获取策略的一部分。我已经实现了请求对话框,并且可以将请求发送给我的 friend 。 Facebook iOS SDK中的回调返回3个对象:FBWebDialogResult result
,NSURL *resultURL
和NSError *error
我怀疑NSURL
的格式如下:fbconnect://success?request=23269054024361&to%5B0%5D=1453458133453
。
该网址应如何处理?我看到这是一个传递最近邀请的 friend ID的URL。
最佳答案
您可以使用它来提取邀请的 friend ID。我没有看到其他许多目的。
既然我们在谈论它,在这里我将介绍一种用于解析URL并取回邀请ID的方法。
- (NSArray *)invitedFriendsIdsFromURL:(NSURL *)resultURL {
NSRegularExpression * regex = [NSRegularExpression regularExpressionWithPattern:@"to%5B\\d+%5D=(\\d+)"
options:NSRegularExpressionCaseInsensitive
error:NULL];
NSArray * matches = [regex matchesInString:resultURL.absoluteString
options:0
range:(NSRange){0, resultURL.absoluteString.length}];
NSMutableArray * ids = [NSMutableArray arrayWithCapacity:matches.count];
for (NSTextCheckingResult * match in matches) {
[ids addObject:[resultURL.absoluteString substringWithRange:[match rangeAtIndex:1]]];
}
return ids;
}