Показаны сообщения с ярлыком iPhone. Показать все сообщения
Показаны сообщения с ярлыком iPhone. Показать все сообщения

суббота, 17 января 2009 г.

Юзабилити исследование про то, как используют iPhone

Некоторые выводы меня удивили, всем разработчикам интерфейсов - смотреть :)

среда, 19 ноября 2008 г.

камасутра по айфоновски

сегодня узнал, что iPhone знает не о четырех своих стандартных положениях, а о шести.

Кроме того, что экран можно наклонить вправо, влево или перевернуть кверх ногами, система может определить, что телефон лежит экраном вверх или экраном вниз.

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

понедельник, 3 ноября 2008 г.

iPhone upgrade: from 1.1.4 (ziphone'd) up to 2.1

Кратенько напишу о том, как я обновлял свой iphone до прошивки 2.1
Дано: iPhone 2G (первого поколения), латаный-перелатаный, с прошивкой 1.1.4 (разлочка ZiPhone 3)
Последовательность действий по обновлению


* Перерыть весь форум (http://iphones.ru/forum), прочитать кто на какие грабли наступал. Коллективное мнение - обновляться до 2.0 при помощи кастомного дистрибутива, затем уже до 2.1 при помощи QuickPwn 2.5 BETA2

* Этап 1 - обновляемся до 2.0

** Обновился до стандартной прошивки 2.0.2. Слетела активация и разлочка GSM

** Сделал downgrade itunes до 7.5

** Обновился до кастомного дистрибутива ("iPhone1,1_2.0_5A347_Custom_Restore.ipsw", нашел в недрах форума на iphones: http://www.iphones.ru/forum/index.php?s=&showtopic=22636&view=findpost&p=242413) - при установке запустился BootNeuer и починил мне baseband

** Обновил iTunes до 7.7


* Этап 2 - обновился до 2.1

** Обновил iTunes до 8-ки

** применил эту инструкцию: http://www.iphones.ru/forum/index.php?showtopic=27388 * восстановил свой профиль из iTunes.


Вот, теперь наконецто все хорошо. Только заметки в блокноте потерялись...

суббота, 13 сентября 2008 г.

Как начать программировать для iPhone под Windows

iPhone Development on Windows Platform quick start how-to

UPDATE Nov 2008: Статья касается программирования под Open SDK, Firmware 1.x

Небольшая вводная статья, возникшая как результат собственных изысканий на заданную тему и мыслей, возникших, пока я учился писать под iPhone.

Кому?

Эта статья предназначена для практикующих программистов и содержит всего лишь краткий инструктаж на тему "что и где искать" плюс список ключевых слов для поиска. Вы не найдете здесь детального описания что делать, а вместо этого вы найдете описание, что искать в интернете, в каком порядке и что читать для дальнейшего расширения кругозора.
Минимальные системные требования к будущим разработчикам под iPhone


· Опыт программирования на C, C++ или Objective C
· Базовые знания средств разработки и администрирования мира Unix – GCC/C++, Make, SSH, shell, tar, gnu zip и так далее...
Что вам еще понадобится
· iPhone и какой-то опыт его использования
· Cygwin с кросс-компилятором G++ и LLVM (ToolChain)
· Файловая система от iphone с lib файлами для линковки
· Include files от вашей версии фреймворка
· базовые знания Objective C, C++ или plain C
· Аккаунт на Apple Connect, чтобы читать документацию Apple
· Google Code Search, чтобы искать примеры, как что сделать.
· Документация по платформе - Cocoa, WebKit, LayerKit и т.д – ищется по крохам в интернете и же на сайте Apple.

Как пишутся «родные» программы для iPhone

Есть два основных способа написать для iPhone (я имею в виду, "родные" программы на Objective C – и не рассматриваю варианты типа написания веб приложений или приложения на iUI или ином новомодном фреймворке)
- Либо вы получаете лицензию Apple, покупаете MacBook, качаете официальный iPhone SDK и ставите XCode (IDE для разработки) и становитесь настоящим эпловским разработчиком.
- Либо вы используете open source и всякие неофициальные инструменты, устанавливаете ToolChain (http://www.mattcutts.com/blog/hack-your-iphone-toolchains-and-cross-compilers/ ) и пишете все с чистого листа в каком-нибудь текстовом редакторе, поддерживающем синтаксис Objective C (для работающих на Windows могу посоветовать Notepad ++)
Windows разработчикам также понадобится специально настроенный Cygwin и всякие полезные инструменты типа WinSCP.
Сам же iPhone должен быть подвергнут процедуре Jailbreak и для работы на него нужно установить BSD tools и SSH.

Что надо сделать

Итак, перво-наперво надо попробовать хоть что-то собрать под iPhone. В качестве вводной документации по платформе можно воспользоваться книжкой "iPhone Open Application Development" (есть на Amazon, встречается в электронном виде). Из нее можно почерпнуть базовые знания, которых будет достаточно, чтобы собрать ваш первый пример. Правда, надо понимать что книга написана для Firmware v1.1 и несколько устарела.

Жизненно важно накачать как можно больше примеров приложений – можно искать на Google Code Repository, Google Code Search а начать, скачав примеры от книги (http://examples.oreilly.com/9780596518554)

Способу установки ToolChain, описанного в книге, я например предпочитаю вот такой способ:
· http://wiki.iphonegameover.com/Windows_Cygwin_Binary_Toolchain_Installation

Альтернативный вариант описан на форуме сайта iPhones.ru: http://www.iphones.ru/forum/index.php?showtopic=4659

Затем, если вы программист windows, нужно изучить Objective C :-). В принципе, базовые знания даются в книге Open App Development, но их может не хватить. Как минимум, нужно понять концепции - можно начать с Википедии: http://en.wikipedia.org/wiki/Objective_c . Еще одна интересная вводная статья про Objective C: http://cocoadevcentral.com/d/learn_objectivec/

Не помешает понять принципы построения Сocoa framework - это можно либо гуглить, либо искать на сайте http://developer.apple.com/ (там же есть документация по iPhone SDK (http://developer.apple.com/iphone/ ), которая поможет, поскольку при методе разработки, рекоммендованном Apple, используются все те же фреймворки и библиотеки, что и при кустарном методе

Обазательно прочитайте про Memory Management в Cocoa - там используются ref counters, как в COM-е, но с немного нетипичными нотациями. Читать, например, начиная отсюда - http://www.stepwise.com/Articles/Technical/2001-03-11.01.html , далее гуглить.

Как искать утечки памяти?





Можно почитать вот здесь:

Когда приложение падает с BUS ERROR?

SIGBUS, который роняет приложение, возникает от неправедной работы с памятью, например, при использовании (при попытке повторного освобождения) уже освобожденного объекта. 99% что где-то вызывается лишний release или неправильно применено событие autorelease.

Как отлаживаться?

Насколько я знаю, нормально отлаживаться можно только в эмуляторе iPhone при использовании iPhone SDK. При «неофициальном» способе я лично использую логгинг (см процедуру NSLog()) и запускаю приложение внутри iPhone из shell.
Возможно, есть способ прикрутить GNU debugger (gdb), но пока я его не познал – буду рад наводящему совету :-)

Интернационализация и локализация

На блоге weho.ru ребята достаточно подробно рассказывают.
http://blog.weho.ru/2008/04/lokalizacija-prilozhenij-iphon.html

Еще полезные ссылки

· http://ericasadun.com/ – сайт одного из лучших разработчиков и хакеров iPhone
· http://cocoadev.com/ – Wiki с документацией по cocoa, UIKit etc
· http://www.iphonedevcentral.org/home.php - множество скринкастов

Удачи в вашей практике!

PS поздравляю, что дочитали до конца - и вот вам небольшой подарок за терпение - история библиотеки Cocoa и различных KIT-ов на сайте Apple. Оттуда становится понятно происхождение префикса "NS" в назвниях ключевых классов - NSObject, NSString и др.

вторник, 5 августа 2008 г.

iPhone: This accessory is not made to work with iphone

Однажды, совершенно неожиданно, мой iPhone начал в случайные моменты времени выдавать вот такое сообщение:

"This accessory is not made to work with iphone."

и начал просить перевести его в Airplane mode. Перестал играться звук из iPod и YouTube через встроенный динамик.

Перепрошивать и ресторить, к счастью, не пришлось. Положение спасла бумажка, смоченная в водке, которой я протер основной разьем телефона. Когда вся пыль была выскреблена и выдута, телефонка перестала ругаться и стала работать, как раньше.

Мораль: иногда надо работать руками ;)

пятница, 27 июня 2008 г.

iPhone: Create AppTapp (Installer.app) Repository Source How-to

Почему-то нужные ссылки на документацию по тому, как создать свой Repository Source для Installer.app находятся не сразу.

Будем восполнять этот недостаток. Итак:

Как создать репозиторий приложений для iPhone, на сайте iPodTouchFans:

http://www.ipodtouchfans.com/wiki/index.php?title=Creating_a_Source_Repository_for_use_with_Installer.app