我有一个应用程序,我写在离子.我把这个应用程序转移到Xcode,并添加了一个小部件作为一个额外的功能.我在Xcode中创建了一个Swift文件与离子通信.我可以通信,但我有一个问题.我想知道应用程序是从一个小部件还是从这个Swift文件中的正常图标打开.我怎么做?
Plugin.swift:
import Foundation
import Capacitor
@objc(MyService)
public class MyService: CAPPlugin {
@objc func routeProfile(_ call: CAPPluginCall) {
print(bridge?.webView?.url)
print("bbbbbbbbbbbbbbbbbbbbbbbb")
print(bridge?.description)
print("cccccccccccccccccccccccc")
print(Bundle.main.bundlePath)
print("dddddddddddddddddddddddd")
print(Bundle.main.infoDictionary)
print(Bundle.main.infoDictionary?["CFBundleIdentifier"])
print("cxvxvxcgsfgbdfdfgbdfb")
print(externalURLScheme())
//print(externalURLScheme)
print(Bundle.main)
if Bundle.main.bundleIdentifier == "com.xxx.yyy" {
//UIApplication.sharedApplication().registerUserNotificationSettings(setting)
print("here")
} else {
call.resolve(["a":"b"])
}
}
字符串
1条答案
按热度按时间nimxete21#
widgetURL
和onOpenURL
在widget视图中,您可以使用
widgetURL
将任意URL发送到应用。在应用的外部视图中,您会收到onOpenURL(perform:)
的URL。如果您确实收到了URL,您可以比较这些URL以确定widget是否打开了应用。如果您没有收到URL(
perform
操作未运行),则可能还有其他原因导致应用程序启动,例如通知。如果您可以排除所有其他原因,则您的应用程序已通过点击应用程序图标启动。