<img src=«habrastorage.org/files/5e7/7b3/706/5e77b3706e39408f9d57548f2994aacb.png» alt=«image» alt text"/>
iMessage у свіжих версіях iOS навчився працювати зі сторонніми розширеннями. Наприклад, тепер можна додавати котиків до повідомлень або навіть переводити комусь гроші без додаткових реквізитів. Це ж мрія ледаря — відправляти гроші не виходячи з месенджера, тому розробка Яндекс.Грошей засіла за реалізацію.
При розробці модного магії без пригод не обійшлося, адже iMessage практично нічого не розповідає про одержувача повідомлення. Немає ні номера гаманця, ні ПІП, ні хоча б статичного ID. Але ми придумали спосіб дізнатися про адресата все необхідне для відправлення грошей.
Читати далі →



2ГІС давно хотів поділитися з користувачами айфонів своїми знаннями про телефонних номерах компаній з довідника. Android-платформа давала таку можливість, а ось під iOS відповідного інструменту довго не було.

В червні ми їздили на WWDC 2016, і на одній із сесій хлопці з Apple обмовилися, що нарешті-то можна робити «gorgeous astonishment» — визначник номерів під iOS 10. Нашій радості не було меж, але до пори до часу: як Apple любить, фічу вона надала з низкою обмежень.

Читати далі →

Патерни проектування, погляд iOS розробника. Частина 1. Стратегія


Зміст:
Частина 0. Сінглтон-Одинак
Частина 1. Стратегія
Нагадаю, що в цій серії статей, я розбираю книгу "Патерни проектування" Еріка і Елізабет Фрімен. І сьогодні ми вивчимо патерн "Стратегія". Поїхали.
Звідки ростуть ноги (і крила)
Автори книги розповідають нам історію про створення програми SimUDuck. Почнемо з реалізації початкового стану додатки: у нас є абстрактний клас
Duck
і два його спадкоємця:
MallardDuck
та
RedheadDuck
. Тут же ми стикаємося з першою складністю: в Objective-C і Swift немає абстрактних класів.

Читати далі →

Патерни проектування, погляд iOS розробника. Частина 0. Сінглтон-Одинак

Я почув і забув.
Я записавши і є запам'ятав.
Я зробив і зрозумів.
Я навчив іншого, тепер я майстер.
(Ст. Ст. Бублик)

Невеликий вступ.
Я не даремно виніс в початок посту цитату українською мовою. Справа в тому, що саме ці слова я почув від свого викладача програмування на другому курсі університету, і саме в такому вигляді я згадую ці слова досі. Як ви можете здогадатися, ця цитата є відсиланням до висловлення Конфуція, але в ній є дуже важливе доповнення про досягненні майстерності.
І саме ці слова і надихнули мене на написання даної серії постів. Справа в тому, що я — початківець iOS розробник, і я дуже хочу розібратися в шаблони проектування. І я не придумав кращого способу, ніж взяти книгу "Патерни проектування" Еріка і Елізабет Фрімен, і написати приклади кожного патерну на Objective-C і Swift. Таким чином я зможу краще зрозуміти суть кожного патерну, а також особливості обох мов.

Читати далі →

IT-meetup Superjob «iOS — архітектура дизайну, коду, деплоя» (звіт, презентації, відео)

Відео, доповіді та короткий звіт для тих, хто не доїхав.

У новому офісі Superjob на Малій Дмитрівці відбувся перший в 2017 році митап з мобільного iOS-розробці. Додаток Superjob для пошуку роботи стабільно «проживає» в топі AppStore, а рахунок установок давно йде на мільйони. Ми першими запустили додаток для корпоративних користувачів, і сьогодні тисячі роботодавців вже навіть і не звертаються до веб-версії. Так що досвід у нашої команди дійсно унікальний. Таким зазвичай служби безпеки ділитися не дозволяють. Але у нас СБ немає — заборонити вечірку було нікому.


Читати далі →

IT-meetup Superjob «iOS — архітектура дизайну, коду, деплоя»

26 січня запрошуємо iOS-розробників на зустріч «iOS — архітектура дизайну, коду, деплоя» в новий офіс Superjob на Малій Дмитрівці. Приходьте обмінюватися досвідом!
Superjob продовжує серію IT-митапов. В цьому році ми зробимо акцент на розробці мобільного та Data Science.image

Читати далі →

Шлях, який варто було пройти, щоб отримати безцінний досвід в розробці мобільного

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

Прийшов час підвести підсумки 2016 року. Тут піде мова про другу спробу повторити успіх з освітнім додатком «Російська мова — грамотій». про інший спробі ми писали раніше



Читати далі →

Мобільний банк для iOS: додаємо блокову архітектуру Cocoa MVC

Якщо ви пишете програму мобільного банку для iOS, які у вас пріоритети? Думаю, їх два:

  1. Надійність;
  2. Швидкість внесення змін.
Ситуація така, що потрібно вміти вносити зміни (і, зокрема, викочувати нові банківські продукти) справді швидко. Але при цьому не скочуватися в индусокод і копіпаст (див. пункт 1). Все це при тому, що програма дійсно величезна по функціоналу, принаймні у задумом (банки хочуть набагато більше, ніж вміють). Відповідно, у багатьох випадках це проекти на десятки людино-років. Ті, хто брав участь у таких проектах, вже напевно зрозуміли, що завдання нетривіальне, і шкільні знання тут не допоможуть.
Читати далі →

Переходимо на Swift 3 з допомогою міграційного «робота» в Xcode 8.1 та 8.2



Вже відомо, що
<i>Xcode 8.2</i>
буде останнім релізом, який підтримує перехідну версію
<i>Swift 2.3</i>
. Тому потрібно терміново подумати про міграції на
<i>Swift 3</i>
.

Я хочу поділитися деяким досвідом такої міграції на прикладі додатків, пов'язаних зі стенфордським курсом «Developing iOS 9 Apps with Swift», як демонстраційних (їх 12), так і отриманих в результаті виконання Завдань навчального курсу (їх 6 варіантів). Всі вони різної складності, але там є і малювання, і багатопоточність, і показ зображень з допомогою
<font color="#0000FF">ScrollView</font>
, і робота з сервером Twitter, і база даних Core Data і робота з хмарним сервісомCloud Kit, і карти Map Kit. І все це було написано на
<i>Swift 2.2</i>
(stanford.edu), а мені було необхідно перевести всі додатки на
<i>Swift 3</i>
. Конспект лекцій стенфордського курсу російською мовою можна знайти на сайті «Про стэнфордских лекціях», а код — для Swift 2.3Github і Swift 3 Github.

Читати далі →

Звіт з Moscow CocoaHeads Meetup 28 жовтня


В останню п'ятницю жовтня відбулася зустріч iOS-розробників Moscow CocoaHeads. І сьогодні ми хочемо поділитися матеріалами виступів, під катом вас чекають презентації та відео чотирьох доповідей.

Читати далі →