2

我正在开发一个带有小部件的新 iOS 应用程序。用 SwiftUI 编写。

我的大部分代码在 Widget 目标和 App 目标之间共享,但是我想在这两个目标之间进行一些小的样式更改。

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

4

1 回答 1

2

这是检测您是否在小部件中运行的可能的辅助函数。使用 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"
}
于 2020-09-26T04:32:31.807 回答