【发布时间】:2012-02-12 07:20:33
【问题描述】:
我尝试在我的应用中启动 PayPal。有时我会收到“网络超时”错误,如果我重试初始化 PayPal,此警报会一次又一次地出现。如何避免这种情况?如何正确重新启动PayPal?我的代码是:
- (void)initializePayPal {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[PayPal initializeWithAppID:PP_APP_ID forEnvironment:ENV_SANDBOX];
而([贝宝初始化状态] == STATUS_INPROGRESS){
[NSThread sleepForTimeInterval:1];
}
开关([贝宝初始化状态]){
情况 STATUS_COMPLETED_SUCCESS:
NSLog(@"STATUS_COMPLETED_SUCCESS");
休息;
情况 STATUS_COMPLETED_ERROR:{
NSDictionary *responseMessage = [PayPal getInstance].responseMessage;
NSLog(@"STATUS_COMPLETED_ERROR:%@", responseMessage);
if ([[responseMessage objectForKey:@"errorId"] integerValue] == 10818) {
[自初始化贝宝];
}
}
休息;
默认:
休息;
}
[池释放];
}
【问题讨论】:
-
为什么要在单独的线程上完成?
-
我的问题与线程无关。如果失败,您知道如何重新启动 PayPal 吗?