我正在为iOS6编写Facebook Parser。昨天,我只用解析器做了一个测试项目。这很好。当我想在我更大的项目中实现解析器时(使用完全相同的方法代码),给出了“Parse Error:Expected]”。社交和帐户的导入已设置。 这是给出错误的行:
SLRequest *retrieveWall = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodGET URL:newsFeed parameters:nil];
这是完整的方法:
-(void)fetchFacebookFrom:(NSString*)userID withAppKey:(NSString*)appKey
{
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore
accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
NSDictionary *options = @{
@"ACFacebookAppIdKey" : appKey,
@"ACFacebookPermissionsKey" : @[@"email"],
@"ACFacebookAudienceKey" : ACFacebookAudienceEveryone
};
[accountStore requestAccessToAccountsWithType:accountType
options:options completion:^(BOOL granted, NSError *error) {
if(granted)
{
NSArray *arrayOfAccounts = [accountStore
accountsWithAccountType:accountType];
if ([arrayOfAccounts count] > 0)
{
ACAccount *facebookAccount = [arrayOfAccounts lastObject];
NSURL *newsFeed = [NSURL URLWithString:@"https://graph.facebook.com/12345678901/feed"];
SLRequest *retrieveWall = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodGET URL:newsFeed parameters:nil];
retrieveWall.account = facebookAccount;
[retrieveWall performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error)
{
if (error)
{
NSLog(@"Error: %@", [error localizedDescription]);
}
else
{
// The output of the request is placed in the log.
NSDictionary *jsonResponse = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingAllowFragments error:nil];
NSArray *statuses = [jsonResponse objectForKey:@"data"];
}
}];
}
}
else
{
NSLog(@"Not granted");
}
}];
}
错误特定指向方法调用中的“URL”..
这个愚蠢的错误让我疯狂了3个小时。我重新启动了XCode,清理了项目并重启了我的Mac。谁看到错误?
编辑:似乎这个特定的代码不是问题。我也添加了核心数据,它在方法名称中有一些URL功能。 现在,方法名称中包含URL的每个函数都会产生一个Parse Error并指向“URL”。越来越接近问题,但仍然不存在!答案 0 :(得分:0)
我们在头文件中的某处定义了URL。删除此修复它。感谢您考虑解决方案!