#swift #swiftui #widget #ios14 #widgetkit
#swift #swiftui #виджет #ios14 #widgetkit
Вопрос:
Я работаю над новым приложением для iOS с виджетами. Написано в SwiftUI.
Большая часть моего кода используется совместно между целью виджета и целью приложения, но есть некоторые незначительные изменения стиля, которые я хочу внести между двумя целями.
Есть ли способ проверить, выполняется ли код в виджете или в приложении?
Ответ №1:
Вот возможная вспомогательная функция для определения, запускаетесь ли вы в виджете. Протестировано с 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"
}