Несколько дней назад писал о проблеме получения акаунта разработчика Apple.
Написал тогда же в поддержку об этой проблеме.
Вчера ночером поддержка прислала письмо, указав, что было бы неплохо проверить соответствие кода страны проверенного номера телефона с регионом аккаунт Apple.
Проверил, исправил...
Продвинулся дальше (см. скрин)
Надо подумать когда я буду оплачивать и осваивать эту часть разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
Давеча смотрел запись
! Кстати, напомню, что видео в YouTube с английского языка отлично переводится и дублируется голосом в Яндекс Браузере.
В стриме он просто общался и делал небольшие доработки своего приложения (трекер привычек), которое разместил почти 2 года назад в App Store.
Во время стрима разместил его для тестирования и дал ссылку (.
Зашел посмотреть и приложение, и как выглядит работа через TestFlight.
С TestFlight всё интуитивно понятно, но надо углубиться и изучить эту тему, чтобы было понимание возможностей этого инструмента.
По приложению я в легком шоке от того, что такое (с минимум функций) приложение размещено, его скачивают и покупают подписку.
За почти 2 года доход составил - $194. Т.е. По сути это приложение окупило подписку аккаунта элл разработчика ($99 в год)!
Сделать приложение такого уровня, думаю вполне по силам и мне за 2-3 дня совместной работы с ИИ.
Допускаю, что за 2 года требования к допуску приложений в стор ужесточились и сейчас мне не удастся опубликовать приложение такого скудного функционала, либо придется столкнуться с трудностями при публикации.
Во вторых, вероятно большая часть покупок сделана на фундаменте его подписчиков.
НО тем не менее...
Эта история меня воодушевила!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
"Карточки со словами"
Для изучения иностранных слов: добавляешь слово, на обороте перевод.
Знаешь перевод - в изучено.
Не знаешь или плохо - повторить.
И так пока не выучишь.
Самые известные приложение из этой серии Quizlet, LinguaLeo, DuoLingo.
Start: 6 декабря 2024
Что сделал на текущий момент:
- экран список колод с карточками слов
- создание новых колод
- перемещение колод перетаскиванием
- удаление колод
- экран колоды
- добавление карточки со словами, перевод и транскрипция подтягиваются с помощью ИИ
- наполнение колоды карточками слов с помощью ИИ
- удаление карточек
- отметка карточек тегами: знаю, учу, не знаю
- фильтр карточке по тегам
- экран Изучение
- попадают в режим изучения только карточки соответствующие фильтру
- карточка с русским словом сверху колоды
- по тапу карточка переворачивается анимацией, на обратной стороне слово на немецком языке и транскрипция
- кнопка для звучки слова (то же с помощью ИИ)
- по кнопкам Изучил и Повторить карточка удаляется или перемещается в конец колоды
- в верху экрана прогресс-бар в виде чекбоксов
- по завершении всех карточек, в т.ч. повторных кнопки завершить или повторить
Пока всё.
Но это уже овер много для человека, который даже книжку по языку Swift не закончил учить.
Инструменты:
- Xcode
- Cursor AI (cloude-3.5-sonnet)
#AppKartenMitWorten@isilverdev
Please open Telegram to view this post
VIEW IN TELEGRAM
Кто уже работал с ИИ, понимает что надо задавать ограничения, контекст, правила. Тогда ответы ИИ будут с большей вероятностью попадать в ваши ожидания.
В Cursor AI в настройках для общих правил есть поле Rules for AI
Вот мои правила для ИИ в cursor ai для iOS разработки:
Always respond in Russian
You are an expert iOS developer using Swift and SwiftUI. Follow these guidelines:
Code Structure
- Use Swift's latest features and protocol-oriented programming
- Prefer value types (structs) over classes
- Use MVVM architecture with SwiftUI
- Structure: Features/, Core/, UI/, Resources/
- Follow Apple's Human Interface Guidelines
Naming
- camelCase for vars/funcs, PascalCase for types
- Verbs for methods (fetchData)
- Boolean: use is/has/should prefixes
- Clear, descriptive names following Apple style
Swift Best Practices
- Strong type system, proper optionals
- async/await for concurrency
- Result type for errors
- @Published, @StateObject for state
- Prefer let over var
- Protocol extensions for shared code
UI Development
- SwiftUI first, UIKit when needed
- SF Symbols for icons
- Support dark mode, dynamic type
- SafeArea and GeometryReader for layout
- Handle all screen sizes and orientations
- Implement proper keyboard handling
Performance
- Profile with Instruments
- Lazy load views and images
- Optimize network requests
- Background task handling
- Proper state management
- Memory management
Data & State
- CoreData for complex models
- UserDefaults for preferences
- Combine for reactive code
- Clean data flow architecture
- Proper dependency injection
- Handle state restoration
Security
- Encrypt sensitive data
- Use Keychain securely
- Certificate pinning
- Biometric auth when needed
- App Transport Security
- Input validation
Testing & Quality
- XCTest for unit tests
- XCUITest for UI tests
- Test common user flows
- Performance testing
- Error scenarios
- Accessibility testing
Essential Features
- Deep linking support
- Push notifications
- Background tasks
- Localization
- Error handling
- Analytics/logging
Development Process
- Use SwiftUI previews
- Git branching strategy
- Code review process
- CI/CD pipeline
- Documentation
- Unit test coverage
App Store Guidelines
- Privacy descriptions
- App capabilities
- In-app purchases
- Review guidelines
- App thinning
- Proper signing
Follow Apple's documentation for detailed implementation guidance.
#AI@isilverdev
Please open Telegram to view this post
VIEW IN TELEGRAM
При работе над проектами уже начинаю применять git - коммичу после каждой добавленной фичи.
Однажды уже пришлось вернуться к последней сохраненной версии проекта, т.к. наворотил такого, что и не исправить. Был счастлив такой возможности.
Но надо изучить работу с git до конца.
Например, пока не знаю как заглянуть в код одного из комиков и вернуться в текущую версию кода.
Сначала открывал Finder и через контекстное меню открывал терминал в нужной папке и вводил git-команды.
Сейчас работаю с git прямо в терминале Cursor AI - удобно.
Работу с git в самом XCode еще не исследовал, но надо.
Please open Telegram to view this post
VIEW IN TELEGRAM
Для проверки изменений надо переходить в Xcode и запускать Build & Run.
Нашлось решение для ускорения этого частого процесса:
1. Расширение SweetPad для Cursor AI
Запускает Build & Run из Cursor AI + настроил запуск через горячие клавиши.
2. Горячее обновление в Симуляторе без перезапуска.
Установка фреймворка Injection III
https://github.com/krzysztofzablocki/Inject
Пока не работает стабильно - не все вью обновляет на лету.
#AI@isilverdev
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - krzysztofzablocki/Inject: Hot Reloading for Swift applications!
Hot Reloading for Swift applications! . Contribute to krzysztofzablocki/Inject development by creating an account on GitHub.
Чек-ин процесса обучения
- Изучение Swift - не регулярно, надо больше дисциплины
- Опыт разработки приложений с помощью ИИ: хороший прогресс, но скорее для мотивации, прокачиваюсь в промтах, процессе разработке и использования git, но не обучаюсь самому кодингу.
- Ощутил необходимость прокачаться в дизайне, в частности в умении работать с Figma.
- И в целом нужна насмотренность в приложениях: как можно делать - идеи разных реализаций, разборы хорошо/плохо.
- Изучение Swift - не регулярно, надо больше дисциплины
- Опыт разработки приложений с помощью ИИ: хороший прогресс, но скорее для мотивации, прокачиваюсь в промтах, процессе разработке и использования git, но не обучаюсь самому кодингу.
- Ощутил необходимость прокачаться в дизайне, в частности в умении работать с Figma.
- И в целом нужна насмотренность в приложениях: как можно делать - идеи разных реализаций, разборы хорошо/плохо.
👍1
На днях увлёкся разработкой своего приложения "Карточки слов".
Засел утром и завершил вечером, программа Rize зафиксировал 9 часов чистого времени.
Программирование - как компьютерная игра, часто затягивает.
В этот же день увидел совет: записывать в дневник сделанное за день, чтобы видеть прогресс как в разработке приложений, так и в освоении знаний и навыков.
Из наблюдений за ИИ:
бывает ИИ закапывается и не может решить проблему, решая разные варианты, но все равно проблема не решается попутно ломая что-то рядом. Тогда лучше создать новый диалог с ИИ и он находит решение гораздо быстрее.
Что сделал:
- перетаскивание (drug&drop) карточек в колоде
- нативное редактирование, удаление карточек в колоде свайпом влево
- выбор генерации слов или фраз (предложений)
- выбор при добавлении на русским или немецком вводить слова с соответсвующим переводом
- выбор стороны (DE/RU) показа карточек в режиме изучения.
Вполне солидные улучшения, в таком виде вполне можно и в аппстор )))
Уровень MVP, думаю, достигнут.
#AppKartenMitWorten@isilverdev
Засел утром и завершил вечером, программа Rize зафиксировал 9 часов чистого времени.
Программирование - как компьютерная игра, часто затягивает.
В этот же день увидел совет: записывать в дневник сделанное за день, чтобы видеть прогресс как в разработке приложений, так и в освоении знаний и навыков.
Из наблюдений за ИИ:
бывает ИИ закапывается и не может решить проблему, решая разные варианты, но все равно проблема не решается попутно ломая что-то рядом. Тогда лучше создать новый диалог с ИИ и он находит решение гораздо быстрее.
Что сделал:
- перетаскивание (drug&drop) карточек в колоде
- нативное редактирование, удаление карточек в колоде свайпом влево
- выбор генерации слов или фраз (предложений)
- выбор при добавлении на русским или немецком вводить слова с соответсвующим переводом
- выбор стороны (DE/RU) показа карточек в режиме изучения.
Вполне солидные улучшения, в таком виде вполне можно и в аппстор )))
Уровень MVP, думаю, достигнут.
#AppKartenMitWorten@isilverdev