Как запустить браузер Chrome при открытии ссылки в iOS - PullRequest
0 голосов
/ 14 мая 2018

Вот мой код,

Как открыть ссылку только через браузер Chrome?

NSString* url = @"some url";

NSURL *inputURL = [NSURL URLWithString:url];
NSString *scheme = inputURL.scheme;

// Replace the URL Scheme with the Chrome equivalent.
NSString *chromeScheme = nil;
if ([scheme isEqualToString:@"http"]) {
    chromeScheme = @"googlechrome";
} else if ([scheme isEqualToString:@"https"]) {
    chromeScheme = @"googlechromes";
}

// Proceed only if a valid Google Chrome URI Scheme is available.
if (chromeScheme) {
    NSString *absoluteString = [inputURL absoluteString];
    NSRange rangeForScheme = [absoluteString rangeOfString:@":"];
    NSString *urlNoScheme =
    [absoluteString substringFromIndex:rangeForScheme.location];
    NSString *chromeURLString =
    [chromeScheme stringByAppendingString:urlNoScheme];
    NSURL *chromeURL = [NSURL URLWithString:chromeURLString];

    // Open the URL with Chrome.
    [[UIApplication sharedApplication] openURL:chromeURL];
}

Я даже добавил следующее в .plist,

<key>LSApplicationQueriesSchemes</key>
    <array>
        <string>googlechrome</string>
    </array>

Но все равно это не работает.

1 Ответ

0 голосов
/ 14 мая 2018

Прежде всего убедитесь, что вы установили браузерное приложение Google Chrome на тестовом устройстве iPhone. Если вы тестируете этот код в симуляторе, то он не будет работать, поскольку приложение браузера Google Chrome не может быть установлено в симуляторе Xcode. На устройстве iPhone Вы можете проверить установку приложения chrome следующим образом

//Check if Google Chrome is Instaled
    if ([[UIApplication sharedApplication] canOpenURL:chromeURL]) {

        //open URL in Google chrome browser app
        [[UIApplication sharedApplication] openURL:chromeURL];
    }
    else
    {
        //Remove Google Chrome Scheme  at start of application and open link     in safari append http or https at start
         [[UIApplication sharedApplication] openURL:safariURL];

    }

Ваш код работает нормально

Код Spinet

Результат один

Демо-версия Screeen

Заявление в рабочем состоянии

Окончательный результат

...