1

iOS6用のFacebookパーサーを書いています。昨日、パーサーだけでテストプロジェクトを作りました。これはうまくいきました。より大きなプロジェクト(まったく同じメソッドコードを使用)にパーサーを実装する場合、「解析エラー:予期される]」が表示されます。ソーシャルとアカウントのインポートが設定されます。これはエラーを与える行です:

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が含まれるすべての関数で、解析エラーが発生し、「URL」を指すようになりました。問題に近づいていますが、まだそこにはありません!

4

1 に答える 1

0

ヘッダーファイルのどこかにURLを定義しました。これを削除すると修正されました。解決策を考えてくれてありがとう!

于 2013-01-14T07:55:28.027 に答える