0

私たちの開発チームでは、クライアントを認証する WEB サービスを実装しました。iPhone アプリケーションから、クライアントの情報を Web サービスに送信する必要があります。そのために、次の関数を作成しました。

-(void)authenticateClient:(NSString*)theContractNumber
           ClientCode:(NSString*)theClientCode
            CellPhone:(NSString*)theCellPhone
              appleID:(NSString*)theAppleID

{
NSLog(@"Begin Send the information to the Web Service",nil);

NSString *uid = [UIDevice currentDevice].uniqueIdentifier;


NSDictionary *formParams = [NSDictionary dictionaryWithObjectsAndKeys:
                            theClientCode, @"ClientCode",
                            theContractNumber, @"ContractCode",
                            theAppleID, @"AppleID",
                            @" ", @"AndroidID",
                            @" ", @"WindowsID",
                            uid, @"AppleDeviceID",
                            @" ", @"AndroidDeviceID",
                            @" ", @"WindowsDeviceID",
                            theCellPhone, @"TelephoneNumber"
                            , nil];

MKNetworkOperation *operation = [self.engine operationWithPath:@"/services/Authentication.ashx"
                                                        params: formParams
                                                    httpMethod:@"POST"];
[operation addCompletionHandler:
 ^(MKNetworkOperation *operation) {
     NSLog(@"%@", [operation responseString]);
 }
                   errorHandler:^(MKNetworkOperation *errorOperation, NSError *error) {
                       NSLog(@"%@", error);
                   }];
[self.engine enqueueOperation:operation] ;


}

関数は機能します (またはエラーなしで機能するように見えます) が、実際には何もしません。[operation addCompletionHandler:ブロックから渡されますが、何もしません。私もそれを段階的に実行しましたが、アプリケーションがこの行に到達してから実行し、コード ブロック内に入ることなく[self.engine enqueueOperation:operation]行に直接移動することがわかりました。

誰でもこれについて助けることができますか?

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

4

0 に答える 0