Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c Google Reader API:pushViewController和NsurErrorDomain代码=-1012与presentModalViewController和成功_Objective C_Google Reader_Nsurlerrordomain - Fatal编程技术网

Objective c Google Reader API:pushViewController和NsurErrorDomain代码=-1012与presentModalViewController和成功

Objective c Google Reader API:pushViewController和NsurErrorDomain代码=-1012与presentModalViewController和成功,objective-c,google-reader,nsurlerrordomain,Objective C,Google Reader,Nsurlerrordomain,我们的iPad应用程序在UIPopoverController中使用UINavigationController 导航控制器管理的第二个视图是 UITableViewController,当选择正确的行时,它会推送 authViewControllerTouch,如中所述 : 成功调用完成的方法: - (void)viewController:(GDataOAuthViewControllerTouch *)viewController finishedWithAuth:(GData

我们的iPad应用程序在
UIPopoverController
中使用
UINavigationController
导航控制器管理的第二个视图是
UITableViewController
,当选择正确的行时,它会推送
authViewControllerTouch
,如中所述 :

成功调用完成的方法:

- (void)viewController:(GDataOAuthViewControllerTouch *)viewController
      finishedWithAuth:(GDataOAuthAuthentication *)auth
                 error:(NSError *)error {
    // error == nil
}
然而,当应用程序尝试检索订阅列表时 请求以某种方式被取消:

Error Domain=NSURLErrorDomain code=-1012“操作无法\u2019完成。

代码-1012是kcfurerrorUserCancelledAuthentication=-1012(已定义 在CFNetworkErrors.h)中

googleOAuthViewController
显示为模态控制器时:

[self presentModalViewController:googleOAuthViewController animated:YES];
然后检索请求的数据时不会出现问题


目前尚不清楚当控制器被推到导航控制器上时,是什么原因导致请求被取消,以及如何解决此问题。

我们的应用程序会从Google Reader同步请求用户的订阅列表

googleOAuthViewController
位于
UINavigationController
的堆栈上且不是根控制器时,就会出现上述问题。Google的代码在
gdataauthViewControllerTouch.m
中的
popView
方法中弹出控制器(gdata-objectivec-client-1.11.0中的第361-375行)完成后。调用
popViewControllerAnimated
会干扰在回调中执行的请求(在成功验证时):

如果
authViewControllerTouch.m
中的第367到370行被注释掉:

//      isPoppingSelf_ = YES;

//      [[self navigationController] popViewControllerAnimated:YES];
//      [[self view] setHidden:YES];
那么请求总是成功的。 请求完成后,必须在应用程序中弹出谷歌的视图

- (void)viewController:(GDataOAuthViewControllerTouch *)viewController
      finishedWithAuth:(GDataOAuthAuthentication *)auth
                 error:(NSError *)error
//      isPoppingSelf_ = YES;

//      [[self navigationController] popViewControllerAnimated:YES];
//      [[self view] setHidden:YES];