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

GitHub: https://github.com/easydev991
Download Telegram
Снимок экрана 2024-04-04 в 10.35.54.png
110.3 KB
#ios #xcode #fix #log

Чиним Logging Error в Xcode 15+

Иногда Xcode может выводить в консоли ошибку с таким текстом:
Logging Error: Failed to initialize logging system. Log messages may be missing. If this issue persists, try setting IDEPreferLogStreaming=YES in the active scheme actions environment variables.

Для исправления ситуации делаем то, что написано в тексте ошибки, т.е. настраиваем IDEPreferLogStreaming=YES для активной схемы в Environment Variables
👍4🔥2🤩1
#terminal #xcode #fix #simulator #hint

Запускаю симулятор в Xcode и вижу такую ошибку, хотя вчера все отлично работало 🤦‍♂️

Мне помогла команда в терминале:


sudo killall -9 com.apple.CoreSimulator.CoreSimulatorServicesudo killall -9 com.apple.CoreSimulator.CoreSimulatorService
5🔥2🤣2
#xcode #fix

В Xcode 15.4 поправили баг с лишним ворнингом у сгенерированных экстеншенов для ассетов (цвета, картинки) - это успех 👍

Ссылка на описание релиза и цитата:
Fixed an issue where generated asset symbols emitted warnings with Swift strict concurrency checking enabled.


Можно будет убирать лишний код из проекта:


import DeveloperToolsSupport

// https://forums.swift.org/t/xcode-15-3-rc-issues-warnings-for-generated-code/70353/10
extension DeveloperToolsSupport.ColorResource: @unchecked Sendable {}
🤣3🔥2
#ios #swiftui #xcode #preview

Рубрика "За кулисами", или как работает SwiftUI превью при подготовке статьи 🤓
😁7👾1
#ios #xcode #test #testing

Нашел интересный кейс, когда Xcode выдает предупреждение, которого быть не должно:


let optionalInt: Int? = 5
let optionalString: String? = "asdf"
let optionalBool: Bool? = false
let requiredInt = try #require(optionalInt) // <- все ок
let requiredString = try #require(optionalString) // <- все ок
let requiredBool = try #require(optionalBool) // <- выдает ворнинг и предлагает безопасно развернуть опционал
👍2