0

私は簡単なコードを持っています

NSURL *url = [NSURL URLWithString:@"https://en.wikipedia.org/wiki/Cat"];
if ([SFSafariViewController class] != nil) {
    SFSafariViewController *sfvc = [[SFSafariViewController alloc] initWithURL:url];
    [self presentViewController:sfvc animated:YES completion:nil];
} else {
    [[UIApplication sharedApplication] openURL:url];
}

iOS 9.3でテストしました。最初に URL を開くと、ページがモバイル モードで表示されます。

ここに画像の説明を入力 (写真1)

次に、[デスクトップ] をクリックします。そして、私はこのページを見ることができます (写真 2)

ここに画像の説明を入力 (写真2)

アプリケーションを再起動しましたが、SFSafariViewController はまだデスクトップ モードでページを開きます (図 2)。SFSafariViewController を使用してモバイル モードで URL を強制的に開くことはできますか? また、これを行うにはどうすればよいですか?

4

3 に答える 3

1

このコンテキストの「デスクトップ」リンクは、ユーザーが Macintosh または PC をクリックしたときに通常表示されるものを表示することを意味します。これは予期される動作です。

アプリケーションを一時停止してから再開すると、特に SFSafariViewController がユーザーに表示されている場合、元の URL を再度開くように指示しない限り、アプリは中断された同じページで再開されます (これは、アプリケーション デリゲートが監視しapplicationWillEnterForeground:、View Controller を強制的にリロードします)。

于 2016-04-22T17:22:33.983 に答える
0

正常に動作していた場合は、ウィキペディアのフッターでモバイル ビューをクリックするだけです。それ以外の場合は、アプリを再構築してクリーンアップすると、デフォルトの動作が復元されます。

于 2016-04-22T17:26:47.903 に答える