iSilver dev 🍏
46 subscribers
129 photos
16 videos
1 file
47 links
Переобуваюсь в iOS разработчика в 45.
Swift Xcode SwiftUI
Евгений - @icleverstyle
Download Telegram
Бился над проблемой смены иконки приложения на Dark в ночном режиме…

Оказалось, что я на своем смартфоне не настроил автоматическую смену иконок light / dark.

🤦‍♂️
This media is not supported in your browser
VIEW IN TELEGRAM
Сразу увидел, что иконку надо доработать – сделал чуть контрастнее.
Вчера внезапно пришла в голову мысль, что трекать можно всё что угодно, например перекусы.

И добавил иконку бургера 🍔

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

Уже и серия приложений вырисовывается 🫣
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Даунгрейд - реальный способ запустить приложение быстрее.

Долго работал над настройкой пользовательских напитков, список, добавление новых, активация, дезактивация... а оно вообще пользователю надо?!

Может и надо, но лучше спросить и только потом сделать, а пока нет приложения - нет н чего, в тч и пользовательских напитков!

И... решил выпилить уже сделанные заработки из приложения - упростить и запустить.

Утром обнаружил, что приложение в состоянии MVP - минимально рабочая версия.

Так что можно немного "причесать" и пора выкладывать в стор!
🔥3
Мой портрет глазами ChatGPT
Планы на выходные - разобраться с публикацией в App Store
🔥3
🧹 Про чистоту кода

Совсем внезапно узнал про мощный инструмент проверки кода на соблюдение стилевых правил - SwiftLint.

Устанавливаешь SwiftLint


brew install swiftlint


Добавляешь файл с правилами проверки в корень проекта:
.swiftlint.yml

Сами правила, которые прописываются в файле можно найти в интернете, либо запросить составить ИИ.

Для проверки команда swiftlint в терминале.

Для автоматического исправления кода (частично):

swiftlint autocorrect

Правила для UIKit


# отключённые правила
disabled_rules:
- trailing_whitespace # Пробелы в конце строки
- force_cast # Явное приведение типов через as!
- function_body_length # Длинные функции пока допускаем

# дополнительные правила
opt_in_rules:
- empty_count # Не использовать .count == 0 вместо .isEmpty
- force_unwrapping # Не использовать ! при извлечении optional
- indentation_width
- unused_declaration # Удалять неиспользуемые переменные и функции

analyzer_rules:
- unused_declaration # неиспользуемые переменные и функции

# Какие папки проверять
included:
- MyApp

# Папки-исключения
excluded:
- Pods
- Carthage
- fastlane
- build
- Generated

# Проверять длину строк
line_length:
warning: 120
error: 200
ignores_comments: true
ignores_urls: true

# проверять имена переменных и констант
identifier_name:
min_length: 3
max_length: 40
excluded: # Исключаем имена типа x, y в циклах и координатах
- id
- x
- y
- i
- j
- a

# Стиль отступов
indentation_width:
indentation_width: 4
include_comments: false
include_compiler_directives: false
include_multiline_strings: true

# Проверка комментариев FIXME и TODO
todo:
severity: warning
Please open Telegram to view this post
VIEW IN TELEGRAM
👌1
🗓 Отчёт за неделю - это хорошая идея

Текущий прогресс по курсам Swift

✔️ +0 17/100 - 100 дней SwiftUI
✔️ +0 18/39 - Усов книга 1
✔️ +2 9/29 - Angela Yu

🟩🟩🟩⬜️⬜️⬜️⬜️⬜️⬜️⬜️ - 100 дней
🟩🟩🟩🟩🟩🟩⬜️⬜️⬜️⬜️ - Усов
🟩🟩🟩🟩⬜️⬜️⬜️⬜️⬜️⬜️ - Angela Yu

Проект "iOS по взрослому"
- продолжаю делать таск "Верстка 1.1 Онбординг"

В курсе Angela Yu - уроки 6 (калькулятор) и урок 7 (клилофон)

Книгу Усова на этой неделе не трогал.

Pet-проект - доделал проект до уровня MVP.
Осталось опубликовать (заполнить кучу форм)

Занимаюсь iOS разработкой так или иначе ежедневно - это очень хорошо!

Основную часть времени отведенного на iOS потратил на разработку своего приложения, именно обучением занимался сильно меньше - хочется больше баланса.

🗓 Планы на неделю:

"iOS по взрослому"
- Завершить таск "Верстка 1.1 Онбординг"
- взять новый таск (буду смотреть доступные на момент завершения предыдущего таска)

Усов книга 1 (перенос с позапрошлой недели)
- изучить 2 главы: struct, class (44 стр.)

Angela Yu - Приложение "Таймер варки яиц" / Опционалы, условыные операторы

Pet-проект
- опубликовать в App Store

Ну что ж: погнали!
Please open Telegram to view this post
VIEW IN TELEGRAM
Получил первый отзыв от личного тестировщика моих приложений (жена).

Кстати, очень жесткий тестировщик )))

Интересно именно наблюдать в живую как другой человек впервые видит приложение и пытается с ним взаимодействовать.

Сразу в его жестах видишь его ожидания от взаимодействия с интерфейсом.

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

Что выявил тест:
- нужен онбординг
- сложно было найти способ удалить случайно добавленный элемент
- нет возможности добавить элемент сразу с нужным временем, например если заносишь данные за день, а не в моменте, приходится ставить на текущее время, потом изменять время
Я вернулся…

Пока с маленькой доработкой своего приложения для изучения немецкого.

Добавил склонение глаголов в карточки.

Но основная про Лема которую пришлось решать - обратная совместимость карточек.

Изменил структуру карточки и все колоды и карточки пропали (((
👍1
Как вы ведете учет личных финансов?

Изучаю тему для создания соответствующего приложения.
Stop overthinking.
Just do it.


… Сказал я себе и начал.

Приложение для ведения домашней бухгалтерии.

На немецком: Haushaltsbuch

SwiftUI

Пока сделано:
- главный экран-меню
- форма добавления расхода
- форма редактирования расхода
- журнал расходов
- настройка статей расходов (2 уровня)
Media is too big
VIEW IN TELEGRAM
Haushaltsbuch

Небольшой прогресс:
- доходы
- перемещения
- журнал операций
Haushaltsbuch
(Домашняя бухгалтерия)

Прогресс:
- добавил справочник валют
- работаю над добавлением Кошельков и Карт

Основная сложность изменение в БД
Media is too big
VIEW IN TELEGRAM
Итоги первой недели разработки приложения для ведения домашней бухгалтерии

Формы добавления и редактирования записей:
- доход
- перемещение между картами и кошельками
- расход

Журнал операций
- фильтр по типу операций (доход, расход, перемещение)
- фильтр по тегу

Операция фиксации остатков в кошельках и картах с журналом операций.

Сводный отчет по расходам:
- выбор периода отчета
- фильтр по валютам
- фильтр по тегу

Справочники
- категории (статьи) расходов
- источники доходов
- магазинов (мерчантов)
- валют
- кошельков и карт
- тегов

Ввод данных
- заполнение форм в приложении
- голосовая команда Siri открывает приложение и форму добавления нового расхода по голосовой команде Добавить расход
- автозаполнение формы расхода на основании данных буфера обмена (скопированный текст СМС-уведомления банка)

Фишки
- при открытии формы ввода фокус и курсор в поле ввода суммы, клавиатура появляется.

- 3 кнопки «Сохранить»: в навбаре, строке ввода суммы и в конце формы

- кнопки сохранить активны при заполнении, выборе обязательных полей и кнопок.

- Магазин (мерчант) используется для автозаполнения категорий расходов.

Ближайшие планы:
- бюджет
- отчеты план/факт
- пользователи и совместное использование (семейный доступ).
❤‍🔥1