Как стать автором
Обновить
-3.67
Рейтинг

Xcode *

Интегрированная среда разработки ПО

Сначала показывать
Порог рейтинга

Как устроено приложение Календарь в iPhone

Разработка под iOS *Xcode *Swift *

Разберу как Apple использовали UIKit для приложения Календаря: события, сетку дней, экран с превью года, навигейшн и другие элементы.

Из интересного - события сделали картинками, а переход для навигации - простое перемещение вьюх за экран. Подробнее под катом.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.7K
Комментарии 0

Новости

Загружаем dSYM в Firebase Crashlytics через Xcode Cloud

Разработка под iOS *Разработка мобильных приложений *Xcode *Swift *
Из песочницы

Всем привет, в этой статье я бы хотел поделиться опытом о том, как наша команда столкнулась со сложностями загрузки dSYM в Firebase Crashlytics, и как мы эти сложности решили. Важно сказать пару слов о нашем стеке: все зависимости установлены через Swift Package Manager, мы используем Xcode 14, а в качестве CI и CD используем Xcode Cloud с первых дней его релиза.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 442
Комментарии 1

Разбираем tableHeaderView и viewForHeaderInSection на простом приложении

Разработка под iOS *Разработка мобильных приложений *Xcode *Swift *
Tutorial

Всем привет сегодня мы разработаем простое приложение для летней кафешки и добавим tableHeaderView и viewForHeaderInSection.

Для начала посмотрим как наше приложение должно выглядеть.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 722
Комментарии 3

Auto Layout настройка кодом

Разработка под iOS *Xcode *Swift *
Из песочницы

В iOS-разработке выравнивание контента и интервалы — это то, на что может уйти много времени. Давайте рассмотрим, как устанавливать ограничения с помощью UIKit, обновлять их и разрешать конфликты ограничений.

Ограничение(constraint) - это правило, позволяющее операционной системе размещать ваш компонент пользовательского интерфейса. В UIKit есть 2 основных способа установки ограничений:  StoryBoard и кодом. В данной статье рассмотрим только подход кодом.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 1.5K
Комментарии 0

User-Defined в iOS проекте

Разработка под iOS *Xcode *Swift *
Из песочницы

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

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 1.4K
Комментарии 2

Приключение на 5 минут: как мы переводили все зависимости на SPM

Блог компании ПСБ Разработка под iOS *Objective C *Xcode *Swift *
✏️ Технотекст 2022

Привет, Хабр!

Меня зовут Вильян Яумбаев, в этой статье я расскажу вам про наши приключения на пути к SPM.

В 2015 ПСБ начал разрабатывать проект для бизнеса. Для него, в свою очередь, было нужно приложение. Сперва всё находилось в одном репозитории одного проекта в одном воркспейсе. Первые авторы подключали сторонние зависимости через CocoaPods, поскольку проприетарного менеджера зависимостей ещё не существовало. Но в тот же год в Apple началась работа над Swift Package Manager. Им предстояло встретиться в нашем проекте.

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

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 2.6K
Комментарии 5

Как устроен системный калькулятор в iPhone

Разработка под iOS *Разработка мобильных приложений *Xcode *Swift *

Приложение написано на сценах. Root-контроллер называется DisplayViewController. Лейбл с введенными цифрами обернули в контейнер DisplayView и добавили жесты LongPress, Swipe и Tap.

Читать далее
Всего голосов 67: ↑6 и ↓61 -55
Просмотры 8.3K
Комментарии 15

Что нового в Xcode?

Программирование *Разработка под iOS *Разработка мобильных приложений *Xcode *
Всем привет!

В понедельник стартовал новый WWDC 2022, и нас ждет много интересных новинок и фич от Apple.

Сделаем небольшой обзор на доклад «What's new in Xcode».

Для начала — Xcode 14 стал легче на 30 процентов, дополнительные утилиты можно скачать по необходимости.
Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 3.5K
Комментарии 0

Правильно подключаем тяжелые зависимости к Xcode проекту через Swift Package Manager

Разработка под iOS *Xcode *Swift *

В этой статье я расскажу о проблемах с которыми я столкнулся при подключении тяжелых зависимостей к iOS проекту с помощью Swift Package Manager и о способе их решения.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 3.4K
Комментарии 7

Особенности разработки для WatchOS приложений для здоровья

Разработка под iOS *Xcode *Swift *Носимая электроника
✏️ Технотекст 2022

Достаточно плотно разработкой программного обеспечения для часов я занимаюсь с 2017 года. За этот период сменилось 4 версии WatchOS (5, 6, 7, 8). Появилось больше функционала и исправлено множество баг с внедрением каждой новой версии Swift. Complications стали более самостоятельной частью приложения.

За 5 лет работы в сфере разработки приложений для часов мне пришлось столкнуться с множеством различных проблем и задач. Я хотел бы поделиться опытом и получить критические замечания относительно проделанной работы. Заранее сделаю оговорку, что решения, используемые в моей разработке, не претендуют на истинно верные. Не буду спорить, что что-то можно было бы сделать по-другому и лучше.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 2.2K
Комментарии 6

Автоматизируем iOS-сборку c помощью Jenkins

Блог компании МТС Разработка под iOS *Xcode *
Tutorial

Всем привет! Меня зовут Иван Чечиков, я QA-инженер в МТС Digital, работаю в проекте WASD.TV. В этой статье я расскажу о своем способе автоматизации iOS-сборки в TestFlight через Jenkins. С помощью такого метода можно настроить автоматизацию как локально, так и на удаленной машине. Поможет в этом Jenkins – это простой в использовании CI/CD-инструмент. Я рассмотрю локальное применение Jenkins.

 Подробности – под катом.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 2.7K
Комментарии 0

Как я визуализировал граф билда. Build Graph for Xcode

Блог компании Dodo Engineering Разработка под iOS *Разработка мобильных приложений *Xcode *Разработка под MacOS *

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

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

В этот раз рабочая задача по ускорению билда привела меня к проекту по визуализации модулей в сложных приложениях. Давайте расскажу, как это было.

Читать далее
Всего голосов 33: ↑32 и ↓1 +31
Просмотры 7.3K
Комментарии 6

Интерфейсы/протоколы для начинающих

Разработка под iOS *Xcode *Swift *
Из песочницы

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

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 14K
Комментарии 7

AppCode 2021.3: акторы, редактор plist-файлов, улучшенная поддержка документации и многое другое

Блог компании JetBrains Разработка под iOS *Разработка мобильных приложений *Xcode *Swift *

Всем привет! 

Вышел AppCode 2021.3, а значит, пора о нем рассказать. 

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 2.3K
Комментарии 14

Истории

Исправление неоднозначных ограничений без перезапуска приложения

Блог компании ПСБ Разработка под iOS *Objective C *Xcode *Swift *
Перевод

Примечание

Слова layout, autolayout и constraints я перевёл, соответственно, как вёрстка, автовёрстка и ограничения.

Работа с автовёрсткой

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

Interface Builder неплох как визуальный редактор вёрстки. В нём есть индикация некорректных граничных параметров. Однако ваша вёрстка может отличаться от видимой в IB. На экран приложения могут влиять различные параметры — например, ответы на сетевые запросы или локально сохранённые данные. Более того, могут быть экраны, частично или полностью построенные на информации, заданной сервером. От сервера может поступать вообще всё что угодно, в том числе шрифты, цвета и формы.

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

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 1.4K
Комментарии 2

Джунам в Swift: как делать нейминг правильно?

Разработка под iOS *Xcode *Swift *

Занимаясь на курсах или обучаясь по различным туториалам, книгам и статьям, начинающие разработчики не слишком заботятся о том, как называть свои константы, переменные, классы, протоколы и т.п. во время написания кода. А ведь код пишется прежде всего для людей, а не для машины (машина понимает лишь язык нулей и единиц). Соответственно, для того, чтобы работать в команде, нужно позаботиться о том, чтобы код был понятен другим разработчикам (или понятен самому себе спустя несколько месяцев). Понятный код - один из важнейших критериев отбора джунов на работу. Ни один работодатель не захочет брать на работу кодера, у которого в коде "без бутылки не разберешься".

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 5.3K
Комментарии 4

iOS in-app purchases, часть 4: локальное тестирование покупок в XCode

Блог компании Adapty Разработка под iOS *Разработка мобильных приложений *Xcode *Тестирование мобильных приложений *
Tutorial

На iOS есть два варианта тестирования: классический, посредством Sandbox покупок, и новый способ локального тестирования покупок через Xcode (StoreKit local testing).

Sandbox тестирование — процесс несколько муторный и работает только на реальном девайсе. Чтобы тестировать в Sandbox, в самом начале надо завести аккаунт тестировщика на портале, связать его со своим устройством и после этого этого проверить все сценарии.

Тестирование в Xсode Во-первых, тестировать покупки в Xcode можно на раннем этапе, когда приложение не подключено к AppStore Connect. Во-вторых, для Xcode не нужно заводить дополнительных аккаунтов в AppStore, что сильно ускоряет процесс конфигурации тестов, особенно для lifetime non-consumable. В-третьих, локальное тестирование можно автоматизировать, что потенциально снижает шанс появления ошибок в коде.

Познакомьтесь с остальными статьями из цикла:

1. iOS in-app purchases часть 1: конфигурация и добавление в проект.

2. iOS in-app purchases часть 2: инициализация и обработка покупок.

3. iOS in-app purchases часть 3: серверная валидация покупки.

4. iOS in-app purchases часть 4: локальное тестирование покупок в XCode. - Вы тут.

5. iOS in-app purchases часть 5: обработка ошибок SKErrors.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 5.4K
Комментарии 0

AppCode 2021.2: улучшения поддержки Swift, автодополнение выражений, окно иерархии вызовов для Swift и не только

Блог компании JetBrains Разработка под iOS *Разработка мобильных приложений *Xcode *Swift *

Привет, Хабр! 

В этом посте, как и всегда, расскажем о новом релизе AppCode. Всем, кому интересно, — добро пожаловать под кат. 

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 2.2K
Комментарии 5

Распространение консольных приложений macOS до конечных пользователей

Xcode *Swift *Разработка под MacOS *

Начиная с macOS 10.15 Catalina разработчикам требуется заверять свои приложения и утилиты командной строки. Если с приложениями, распространяемыми через App Store все прозрачно, то распространение консольных утилит может вызвать сложности. В данной статье я покажу, как можно доставлять такие утилиты до конечных пользователей (будем проделывать все необходимые операции в терминале, а также автоматизируем эти действия двумя вариантами - через bash-скрипт и с помощью SPM executable).

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 6K
Комментарии 9

Tuist: Xcode-проект на стероидах

Блог компании HeadHunter Разработка под iOS *Разработка мобильных приложений *Xcode *Swift *
Tutorial


Стандартное представление Xcode-проекта сложно назвать комфортным для командной работы. Даже в небольших проектах часто возникают merge-конфликты после изменения состава исходников в разных ветках.


К тому же Xcode не предоставляет каких-либо решений для реализации потенциала модульных проектов, что снижает интерес к теме модуляризации среди iOS-разработчиков.


Да, ограничения Xcode можно победить, но решением в основном является "винегрет" из сторонних инструментов, заправленный собственными Shell или Ruby скриптами, в которых мало кто разбирается.


Но есть куда более изящное и комплексное решение — Tuist. С ним мы и познакомимся в этой статье.

Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 8.7K
Комментарии 8

Вклад авторов

Работа

Swift разработчик
63 вакансии
iOS разработчик
51 вакансия