image

1 березня в офісі Avito відбулася чергова зустріч спільноти розробників iOS CocoaHeads. Під катом вас чекають невеликий розповідь про те, як пройшов митап, і, найголовніше, відеозапису доповідей. Приємного перегляду!

Читати далі →



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

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

Читати далі →

Робота з регулярними виразами в iOS 10

Всім привіт! У цій статті ми розглянемо, як працювати з NSRegularExpression і NSDataDetector,
усіх небайдужих запрошують під кат.

Читати далі →

Кожен розробник час від часу шукає роботу і проходить співбесіди. Хто хоче спробувати щось нове, отримати бобільшу ЗП або потрапити в компанію, в яку завжди мріяв. Не оминула ця подія і мене стороною.

Відвідавши безліч компаній, я вирішив поділитися спостереженнями про те, як найчастіше відбувається набір фахівців, у тому числі технічне співбесіду і просто спілкування з потенційними колегами. І після запропонувати свої ідеї щодо поліпшення загальноприйнятого процесу.

Щоб у підсумку співбесіду не виглядало як для здобувача:



Стаття в першу чергу буде корисна всім, хто шукає роботу в середовищі iOS розробки або хоч якось пов'язаний з набором IT фахівців: проводить технічні співбесіди або будь-які інші.

І ласкаво просимо під кат.

Читати далі →

Передмова
Існує велика кількість статей, присвячених статичних аналізаторів для С/С++/С#, Java і т. д. Що стосується досліджень застосування різних статичних аналізаторів для нативної розробки під MacOS/iOS, то їм приділено значно менше уваги.

Пропонується розбір застосування статичних аналізаторів коду, що використовуються в різних проектах на ObjC та Swift. При цьому, це не огляд, а скоріше деякі нотатки застосування різних інструментів, що дозволяють знаходити помилки того чи іншого роду в коді, починаючи від витоків пам'яті і закінчуючи пошуком вразливостей. Однак дані не претендують на об'єктивність та повноту зроблених висновків, а також на глибину аналізу отриманих результатів по кожному інструменту.

Читати далі →

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


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

Читати далі →

Управління світлодіодною стрічкою WS2801 з використанням Raspberry Pi і iOS

Всім привіт!
Ця стаття містить вихідні коди програми для операційної системи iOS, мета якого управління світлодіодною стрічкою WS2801, підключеної до Raspberry PI.

Читати далі →

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

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

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

Читати далі →

Трохи про Swift runtime або куди зник NSObject

Привіт друзі! Я з тих, кому нудно просто смикати за ниточки, що стирчать з чорної коробки, хочеться побачити все своїми очима, як воно працює під капотом. Ми поговоримо з вами про рантайм, так-так рантайм. Для наших дослідів розглянемо старого доброго дідуся Objective C і революційного, але поки ще перебуває в стадії розвитку, Swift. Нам з вами потрібно пірнути практично на саме дно абстракцій, які дбайливо придумали програмісти Apple. Давайте трохи розберемося, навіщо взагалі знадобилося розробляти нову мову. Я чув багато негативних відгуків в самому початку, особливо від вже досвідчених розробників Objective C. Якщо подивитися уважніше на новий мову Swift, він на мій погляд значніше дорослішим і серйознішим. По-перше, він написав на мові С++ на відміну від Сі, який лежить в основі Objective C. Я тут висловлюю лише свої суто особисті упередження, з якими можна погодитися, можна і посперечатися.

Читати далі →