在ios6.1中不推荐使用requestAccessToAccountsWithType,我应该使用什么呢?

时间:2013-08-29 05:03:40

标签: twrequest acaccountstore

- (无效)getTwittersFollowers {     ACAccountStore * store = [[ACAccountStore alloc] init];     ACAccountType * twitterAccType = [store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];

**[store requestAccessToAccountsWithType:twitterAccType withCompletionHandler:^(BOOL granted,NSError *error)**{
    if(!granted){
        NSLog(@"User refused to access to his account");
    }else{

        NSArray *twitterAcc=[store accountsWithAccountType:twitterAccType];

        if([twitterAcc count]>0){
            ACAccount *account=[twitterAcc objectAtIndex:0];
            NSLog(@"account name %@",[account accountDescription]);

            NSMutableDictionary *params=[[NSMutableDictionary alloc]init];
            [params setObject:@"1" forKey:@"inclue_entitles"];

            NSURL *url=[NSURL URLWithString:@"http://api.twitter.com/1/followers.json"];
            //TWRequest *request=[[TWRequest alloc]initWithURL:url parameters:params requestMethod:TWRequestMethodGET];
            SLRequest *request=[SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodPOST URL:url parameters:params];
            [request setAccount:account];
            [request performRequestWithHandler:^(NSData *responce,NSHTTPURLResponse *urlResponce,NSError *error){
                if(!responce){
                    NSLog(@"%@",error);
                }else{
                    NSError *jsonError;
                    NSMutableDictionary *followers=[NSJSONSerialization JSONObjectWithData:responce options:NSJSONReadingMutableLeaves error:&error];

                        if(followers!=nil){
                            for (int i=0; i<[[followers objectForKey:@"users"] count]; i++) {
                                NSLog(@"_____%@",[[[followers objectForKey:@"users"] objectAtIndex:i] objectForKey:@"screen_name"]);
                                NSLog(@"______________________________________%@",[[[followers objectForKey:@"users"] objectAtIndex:i] objectForKey:@"profile_image_url"]);


                                [nameArray addObject:[[[followers objectForKey:@"users"] objectAtIndex:i] objectForKey:@"screen_name"]];


                                NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:[[[followers objectForKey:@"users"] objectAtIndex:i] objectForKey:@"profile_image_url"]]];


                                [imageArray addObject:imageData];

                                NSLog(@"%i", [imageArray count]);
                            }

                        }else{
                            NSLog(@"%@",jsonError);
                        }


                }
            }];
        }
    }


}];

}

我应该使用什么而不是突出显示的代码......?

1 个答案:

答案 0 :(得分:8)

虽然由于某些原因未在文档中明确提及,但该方法的替换为- (void)requestAccessToAccountsWithType:(ACAccountType *)accountType options:(NSDictionary *)options completion:(ACAccountStoreRequestAccessCompletionHandler)completion(可以通过查看文档轻松找到)