Как обработать токен Humanapi после перехода с UIWebView на WKWebView? - PullRequest
0 голосов
/ 31 марта 2020

Мы используем Humanapi «Обмен данными о здоровье», и я успешно мигрировал из UIWebView в WKWebView, чтобы адаптироваться к амортизации UIWebView!

После того, как пользователь выбирает цель и завершает авторизацию, которую я получаю: "https://close-popup-with-message "и продолжаем с необходимыми логами c:

if ([url hasPrefix:@"https://close-popup-with-message"]) {
    [self closePopup];
    [self postMessageFromUrl:url];
}

Затем мы вызываем postMessageFromUrl и оцениваем JavaScript:

- (void)postMessageFromUrl:(NSString *)url {
NSArray *parts = [url componentsSeparatedByString:@"?"];
if ([parts count] > 1) {
    NSString *message = parts[1];
    NSString *js = [NSString stringWithFormat:@""
                    "window.postMessage(decodeURIComponent('%@'), '*');", message];

    [self.webView evaluateJavaScript: js completionHandler: NULL];

} else {
    DLog(@"error with message parsing!");
}

}

и нам следует продолжить: "https://connect-token", обработать токены и продолжить с необходимыми логами c!

Но по какой-то причине мы не кажется, что js "java script" не оценивается, Я не уверен, что это может быть неправильно js "java script" при оценке или обработке :( не уверен, какие-либо идеи ^ _ ^

Примечание в инициализации веб-представления, которое я добавил в необходимые логики javaScriptEnabling c:

// WKWebView init
WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];

WKPreferences *preferences = [[WKPreferences alloc] init];
preferences.javaScriptEnabled = YES;
preferences.javaScriptCanOpenWindowsAutomatically = YES;

configuration.preferences = preferences;

self.webView = [[WKWebView alloc] initWithFrame: frame configuration: configuration];

Спасибо в аванс ^ _ ^

...