我在 iOS 18.0 上使用 NS 8.6(普通)。 该问题发生在模拟器和物理设备上。 这是我的代码:
import { Utils } from "@nativescript/core";
...
public navigateToUrl(url: string) {
const opened: boolean = Utils.openUrl(url);
}
调用上述函数时,“opened”始终为 false,没有任何反应。
我尝试了不同的有效网址,但没有成功。
这与新的 iOS 18 或 NS 8.6 中出现的问题有关吗?
如果是 iOS 18 问题,我们有解决方法吗? Apple 测试人员都在使用 18,他们将继续拒绝我们的应用程序,直到我们修复该问题。
对于那些仍在为此苦苦挣扎的人。 我在 Discort 社区的 @jorge_mendes#007 的帮助下完成了这项工作。 他建议了以下方法,我可以确认这是否有效。
import { dataSerialize } from "@nativescript/core/utils";
...
public navigateToURLiOS(url: string) {
const nsUrl = NSURL.URLWithString(url.trim());
UIApplication.sharedApplication.openURLOptionsCompletionHandler(
nsUrl,
dataSerialize({}),
() => { }
);
}
希望这可以节省您一些研究时间。