easy_dev991
603 subscribers
22 photos
16 videos
3 files
161 links
Делюсь интересными находками/лайфхаками в процессе разработки под iOS, и возможно ты найдешь что-то полезное для себя!

GitHub: https://github.com/easydev991
Download Telegram
#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
#xcode #bug

В Xcode 16.3 для дебага приходилось нажимать esc при вводе названий свойств в консоли, чтобы увидеть подсказки.

Недавно вышла релизная версия Xcode 16.4, в которой этот баг поправили.
Ура! 🎉
🔥31
#ios #uitest #xctest #bug #hint

Любопытный момент: оба скриншота сделаны при запуске одного и того же UI-теста, но внимательный глаз заметит разницу - слева у приложения accentColor синий, т.е. дефолтный, а справа - черный (такой и должен быть).

Не заметил, в какой момент тесты сломались и перестали уважать настройку accentColor в assets, но вот фикс этой проблемы:


WindowGroup {
RootScreen()
.tint(.accent) // <- исправляет accentColor в тестах
}


Еще раз повторю, что в обычном режиме работы приложение корректно распознает accentColor, и только в режиме UI-тестов нужен фикс.
4👍2