在 WKWebview 中打开 URL

Open URL in WKWebview

我正在尝试在 WKWebview 中打开以下 URL,

https://chart.googleapis.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/mynameisanthony@gmail.com?secret=B6S2LGJTQHIDKIMU&issuer=someapp+Auth

        strQRImage =  @"https://chart.googleapis.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/mynameisanthony@gmail.com?secret=B6S2LGJTQHIDKIMU&issuer=someapp+Auth";
        NSURL *url = [NSURL URLWithString:strQRImage];
        [webview loadRequest:[NSURLRequest requestWithURL:url]];

当我 运行 这段代码在 url

中给出 nil 值

这可能是因为您的 URL 无效且包含无效字符。您应该确保 url 已正确编码。

您必须使用 stringByAddingPercentEncodingWithAllowedCharacters 使其成为有效的 URL.

NSString *urlString = @"https://chart.googleapis.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/mynameisanthony@gmail.com?secret=B6S2LGJTQHIDKIMU&issuer=someapp+Auth";
NSString *encodedURLString = [urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSURL *url = [NSURL URLWithString:encodedURLString];

现在您可以使用这个 url。

我已经解决了我的问题。

        strQRImage = [strQRImage stringByReplacingOccurrencesOfString:@"+" withString:@" "];
        strQRImage = [strQRImage stringByRemovingPercentEncoding];
        NSURL* url = [NSURL URLWithString:[strQRImage stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]];