这是一个棘手的问题。
当我按下按钮时,它应该连接到一个 URL,这将启动我的 wcf 服务的该方法。但是,当我调试时,我注意到连接失败(就像没有调用任何委托方法等等)。我知道我的 WCF 服务可以正常工作,因为当我直接在 safari 中键入 URL 时,它可以正常工作并执行该方法。这是我的代码:
- (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)应用程序未打开,如果调用该方法则会打开。