0

これは難しい質問です。

ボタンを押すと、wcf サービスのそのメソッドを開始する URL に接続することになっています。ただし、デバッグすると、接続が失敗することに気付きました (どのデリゲート メソッドも呼び出されないなど)。Safari で URL を直接入力すると、完全に機能し、そのメソッドを実行するため、WCF サービスが機能することはわかっています。これが私のコードです:

- (IBAction)RBCButtonPressed:(id)sender {

//[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"http://10.1.51.55:8732/windows2/OnApplication?appName=RoyalBank.BankOfTheFuture.Surface.exe&directory=C:\\Program Files (x86)\\Bank of the Future"]];
NSString *urlString = @"http://10.1.51.55:8732/windows2/OnApplication?appName=RoyalBank.BankOfTheFuture.Surface.exe&directory=C:\\Program Files (x86)\\Bank of the Future";
NSLog(urlString);
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url ];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[connection release];
[request release];
if(connection)
    self.valueReturned = [[NSData data] retain];
else
    NSLog(@"data failed");

NSLog(@"connection failed");
[captureView addSubview:loader];

}

とにかく呼び出されないため、デリゲート メソッドは含めません。「接続に失敗しました」と出力されます。

更新: パラメーターを 1 つだけ受け取るメソッドを使用すると、ブラウザーとデバイスの両方から正常に動作します (接続が成功し、デリゲート メソッドが呼び出されます)。ただし、パラメータが 2 つある場合は、ブラウザからのみ正常に動作します。接続は常に失敗します。可能性 - バックスラッシュを使用すると、何らかの形で混乱します (?)。

これは緊急であり、どんな助けも大歓迎です。

編集:常に「接続に失敗しました」と出力されますが、1)デリゲートメソッドが呼び出されず、2)メソッドが呼び出された場合にアプリケーションがオンにならないため、接続が失敗することはわかっています。

4

2 に答える 2

1

接続を作成した直後に接続を解放しているため、失敗しています。ARC を使用していない場合は、autorelease で作成するか、単に ARC を使用してリリースを忘れることができます。

于 2012-08-07T22:20:01.513 に答える