
60.43
Общий рейтинг
iOS *
Мобильная ОС компании Apple
Сначала показывать
Порог рейтинга
Уровень сложности
UITextView с картинками
2 мин
3.8KНедавно возникла необходимость дать пользователям возможность добавлять статьи с iPhone`а с фотографиями, произвольно размещенными внутри текста. К сожалению, такого функционала sdk не предоставляет, поэтому пришлось изобретать велосипед.
Первоначально поискав решения наткнулся на такую возможность при отправке e-mail`а, там используется некий компонент UITextContentView, который можно отлично использовать, вставлять туда фотографии из буфера обмена и редактировать как захочется. Проблема возникла с получением этих фотографий обратно в программу, недокументированный метод contentAsHTMLString возвращал содержимое в хтмл-виде, но ссылки на картинки были вида webkit-fake-url, получить картинку имея на руках такого вида ссылку не получилось.
Хочу поделиться своим решением возникшей проблемы (спасибо пользователю
igrick за совет в реализации)
Первоначально поискав решения наткнулся на такую возможность при отправке e-mail`а, там используется некий компонент UITextContentView, который можно отлично использовать, вставлять туда фотографии из буфера обмена и редактировать как захочется. Проблема возникла с получением этих фотографий обратно в программу, недокументированный метод contentAsHTMLString возвращал содержимое в хтмл-виде, но ссылки на картинки были вида webkit-fake-url, получить картинку имея на руках такого вида ссылку не получилось.
Хочу поделиться своим решением возникшей проблемы (спасибо пользователю
![[info]](https://habrastorage.org/getpro/habr/post_images/d1b/c9e/d25/d1bc9ed25741859f42b8f4616d5ce567.gif)
+8
Открылся первый портал для русскоязычных разработчиков под Mac и iPhone
1 мин
1.7KTouchDev.ru открылся.
Портал для разработчиков под MacOS и iPhoneOS. Плюс — всё на русском языке.
Статьи, короткие заметки, типа ФАК (пока маленький), ну и всё такое.
Сразу скажу — я не принадлежу к авторам, просто мне кажется, что это полезный ресурс.
Портал для разработчиков под MacOS и iPhoneOS. Плюс — всё на русском языке.
Статьи, короткие заметки, типа ФАК (пока маленький), ну и всё такое.
Сразу скажу — я не принадлежу к авторам, просто мне кажется, что это полезный ресурс.
+15
cocos2d — фреймворк для создания игр для iPhone
2 мин
5.5KCocos2d — это небольшой opensource фреймворк для создания 2D игр. Изначально он создавался для программ, написанных на python'е для платформ Windows, Linux и Mac, но потом появились версии для iPhone и даже для Android.
Мы использовали его для написания своей игры iTreasure (ссылка в iTunes) — ремейка «Тайны Океана» и ни разу не пожалели об этом.
— Богатые возможности.
Все, что нужно от движка для двумерной игрушки в нем есть. Ниже я еще расскажу подробнее о функциональности.
— Простота.
Если вы уже писали что-нибудь для iPhone, то начать использовать cocos2d вам практически ничего не будет стоить.
— Открытость.
У движка очень хорошая лицензия — GNU Lesser GPL, что позволяет свободно использовать его в коммерческих продуктах.
— Большое комьюнити.
Уже более 200 программ игр сделано с использованием cocos2d. В интернете можно найти огромное количество информации о тонкостях и проблемах, связанных с использованием движка (правда, на английском языке).
— Множество рабочих примеров и приложений с открытым кодом.
Во-первых, очень много рабочих примеров включено в дистрибутив фреймворка. Кроме того, многие люди открывают исходники своих приложений (даже продающихся в appstore), для того, чтобы другие могли найти в них готовые решения и ответы на свои вопросы.
Мы использовали его для написания своей игры iTreasure (ссылка в iTunes) — ремейка «Тайны Океана» и ни разу не пожалели об этом.
Почему cocos2d
— Богатые возможности.
Все, что нужно от движка для двумерной игрушки в нем есть. Ниже я еще расскажу подробнее о функциональности.
— Простота.
Если вы уже писали что-нибудь для iPhone, то начать использовать cocos2d вам практически ничего не будет стоить.
— Открытость.
У движка очень хорошая лицензия — GNU Lesser GPL, что позволяет свободно использовать его в коммерческих продуктах.
— Большое комьюнити.
Уже более 200 программ игр сделано с использованием cocos2d. В интернете можно найти огромное количество информации о тонкостях и проблемах, связанных с использованием движка (правда, на английском языке).
— Множество рабочих примеров и приложений с открытым кодом.
Во-первых, очень много рабочих примеров включено в дистрибутив фреймворка. Кроме того, многие люди открывают исходники своих приложений (даже продающихся в appstore), для того, чтобы другие могли найти в них готовые решения и ответы на свои вопросы.
+16
Шаблоны для проектирования приложения от руки
2 мин
4.8KПриветствую, хабрасообщество.
Речь пойдет о проектировании графического интерфейса приложений для iPhone. Уверен, что многие из вас частенько предпочитают пачку листов A4 и простой карандаш, вместо сложных программных сред. Конечно при таком подходе тоже надо иметь некоторую системность, но в любом случае тут свой шарм, гибкость и естественность, ведь каждый творил мелом на стене дома, забора или комнаты в своем советском детстве.

+23
Приложение 3.х на устройстве 2.х
1 мин
474 Как вам наверно извесно, счастливые обладатели iPod Touch не спешат с обновлением своей игрушки до последней версии. Толи религия не позволяет. Толи потому что обновление платное. Вобщем причина не так важна. Для нас програмистов это выливается в требования вида «Хочу чтобы, поставив приложение на 3.0, мог выбирать песенку и на 2.0 чтобы можно было запустить.» О том как это можно сделать будет описано в этой коротенькой статье.
+4
Тестирование пользовательского интерфейса
1 мин
7.4KРечь пойдет об инструменте, который с сегодняшнего дня помогает мне тестировать пользовательский интерфейс. Простой, как угол дома, но экономит столько времени!
Уверен, что многие это знают, но для меня это стало просто откровением. Своего рода панацея. Даже решился записать свой первый видеокаст:
PS. Открыл топик для всех. Думаю людям с других платформ тоже любопытно, чем нас балуют инструменты для разработки.
PS2. Тема затрунула хабраразум. Ниже будут добавлять полезные ссылки по теме, подсказанные в комментариях.
GTM познал юнит-тесты для UI
Нативные инструменты из iPhone SDK (Unit Testing Applications)
Уверен, что многие это знают, но для меня это стало просто откровением. Своего рода панацея. Даже решился записать свой первый видеокаст:
PS. Открыл топик для всех. Думаю людям с других платформ тоже любопытно, чем нас балуют инструменты для разработки.
PS2. Тема затрунула хабраразум. Ниже будут добавлять полезные ссылки по теме, подсказанные в комментариях.
GTM познал юнит-тесты для UI
Нативные инструменты из iPhone SDK (Unit Testing Applications)
+24
Оптимизация приложений (Iphone armv6)
6 мин
1.2K Совсем недавно стукнул год, с тех пор как на просторах AppleStore появилось наше первое приложение. По началу было довольно сложно во всем разобраться. Особенно если учесть, что до этого я разработкой приложений под MacOS не занимался. За этот год много чего было написано. Приложения, которые мы написали, я к сожалению назвать не могу (не помню всех, да и руководство не одобряет такие вещи), но о нескольких способах оптимизации приложений под данную платформу я могу вам смело рассказать.
Где-то пол года (или даже больше) назад пришлось мне писать приложение основной задачей которого была обработка звука. Для этого был написан свой несложный движок, который все это делал. Приложение было выпущено в свет и постепенно этот движок начал часто использоваться в других приложениях подобного рода. Но вот недавно началась разработка 2-й версии этой программы. Требования возросли, а ресурсы стареньких ифонов не изменились. Вот тут и пришлось поискать пути улучшения уже написанного кода.
Где-то пол года (или даже больше) назад пришлось мне писать приложение основной задачей которого была обработка звука. Для этого был написан свой несложный движок, который все это делал. Приложение было выпущено в свет и постепенно этот движок начал часто использоваться в других приложениях подобного рода. Но вот недавно началась разработка 2-й версии этой программы. Требования возросли, а ресурсы стареньких ифонов не изменились. Вот тут и пришлось поискать пути улучшения уже написанного кода.
+18
Семь характеристик удачного приложения для iPhone
2 мин
2.2K
Создать обычное приложение для iPhone просто. Однако, если при создании нового приложения или усовершенствовании уже существующего, учитывать следующие характеристики, вы сможете повысить его привлекательность, улучшить его восприятие пользователем и сделать ваше приложение заметным на фоне других:
0
Forismac
1 мин
602Дело было вечером, делать было нечего и мне взбрело в голову написать Mac клиент для недавно упоминавшегося на хабре сервиса forismatic.com.


+4
iPhone SDK на PC
1 мин
1.2KПоделитесь, пожалуйста, опытом установки iPhone SDK на PC.
Как я понимаю, есть следующие варианты:
— Делать мультибут, ставить Леопард, ставить XCode.
— Делать мультибут, ставить Linux, использовать iPhone toolchain
— Делать виртуальную машину.
Какие способы вы используете, какие у них плюсы и минусы?
Как я понимаю, есть следующие варианты:
— Делать мультибут, ставить Леопард, ставить XCode.
— Делать мультибут, ставить Linux, использовать iPhone toolchain
— Делать виртуальную машину.
Какие способы вы используете, какие у них плюсы и минусы?
-4
Создаем приложение — «Ударная установка»
9 мин
5.2KПеревод

Думаю, все знакомы с эмуляторами ударных установок. Сделать такое приложение довольно просто. В этой статье мы создадим Bickboxx — реальное приложение из App Store.
Если хотите получить представление о том, чем мы займемся, скачайте Bickboxx из App Store (бесплатно). Исходный код можно скачать здесь. Его можно свободно загружать, сообщать о найденных проблемах — вплоть до создания собственных версий с изменениями, которые считаете целесообразными.
Примечание: для работы с уроком исходный код скачивать необязательно. Все скриншоты кликабельные.
+37
Работаем с фреймворком iPhone SDK MapKit
4 мин
11KПеревод
Не так давно я работал над приложением, где нужно было непосредственно в нем вывести на экран карту. Я попытался найти советы по данной теме в Интернет, но ничего не вышло. Не получилось найти и достойного урока с объяснением, как на карте в приложении показать адрес. Поэтому я решил написать свой собственный урок и надеюсь, он будет вам полезен.
Предлагаю создать простое приложение, которое будет отображать введенный пользователем адрес непосредственно на карте. Назовем его "MapApp".
1. Для начала создайте приложение типа "Window based" и присвойте проекту имя "MapApp".
2. Добавьте к проекту фреймворк "MapKit". (Удерживая нажатой клавишу, щелкните на папке "Frameworks" и выполните "Add -> Existing Frameworks".)
Предлагаю создать простое приложение, которое будет отображать введенный пользователем адрес непосредственно на карте. Назовем его "MapApp".
1. Для начала создайте приложение типа "Window based" и присвойте проекту имя "MapApp".
2. Добавьте к проекту фреймворк "MapKit". (Удерживая нажатой клавишу, щелкните на папке "Frameworks" и выполните "Add -> Existing Frameworks".)
+16
Ближайшие события
Интересная статистика для тех, кто продвигает свои iPhone приложения
1 мин
2.2KВ данной статье в сжатом виде собрана статистика, которая будет интересна тем, кто создает и продает свои iPhone приложения в AppStore.
+36
MVC на iPhone: «The Model» (Часть 1)
8 мин
2.9KПеревод
CocoaTouch с самого начала создавалась с прицелом на парадигму MVC. Практически все шаблоны, представления и их контроллеры для пользователя уже готовы. Ключевые классы — "UIView" и "UIViewController". Во многих случаях метод "UIView" применим сам по себе — с добавлением элементов пользовательского интерфейса в общий "UIView" в редакторе IB. Для создания собственных функций добавляем подклассы к "UIViewController". Спецификаторы "IBOutlet" позволяют связывать элементы пользовательского интерфейса с представлением, обеспечивая к ним доступ.
А как быть с понятием «Model»? О нем информации я практически не нашел. В уроках по программированию с моделью предпочитают не работать, набирая код непосредственно в контроллерах.
Добившись, как мне показалось, неплохих результатов с реализацией, я предлагаю их здесь для обсуждения и оценки. Изложу вкратце. Я создаю класс "Singleton", расширяющий "NSObject" для моей модели. Потом посредством наблюдения за ключами/переменными узнаю об обновлениях. Это во многом напоминает "ModelLocator" из "Cairngorm", если кому-то приходилось работать с ним во "Flex".
Для начала создадим проект с парой представлений.
А как быть с понятием «Model»? О нем информации я практически не нашел. В уроках по программированию с моделью предпочитают не работать, набирая код непосредственно в контроллерах.
Добившись, как мне показалось, неплохих результатов с реализацией, я предлагаю их здесь для обсуждения и оценки. Изложу вкратце. Я создаю класс "Singleton", расширяющий "NSObject" для моей модели. Потом посредством наблюдения за ключами/переменными узнаю об обновлениях. Это во многом напоминает "ModelLocator" из "Cairngorm", если кому-то приходилось работать с ним во "Flex".
Для начала создадим проект с парой представлений.
+11
Работа с базовой анимацией на iPhone
5 мин
2.1KПеревод
Одна из привлекательных особенностей интерфейса Cocoa Touch — упрощенная работа с анимацией. В этом уроке я покажу пару простых примеров создания анимации для iPhone. Наша анимация будет выполнять две задачи: перемещать объект на экране и менять его размеры в зависимости от точки касания его пользователем.
Тем, кому еще не приходилось заниматься программированием на iPhone, полезно будет ознакомится с азами здесь, здесь и здесь. В качестве примера приведу также урок из серии Stanford iPhone Development (английский язык), где рассматривались основы анимации движения.
Ниже выложено короткое видео приложения, которое нам предстоит создать. Как уже упоминалось выше, с ним можно делать две вещи. Один щелчок будет перемещать внутреннее представление к точке касания. При двойном касании представление будет перемещаться с изменением размеров. Ориентируясь на точки касания, приложение создавать прямоугольник с фреймом для представления.
Что ж, приступим…
Тем, кому еще не приходилось заниматься программированием на iPhone, полезно будет ознакомится с азами здесь, здесь и здесь. В качестве примера приведу также урок из серии Stanford iPhone Development (английский язык), где рассматривались основы анимации движения.
Ниже выложено короткое видео приложения, которое нам предстоит создать. Как уже упоминалось выше, с ним можно делать две вещи. Один щелчок будет перемещать внутреннее представление к точке касания. При двойном касании представление будет перемещаться с изменением размеров. Ориентируясь на точки касания, приложение создавать прямоугольник с фреймом для представления.
Что ж, приступим…
+25
Интегрируем Twitter в приложения для iPhone
6 мин
1.4KПеревод
Если вы разработчик (что вероятнее всего, учитывая факт чтения данной статьи), то, по всей вероятности, у вас уже есть или должна появиться учетная запись в Twitter. В последнее время эта социальная сеть обрела такую популярность, что было бы глупо не интегрировать Twitter тем или иным способом в собственные приложения iPhone.
Сделать приложения более социально ориентированными с помощью Twitter можно разными способами. Например, предусмотрев автоматическое подключение к сети при нахождении определенного предмета в игре или победе над персонажем. При этом все друзья узнают о достижениях пользователя, а вам подобный ход добавит популярности. Кстати, а как насчет создания собственного Twitter-клиента (только не рассчитывайте продать мой урок в App Store).
Twitter предлагает элементарный пользовательский интерфейс, с помощью которого с сетью легко и просто взаимодействовать. В моем персональном блоге я как раз публикую серию статей о создании Twitter-клиента для Mac, кодом из которой мы частично воспользуемся.
Перед началом хочу остановиться ещё на одном моменте: создание интерфейса и установку связей со спецификаторами "IBOutlet" я рассмотрю очень бегло. Если что-то будет непонятно, лучше начать с более простых уроков.
Урок будет базовым: я покажу, как обновлять в Twitter собственный статус, а также создавать приложение, работающее исключительно в альбомной ориентации — два зайца одним выстрелом. Приступим…
Сделать приложения более социально ориентированными с помощью Twitter можно разными способами. Например, предусмотрев автоматическое подключение к сети при нахождении определенного предмета в игре или победе над персонажем. При этом все друзья узнают о достижениях пользователя, а вам подобный ход добавит популярности. Кстати, а как насчет создания собственного Twitter-клиента (только не рассчитывайте продать мой урок в App Store).
Twitter предлагает элементарный пользовательский интерфейс, с помощью которого с сетью легко и просто взаимодействовать. В моем персональном блоге я как раз публикую серию статей о создании Twitter-клиента для Mac, кодом из которой мы частично воспользуемся.
Перед началом хочу остановиться ещё на одном моменте: создание интерфейса и установку связей со спецификаторами "IBOutlet" я рассмотрю очень бегло. Если что-то будет непонятно, лучше начать с более простых уроков.
Урок будет базовым: я покажу, как обновлять в Twitter собственный статус, а также создавать приложение, работающее исключительно в альбомной ориентации — два зайца одним выстрелом. Приступим…
+5
Создаем пазл для iPhone
9 мин
5.9KПеревод

Как настоящие программисты, для начала остановимся на том, что такое slider puzzle и как его реализовать. Наверное, все помнят детскую игру «пятнашки», где фишки с цифрами нужно было выстроить по порядку. В нашем случае это будут разрозненные фрагменты изображения, которые собираются в единое целое (их на один меньше, чтобы кусочки можно было перемещать). Теперь подумаем, что понадобится, чтобы воплотить такой проект в жизнь.
Для начала потребуется изображение, которое мы разделим на фрагменты. Разместим их в беспорядке, чтобы после снова собрать. Правда перед этим нужно как-то запомнить, где должен находиться тот или иной фрагмент. Для этого введем новый класс, который будет содержать как оригинальное, так и текущее положение каждого фрагмента в матрице (под матрицей понимается сетка, на которой формируется рисунок). Так мы сможем определить, собрал пользователь пазл или нет (сравнив для каждого фрагмента текущее положение с исходным). Следующая задача — определить разрешенные перемещения. Для этой цели заменим один из фрагментов пустым. На его место разрешается передвинуть соседний фрагмент. Ну вот, в принципе, и все. Если я что-то упустил, разберемся по ходу дела.
+17
OpenGL ES: Перемещение в 3D
9 мин
33KПеревод

Нам предстоит освоить код обработки событий, который позволит ходить «по полу». С помощью касаний мы будем поворачивать влево, вправо, перемещаться вперед и назад. Обойдемся без бега, поворотов головы и наведения резкости, хотя добавить их легко. Подобные ограничения объясняются как желанием упростить изложение, так и возможностью для не располагающих iPod Touch или iPhone добиваться аналогичных результатов в симуляторе.
Для начала загрузим основу проекта здесь.
Кода там не много — в основном объяснения, что и как происходит.
Мифическая камера
Большинство воспринимает 3D миры как пространство, на которое смотришь через камеру, но в OpenGL камеры как таковой нет. Для иллюзии движения по сцене относительно начальной точки (0, 0, 0) перемещаются объекты, а не камера, как в кино.
Процесс может показаться трудоемким, но это не так. В зависимости от приложения есть множество способов решения данной задачи и еще больше — оптимизации для действительно больших миров. На этом я вкратце остановлюсь чуть позже.
Чтобы немного упростить работу, к уроку я приложил удобную игрушку от «большого брата» OpenGL ES — библиотеки GLU: я имею в виду функцию "gluLookAt()".
+26
OpenGL ES: рисование базовых фигур (треугольники)
6 мин
28KПеревод

В этом уроке мы будем анализировать код, на основании которого впоследствии можно будет создавать собственные проекты.
Примитив №1 — треугольники
Треугольники — самые сложные из базовых фигур, но они настолько удобны и полезны, что с них мы и начнем. Чтобы нарисовать треугольник, необходимо указать OpenGL три координаты трехмерного пространства — остальное программа сделает сама.
Первым делом создайте копию проекта из урока "OpenGL ES: настройка проекта в Xcode" или загрузите исходный код отсюда. Открыв проект в Xcode, перейдите к файлу "EAGLView.m" и найдите метод "drawView". Начинается настоящее волшебство!
+23
Вклад авторов
InlyIT 3124.4RoboForm 1987.9PapaBubaDiop 1803.0YourDestiny 1073.6phillennium 836.0alizar 751.9redmadrobot 652.0akaDuality 426.0krokhmalyuk 387.0