Я разрабатываю приложение для iphone с использованием PhoneGap 1.2.0 с Snow Leopard, Xcode 4.2 и работаю в симуляторе iPhone. Я подключаюсь к стороннему веб-сайту через Oauth и мне нужно перенаправить в мое приложение с прикрепленными значениями. Следуя указаниям Джесси здесь , у меня есть следующий код:
// Objective-C code in your AppDelegate
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
// Do something with the url here
NSString* jsString = [NSString stringWithFormat:@"handleOpenURL(\"%@\");", url];
[webView stringByEvaluatingJavaScriptFromString:jsString]; // freezes here
return YES;
}
// JS code loaded in your webview
function handleOpenURL(url)
{
// TODO: do something with the url passed in.
alert(url);
}
Код Objective C находится в "AppDelegate.m", а код JS находится в отдельном файле JS, указанном в index.html. Приложение зависает в строке «WebView». Я считаю, что проблема связана с тем, что что-то загружается неправильно - есть идеи? Когда приложение замораживается, если я нажимаю кнопку iPhone, затем нажимаю значок приложения, приложение перезагружается, и JS-метод handleOpenUrl запускается с оповещением как требуется.