Рубрика «iOS SDK» - 3

Начинающим разработчикам: история одного бага, или За что можно не любить новые версии iOS

Совсем недавно Apple представила бету новой версии iOS, которая, как обычно, содержит много «вкусных» возможностей. Но наряду с приятным возникает вопрос: как уже выпущенные приложения будут работать на новой версии iOS? Вообще тема работы старых приложений на новой версии мобильной ОС упоминается нечасто. Тут, на Хабре, мне встретилась только одна статья «Обратная совместимость в iOS SDK». Ее-то и хотелось бы дополнить своей историей.

В тексте под катом – краткое описание «граблей», на которые мне довелось наступить при подготовке новой версии продукта Parallels Mobile с поддержкой iOS 5, и способов эти грабли обойти. Также мы на примере увидим «особое» отношение Apple к теме обратной совместимости в iOS SDK, ну и пару советов, как минимизировать проблемы при переходе на новые версии мобильной ОС.

Читать полностью »

В этой небольшой статье расскажу про изменения во фреймворке UIKit, которые мне показались важными и полезными. Сразу оговорюсь — еще не имел возможности опробовать описываемые нововведения, так что статья в основном теоретическая.

NSAttributedString и UIKit

Для начала — то, что лично я ожидал еще в iOS 5 — поддержка NSAttributedString в текстовых компонентах — UILabel, UITextView, UITextField, а так же поддержка отрисовки строк с атрибутами и различные вспомогательные методы для этого. Конечно, весь этот функционал был доступен и раньше, используя Core Text, но работать с API стиля Core Foundation все же сложнее, так что можно смело ожидать улучшения поддержки форматирования текста (Rich Text) во многих сторонних приложениях. В качестве примера можно посмотреть стандартное приложение Mail.

Auto Layout в iOS

Очень важное нововведение — в iOS 6 появится Auto Layout от MacOS Lion. Теперь задавать положение компонентов интерфейса относительно друг друга станет проще. В кратце, Auto Layout позволяет задать набор ограничений (constraints), связывающих компоненты, например позволяет задавать границы размеров, зависимости между компонентами. Надеюсь это позволит облегчить создание интерфейса для нескольких языков (сейчас иногда приходится создавать отдельный nib/storyboard), включая арабские с написанием справа налево, а также упростит настройку интерфейса в зависимости от ориентации устройства. На данный момент документации для iOS по Auto Layout еще нет, нам предлагают документацию от MacOS.
Читать полностью »

image
Известно, что только 5% программистов в состоянии решать задачи многопоточного программирования. А в месте с тем, с ростом количество ядер даже у мобильных устройств потребность в использовании нескольких нитей возрастает многократно. С каждым днем появляются как новые языки программирования, специально предназначенные для решения специфических задач параллельного программирования, так и в уже хорошо известных и широко применяемых решениях появляются методы, которые не только облегчают понимание, но и сводят решение задачи к своеобразной поэзии программного кода.

image
Читая книгу “Идеальный код” под редакцией Энди Орама и Грега Уилсона мне довелось натолкнуться на интереснейшую задачу в главе посвященной параллельной обработке (гл. 24. стр. 444). В ней автор, Саймон Пейтон Джоунс, приводит решение на языке Haskell. Там же он утверждает, что существуют решения задачи Сата Клауса для языков Ada95 и Polyphonic C#. В силу профессиональных интересов несколько ранее мне приходилось обсуждать с коллегами возможности многопоточной Apple реализации для языка Objective-C.

Считается, что программировать нужно на уровне абстракций, а не “на языке”, но с тем же успехом можно искать красоту поэзии в эмоциях, а не в изяществе слога, выраженного посредством языка. Под катом предлагаю вместе со мной спеть песню тем, для кого языковая выразительность не пустой звук, а мелодия, будоражущая воображение.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js