0

私のアプリでは、ASIFormDataRequest を使用して Web にデータを投稿および取得しています。しかし、(アドホック ビルドを使用して) App Store 用にアプリをビルドすると、これらの要求の一部が単に呼び出されません! これは私のアプリを台無しにします。

誰かが理由を知っていますか?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:^{

  ...

どうもありがとうございました。

4

1 に答える 1

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];

これがブロックメソッドの実行プロセス標準です。それがあなたを助けることを願っています。

于 2013-06-16T06:02:02.610 に答える