Вышла версия 1.4 Paris Metro Map — теперь и iPad!

Сегодня вышла очередная версия большого проекта, под общим названием «Парижское метро». Я это называю так, потому что парижское приложение флагман этого проекта, но по сути приложение может работать со специально подготовленными картами практически любого метрополитена мира и даже лодочками в Венеции. На сегодняшний день уже есть приложения для Берлина, Гамбурга, Сингапура, Стокгольма, Барселоны, Шанхая, причем последние три сейчас являются на данный момент бесплатными.

Что же интересного в этой версии 1.4? Во-первых, это поддержка iPad. Мне доставило удовольствие перевести этот продукт из приложения только для iPhone в универсальное приложение. Пришлось поискать решения для нескольких интересных дизайнерских идей заказчика. Кстати, приложение сделали universal – то есть за одну цену вы получаете приложение на все ваши устройства. Вам не надо платить дважды для версию для iPad.

Во-вторых, эта версия поддерживает iOS 6 и особенно интересную функцию, которая сейчас особенно популярна в связи с шумихой в прессе по поводу карту в iOS 6. Суть ее в том, что вы просите приложение Apple Maps построить какой-то маршрут. Но если вы нажмете кнопочку, что вы хотите найти путь другим видом транспорта, то откроется список программ, которые могут помочь вам в этом. Список содержит как программы, которые уже есть на вашем компьютере, так и те, что вы можете купить или бесплатно скачать в АппСторе. Далее вы выбираете нужное приложение, и оно строит вам маршрут, как добраться из одного места в другое, используя координаты начала и конца пути, которые вы указали в Apple Maps. Кстати, в том списке, который вы увидите в своей программе, будут приложения по поиску пути на всех мыслимых видах транспорта – паромы, велосипед, поезда, метро. На мой взгляд, это очень удобная функция. И она поддерживается приложением.

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

Ссылка на приложение в AppStore — http://itunes.apple.com/ru/app/paris.metro/id513581498

And one more thing (C) …  для некоторых городов, например, для Парижа теперь доступна текстовая информация по состоянию трафика на линиях и перебоях с поездами.

Реклама

5 лет назад Apple re-invented the phone

5 лет назад Apple re-invented the phone. Хочу всех поздравить с этим событием! Стив вышел на сцену со словами, что он ждал этого события 2,5 года. Для меня это еще один шанс увидеть Стива на сцене, послушать его голос, и посмотреть презентацию, которую я до этого не видел. Я начал писать для iOS в 2009 году, и с того момента уже не пропускал ни одной презентации. С днем рождения, iPhone )

Лучшие примеры дизайна приложений для iOS

Хороший, красивый и удобный дизайн приложений для iOS — это практически половина успеха вашей разработки. Например, недавно, у меня была мысль сделать для моих друзей, живущих в туристическом месте, приложение-путеводитель по этому самому месту. Я начал проводить анализ рынка таких приложений и попутно старался смотреть какие дизайны у этих программ. А сегодня я открыл, что есть целые сайты, которые коллекционирует интересные дизайны и даже их систематизируют. Например, если вы хотите посмотреть, как другие разработчики справляются с экранном данных, пока их еще нет, то вот примеры с одного из таких сайтов — http://mobile-patterns.com/empty-data-sets

А на другом сайте в разделе Путешествий я нашел вот такое приложение про Аляску, по-моему очень хорошо сделанное. http://www.tappgala.com/travel/the-alaska-app/

Все это я подглядел в одном из блогов, где собрали такие сайты по дизайну  — http://www.cocoanetics.com/2011/11/steal-good-stuff-ios-design-pattern-collections/

А на случай, если со ссылкой что-то случится я перетащу все интересное себе:

Дизайны iPad — просто волшебные!!!

  • Landing Pad — просто примеры для подражания. Вам понравится!

Дизайны iPhone

  • pttrns — дизайны по категориям
  • Mobile UI Patterns — категории по функциональности
  • TappGala – “Лучшее в мобильном дизайне”, как они себя называют
  • TapFancy – “An iPhone app design showcase and gallery”

Дизайны для iPad и iPhone

  • lovely ui – примеры дизайна по категориям
  • iOS Inspires Me – выставка всего интересно про iOS — иконки, ресурсы, приложения
  • App Sites – дизайн веб-сайтов приложений

Индивидуальный предпочтения некоторых людей в их блогах

Теперь осталось все это посмотреть и вдохновиться на написание своих приложений, которые завтра попадут на эти сайты! Удачи всем!

Почему шрифты отображаются неправильно в iOS 4

В предыдущем посте мы добавили свой шрифт ttf или otf к проекту, чтобы наше приложение отличалось от других. И допустим, вы добавили в свое приложение три шрифта TruthCYR-Regular, TruthCYR-Bold и TruthCYR-Thin. Затем давайте сделаем три UILabel и попробуем отобразить все эти три шрифта у нас на экране.

label1.text = [NSString stringWithString:@"Тут какой-то текст"];
label1.font = [UIFont fontWithName:@"TruthCYR-Regular" size:19.0f];
label2.text = [NSString stringWithString:@"Тут какой-то текст"];
label2.font = [UIFont fontWithName:@"TruthCYR-Bold" size:19.0f];
label3.text = [NSString stringWithString:@"Тут какой-то текст"];
label3.font = [UIFont fontWithName:@"TruthCYR-Thin" size:19.0f];

Запустим проект в симуляторе iOS 5 — все выглядит прекрасно, как мы и хотели.

Но наше приложение должно работать, например, минимум на iOS 4.3. Запускаем приложение в этом симуляторе и видит странное — текст отображается неправильно.

А произошло следующее. В iOS 4 есть ограничение, по которому могут отображаться только два шрифта одной Family. В данном случае у нас Family —  это TruthCYR и в нее входит три шрифта. Но берется только два последних — вот они и отображаются. Более того, в одном из проектов, где я хотел использовать хотя бы два шрифта в UITableViewCell, по каким-то причинам у меня не получилось использовать два шрифта, а только один из семейства. Что же нам сделать, чтобы наше приложение работало и в iOS 5 и iOS 4? Мы берем любую программу для правки шрифтов, какая у вас есть. Я скачивал бесплатную Type light 3.0 и в ней чуть-чуть меняем название Family. Это делается в меню Font -> Names. Я поменял TruthCYR на TruthCR и тоже самое сделал в Preferred Family, которая доступна, если нажать кнопочку Advanced в этом окне Names. Сохраняем наш шрифт под другим именем и добавляем в проект.

Теперь сделаем маленькое лирическое отступление. Я покажу код, по которому можно получить весь список шрифтов, доступный вашему приложению.

// List all fonts on iPhone
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indFamily, indFont;
for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
{
  NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
  fontNames = [[NSArray alloc] initWithArray:
  [UIFont fontNamesForFamilyName:
  [familyNames objectAtIndex:indFamily]]];
  for (indFont=0; indFont<[fontNames count]; ++indFont)
  {
    NSLog(@"    Font name: %@", [fontNames objectAtIndex:indFont]);
  }
  [fontNames release];
}
[familyNames release];

Если мы вставим этот кусок кода в наш проект, то увидим, что так как мы поменяли название семейства то и название шрифта тоже немного изменилось. Ну и конечно, как мы и хотели, в семействе TruthCYR осталось два шрифта, а в новом семействе TruthCR появился всего один шрифт TruthCR-Regular. Немного меняем код для label1

label1.font = [UIFont fontWithName:@"TruthCR-Regular" size:19.0f];

и теперь и в iOS 4 и 5 у нас экран выглядит одинаково.

Работа с Facebook SDK в iOS

Вышла моя очередная статейка на Хабре. На этот раз — «Начало работы с Facebook SDK для iOS». Статья рассказывает о данном инструменте и рассматривает простейшее приложения для работы с устройств под управлением iOS в Facebook.

Как вернуть PNG из приложения к нормальному виду

Если вы когда-нибудь распаковывали чей-то, ну или свой, файл ipa – приложения, вы не могли не заметить, что картинки оттуда нельзя так сразу просмотреть ни в одном редакторе. Все дело в том, что они там специальным образом оптимизированы. Но допустим, вам очень нужна оттуда картинка. Как быть в таком случае?

Все очень просто – начиная с iPhone SDK 3.2 (тогда она еще не была iOS) утилита оптимизации начинает поддерживать и обратную «раз-оптимизацию».

Вызываем терминал и пишем что-то типа такого

$ /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush -revert-iphone-optimizations -q Local.png Local-standard.png

Если же нам надо скопом вернуть приличный вид большому количеству картинок, то используйте:

$ /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush  -d /dir1  -revert-iphone-optimizations *.png

Где dir1 – это адрес, куда программа будет складывать уже обработанные файлы. А вы сами в данном случае находитесь в директории, где лежат оптимизированные файлы.

Если вам что-то осталось непонятно – просто запустите утилиту и она покажет вам скрин помощи, и вы быстро и легко разберетесь с этим.

Программирование рекламных баннеров iAd

Я тут зарегистрировался на Хабре. Вернее дело было так. Я решил написать статью про использование новой iAd framework, чтобы можно было добавлять рекламу в приложения для iPhone. Статью разместил в Песочнице Хабра и меня (спасибо им) заинвайтили.

Пост называется: Добавляем рекламные баннеры iAd в ваши приложения для iPhone

Кратко план поста такой:

  1. Что такое iAd и с чем ее едят.
  2. Создание ADBannerView в вашем приложении
  3. Изменения баннер в зависимости от ориентации телефона
  4. Реализация скрытия баннера, если реклама недоступна.
  5. Что надо отключить в вашем приложении, если вы решили показать рекламу. А потом — включить.