iOS Developer | iOS Разработка | Мобильная разработка | SWIFT
1.36K subscribers
21 photos
1 video
2 files
4 links
О iOS разработке кратко, по делу и с результатом

По всем вопросам: @Zinina_Daria 💅
Download Telegram
🛋 Как использовать ARKit для примерки мебели в реальном мире

Представьте, что вы выбираете мебель и хотите понять, как она впишется в интерьер. Приложение на базе ARKit позволяет «разместить» виртуальную мебель в комнате и сразу оценить, как она будет выглядеть.

Сценарий прост: открываете приложение, направляете камеру на пол, и на экране появляется виртуальная мебель, точно подстраиваясь под окружение. Пользователь может перемещать и вращать предмет, чтобы проверить, подходит ли он.

Этот подход активно используют магазины мебели и декора. Это уменьшает риск покупки неподходящих товаров и снижает количество возвратов. Внедрив ARKit, компании создают уникальный клиентский опыт, позволяя покупателям «примерить» товар в своем доме и сделать покупку осознанно.

ARKit помогает бизнесу удивить пользователя и укрепить его доверие — попробуйте внедрить эту технологию! В следующем посте покажу пример кода для виртуальной примерки мебели 👇
👩‍💻 ARKit в коде: создаем примерку мебели

Давайте разберем, как реализовать виртуальную примерку мебели с помощью ARKit. Сначала создаем AR-сцену, которая позволяет устройству распознавать горизонтальные поверхности.

import ARKit
import UIKit

class FurnitureARViewController: UIViewController {
var sceneView: ARSCNView!

override func viewDidLoad() {
super.viewDidLoad()
sceneView = ARSCNView(frame: view.bounds)
view.addSubview(sceneView)

let config = ARWorldTrackingConfiguration()
config.planeDetection = .horizontal // для обнаружения пола
sceneView.session.run(config)
}
}


Когда пользователь выбирает место для мебели, мы добавляем 3D-модель на сцену:

func addFurniture(at position: SCNVector3) {
guard let furnitureScene = SCNScene(named: "chair.scn") else { return }
let furnitureNode = furnitureScene.rootNode.clone()
furnitureNode.position = position
sceneView.scene.rootNode.addChildNode(furnitureNode)
}


Эти несколько строк кода позволяют пользователю «примерить» мебель, что дает ощущение реального взаимодействия. Такой функционал — отличный пример использования ARKit для улучшения клиентского опыта. Уже щупали ARKit в своих проектах?
Создаем приложение-шагомер 👟

Хотите добавить фитнес-функцию в свое приложение? Тогда этот мини-гайд для вас! 🚀
Мы будем использовать Core Motion — мощный фреймворк, который превращает iPhone в шагомер. С его помощью можно:
• Отслеживать шаги и активность.
• Вычислять расстояние, пройденное за день.
• Анализировать данные для улучшения здоровья.

Как это работает?
Core Motion использует встроенные сенсоры телефона: акселерометр и гироскоп. На основе данных движения он считает шаги, различает ходьбу, бег и даже подъем по лестнице.

Что будет в приложении?
• Отображение шагов в реальном времени.
• Подсчет дистанции и калорий.
• Возможность установить дневную цель.

💡 В следующем посте покажу, как подключить Core Motion, написать несколько строк кода и увидеть результаты прямо на вашем устройстве!
Как добавить шагомер в приложение?

Как и обещала, разбираем, как настроить шагомер в приложении! Начнем с подключения Core Motion.

1️⃣ Подключаем Core Motion Импортируем фреймворк:
import CoreMotion


2️⃣ Пишем код для подсчета шагов:
let pedometer = CMPedometer()

if CMPedometer.isStepCountingAvailable() {
pedometer.startUpdates(from: Date()) { data, error in
guard let data = data, error == nil else { return }

print("Шаги: \(data.numberOfSteps)")
if let distance = data.distance {
print("Дистанция: \(distance) метров")
}
}
} else {
print("Шагомер не поддерживается на этом устройстве")
}


3️⃣ Что это дает?
Реальное число шагов, которое обновляется в режиме реального времени.
Пройденное расстояние (если доступно).

📱 Как результат выглядит? После запуска приложения вы сможете видеть, сколько шагов прошли, и какую дистанцию покрыли за день.

🎯 Теперь вы на пути к созданию полноценного фитнес-приложения! Добавьте цели, графики и мотивацию - и ваш шагомер готов.
🎯 Топ-3 вопроса на собеседовании для Junior iOS Developer

Если вы готовитесь к собеседованию на позицию Junior iOS Developer, вот три наиболее частых вопроса, которые вам точно стоит проработать:

1️⃣ В чём разница между weak, strong и unowned ссылками? Вопрос про управление памятью и ARC (Automatic Reference Counting) встречается практически всегда. Вам нужно понять, как работает захват памяти, почему бывает утечка (retain cycle) и в каких случаях использовать unowned вместо weak.

2️⃣ Как работает UICollectionView или UITableView? Многие собеседования включают обсуждение UITableView или UICollectionView. Вас могут спросить:
Как оптимизируется их производительность?
Что такое dequeueReusableCell и зачем он нужен?
Как реализовать динамическую высоту ячейки?

3️⃣ Что такое GCD и как он помогает в многопоточности? Обязательно разберитесь с Grand Central Dispatch (GCD). Основные темы:
Различие между sync и async.
В чём разница между main и global очередями?
Пример, когда нужно обновить UI из фонового потока.

💡 Совет: Научитесь не просто отвечать, но и приводить примеры кода! Это покажет, что вы знаете, как применять теорию на практике.
Какой из этих вопросов вызывает у вас наибольшую сложность? Делитесь в комментариях!
1👍1
Трекер воды: зачем он нужен и как его сделать

Зачем нужен:

Помогает пить норму воды.
Отслеживает прогресс.
Напоминает о водном балансе.

Как сделать:

Интерфейс: кнопка добавления воды, индикатор прогресса, график истории.

Функции:
• Расчет нормы:
let dailyGoal = weight * 0.03


• Прогресс:
progressView.progress = currentWater / dailyGoal


Напоминания через UserNotifications.

Сохранение: используйте Core Data или UserDefaults.

Простое и полезное приложение, с которым можно начать разработку на Swift!
🎉1
Изучение языков с OpenAI API

Как внедрить ИИ в приложение для изучения языков? OpenAI API позволяет генерировать упражнения, анализировать ответы и улучшать уроки. В следующем посте покажу, как с помощью GPT создать чат для практики языка прямо в приложении.
Чат на OpenAI API (Swift)

Сделаем простой чат для практики языка. Вот базовый пример использования OpenAI API в Swift:
import OpenAI

let openAI = OpenAI(apiKey: "ваш_ключ")
let prompt = "Смоделируй диалог на тему путешествий. Я — ученик, ты — учитель."

openAI.sendCompletion(with: prompt) { response in
if let text = response.choices.first?.text {
print("Ответ: \(text)")
}
}


Добавьте интерфейс, чтобы пользователь мог задавать вопросы на изучаемом языке!

В следующем посте — идеи по геймификации на основе OpenAI.
Геймификация с OpenAI API

Интеграция OpenAI API помогает создавать уникальные задания и мини-игры. Например, тренажёры произношения или заполнение пропусков в тексте, сгенерированном GPT. Ваше приложение станет полезным и увлекательным! В следующем — аналитика прогресса и мотивация через данные.
iOS-разработка: от идеи до реализации

iOS-разработка — это не только про написание кода, но и про создание продукта, который будет понятным, удобным и полезным для пользователя.
Каждый проект начинается с идеи. Важно понимать: что вы хотите создать, для кого и как это будет работать. На этом этапе нужно определиться с целевой аудиторией, изучить рынок и продумать основные функции приложения.
Но идея — это только начало.

Вот ключевые этапы разработки:
Дизайн интерфейса (UI/UX) Пользовательский интерфейс — это то, что видят и используют люди. Чем проще и логичнее он будет, тем выше шанс, что приложение останется установленным. Инструменты вроде Figma или Sketch помогают создать понятный дизайн.

Выбор архитектуры MVC, MVVM, VIPER — архитектура влияет на масштабируемость и читаемость кода. Выбор зависит от сложности приложения и предпочтений команды.

Работа с UIKit или SwiftUI UIKit — проверенный временем фреймворк, который используют многие опытные разработчики. SwiftUI — более новая технология, которая упрощает процесс разработки и делает код чище.

Интеграция сторонних библиотек Alamofire для работы с сетью, Realm или CoreData для баз данных, Apphud для подписок. Но важно помнить, что библиотека — это не универсальное решение. Иногда собственное решение будет проще и надёжнее.

Тестирование Автоматическое или вручную — тестирование нельзя игнорировать. Оно помогает избежать ошибок и неприятных отзывов в App Store.

Релиз и поддержка Публикация приложения в App Store требует соблюдения множества правил. А после релиза начинается новая работа — обновления, исправления багов и добавление новых функций.
Ключ к успешной разработке — это не только писать хороший код, но и постоянно учиться, следить за новыми технологиями и думать о пользователях.

Если у вас есть идея для приложения, но вы не знаете, как её реализовать, обратитесь к iOS-разработчику. Он поможет воплотить её в реальность.

А у вас есть идеи для приложения?
Всем ПРИВЕТ на связи команда FARMCHEL ❤️

Мы — команда FarmChel, 6 лет на рынке, одно из наших направлений это - активное сотрудничество с iOS разработчиками для продаж виртуальных машин MacOS c аккаунтами Apple Developer, также мы являемся довольно крупным маркетплейсом расходников

IOS аккаунты
📱 У нас вы можете найти корпоративные и физические аккаунты IOS по хорошим ценам 📱

Виртуальные машины под MAC OS для ваших аккаунтов
🚩Предоставление в аренду виртуальных машин для вас🚩

По всем вопросам:
@farmchel_console
Вход в iOS-разработку: Сколько это стоит в 2025 году?

iOS-разработка – одна из самых перспективных и востребованных профессий на рынке IT. Но чтобы стать iOS-разработчиком, нужно быть готовым к определённым вложениям. Давайте разберём, сколько стоит начать карьеру с нуля.

1. Оборудование
Для разработки под iOS вам потребуется Mac и, желательно, iPhone для тестирования.

MacBook Air M1/M2 (8/256 ГБ) – от 90 000 ₽ Это базовая модель, которой хватит для старта. Мощные MacBook Pro стоят от 150 000 ₽, но на начальном этапе они не обязательны.
iPhone для тестирования Новый iPhone SE (2022) – от 40 000 ₽. Можно взять б/у модель, например iPhone 11 – от 30 000 ₽.

Дополнительное оборудование

• Монитор (если не хотите работать только с экраном ноутбука) – от 15 000 ₽
• Клавиатура и мышь – от 5 000 ₽
Итого: 125 000–170 000 ₽

2. Программное обеспечение
Xcode – бесплатная среда разработки, доступная в App Store.
Apple Developer Program – подписка для публикации приложений в App Store: 99 $/год (≈ 10 000 ₽).

3. Обучение
Здесь всё зависит от вашего уровня подготовки.

Курсы для новичков Онлайн-курсы:
• Udemy (курсы по Swift/SwiftUI) – 50 500–90 500 ₽ (со скидками).
• Курсы от российских платформ (Skillbox, Яндекс Практикум, GeekBrains) – от 70 000 ₽.

Книги Хорошие книги по Swift и iOS-разработке:
• "Swift Programming: The Big Nerd Ranch Guide" – 3 000–5 000 ₽.
• "iOS Programming for Beginners" – 3 000–4 000 ₽.

Бесплатные ресурсы
• Apple Developer Documentation
• Hacking with Swift (онлайн-гид).

Итого на обучение: от 1 500 ₽ до 70 000 ₽+

4. Время и навыки
Важно понимать, что одних денег недостаточно. Разработка – это долгосрочная инвестиция вашего времени:
Изучение основ языка Swift и платформы iOS: 3–6 месяцев.
Создание первых проектов: 2–3 месяца.
Глубокая проработка: от 1 года.

Итоговые расходы:
Минимально
: 125 000 ₽ (б/у MacBook + бесплатные ресурсы).
Комфортный старт: 200 000 ₽ (новый MacBook + курсы).

А как быстро окупится?
Средняя зарплата джуна в России – от 80 000 ₽/мес, а мидла – 150 000 ₽/мес и выше. При должной мотивации вложения могут окупиться уже за 3–6 месяцев работы.
Начать сложно, но iOS-разработка – это шанс не только войти в IT, но и построить карьеру с гибким графиком и высокими доходами.
🎃1
5 ошибок, из-за которых App Store может отклонить ваше приложение

🔒 1. Неоправданный сбор данных
Пример:
Приложение для заметок запрашивает доступ к геолокации, но это никак не связано с функционалом приложения. Apple считает это нарушением приватности.
Как исправить: Добавьте четкое объяснение в Info.plist. Например: "Geo-based notes functionality" или "Для отображения ближайших мест".

🎨 2. Ошибки в интерфейсе
Пример:
В приложении с картами текст кнопки "Построить маршрут" обрезается на маленьких экранах (например, iPhone SE).
Как исправить: Тестируйте интерфейс на разных устройствах. Используйте автолейаут (Auto Layout), чтобы интерфейс выглядел корректно на всех экранах.

⚠️ 3. Краш приложения
Пример:
В приложении магазина при добавлении товара в корзину приложение внезапно вылетает.
Как исправить: Тестируйте edge-кейсы. Например: как приложение ведет себя при отсутствии интернета или при добавлении пустого товара. Используйте инструменты: Crashlytics или Xcode Organizer, чтобы находить проблемы.

📝 4. Неполное описание
Пример:
В описании приложения указано "Отслеживайте свои расходы", но не упоминается, что функции аналитики доступны только после покупки подписки.
Как исправить: Четко разделите бесплатные и платные функции. В поле "In-App Purchases" отметьте все доступные подписки и их описание.

🚫 5. Несоответствие правилам App Store
Пример:
Приложение для потокового видео использует свою платежную систему, обходя встроенные покупки Apple. Это явное нарушение правил.
Как исправить: Интегрируйте In-App Purchases (IAP) для любых покупок, чтобы соответствовать требованиям Apple.
👍1
Как не раздражать push-уведомлениями 😤

Ошибки, которые бесят:

• Слишком частые уведомления превращают их в спам.
• Неподходящее время отправки (например, ночью).
• Бесполезный контент вроде "Мы скучаем по тебе!".
• Отсутствие персонализации — универсальные сообщения игнорируются.
• Просьба включить уведомления без объяснения их пользы.

Как сделать push полезными:
• Делайте уведомления релевантными и связанными с действиями пользователя.
• Учитывайте подходящее время и часовые пояса.
• Персонализируйте сообщения, добавляя имя или важные детали.
• Используйте изображения и кнопки для вовлечения.
• Давайте пользователям выбор: настройку типа уведомлений.
• Не злоупотребляйте — достаточно 1-2 уведомления в день.

Пример:
Плохой пример:
"У нас скидки! Загляните в приложение!"
Хороший пример:
"👟 Ваши любимые кроссовки со скидкой 20%! Успейте заказать до 21:00."

Push-уведомления должны быть ценными, персонализированными и ненавязчивыми — только тогда их не отключат.
SwiftUI: революция или бета-версия для всех нас?

Apple продаёт SwiftUI как инструмент будущего, но давайте честно: вы готовы доверить ему свой сложный проект?

Почему все верят в SwiftUI:
Просто и красиво: минимум кода, максимум декларативности.
Кроссплатформенность: пишешь один раз — работает везде.
Внимание от Apple: кажется, что UIKit уже оставили в прошлом.

Почему это всё ещё боль:
Баги на каждом шагу: кто не терял часы из-за List или .sheet()?
Ограничения: кастомизировать сложные интерфейсы — это ад.
Совмещение с UIKit: это не «интеграция», это бой на выживание.

Итог: SwiftUI — не «будущее», а инструмент, который Apple до сих пор дорабатывает. Он хорош для прототипов и маленьких приложений, но если вы строите что-то серьёзное, готовьтесь к боли.
App Store – это не про бабки, а про боль

🛑 Разбираем самые тупые отказы от Apple и почему модерация – это мини-ад на земле.

Когда ты только начинаешь разрабатывать под iOS, тебе кажется, что самое сложное – это написать код. Но потом ты сталкиваешься с App Store Review, и реальность даёт по голове. Всё, что ты считал логичным, больше не работает. Всё, что прошло модерацию вчера, завтра может быть отклонено.
Вот 10 причин, почему iOS-разработчики не спят ночами:

🚨 Кейс №1: «Вы используете неподходящую иконку»
– Но у нас лого бренда! – Не важно. Поменяйте. – ??!

Когда Apple решила, что твоя иконка слишком похожа на другую (спойлер: нет), ты либо меняешь её, либо остаёшься без приложения. А объяснить, что у тебя легальный логотип, нельзя. Просто нельзя.

🔪 Кейс №2: «Ваше приложение похоже на мошенническое»
– Мы просто сканируем документы! – А вдруг вы украдёте паспортные данные? – Но у нас нет даже сервера! – Это не имеет значения.

Если один модератор решит, что ваше приложение «выглядит подозрительно», то никаких доказательств невиновности не будет. Только апелляция, которая может занять недели.

💀 Кейс №3: «Ваш контент не соответствует правилам»
– Но у нас просто список слов для изучения английского! – А вдруг там запрещённые слова? – Например? – Думайте сами.

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

🧨 Кейс №4: «Ваше приложение слишком простое»
– Но это минималистичный дизайн! – Нет, это недоделанное приложение. – Спасибо, Apple.

Если приложение не покажется модератору достаточно функциональным, его отклонят. При этом понятных критериев нет. Одно и то же приложение может пройти модерацию один раз и провалиться в следующий.

🤯 Кейс №5: «Ваше приложение содержит запрещённый контент»
– Это список рецептов! – В одном из них алкоголь. – И что? – Это нарушает правила в некоторых странах.

Рецепт «Глинтвейн» может стать причиной отказа, потому что в Саудовской Аравии нельзя алкоголь. Решение? Фильтровать контент или удалить приложение из определённых регионов.

💥 Кейс №6: «Вы используете неподходящие API»
– Но это стандартный API из Apple Docs! – Да, но мы его не одобряем. – Но зачем он тогда нужен? – Просто не одобряем.

Иногда Apple запрещает использовать API, которые они сами же разработали. Почему? Никто не знает.

🎭 Кейс №7: «Ваша последняя версия отклонена, но предыдущая была одобрена»
– Мы поменяли только цвет кнопки! – Да, но теперь это другая кнопка. – Это всё тот же UI элемент! – Нет, теперь это нарушает правила.

Классика App Store: одна версия прошла, другая – нет. Иногда причина – новый модератор с другим взглядом на правила.

🎬 Итог
Хочешь вывести своё приложение в App Store? Запасись нервами, кофе и приготовься объяснять очевидные вещи десятому по счёту модератору, который скажет «Мы не можем дать более детальную информацию».
Но, несмотря на всё это, я всё равно уважаю Apple.
Почему? Потому что при всех их странных правилах они делают экосистему безопасной и качественной. Да, иногда модерация – это боль, но благодаря этому пользователи получают приложения без вирусов, рекламы на пол-экрана и странных схем с подписками.

А ещё, если уж ты прошёл модерацию – это реально достижение. И если Apple наконец-то говорит тебе «Approved» – ты знаешь, что сделал что-то стоящее.
Почему хорошие iOS-разработчики не могут найти работу?

Ты знаешь Swift, разобрался в архитектурах, но вакансии игнорируют тебя? Дело не только в рынке. Разбираем ошибки, которые мешают получить оффер.

1. Кодер ≠ разработчик Бизнесу нужен не просто код, а решение проблем. Говори на интервью не о технологиях, а о том, как ты улучшал продукт.

2. Слабое резюме Если оно просто перечисляет технологии — мимо. Пиши о бизнес-результатах: «Снизил задержку чата на 30%», а не «Работал с WebSocket».

3. Игнорирование soft skills Умение четко объяснять решения, коммуникация и английский — важнее, чем знание всех фреймворков.

4. Завышенные ожидания Middle ≠ 2 года опыта. Если просишь $5K, будь готов объяснить, как ты их окупаешь.

Как получить оффер? Прокачай резюме, готовься к интервью и доказывай свою ценность цифрами. Тогда работа сама тебя найдет.

Что из этого у тебя хромает? Пиши в комменты!
iPhone без Mac: возможно ли разрабатывать iOS-приложения на Windows?
Короткий ответ: нет, если речь идёт о полноценной, официальной разработке для App Store.

Xcode только на macOS Apple жёстко привязывает разработку под iOS к своей ОС, а без Xcode (и инструментов командной строки) вы не сможете собрать и подписать приложение для публикации.

Подписи и сертификаты Подписание (signing) приложений и выпуск сертификатов разработчика — всё это завязано на официальных инструментах Apple, доступных только под macOS.

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

Облачные сервисы (MacinCloud и т.п.) лишь дают временный доступ к macOS, но не отменяют зависимость от Apple-экосистемы.

Итог: чтобы официально и комфортно разрабатывать iOS-приложения, придётся обзавестись Mac. Любые попытки «обойти» это ограничение обычно приводят к дополнительным затратам времени и сил.
1
Готовишься к собеседованию на iOS-разработчика?

Я думаю собрать чек-лист с топ вопросами, которые чаще всего задают на интервью. Это поможет быстро освежить знания и подготовиться к сложным моментам.

Было бы полезно? Оставляйте реакцию, если вам это интересно! 🔥
🔥4
❗️ Чек-лист с топ вопросами для собеседования на iOS-разработчика будет готов уже завтра! ⚡️ Это будет мощный инструмент, который поможет быстро освежить знания и уверенно чувствовать себя на интервью.

Не пропусти - завтра всё расскажу!
3
Вопросы_iOS_Junior.pdf
126.7 KB
📌 Как и обещала – топ-15 вопросов на собеседовании на позицию Junior iOS-разработчика!

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

Эти вопросы покрывают базу, без которой не обойтись начинающему iOS-разработчику. Освоив их, ты уже на шаг ближе к своему первому офферу! 🚀

Если интересно, могу сделать подборку вопросов и для Middle iOS Developer. Пиши в комменты! 😊
🔥5👍1👏1