大家都知道,应用在从浏览器跳回到应用时会在appdelegate中调用如下方法:-(BOOL)application:(UIApplication*)applicationopenURL:(NSURL*)urlsourceApplication:(NSString*)sourceApplicationannotation:(id)annotation{NSLog(@"url=%@",url.absoluteString);NSLog(@"sourceApplication=%@",sourceApplication);[[MBGithubOAuthClientsharedClient]tokenRequestWithCallbackURL:urlsaveOptions:kMBSaveOptionsKeychaincompletion:^(BOOLsuccess,NSError*error){if(error||!success){NSLog(@"Tokenrequestfailed:%@",error.localizedDescription);}else{//Savedtouserdefaults...NSLog(@"Savedtoken");}}];returnYES;}在这里我对返回的url参数可以做处理,可是业务代码不可能写在这里,我应该如何做,使得的可以将回调方法定义在任何位置,类似友盟在controller类中的如下方法:-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity*)response{//根据`responseCode`得到发送结果,如果分享成功if(response.responseCode==UMSResponseCodeSuccess){//得到分享到的微博平台名NSLog(@"sharetosnsnameis%@",[[response.dataallKeys]objectAtIndex:0]);}if(response.viewControllerType==UMSViewControllerOauth){NSLog(@"didFinishOauthAndGetAccountresponseis%@",response);}}当然我希望如果可以,实现如下的回调方式:[[OAuthSignUtilsharedOAuthSignUtil]signInto:SignIntoGithubcompletion:^(BOOLsuccess,NSError*error){//做回调处理}];即我使用signInto:SignIntoGithub方法去获取授权,然后回调成功之时,之后在下面的block做处理,请各位大牛不吝赐教
陪伴而非守候
相关分类