Архив метки: iphone

Зарегистрировался в IDP

JobsРегистрация в iPhone Developer Program для стран Третьего мира стала работать предельно просто. Чуваки с appdev.ru предлагают сделать всё за 300 баксов? На самом деле нужно всего 100 на любой нормальной Визе, которую принимают в западных магазинах. Только имя на ней должно в точности соответствовать имени эккаунта. Специалисты по транслитерации из OTPBank'а считают, что моё имя пишется Vitalii. Поэтому теперь меня так зовут и для Эпла.

Процесс регистрации предполагает отправку факса. PamFax в руки, там 3 факса бесплатно, а вам нужен один. Распечатываете форму, заполняете, фоткаете. Или даже не распечатываете, а прямо в фотошопе и заполняете. Кто там разберёт? Дядюшка Стив старается для вас, дорогие аутсорсеры. А вот дядя Витя Янукович не старается. Абсолютно легального способа вывести деньги из App Store, похоже, не существует. Если знаете — расскажите.

Что плохо в Universal Applications для iOS

С выходом iPad'а и 4-го iPhone нам приходится ломать голову над тем, как продлить жизнь наших старых проектов и на этих устройствах. Apple ставит своих разработчиков перед проблемой, от которой ранее их (нас) оберегала — это неоднородная среда выполнения. Если раньше было целых 3 модели телефонов, которые принципиально мало чем отличались друг от друга с точки зрения возможностей, предоставляемых разработчику. Даже разрешение экранов у них совпадало до пиксела. Теперь это совсем не так: iPad — это вообще устройство несколько другого рода, открывающее новые возможности. На 4-м iPhone тоже увеличили разрешение.

Всё это ведёт к тому, что приходиться в той или иной степени адаптировать программу под разные устройства. В хорошо спроектированной программе на UIKit, где святое триединство Model-View-Controller чётко соблюдено, переделать придётся только слой View и вероятно не обойдётся без изменений Controller'а. Но на самом деле это может затронуть и модель, например, если там, условно говоря, «хранятся» изображения, размер которых связан с разрешением экрана (так у нас в одном проекте). А если речь идёт об игровой программе, коих в аппсторе, мягко говоря, немало, то всё становится ещё сложнее: под каждое разрешение, скорее всего, есть отдельный немалый набор графических ресурсов. В связи с этим всем возникает два важных вопроса:

  1. Технический вопрос: Как теперь распространять программы: отдельные версии для отдельных устройств или один большой монстр для «всего»?
  2. Маркетинговый вопрос: Как бы сбить больше бабла с тех, кому нужна и iPad, и iPhone версия, при этом дав сэкономить тем, кому нужно «или-или»?

Читать далее

iPhone SDK Hint: перемещение элементов в UITableView

UITableView можно настроить так, чтобы пользователь имел возможность менять элементы таблицы местами, перетаскивая их. Естественно, на эти перемещения программа должна реагировать, внося соответствующие изменения в структуры данных, отображаемых в таблице.

Как использовать этот функционал достаточно внятно описано в документации, но есть небольшой нюанс. Если просто задать:

cell.showsReorderControl = YES;

для каждой UITableViewCell (и предварительно выставить для таблицы свойство editing в YES), то ничего не измениться. Для того, чтобы у ячеек таблицы действительно появился контрол, позволяющий перетаскивание, необходимо у UITableViewDataSource определить следующие методы:

- (BOOL)tableView:(UITableView *)tableview canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
	return YES;	
}
 
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath 
	toIndexPath:(NSIndexPath *)toIndexPath {
 
}

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

Дурак для iPhone

Видео программы, которую я делал последние пару месяцев. Каминг, ну буквально, вери сун. Спешите видеть на своих айфонах. Русская локализация тоже будет. Мультиплейер по wi-fi до 4-х человек. Можно играть в «переводного» или классического «подкидного».

UPD. Старое видео удалили, ниже пара других, сделанных уже пользователями (да-да, игра уже вышла):

И ещё одно:
Читать далее

iPhone SDK: сборник подсказок

Вот уже полгода я занимаюсь разработкой под iPhone. За это время я недалеко вышел за пределы необходимого при написании OpenGL-игр и не стал большим знатоком Objective C, так как имею возможность писать всё на любимом C++. Тем не менее, регулярно попадались достаточно специфичные задачи. В этой записе собраны некоторые подсказки осваивающим платформу, да и мне самому на будущее, как некоторые из таких задач решать. Всего 5 пунктов.

1. Как обработать изменение ориентации устройства?

Задача: нужно обрабатывать изменения положения устройства в пространстве на предмет того, как сейчас пользователь держит его в руках. Вертикально, горизонтально, какой край сверху, а какой снизу? Читать далее