gpt4 book ai didi

ios - 在 NativeScript 中访问 iOS 通用链接中的查询参数

转载 作者:行者123 更新时间:2023-11-28 23:53:15 26 4
gpt4 key购买 nike

问题:如何在 NativeScript 应用程序中使用 urlhandler 插件从 iOS 上的通用链接访问查询参数(例如 ?id=bogus&time=now )?

我正在开发一个 JavaScript NativeScript 应用程序,其中包含 nativescript-urlhandler 插件。我需要能够通过短信接收深层链接、打开应用程序并访问链接的完整 URL。这在 Android 上工作正常,但在 iOS 上不行。

在iOS上,深层链接会打开应用程序,但不会触发handleOpenURL函数。我对此进行了几个小时的搜索,似乎 url 处理程序插件需要处理 appDelegate 的 ContinueUserActivity。但是,我不知道如何取得进展。

相关引用:

https://medium.com/@abhimuralidharan/universal-links-in-ios-79c4ee038272

https://developerinsider.co/handle-query-parameters-in-universal-links/

iOS Universal Links and GET parameters

我相信我已在应用程序设置和 apple-app-site-association 文件方面做好了一切准备。正如我所说,深层链接确实会打开 iOS 应用程序,我只是无法以可以访问链接上传递的数据的方式获得控制权。

我真的很感激任何见解或指示。

最佳答案

根据 {N} doc,我最终能够通过为 continueUserActivity 指定自定义 UIApplicationDelegate 来实现此功能,无需修改 urlhandler 插件。

这是有问题的代码,在 app.js 中,这可能会节省其他人我花了三天时间才弄明白的代码:

const handleOpenURL = require("nativescript-urlhandler").handleOpenURL;

// Handle entry via deep-link URL via nativescript-urlhandler plugin
handleOpenURL(function (appUrl) {
console.log('handleOpenURL: ', appUrl.toString());
routeUrl(appUrl.toString());
}); // end handleOpenURL

// Handle entry via universal link on iOS
// See https://docs.nativescript.org/core-concepts/application-lifecycle#ios-uiapplicationdelegate
// See https://medium.com/@abhimuralidharan/universal-links-in-ios-79c4ee038272
if (!global.isAndroid) {
const MyDelegate = (function (_super) {
__extends(MyDelegate, _super);
function MyDelegate() {
_super.apply(this, arguments);
}
MyDelegate.prototype.applicationContinueUserActivityRestorationHandler = function (application, userActivity) {
if (userActivity.activityType === NSUserActivityTypeBrowsingWeb) {
routeUrl(userActivity.webpageURL);
}
return true;
};
MyDelegate.ObjCProtocols = [UIApplicationDelegate];
return MyDelegate;
})(UIResponder);
application.ios.delegate = MyDelegate;
}

关于ios - 在 NativeScript 中访问 iOS 通用链接中的查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51681898/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com