All streams
Search
Write a publication
Pull to refresh
0
0
Виталий Подольский @DevlabStudio

iOS software engineer

Send message

Playgrounds 4

Уже можно писать довольно простые приложения и загружать их в стор. Превью Канвы работает очень шустро, можно подключать зависимости через SPM. Тесты писать нельзя. Пока больше похоже на баловство! Удобно сделана синхронизация между плейграундом планшета и десктопа. Не очень удобно работать со структурой проекта. Нельзя добавить существующий проект из икскод, даже если он целиком написан на SwiftUI и использует SPM, копипастить можно, но муторно.

Очень интересно. Спасибо. Как раз собирал информацию про продвижение в десктопном сторе, а тут рассылка подоспела. Исторически данный стор более платежеспособен, но порог входа намного выше.

В любом случае, спасибо за материал! Уверен, что в гугле он будет найдет по запросу, когда возникнет у кого подобная проблема. А BigSur достаточно хорош, если не использовать его в связке с Xcode 12.3 (проблема вечной переиндексации), я даунгрейд Xcode только сделал. Ну и перед праздниками решился и перешел на м1, тут уже без вариантов, только последнюю ось можно использовать.

На м1 осталась одна проблема, но и она уже решена, через превью сборку нужного инструмента. Я говорю про Docker!
Я внимательно просмотрел материал, но к сожалению так и не понял, почему руководство по переустановке оси отнесено к хабам разработки. Нужно было тогда закончить фразой, «после успешного логина в систему идем в AppStore и скачиваем Xcode», ну или нечто подобное.

Или я один не понял?
Это вводная часть серии по организации бека для мобильных приложений. То, что очевидно для веба (докер и микросервисы), не совсем очевидно для мобайла. Именно потому многие и пользуют firebase, кажется, что самому не стоит заморачиваться. Здесь же, кому из мобайла интересна тема, смогут поиграться с докером и почитать про вапор. Ну а дальше должно быть много примеров и практики.
Нет. Только для ios 13. Для предыдущих версий хорошо работает Starscream.
1) Синглтон и свойство dataArray. Массив никак не освобождается, при каждом запросе данные добавляются и передаются из массива в комплишен. Рано или поздно, приложение ляжет намертво или будет ужасно тормозить. Это первый момент.

2) Второй момент. У вас подписка на тиковую историю, причем подписка не унифицирована и как явное значение передается в каждом методе. К примеру, если получать информацию по сотне инструментов, придется создать сотню методов на подписку и столько же на отписку. Почему не использовать дженерик и не унифицировать запрос?

3) Вы никак не обрабатываете обрыв соединения. С учетом того, что в случае синглтона, менеджер был инициирован однажды, по сути, он не может быть пересоздан. Я бы переписал пример без «вечного» объекта и эту строку вынес бы в конструктор:

let webSocketTask = URLSession(configuration: .default).webSocketTask(with: URL(string: "wss://ТУТ_ВАШ_АДРЕС"*))

4) Метод getData() содержит вот такой гард:

guard let self = self else { return }

Зачем? Вызов произошел после загрузки вью. По сути, контроллер загружен и работает нормально. Внутри метода идет простая передача массива в свойство вашего контроллера.

self?.dataArray = ...
прекрасно отработает внутри метода.
Можете подсказать зачем импортируется cfnetwork? Сколько не смотрел, не нашел его использование.

Ну и уточняющий момент: webSocketTask доступен начиная с айос13 в urlsession. Вы не поддерживаете предыдущие версии ос?
Спасибо за материал. Но юдеми ограничен рамками купленного курса. Для многих новичков полезны ещё курсы Скутаренко и Swiftbook. Советую покрутить на досуге.
Интересно, а возможно из хендлера пуш-уведомления регистрировать задачу процессинга? Или всё упрётся в тайминги запуска ОС и регистрацию в делегате приложения?

BGTaskScheduler.shared.register(
    forTaskWithIdentifier: "pl.snowdog.example.train",
    using: DispatchQueue.global()
  ) { task in
       self.handleMLTrain(task)
     }


К примеру, отдать через скрытый пуш новые данные для обучения ML и только после этого зарегистрировать задачу на обучение.
Очкнь интересный стиль подачи материала. Прочлось на одном дыхании. Спасибо!
Классная библиотека. Я вроде раньше использовал старую версию. Сегодня на тестовом проекте «помучаю» обновку.

Скажите, как вы относитесь к PR? Иногда помогаю с доработкой/обновлением/исправлением полезных кодерских инструментов. Но ничто так не демотивирует, как ждущий пол года ревью PR.

P.S.: Как получилось сделать демонстрационную гифку под наклоном?

Information

Rating
Does not participate
Location
Белград, Белград, Сербия
Date of birth
Registered
Activity

Specialization

Software Developer, Mobile Application Developer
Lead