如何检查我的共享代码是 WidgetKit 小部件还是完整应用程序中的 运行?
How can I check whether my shared code is running in a WidgetKit widget or full app?
我正在开发一个带有小部件的新 iOS 应用程序。用 SwiftUI 编写。
我的大部分代码在 Widget 目标和 App 目标之间共享,但我想在这两个目标之间进行一些小的样式更改。
有没有办法检查代码是在小部件中还是在应用程序中执行?
这里有可能的辅助函数来检测您是否 运行 在小部件中。测试 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"
}
我正在开发一个带有小部件的新 iOS 应用程序。用 SwiftUI 编写。
我的大部分代码在 Widget 目标和 App 目标之间共享,但我想在这两个目标之间进行一些小的样式更改。
有没有办法检查代码是在小部件中还是在应用程序中执行?
这里有可能的辅助函数来检测您是否 运行 在小部件中。测试 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"
}