image

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

Читати далі →

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

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

Читати далі →

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

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

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



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

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

Читати далі →

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

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

Читати далі →

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


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

Читати далі →

Відтворення зашифрованих файлів з дешифровкою "на-льоту" на iOS

image

У процесі розробки додатка на фрейворке Sencha Touch для платформи iOS потрібно реалізувати відтворення локальних відео і аудіо файлів, які повинні бути зашифровані на сервері перед скачуванням в пам'ять мобільного пристрою. Додатковою умовою була заборона на створення дешифрованою версії файлу на диску, таким чином з'явилася необхідність робити розшифровку і читання даних в оперативній пам'яті. Тому стандартний плагін від Cordova для відтворення локальних медіа файлів не підходив, хоча досвіду розробки на Objective C у мене не було, я вирішив створити свій, володіє необхідним функціоналом.

Читати далі →

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

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

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

Читати далі →

Нативний код Android і iOS в Qt на прикладі status bar

Привіт! Впевнений, багато чули про те, що Qt дуже хороший для кросплатформенной розробки мобільних додатків. Однак, для рішення деяких задач доводиться мати справу з нативним кодом Java, Objective-C), наприклад, виклик камери, галереї, виклик стороннього api.
У цій статті на прикладі завдання прозорості для status bar я покажу, як здійснюється виклик нативного коду Java і Objective-C.
вжух
Читати далі →

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

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

Читати далі →

33 iOS бібліотеки з відкритим вихідним кодом, які будуть популярні в 2017 році

Відмінного п'ятничного настрою, друзі!
Сьогодні ми приготували для вас корисний переклад поста засновника Ecler Studios Paweł Białecki, в якому він пропонує нашій увазі 33 open source проекту для iOS розробників.
З допомогою свого облікового запису в GitHub він відкрив для себе безліч перспективних інструментів і відібрав, на його думку, кращі з них для своїх читачів.



Читати далі →