Archive

Archive for the ‘Apple’ Category

Что делать с Apple Сrash Logs

December 3rd, 2011 No comments

Давненько не писал в блог, а материала готового пока нет, поэтому сегодня будет скучная, но полезная статья. По новой работе столкнулся с нетривиальной проблемой. Смысл: после локального тестирования и убеждения себя в том, что все вроде бы ОК, собираю AdHoc версию приложения, отправляю тестировщику ipa. Тот инсталлирует приложение себе на девайс, запускает и начинает тестировать. Спустя некоторое время получаю от него репорт, мол вот тут-то упало. Пытаюсь воспроизвести – не выходит, у меня на двух девайсах все работает при тех же исходных. Что делать? Идеальным решением было бы как-то удаленно запустить под дебаггером приложение на девайсе тестировщика по интернету, и даже вроде я встречал упоминания о таких сервисах, но, во-первых как-то боязно доверять третим лицам свое приложение, а во-вторых, времени не было. В итоге попросил у тестировщика Crash Log – журнал аварийного завершения, который формируется внутри iOS каждый раз, когда какое-либо приложение аварийно завершается. Взять то взял, но что с ним делать? Read more…

Categories: Apple, Coding Tags:

Поднимаем стек MAMP

October 11th, 2011 No comments

С публикацией очередного приложения в AppStore возникли некоторые осложнения. Пока ведется битва с командой iTunes Connect (позже напишу, как это было), параллельно занимаюсь разработкой следующего iOS проекта. Ядро уже спроектировано и есть черновой вариант. В этом проекте я планирую реализовать немного клиент-серверной технологии. Разработку серверной части решил вести на локальном компьютере. Ранее я это делал на своем домашнем серваке, но с недавнего времени отправил его на пенсию (старенький он уже), а новый еще до конца не сконфигурировал.  Переехав на Mac OS X Lion, пришлось кой-что переустанавливать вручную, так как Ассистент Миграции не восстанавливает ненативные программы. Пришлось опять долго вспоминать, как поднять стек Mac OS X, Apache, MySQL, PHP – решил использовать классический server-side. Чтоб в следующий раз не мучаться воспоминаниями, накидаю парочку хинтов.  Read more…

Categories: Apple Tags: , , ,

Steven Paul Jobs

October 6th, 2011 No comments

Ужасным известием, слетевшим с уст телеведущей девятичасовых новостей, началось для меня утро сегодняшнего дня. Я не мог поверить в происходящее, и до сих пор рассудок отказывается это осознавать, хотя гадское предчувствие не покидало с того самого момента, когда Стив сообщил в письме о своем уходе с поста SEO компании Apple. В тот день (25 августа) ошеломляющая новость буквально придавила меня, в голове понеслись беспорядочные мысли: как же так, он не может так поступить, только не сейчас, это конец? Навязчивая идея, что то событие ознаменовало закат эпохи Apple, преследовала меня весь день. Спустя некоторое время всеобщая истерия стихла, и пришло понимание, что пока ничего непоправимого не случилось, Стив остается в Apple, просто меняет должность. Тогда я не мог допустить и мысли, что месяц с небольшим спустя предчувствия реализуются, и я буду писать свой первый в жизни некролог…  Read more…

Categories: Apple Tags:

Mac OS X: подключить сетевой диск при запуске

August 1st, 2011 14 comments

Во истину, лень – двигатель прогресса… Домашняя сеть стала делом обыденным, и все чаще возникают ситуации, когда нужно передать тот или иной файл с одного компьютера на другой. Или просто посмотреть с сервера кино по вайфаю на iPad’e, да мало ли. Мне очень часто приходится монтировать к своей Mac OS X расшаренные ресурсы Windows-систем. В конце-концов мне надоело каждый раз это делать вручную, и я нашел весьма простой способ, как автоматизировать монтирование smb-шары при старте системы. Nota Bene… Read more…

Categories: Apple, Misc Tags: , ,

MacMines: Делаем игру под Mac OS X

February 26th, 2011 3 comments

Помимо FAR Manager, еще одной программой, которой мне очень не хватало в Mac OS X, была игра Сапер. Я долго искал по сети нормальную реализацию, но не нашел. Под нормальной реализацией я подразумеваю пример Windows-сапера, вероятно, потому что долгое время им пользовался, а привычка – вторая натура. Во многих блогах я встречал хныканья бывших виндоводов, на тему того, что им не хватает той или иной программы из мира Windows. Встречались и стенания по поводу Сапера. Надо сказать, что первое приложение, которое я предпочитаю писать в качестве разминки, изучая новую для себя платформу программирования – это Сапер. Он позволяет отработать основные навыки – работа с пользовательским интерфейсом, обработка событий системы, таймер, работа с графикой, работа с файлами. Ну и плюс, конечно, набивается рука на синтаксисе. Таким образом MacMines (такое имя я решил дать проекту) стала первым моим приложением, написанным для платформы Mac OS X. Сейчас я расскажу, что интересного я узнал в ходе ее создания.

Read more…

Создаем DMG-инсталлятор в Mac OS X

February 2nd, 2011 10 comments

В Mac OS X существует незамысловатый способ распространения дистрибутивов в виде дисковых образов формата DMG. Образ диска можно примонтировать простым дабл-кликом на файле образа. При этом приложение Finder открывает корневую папку примонтированного диска в новом окне. Как правило, в этой папке принято хранить само приложение (.app), символическую ссылку на папку /Applications, и возможно, какие-нибудь readme файлы или тексты лицензий. Символическая ссылка на Applications нужна для того, чтобы “инсталлировать” приложение, просто перетянув его в иконку папки (drag-and-drop). Это возможно, благодаря структуре Cocoa-приложения, которое из себя представляет папку с расширением .app, внутри которой лежат исполняемый файл и все необходимые запчасти. Таким образом, скопировав всю папку, приложение инсталлируется. Приятная новость заключается в том, что отображение dmg образа в Finder’e можно кастомизировать (придать произвольный вид). В этом посте я решил накидать в первую очередь для самого себя небольшой мануал о том, как сделать красивый dmg инсталлятор. Read more…

Categories: Apple, Misc Tags: ,

+(AppStore *) Доведи меня домой

January 21st, 2011 5 comments

Сразу хочу признаться, идею этого приложения я позаимстовал в одной flash-игрушке, ровно как и саму идею заимствовать идеи во флэш-играх – как то прочел в одном блоге сетования товарища на тему того, что какие-то нехорошие люди под кальку переделали его флэш-игру на iOS и срубили нехило деньжат. Но я не такой подлый коварный, поэтому свое приложение я сделал бесплатным, не смотря на то, что на его создание ушло почти три месяца. Почему я решил делать именно “пьяницу” (рабочее название)? В оригинальной игре нужно было удерживать от падения нестабильного персонажа, двигая мышку вправо-влево. Мне показалась очень заманчивой идея воспроизвести это же, но только с использованием акселерометра (устройство, с помощью которого iPhone знает свое расплолжение в пространстве) – идеально укладывается в концепцию iOS-приложения. К тому же с моего предыдущего приложения, в котором акселерометр использовался весьма примитивно, у меня было сильное желание более тщательно изучить приемы работы с акселерометром. Ну и плюс еще добавил несколько фич, например, бутылки на дороге, на которых человек может поскользнуться – их нужно отшвыривать. Поэтому изучить пришлось гораздо больше, и сейчас я попробую это изложить. Read more…

Ищем утечки памяти в iPhone приложениях

December 26th, 2010 No comments

Одним из пожалуй главных условий публикации приложений в AppStore является отсутствие утечек памяти. В данный момент занимаюсь подготовкой своего третьего официального iPhone-приложения (и похоже до нового года не успеваю – Apple торжественно объявили, что iTunesconnect уходит на рождественские каникулы). Предыдущие приложения прошли валидацию на соотвтетствие требованиям с первого раза, хотя у коллег я встречал в блогах или на форумах упоминания о том, что их приложения заворачивали в том числе и из-за того, что в них обнаруживались утечки. То есть специалисты Apple Inc. тестируют все публикуемые приложения на соответствие дизайну, и, если обнаруживают какое-либо несоответствие, возвращают приложение из статуса On Review в Rejected. Следовательно, приложение необходимо протестировать перед публикацией, и в первую очередь на предмет утечек памяти. Read more…

Запускаем FAR Manager под Mac OS X

December 21st, 2010 37 comments

Единственной очень полезной вещи, которой мне реально не хватало в макоси, был FAR Manager. Отчаяние доводило меня до крайностей, например до мыслей написать свой ФАР. Даже под это дело разобрался, как писать консольные приложения под юникс, чтобы была картинка как в Фаре – разноцветные панельки, менюшки и т.д, и даже написал HelloWorld под это дело. Оказалось все не так уж и сложно, и написать простейший файловый менеджер (с двумя панелями и минимумом функций) – не такая уж непосильная задача. Все делается через escape-последовательности, как я и предполагал. Потом меня надоумили использовать терминального клиента и работать в терминальной сессии на виндоус-сервере. Какое-то время меня это устраивало, но открывать каждый раз сессию ради какой-то простой операции… И вот, наконец-то  был найден компромиссный способ. Read more…

Categories: Apple, Misc Tags: , ,

Публикуем приложение в AppStore

October 23rd, 2010 27 comments

Опишем на будущее хинты по выкладыванию своих программ в магазин приложений Apple AppStore. Хотя, как показывает практика, дело это не очень чтобы благодарное, поскольку яблочные товарищи не склонны к постоянству в механизмах функционирования своей системы. Это было уже не раз обнаружено мной в ходе прохождения различных процедур регистраций. Читая материалы предшественников и вопросы на форумах частенько можно столкнуться с ситуацией, что один и тот же момент выглядит у тебя уже по-другому. Тем не менее, общая концепция пока что остается. И так, попробую описать своими словами всю эту махину))
Чтобы выкладывать приложения в AppStore, необходимым условием является наличие статуса iPhone Developer.
Весь процесс можно разделить на два этапа: подготовка и публикация. Read more…