iOS 14小工具:点击项目在Cordova上打开应用程序页面



我有一个基于Cordova的项目,最近我为ios 14开发了小部件。目标:当用户点击小部件Article Item时,我想要console.log((或捕获Cordova项目上的URL,以便用户重定向到Article Page。

在项目中已经存在代码,它负责deeplink。但无论何时,我都会点击小工具项目"我的应用程序启动"。例如:如果点击Slack应用程序中的文章链接。用户将登陆相应的文章。

我正在使用这个插件cordova通用链接插件,cordova插件自定义方案

关于Widget本机代码,我遵循了文档创建Widget对于我正在使用的其他小部件,我正在使用链接方法WidgetFamily.systemMedium或WidgetFamily.systemLarge小工具URL(_:(

Link(destination: URL(string: urlString)!,label: {
Text(article.Title != nil ? article.Title! : "test")
.lineLimit(3)
.font(.system(size: 14, weight: .semibold, design: .default))
.padding()
})

.widgetURL(URL(string: article.URL != nil ? article.URL! : ""))

在cordova应用程序上,我有

// Custom url scheme : cordova-plugin-customurlscheme
window.handleOpenURL = url => {
setTimeout(() => {
main.onOpenApplicationLinks(url)
}, 0)
}
// Universal Link Cordova Plugin
universalLinks.subscribe('openPath', (eventData)=> console.log(eventData))

如何在cordova应用程序上获取URL或记录URL提前感谢

经过几天的研究。我终于更改了cordova universalLink插件。在插件Appdelegate+CULPlugin.m中添加

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
if ([url.scheme isEqualToString:@"http"] || [url.scheme isEqualToString:@"https"]) {
NSUserActivity *activity = [[NSUserActivity alloc] initWithActivityType:NSUserActivityTypeBrowsingWeb];
[activity setWebpageURL:url];

CULPlugin *plugin = [self.viewController getCommandInstance:PLUGIN_NAME];
return [plugin handleUserActivity:activity];
}else{
return NO;
}

}

哇。。。,现在它工作

最新更新