2012年5月30日水曜日

CordovaからSafariにリンクする

自分のサイトへのリンク等の外部URLをクリックした時、アプリから抜け出してブラウザで開くようにしたかったのでその対応をしました。

以下のサイトを参考にしました。
http://blog.bbtune.com/archives/1376/external-link-to-safari-phonegap-ios

しかし、そのままではXcode、PhoneGapのバージョンが違うせいなのかうまく適用ができませんでした。
(Xcode4.3&Cordova1.6を使用)

試行錯誤した結果、Classes>MainViewController.mに下記の内容を追加することでうまくSafariで開けました。
(「- (BOOL) webView:(UIWebView・・・」がコメントアウトされていたのでそれは放置)

- (BOOL) webView:(UIWebView*)theWebView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSURL *url = [request URL];
    if( [[url scheme] isEqualToString:@"http"] || [[url scheme] isEqualToString:@"https"])
    {
        [[UIApplication sharedApplication] openURL:url];
        return NO;
    }
    else
    {
            return [super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType];
    }
}

Objectb-Cの事はわからないので大半は参考サイトのものを転用しています。

0 件のコメント:

コメントを投稿