Привет! В данной статье решил написать о том, как работать с галереей с помощью фреймворка Photos. В этой статье рассмотрим базовые возможности фреймворка: создание альбома, сохранение, удаление и загрузку фото. Если будут положительные отзывы, то в следующих частях напишу про работу с live фото, видео, наложение фильтров, кэш и прочие функции.
Читать полностью »
Рубрика «swift» - 39
iOS: работа с галереей (Photos framework)
2016-12-30 в 10:01, admin, рубрики: gallery, iOS, Photos framework, swift, xcode, разработка мобильных приложений, разработка под iOSНасколько удобным может быть API для рисования в iOS?
2016-12-28 в 17:38, admin, рубрики: Cocoa, core graphics, ios development, macaw, open source, swift, разработка под iOSЗдравствуйте, меня зовут Виктор, я работаю в компании Exyte. Недавно мы выложили в open source нашу внутреннюю разработку — библиотеку для работы с векторной графикой и ее анимации Macaw. Я хочу поделиться впечатлениями от применения ее в реальном проекте и рассказать о ее преимуществах над нативным API.
Как разработчикам, нам часто приходится создавать нестандартные контролы и повторять одни и те же рутинные действия даже для простых эффектов:
- Отнаследоваться от UIView, чтобы переопределить drawRect
- Описать "сцену" используя устаревший Core Graphics API
Давайте попробуем создать нестандартный контрол и используем его как пример:
Тап жест для скрытия клавиатуры в iOS (Swift 3)
2016-12-26 в 8:53, admin, рубрики: iOS, ios development, keyboard, swift, tap gesture, разработка мобильных приложений, разработка под iOSВ данной статье разберем, как скрывать клавиатуру по нажатию на вьюху от самых основ до реализации в одну строчку или совсем без кода.

AppCode 2016.3: поддержка Swift 3, новые настройки форматирования, улучшения быстродействия и многое другое
2016-12-23 в 10:41, admin, рубрики: appcode, create from usage, iOS, objective-c, osx, swift, Блог компании JetBrains, мобильная разработка, разработка мобильных приложений, рефакторингиПривет!
Совсем недавно вышел AppCode 2016.3, и в этом посте мы расскажем о самых интересных изменениях в нем.
Мобильный банк для iOS: добавляем блочную архитектуру к Cocoa MVC
2016-12-22 в 20:40, admin, рубрики: ios development, iOS разработка, swift, архитектура, мобильный банк, ооп, Проектирование и рефакторинг, разработка мобильных приложений, разработка под iOSЕсли вы пишете приложение мобильного банка для iOS, какие у вас приоритеты? Думаю, их два:
- Надёжность;
- Скорость внесения изменений.
Ситуация такова, что нужно уметь вносить изменения (и в частности выкатывать новые банковские продукты) действительно быстро. Но при этом не скатываться в индусокод и копипаст (см. пункт 1). Всё это при том, что приложение действительно огромное по функционалу, по крайней мере в задумке (банки хотят намного больше, чем умеют). Соответственно, во многих случаях это проекты на десятки человеко-лет. Те, кто участвовал в таких проектах, уже наверно поняли, что задача нетривиальная, и школьные знания тут не помогут.Читать полностью »
Разгоняем сборку Swift проекта в Xcode
2016-12-16 в 6:56, admin, рубрики: iOS, swift, xcode, Программирование, разработка мобильных приложений
Статья о том как починить инкрементальную компиляцию в Xcode для Swift проектов и ускорить build phases для Cocoapods и Carthage, ничего не поломав.
Небольшой спойлер: на трех разных проектах получилось сократить время инкрементальной сборки в 9 раз!
Туториал несет сугубо практический характер с минимумом воды. Обязательно к прочтению для действующих iOS разработчиков.
Использование паттерна SchedulableObject для выделения бизнес-логики в отдельный поток
2016-12-13 в 11:55, admin, рубрики: mail.ru, SchedulableObject, swift, Анализ и проектирование систем, Блог компании Mail.Ru Group, разработка мобильных приложений, разработка под iOSИнтерфейс мобильного приложения — это лицо продукта. Чем более отзывчив интерфейс, тем больше радости приносит продукт. Однако удовлетворённость от использования приложения зависит прежде всего от объёма его функций. По мере увеличения количества и сложности задач они требуют всё больше и больше времени. Если архитектура приложения предполагает, что все они выполняются в главном потоке, то задачи бизнес-логики начинают конкурировать за время с задачами отрисовки интерфейса. При таком подходе рано или поздно обязательно находится сценарий, исполнение которого приводит к залипанию приложения. Для борьбы с этой напастью существует три принципиально разных подхода:
- Оптимизация алгоритмов и структур данных, вовлечённых в исполнение проблемного сценария.
- Вынос проблемного сценария из главного потока.
- Вынос из главного потока всех функций приложения, за исключением собственно рендеринга пользовательского интерфейса.
Паттерн SchedulableObject позволяет аккуратно реализовать третий сценарий. Под катом рассматриваются его части с примерами реализации на Swift, а также преимущества и недостатки по сравнению с первыми двумя подходами.
Читать полностью »
Тюнинг Swift компилятора. Часть 2
2016-12-10 в 17:43, admin, рубрики: iOS, swift, xcode, Программирование, разработка мобильных приложений, разработка под iOSПродолжение исследования способов ускорить компиляцию Swift.
Издевательство над семантическим анализатором и неожиданные настройки проекта.
Ссылка на первую часть для тех, кто пропустил.
Скорость работы Vapor по сравнению с другими веб-фреймворками
2016-12-07 в 1:49, admin, рубрики: backend, rest, swift, vapor, сравнениеПравда ли, что Vapor на самом деле такой быстрый и безопасный, как говорят его авторы? Сегодня мы посмотрим на скорость работы Swift в серверной части вашего приложения в сравнении с Ruby, PHP, JS, Python, Java, C#, Go!
Тюнинг Swift компилятора. Часть 1
2016-12-06 в 19:10, admin, рубрики: iOS, swift, xcode, разработка под iOS, Разработка под OS XОбзор Swift 3 компилятора и способы его ускорить. Часть 1.
Развенчание существующих мифов. Мнение о проблемах autocompletion в Xcode.