Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何检查我的共享代码是否在WidgetKit小部件或完整应用程序中运行?_Swift_Swiftui_Widget_Ios14_Widgetkit - Fatal编程技术网

Swift 如何检查我的共享代码是否在WidgetKit小部件或完整应用程序中运行?

Swift 如何检查我的共享代码是否在WidgetKit小部件或完整应用程序中运行?,swift,swiftui,widget,ios14,widgetkit,Swift,Swiftui,Widget,Ios14,Widgetkit,我正在开发一个新的iOS应用程序。用快捷方式写的 我的大部分代码是在小部件目标和应用程序目标之间共享的,但是我想在这两个目标之间进行一些小的样式更改 有没有办法检查代码是在小部件中执行还是在应用程序中执行?这里有一个可能的帮助函数来检测您是否在小部件中运行。使用Xcode 12/iOS 14进行测试 func isInWidget() -> Bool { guard let extesion = Bundle.main.infoDictionary?["NSExtensi

我正在开发一个新的iOS应用程序。用快捷方式写的

我的大部分代码是在小部件目标和应用程序目标之间共享的,但是我想在这两个目标之间进行一些小的样式更改


有没有办法检查代码是在小部件中执行还是在应用程序中执行?

这里有一个可能的帮助函数来检测您是否在小部件中运行。使用Xcode 12/iOS 14进行测试

func isInWidget() -> Bool {
    guard let extesion = Bundle.main.infoDictionary?["NSExtension"] as? [String: String] else { return false }
    guard let widget = extesion["NSExtensionPointIdentifier"] else { return false }
    return widget == "com.apple.widgetkit-extension"
}

这里有一个可能的助手函数来检测您是否在小部件中运行。使用Xcode 12/iOS 14进行测试

func isInWidget() -> Bool {
    guard let extesion = Bundle.main.infoDictionary?["NSExtension"] as? [String: String] else { return false }
    guard let widget = extesion["NSExtensionPointIdentifier"] else { return false }
    return widget == "com.apple.widgetkit-extension"
}