swift 检查应用程序是否从Xcode插件中的小部件打开

yizd12fk  于 11个月前  发布在  Swift
关注(0)|答案(1)|浏览(108)

我有一个应用程序,我写在离子.我把这个应用程序转移到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"])
            }

}

字符串

nimxete2

nimxete21#

widgetURLonOpenURL

在widget视图中,您可以使用widgetURL将任意URL发送到应用。在应用的外部视图中,您会收到onOpenURL(perform:)的URL。如果您确实收到了URL,您可以比较这些URL以确定widget是否打开了应用。
如果您没有收到URL(perform操作未运行),则可能还有其他原因导致应用程序启动,例如通知。如果您可以排除所有其他原因,则您的应用程序已通过点击应用程序图标启动。

相关问题