在我的应用中,我使用ASIFormDataRequest在网上发布和获取数据。 但是当我为App Store构建我的应用程序时(使用ad-hoc构建),其中一些请求根本就没有被调用!这毁了我的应用程序。
有人知道为什么吗?使用Xcode进行构建和App Store的应用程序构建之间有什么区别?
我使用以下方式调用我的请求:
NSString *stringURL = @"http://myserv.com";
NSURL *urlPosting = [NSURL URLWithString:stringURL];
__weak ASIFormDataRequest *requestFormBase1 = [ASIFormDataRequest requestWithURL:urlPosting];
[requestFormBase1 addPostValue:valueToPost forKey:@"key"];
[requestFormBase1 startAsynchronous];
[requestFormBase1 setCompletionBlock:^{
...
非常感谢。
答案 0 :(得分:0)
此示例适用于我。
dispatch_queue_t queue = dispatch_queue_create("_downloadQueue", NULL);
dispatch_async(queue, ^(void){
NSString *_apiURL = @"http://yours.com";
__weak ASIFormDataRequest *formRequest = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:_apiURL]];
[formRequest setCompletionBlock:^{
NSLog(@"response string : %@", [formRequest responseString]);
dispatch_async(dispatch_get_main_queue(), ^(void) {
//To execute the UIs.
});
}];
[formRequest setFailedBlock:^{
dispatch_async(dispatch_get_main_queue(), ^(void) {
//To execute the UIs.
});
}];
[formRequest startAsynchronous];
});
在您的代码中,您可能需要更改有关“[requestFormBase1 startAsynchronous];”的执行过程,以便最后一次运行,如下所示:
NSString *stringURL = @"http://myserv.com";
NSURL *urlPosting = [NSURL URLWithString:stringURL];
__weak ASIFormDataRequest *requestFormBase1 = [ASIFormDataRequest requestWithURL:urlPosting];
[requestFormBase1 addPostValue:valueToPost forKey:@"key"];
[requestFormBase1 setCompletionBlock:^{ ... }];
[requestFormBase1 startAsynchronous];
这是Block方法运行过程标准。希望它会对你有所帮助。