Как стать автором
Обновить
0

Cocoa *

Среда разработки приложений Mac OS X

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

Упрощаем разработку на React Native: чем полезен CocoaPods?

Время на прочтение 10 мин
Количество просмотров 2.2K

В МойОфис мы создаем продукты для совместной работы и делового общения. В том числе стремимся делать так, чтобы доступ к корпоративной коммуникации был максимально удобным для пользователя. Большинство наших решений — от редакторов документов и почтовых систем до цифрового рабочего пространства Squadus — представлены, помимо десктопа и веба, на основных мобильных платформах.

iOS- и Android-приложения Squadus мы разрабатываем с помощью кроссплатформенного фреймворка React Native. И сегодня расскажем о том, какое значение в iOS-разработке имеет CocoaPods — мощный инструмент управления нативными iOS-зависимостями, который позволяет упростить управление вашим проектом.

Под катом разбираем основы работы с CocoaPods, а также пример его использования в проекте для исправления ошибки.

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

Новости

AVFoundation — пишем простейшую фотокамеру

Время на прочтение 12 мин
Количество просмотров 3.9K

Введение в AVFoundation камеры в iOS.

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

Делаем патч для Pods библиотеки

Время на прочтение 3 мин
Количество просмотров 1.5K

Приветствую друзья на связи автор телеграм канала ReactNative - info, недавно столкнулся с одной интересной проблемой, сборка архива для iOS приложения постоянно завершалась такой ошибкой:

error: Abort trap: 6 (in target 'iOSPhotoEditor' from project 'Pods')

Читать далее
Рейтинг 0
Комментарии 2

Тестовые проекты без боли. Доклад Яндекса

Время на прочтение 11 мин
Количество просмотров 2.6K
Мы в команде Яндекс.Карт для iOS создаем тестовые проекты с помощью маленького плагина для CocoaPods и нескольких классов утилит. Создание проекта происходит быстро и надежно. Но может, мы слишком заморачиваемся и собрать проект вручную с нужными настройками и зависимостями не так сложно? В докладе я пошел от противного: сначала разобрал ручной процесс, потом наш.


— Сначала маленькая предыстория. Яндекс.Карты собираются больше минуты. На моем компьютере сборка приложения занимает чуть больше трех минут. Мы разрабатываем в тестовых проектах, чтобы тратить меньше времени на каждую сборку. У нас достаточно прокачанная модульность, и для каждого модуля мы делаем тестовый проект. В этом тестовом проекте ведется разработка фичи.
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 0

Истории

Измените свой образ мышления, работая с SwiftUI

Время на прочтение 3 мин
Количество просмотров 8.4K
Перевод
image

На прошлой неделе я увидел, что сообщество пытается перенести наработаные шаблоны разработки c UIKit в SwiftUI. Но я уверен, что лучший способ написать эффективный код используя SwiftUI — это забыть все об UIKit и полностью изменить свое мышление с точки зрения разработки пользовательского интерфейса. На этой неделе я расскажу основные отличия между разработкой используя UIKit и SwiftUI.
Читать дальше →
Всего голосов 17: ↑13 и ↓4 +9
Комментарии 1

Redux — подобные контейнеры состояния в SwiftUI. Рекомендации

Время на прочтение 3 мин
Количество просмотров 2.2K
Перевод
image

На прошлой неделе мы говорили о Redux – подобных контейнерах состояний в SwiftUI. Redux предоставляет единый источник истинностных значений, который предотвращает огромное количество потенциальных ошибок, которые могут возникнуть в разных состояниях приложения. На этой неделе мы поговорим о проверенных методах создания приложений на основе Redux, которые позволят сохранять нашу кодовую базу простой и без ошибок.
Читать дальше →
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 0

Redux — подобные контейнеры состояния в SwiftUI. Основы

Время на прочтение 5 мин
Количество просмотров 4.1K
Перевод
image

На этой неделе мы поговорим о создании контейнера состояний схожим с тем, который используется в Redux. Он является единственным источником значений для разрабатываемого приложения. Единое состояние для всего приложения облегчает отладку и проверку. Единый источник истинностных значений устраняет тысячи ошибок, возникающих при создании нескольких состояний в приложении.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 1

Интеграционное тестирование для проверки на наличие утечки памяти

Время на прочтение 5 мин
Количество просмотров 4.1K
Перевод
Мы пишем множество юнит тестов, разрабатывая приложение SoundCloud под iOS. Юнит тесты выглядят вполне великолепно. Они короткие, (надеюсь) читабельны, и они дают нам уверенность в том, что код, который мы пишем, работает так, как и ожидается. Но юнит тесты, как следует из их названия, охватывают только один блок кода, чаще всего функцию или класс. Итак, как отловить ошибки, которые существуют во взаимодействиях между классами — ошибки, такие как утечки памяти?
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 4

Ждём всех на очередном CocoaHeads Meetup

Время на прочтение 2 мин
Количество просмотров 1.4K


8 февраля в московском офисе Mail.ru Group пройдёт очередная зажигательная встреча сообщества CocoaHeads. Если кто не знает, это регулярный митап для iOS разработчиков. В программе три интересных доклада и свободное общение с коллегами по цеху.
Читать дальше →
Всего голосов 26: ↑26 и ↓0 +26
Комментарии 2

Митап CocoaHeads в офисе Туту.ру

Время на прочтение 1 мин
Количество просмотров 1K
image

Мы вновь ждем у себя гостей митапа CocoaHeads! Встречаемся уже в эту пятницу, 13 апреля. Традиционно будет пицца, круглый стол, викторина и, конечно же, интересные доклады. Зарегистрироваться на мероприятие можно через приложение CocoHeads для iOS.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Что нового в Swift 4.1?

Время на прочтение 13 мин
Количество просмотров 7K
Перевод
Xcode 9.3 и Swift 4.1, наконец-то, уже не являются бета! Данный релиз содержит долгожданные улучшения стандартной библиотеки и самого языка. Если вы не следите за процессом Swift Evolution, то эта статья для Вас.

Swift 4.1

В этой статье вы узнаете о наиболее значительных изменениях, внесенных в Swift 4.1.

Эта статья требует наличия Xcode 9.3, поэтому убедитесь, что данная версия Xcode установлена.
Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Комментарии 3

24 марта, Москва – CocoaHeads Special Event

Время на прочтение 1 мин
Количество просмотров 1.3K
Привет, Хабр!

В эту субботу, 24 марта, пройдет полезное и интересное для всех iOS-разработчиков мероприятие – CocoaHeads Special Event.


Нас там будет представлять Илья iltsarev Царев, Head of iOS Альфа-Банка с докладом про итеративную разработку «Feedback Driven Development».

А теперь подробности.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 0

Приглашаем на CocoaHeads Special Event 24 марта

Время на прочтение 3 мин
Количество просмотров 1.6K


Друзья, приглашаем всех, кто занимается мобильной разработкой под iOS, на CocoaHeads Special Event в московский офис Mail.Ru Group. В программе первого самого крупного в Европе митапа по iOS-разработке – 6 хардовых докладов, викторина и, конечно, неформальное общение. Программа встречи под катом.

Читать дальше →
Всего голосов 21: ↑18 и ↓3 +15
Комментарии 2

Ближайшие события

Yandex Scale
Дата 25 – 26 сентября
Время 17:00 – 18:00
Место Москва Онлайн
Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
Business&IT Day: Retail CPG
Дата 28 сентября
Время 09:50 – 14:00
Место Онлайн
XIX конференция разработчиков свободных программ «Базальт СПО»
Дата 29 сентября – 1 октября
Время 10:00 – 19:00
Место Переславль-Залесский Онлайн
Kokoc Hackathon
Дата 29 сентября – 1 октября
Время 19:00 – 21:00
Место Онлайн
Ruby Russia 2023 Online
Дата 30 сентября
Время 11:00 – 21:00
Место Онлайн
PG Boot Camp Russia 2023
Дата 5 октября
Время 10:00 – 17:00
Место Москва Онлайн
Joker
Дата 9 – 14 октября
Время 16:00 – 19:30
Место Санкт-Петербург Онлайн
Russia Risk Conference 2023 — 19-я конференция по риск-менеджменту
Дата 25 – 26 октября
Время 10:00 – 19:00
Место Москва Онлайн

Libdispatch. Как сделать приложение отзывчивым

Время на прочтение 11 мин
Количество просмотров 13K

image



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


  • Pthreads, или потоки POSIX. Библиотека для низкоуровневой работы с многопоточностью. Определена как набор типов и функций на языке C. Подробнее можно ознакомиться тут.
  • Background selectors. Это отправка сообщения объекту, которое будет исполнено на указанном потоке. В коде это селектор с названием performSelector и различными параметрами (например, performSelectorOnMainThread:withObject:waitUntilDone:). Документация
  • NSThread. Представлены как базовые средства для работы с потоками. Ознакомьтесь с концептуальным документом по работе с потоками и документацией.
  • Grand Central Dispatch. Библиотека, основанная на блоках — анонимных участках кода, иначе замыканиях. Рабочее название — libdispatch.
  • NSOperation. Построен на основе GCD. Стоит заметить, что сама операция является абстрактной сущностью и на практике стоит использовать NSInvocationOperation и NSBlockOperation.

В этой статье поговорим о вопросах GCD.

Читать дальше →
Всего голосов 45: ↑29 и ↓16 +13
Комментарии 7

CocoaHeads Russia. Прямая трансляция

Время на прочтение 1 мин
Количество просмотров 2.9K
Привет, хабраюзеры!

Сегодня (23 июня 2017) в офисе Туту.ру пройдет очередной митап iOS разработчиков. Мы организуем прямую трансляцию митапа. Если вы не смогли к нам попасть, то у вас есть шанс увидеть все online.

Программа


  • 19:10 Открытие
  • 19:15 Анимация как средство самовыражения.
    Александр Зимин
  • 20:00 Перерыв
  • 20:25 Team Lead. Структурирование мыслей.
    Николай Ашанин
  • 21:00 Перерыв
  • 21:15 Викторина
  • 21:40 Реактивный VIPER.
    Дмитрий Котенко
  • 22:10 Автепати (трансляция в личные соцсеточки)
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 4

CocoaHeads Russia в офисе Туту.ру

Время на прочтение 2 мин
Количество просмотров 2K

23 июня Туту.ру и CocoaHeads Russia проведут очередную встречу сообщества iOS-разработчиков в Москве. В программе 3 доклада, викторина и афтерпати после встречи.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 0

Насколько удобным может быть API для рисования в iOS?

Время на прочтение 4 мин
Количество просмотров 7.8K

Здравствуйте, меня зовут Виктор, я работаю в компании Exyte. Недавно мы выложили в open source нашу внутреннюю разработку — библиотеку для работы с векторной графикой и ее анимации Macaw. Я хочу поделиться впечатлениями от применения ее в реальном проекте и рассказать о ее преимуществах над нативным API.


Как разработчикам, нам часто приходится создавать нестандартные контролы и повторять одни и те же рутинные действия даже для простых эффектов:


  • Отнаследоваться от UIView, чтобы переопределить drawRect
  • Описать "сцену" используя устаревший Core Graphics API

Давайте попробуем создать нестандартный контрол и используем его как пример:


ControlImage


Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 6

Macaw — удобная библиотека для векторной графики в Cocoa

Время на прочтение 10 мин
Количество просмотров 9.7K
Туториал

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


Именно с этой проблемой мы столкнулись во время разработки iOS приложений. Чтобы упростить задачу, мы разработали графическую библиотеку Macaw, которая позволяет описывать сложные интерфейсы в виде понятных объектов сцены и даже напрямую отображать SVG графику с поддержкой событий и анимации.


Интересно? В этой статье мы познакомим вас с базовыми понятиями Macaw и вместе создадим диаграмму с анимацией, используя минимум кода.


image
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Комментарии 17

Руководство новичка по разработке плагинов для графического редактора Sketch

Время на прочтение 38 мин
Количество просмотров 8.4K
Туториал
Перевод


Приветствую друзья! Меня зовут Антон, я развиваю сайт ux.pub посвященный графическому редактору Sketch. Очень часто мне на почту приходят вопросы о тонкостях разработки плагинов для Sketch. Я не разработчик и не специалист в создании плагинов, поэтому я решил сделать перевод самого подробного руководства по созданию плагинов от Mike Mariano.

Часть 1  — С чего начать?


Вы хотите начать писать Sketch-плагины и не знаете, с чего начать? Продолжайте читать, так как этот пост как раз для вас!

Освоить базу не так просто. Есть масса примеров уже существующих плагинов, но очень сложно понять, с чего нужно начать. В помощь вам я собрал всю нужную информацию, которую только удалось отыскать, в одном месте.
Читать дальше →
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 2

Переход на ReactiveCocoa v.4

Время на прочтение 5 мин
Количество просмотров 10K
Перевод
image

Если вы когда – либо интересовались фреймворком ReactiveCocoa, то заметили, что есть небольшое количество постов на тему реактивного программирования и фреймворка ReactiveCocoa, такие как Знакомство с ReactiveCocoa, или Лучший мир с ReactiveCocoa. До сегодняшнего дня, все эти посты были на тему ReactiveCocoa 2 версий, которая была написана на и для Objective-C. Сейчас все больше набирает популярность язык Swift, разработчики ReactiveCocoa усиленно работают над новой версией, которая будет написана на языке Swift и будет иметь некоторые функциональные особенности, которые являются фундаментальными для данного языка.

Я подозреваю, что многие из вас, как и я, с огромным желанием оставили Objective-C и перешли на Swift. Если вы хотели бы использовать ReactiveCocoa с новым языком, я вам настоятельно рекомендую попробовать использовать новую версию ReactiveCocoa. И я уверен, что наше сообщество получит огромную пользу от вклада, сделанного вами. С другой стороны, если вы работаете над большими бизнес приложениями в продакшн для определенного заказчика, я должен вам сказать – не делайте этого или хорошенько подумайте перед тем как использовать его. Но об этом мы поговорим дальше, если кого заинтересовал — прошу под кат.
Читать дальше →
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 5