В документации я вижу просто какой-то UIHostingController, у которого контент — вьюха:
@MainActor @preconcurrency class UIHostingController<Content> where Content : View
Но когда я в коде перехожу в объявление UIHostingController, то вижу другое:
@MainActor @preconcurrency open class UIHostingController<Content> : UIViewController where Content : View
Более того, в нашем коде метод viewDidLoad() помечен как override, что подтверждает что хостинг-контроллер всё таки вьюконтроллер и в его ЖЦ есть этот метод. Так же это подтверждается тем, что он вызывается системой начиная с iOS 14.5. iOS 18 не исключение.
Но я пока не могу догнать почему UIHostingController в доке и в коде по разному описан.
Там абсолютно такие же приколы рендера, как и без Cilicon — полупрозрачности рисуются по-разному в зависимости от чипа мака, от версии макоса и версии иоса.
пробовали Tuist? мы здесь писали и результат на тестовых проектах просто офигенный
Ага, на нем и сидим. А `tuist cache` прям резолвинг ускоряет? Мы попробуем, спасибо. Но вообще хочется иметь минимальную завязку на него, чтобы _если вдруг что_ можно было дальше без него продолжить работать.
если я правильно понял, то Codemagic делает это после того как основной билд закончился
Да, у нас так же. Но фастлейн ждет завершения процессинга загруженной сборки и обновляет ченжлог только после. Вот это хочется развернуть, но мы пока ещё не изучали можно ли.
И кстати типичная ошибка считать затраты поминутно как будто вы билдите 24x7
Тут не понял. Я из апи гитхаба забрал количество минут, которое тратилось на джобы, и помножил на стоимость минуты. Это некорректно?
Руби мы используем только для фастлейна, по сути. И долю фастлейна мы в Пицце постепенно сокращаем, прям намеренно:
Сборки и тесты мы в этом году начали запускать напрямую через xcodebuild, там всё просто оказалось. Хотя не без приколов — в Xcode 14.3 в команде test-withoud-building отломали флаг -testPlan , пришлось учиться работать напрямую с .xctestrun. Но там тоже ничего сложного.
Из фастлейна остались только запуски match, deliver и pilot, хотелось бы и от них отказаться. В качестве замены мы присматриваемся к swiftlane или App Store Connect Swift SDK, но ни то ни другое пока не потрогали.
Часть тулинга пишем сами на свифте, что-то даже в опенсурц выкладываем. Готовой странички со ссылками на все пакеты нет, но в нашем канале постов 5 подряд есть про это.
Часть тулинга пишем на баше вместе с ChatGTP, очень довольны. Она конечно иногда ересь несет, но по итогу скрипты собираем.
Из интересного — абсолютно всё. Каждая задача по инфре для меня как для iOS-разраба — новая, сложная, непонятная. Но после каждой закрытой задачки ощущение, что преисполнился.
Очень интересно, спасибо. Мы в Додо со всеми этими же проблемами успели столкнуться. Решить только не успели, но примерный план есть. Теперь видим, что наш этот план совпадает с вашей реальностью и так спокойнее в эту сторону идти будет :-)
Запустить на нем тесты и приаттачиться к ним — пара сек. Прогнать скриншот-тесты конкретной вьюхи — десятки миллисекунд.
Я на ютуб ролики про внедрение дайнамик тайпа в Додо Пицце выкладываю, там как раз через скриншот-тесты все идет. Можете посмотреть на скорость сами: https://youtu.be/u3WISkcQhjw
Он не тяжелый. Сгенерить сотню скриншотов вьюхи во всех её возможных состояниях, проверить доступность, проверить как эта вьюха в другие интегрируется — меньше секунды.
Когда лезем и что-то обновляем в компоненте. То случайно констрейнту зацепишь которую не должен был, то приоритеты путаешь. Я прям без запуска приложения таким образом проверяю что всё ок сверстано и новые требования на вьюху не ломают старые.
Когда мажорно обновляется iOS. Обычно просто кернинги в шрифтах меняются, но на некоторых вьюхах что-то может расплыться.
Задал вопрос Боре Герну. Боря — ПО в команде ninja++, которая как раз таки толкала новый чекаут.
Цитата:
Рационально я бы сказал, что острой необходимости в этом не было. Но есть еще другая сторона медали. Выпустив MVP ресторана (свитчер в меню) мы начали готовить клиентов к тому, что у нас в целом появится скоро этот функционал. Мы ушли от термина «самовывоз» в сторону «ресторана». Тут сложно замерить эффект, но, как минимум, переход на реальный заказ в ресторане будет более плавный. Ну и плюс главное, что мы запустили БЧ в России, больше всего профита мы получили там, а отложенная раскатка на страны в данном случае не была так критичная, так как доля заказов в странах меньше
Сам ей пользуюсь и тоже рекомендую
Блин, я даже статью читал, но в моменте не сматчил 🫠
Расскажите
Каждый раз много разных причин. В этот раз в том числе не ожидали настолько большой интерес.
В документации я вижу просто какой-то
UIHostingController
, у которого контент — вьюха:Но когда я в коде перехожу в объявление
UIHostingController
, то вижу другое:Более того, в нашем коде метод
viewDidLoad()
помечен какoverride
, что подтверждает что хостинг-контроллер всё таки вьюконтроллер и в его ЖЦ есть этот метод. Так же это подтверждается тем, что он вызывается системой начиная с iOS 14.5. iOS 18 не исключение.Но я пока не могу догнать почему
UIHostingController
в доке и в коде по разному описан.Почему не упоминается? Мы встраиваем
View
вUIViewController
с помощьюUIHostingController
, а у контроллеров этот метод есть и в доке описан.Там абсолютно такие же приколы рендера, как и без Cilicon — полупрозрачности рисуются по-разному в зависимости от чипа мака, от версии макоса и версии иоса.
Ага, на нем и сидим. А `tuist cache` прям резолвинг ускоряет? Мы попробуем, спасибо. Но вообще хочется иметь минимальную завязку на него, чтобы _если вдруг что_ можно было дальше без него продолжить работать.
Да, у нас так же. Но фастлейн ждет завершения процессинга загруженной сборки и обновляет ченжлог только после. Вот это хочется развернуть, но мы пока ещё не изучали можно ли.
Тут не понял. Я из апи гитхаба забрал количество минут, которое тратилось на джобы, и помножил на стоимость минуты. Это некорректно?
Руби мы используем только для фастлейна, по сути. И долю фастлейна мы в Пицце постепенно сокращаем, прям намеренно:
Сборки и тесты мы в этом году начали запускать напрямую через
xcodebuild
, там всё просто оказалось. Хотя не без приколов — в Xcode 14.3 в командеtest-withoud-building
отломали флаг-testPlan
, пришлось учиться работать напрямую с.xctestrun
. Но там тоже ничего сложного.Из фастлейна остались только запуски
match
,deliver
иpilot
, хотелось бы и от них отказаться. В качестве замены мы присматриваемся к swiftlane или App Store Connect Swift SDK, но ни то ни другое пока не потрогали.Часть тулинга пишем сами на свифте, что-то даже в опенсурц выкладываем. Готовой странички со ссылками на все пакеты нет, но в нашем канале постов 5 подряд есть про это.
Часть тулинга пишем на баше вместе с ChatGTP, очень довольны. Она конечно иногда ересь несет, но по итогу скрипты собираем.
Из интересного — абсолютно всё. Каждая задача по инфре для меня как для iOS-разраба — новая, сложная, непонятная. Но после каждой закрытой задачки ощущение, что преисполнился.
(удалено)
Очень интересно, спасибо. Мы в Додо со всеми этими же проблемами успели столкнуться. Решить только не успели, но примерный план есть. Теперь видим, что наш этот план совпадает с вашей реальностью и так спокойнее в эту сторону идти будет :-)
У меня обычно симулятор уже запущен.
Запустить на нем тесты и приаттачиться к ним — пара сек. Прогнать скриншот-тесты конкретной вьюхи — десятки миллисекунд.
Я на ютуб ролики про внедрение дайнамик тайпа в Додо Пицце выкладываю, там как раз через скриншот-тесты все идет. Можете посмотреть на скорость сами: https://youtu.be/u3WISkcQhjw
Он не тяжелый. Сгенерить сотню скриншотов вьюхи во всех её возможных состояниях, проверить доступность, проверить как эта вьюха в другие интегрируется — меньше секунды.
Когда лезем и что-то обновляем в компоненте. То случайно констрейнту зацепишь которую не должен был, то приоритеты путаешь. Я прям без запуска приложения таким образом проверяю что всё ок сверстано и новые требования на вьюху не ломают старые.
Когда мажорно обновляется iOS. Обычно просто кернинги в шрифтах меняются, но на некоторых вьюхах что-то может расплыться.
Не очень понимаю о каких pdf/svg вы говорите
Да, смотрели на него. За давностью лет не вспомню чем не подошел.
Неа, но мы вроде и не пытались
Это ломает порядок чтения для войсовера, так что не рекомендую.
Цитата: