Objective-C
Xcode
iOS
ATS
iOS9

ATS対策 外部ページの表示にはSFSafariViewController

More than 3 years have passed since last update.

iOS9でそんなに大きく取り上げられなかったのに開発者には頭のいたいATS, App Transfer Security
APIをいくつかしか使ってないってなら「対応待ち」「例外設定」などで対応できますが、
沢山の外部サイトにリンクするアプリの場合はどうするの?ってことで。
結論「SFSafariViewControllerを使おうよ(見た目気にしなければ)」ってことです。

SFSafariViewControllerは「SafariのVC実装」なので、HTTPのサイトも表示できます。
で、こんな感じで実装してあげます。

ViewController
    Class safari = NSClassFromString(@"SFSafariViewController");
    if (safari != nil) {
        SFSafariViewController *safariViewController =
        [[SFSafariViewController alloc] initWithURL:[NSURL URLWithString:@"http://example.com/"]];

        [self presentViewController:safariViewController
                           animated:YES
                         completion:nil];
    } else {
        //iOS8以下の場合の処理。独自またはサードパーティのWebViewController呼び出しなど。
    }

他にもやり方はそれぞれだろうとは思いますが、手っ取り早く外部リンク解決できます。
もちろん 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://example.com/"]];

ってSafari呼び出しもていいんですけどね。