Awesome iOS

awesome_logo

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

Хотелось запилить что-то на подобие awesome-ios, только те что прошли через боевые проекты. Добавляйте свои библиотеки в комментариях.

Читать далее Awesome iOS

Под «капотом» Тайного Санты

Под конец 2016 года разработано приложение для Тайного Санты под iOS. На работе не первый год уже в него играем. А тут в сентябре бизнес заказчик в лице жены объявил — «Ты ж программист, а нам на работе надо в Тайного Санту сыграть — можешь написать приложение к Новому Году для нас?» И было принято решение запилить приложение.

download_on_the_app_store_badge_ru_135x40

Далее расскажу про подробности разработки и используемые технологии.

Читать далее Под «капотом» Тайного Санты

Получение .ipa через xcodebuild

Xcode 6 позволяет вам экспортировать .ipa из архива для распространения adhoc сборок. Раньше требовалось иметь правильный provisioning profile и distribution certificate на вашем ПК. Начиная с Xcode 6 вам надо быть членом команды в Developer Program account и у вас должны быть права делать distribution build. Это означает, что вам надо быть team agent.

Сборка через  xcodebuild

Начинаем с очистки

xcodebuild clean -project $projectname.xcodeproj -configuration Release -alltargets

Далее скрипт собирает и архивирует приложение. Используем параметр -archivePath для указания пути архива.

xcodebuild archive -project $projectname.xcodeproj -scheme $schemename -archivePath $projectname.xcarchive

Наконец экспортируем архив в файл .ipa.

xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile “Provisioning Profile Name”

Provisioning profile заключает в себе signing identity, но вы можеет указать его через параметр -exportSigningIdentity.

Читать далее Получение .ipa через xcodebuild

Certificate and Public Key Pinning

Certificate and Public Key Pinning — это техническое руководство для реализации привязки сертификата или публичного ключа сервера к клиенту, как это описано в презентации Securing Wireless Channels в Mobile Space, глава «Virginia» . Эта документация фокусируется на обеспечении ясного, простого и применимого руководства для обеспечении безопасности канала связи во враждебной среде, где действующие лица могут быть враждебно настроены и цена ошибки в доверии к ним весьма высока. Дополнительные материалы статьи включают в себя: выдержки с кодом, пример программы на Android, пример программы на iOS, пример программы на .Net и пример программы OpenSSL.

Пару слов про OWASP

Это перевод статьи международной организации The OWASP (Open Web Application Security Project) — Certificate and Public Key Pinning. Данная организация занимается проектом обеспечения безопасности веб приложений. Сообщество OWASP включает в себя корпорации, образовательные организации и частных лиц со всего мира. Сообщество работает над созданием статей, учебных пособий, документации, инструментов и технологий, находящихся в свободном доступе. 

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

Если вы не слышали про OWASP, то скоре всего вы просто не сталкивались с разработкой защищенных мобильных приложений, где фигурируют пользовательские данные и их сбережения.

OWASP сформировал набор рекомендаций для построения безопасных REST/SOAP сервисов. Разработали стандарт для проведения проверок уровня безопасности приложений. Практически все разработчики мобильных банков стараются следовать их рекомендациям.

Читать далее Certificate and Public Key Pinning

Конференция Rambler iOS#7

На прошлой неделе прошла конференция Rambler’a для iOS разработчиков. Проводилась она в штаб-квартире — Москва, Варшавское шоссе 9с1.

Доклады были следующие:

  • Интернет-эквайринг 101 — Алексей Сычев
  • Прием платежей по банковским картам в iOS — Александр Сычев
  • Построение сложных табличных интерфейсов — Андрей Резанов

Ну и самое интересное — обсудить все за пиццей. Далее по катом.

Читать далее Конференция Rambler iOS#7

Размытие снимка приложения в неактивном состоянии

Apple рекомендует убирать важную информацию с экрана перед тем, как приложение уйдет в фоновый режим. Это можно сделать просто «размыв» экран до нечитабельного состояния, как делают многие банковские приложения.

blur

Реализуем данное поведение ниже.

Читать далее Размытие снимка приложения в неактивном состоянии

Курс по разработке приложений iOS 9 на Swift

Stanford опубликовал курс по разработке приложений iOS 9 на языке Swift.

Требования для курса — знание C — языка, ООП.

Отличный курс для тех, кто хочет ознакомиться с языком, а так же в предверии релиза 3 версии языка swift.

Курс доступен в iTunes по ссылке.

Описание курса

  1. Introduction to iOS, Xcode, and Swift
  2. Using MVC in iOS
  3. Swift and Foundation framework
  4. Views and Gestures
  5. Multithreading

Настройка макросов препроцессора в Xcode

Редкое приложение обходится без конфигурационных параметров. Проекты для iOS не исключение. То URL сервера надо указать, то режим отладки или демонстрационный параметр. Обычно их указывают через макросы препроцессора в настройках проекта.

Далее мы добавим свой параметр и посмотрим как им управлять через xcodebuild.

Читать далее Настройка макросов препроцессора в Xcode

Отключение back swipe gesture для UINavigation Controller

Начиная с IOS 7 ввели прикольную фишку для UINavigation Controller’a — возможность «смахнуть» текущий UIView к предыдущему жестом от края  к центру экрана. В оригинале звучит как back swipe gesture. Но не всем она по душе и все адаптируют контроллеры под данное поведение. Под катом будем отключать данное поведение.

Navigation Controller Back Swipe Gesture

Читать далее Отключение back swipe gesture для UINavigation Controller

Objective-C после Java

Волей судеб мне посчастливилось изучать еще один язык под присмотром опытного разработчика. Вот, что делает нехватка кадров ios разработчиков. Поэтому решено было сразу законспектировать все сложные моменты перехода от java к Objective-C. Попутно делится с коллегами информацией о различиях.

Тема обширная, в этот раз опишу различия идеологические и синтаксические, субъективные

Читать далее Objective-C после Java