#ios #swift #swiftui #binding #bug
Как сломать
Результат:
Как сломать
Xcode 16.3,
чтобы в логах не было нормального описания ошибки:
import SwiftUI
struct BreakSwiftExample: View {
@State private var isOn = false
private var isOnBinding: Binding<Bool> {
.init(
get: { isOn },
set: changeToggle // не собирается
// set: { isOn = $0 } // собирается
)
}
var body: some View {
Toggle("Демо-тоггл", isOn: isOnBinding)
}
private func changeToggle(_ value: Bool) {
isOn = value
}
}
Результат:
Command SwiftCompile failed with a nonzero exit code
❤2👍2🔥1
#ios #uitest #xctest #bug #hint
Любопытный момент: оба скриншота сделаны при запуске одного и того же UI-теста, но внимательный глаз заметит разницу - слева у приложения
Не заметил, в какой момент тесты сломались и перестали уважать настройку
Еще раз повторю, что в обычном режиме работы приложение корректно распознает
Любопытный момент: оба скриншота сделаны при запуске одного и того же UI-теста, но внимательный глаз заметит разницу - слева у приложения
accentColor
синий, т.е. дефолтный, а справа - черный (такой и должен быть).Не заметил, в какой момент тесты сломались и перестали уважать настройку
accentColor
в assets
, но вот фикс этой проблемы:
WindowGroup {
RootScreen()
.tint(.accent) // <- исправляет accentColor в тестах
}
Еще раз повторю, что в обычном режиме работы приложение корректно распознает
accentColor
, и только в режиме UI-тестов нужен фикс.❤4👍2