<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Хабрахабр / Разработка под Apple iOS / Захабренные</title>
	<link>http://habrahabr.ru/rss/blog/macosxdev/</link>
	<description><![CDATA[Захабренные посты из блога «Разработка под Apple iOS» на Хабрахабре]]></description>
	<language>ru</language>
	<managingEditor>editor@habrahabr.ru</managingEditor>
	<generator>habrahabr.ru</generator>
	<pubDate>Sat, 11 Feb 2012 12:06:09 GMT</pubDate>
	<lastBuildDate></lastBuildDate>
	<image>
		<link>http://habrahabr.ru/</link>
		<url>http://habrahabr.ru/i/logo.gif</url>
		<title>Хабрахабр</title>
	</image>
	
		
		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / Упрощаем создание extern констант]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/138002/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/138002/</link>			
		<description><![CDATA[Известно, что для того что бы создать extern константу (например типа NSString *) необходимо сделать два шага:<br/>
 — в <b>.h</b> файле объявить константу<br/>
<code>extern NSString *const kMyConst;</code><br/>
<br/>
 — в <b>.m</b> файле присвоить ей значение<br/>
<code>NSString *const kMyConst = @&quot;kMyConst&quot;;</code><br/>
<br/>
То, что приходится два раза писать примерно одно и тоже это нормально, если у вас немного подобных констант.<br/>
Когда я столкнулся с необходимостью объявления около 30 констант, я решил придумать что нибудь более красивое. По итогу вышла трех-файловая реализация.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/138002/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Sat, 11 Feb 2012 10:43:39 GMT</pubDate>
		<author>notxcain</author>
		<category>extern</category><category>const</category><category>c</category><category>objective-c</category>
	</item>
	
	
	
	
	
	

		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / Интегрируем Copy-Paste-Detection в Xcode, и не только]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/137875/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/137875/</link>			
		<description><![CDATA[<img src="http://habrastorage.org/storage2/0a3/410/273/0a341027318870faab85d5b110b2d94e.png" align="left"/> Сегодня ночью, проводя очередной code-review в наших проектах, наткнулся на большой кусок проявления чистейшего, кристализованного копипаста. Он не очень пришелся мне по душе, и как-то сразу всплыл вопрос:&quot; А много ли копипаста у нас в проектах&quot;? Google is my friend, поэтому решение нашлось очень быстро у <a href="http://deadmeta4.com/2011/05/17/objective-c-copy-paste-detection-using-jenkins/">jkennedy1980</a>, который использовал <a href="http://pmd.sourceforge.net/cpd.html">CPD</a> (copy paste detector), который входит в <a href="http://pmd.sourceforge.net/">PMD</a> (Pretty Much Done || Project Mess Detector || Programming Mistake Detector || <a href="http://pmd.sourceforge.net/meaning.html">...</a> ). В общем случае, CPD умеет находить copy-paste сходу для ряда языков(cpp, cs, java, php, ruby, ecmascript) и <i>относительно</i> легко расширяется, но мне же был нужен Objective-C. Как раз такой вариант и был у jkennedy1980, который использовал CPD в автоматической сборке <a href="http://jenkins-ci.org/">jenkins'ом</a>. Это в общем случае очень хорошо для любого проекта на любом языке, когда jenkins внедрен в процесс разработки, все права выставлены, и все знают где, когда и что надо нажимать. В случае же, когда разработчики не знают про jenkins, либо знают, но он где-то там далеко, такой метод мягко говоря не подходит. Xcode для iPhone/iOS разработчиков, все же, как-то ближе, и хотя для него <a href="http://openradar.appspot.com/8622025">все еще нельзя написать плагин</a>, <div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/137875/#habracut">Нас это не остановит ...</a> </div>]]></description>
		
		<pubDate>Thu, 09 Feb 2012 06:53:48 GMT</pubDate>
		<author>Kilew</author>
		<category>iphone development</category><category>iphone</category><category>copy-paste</category><category>detection</category><category>xcode</category><category>continious integration</category>
	</item>
	
	
	
	
	
	

		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / Новая файловая политика iOS 5 и история реджекта по-вахтёрски]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/137711/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/137711/</link>			
		<description><![CDATA[<img src="http://habrastorage.org/storage2/b16/1a5/3df/b161a53df5e4ff87de198e2e093d228c.png"/><br/>
<br/>
Good day, хабрасообщество!<br/>
<br/>
Решил разбить эту статью на две части – первая будет про <s>НЭП</s> Новую Файловую Политику и чистку любимой папки Documents, т.е. полезную iOS-девелоперу информацию (вроде на хабре про это ещё не писали). Информация очень полезная, если вы хотите сберечь нервы, время и деньги при залитии обновления / нового приложения на AppStore, так что рекомендую к чтению всем-всем-всем. <br/>
<br/>
Во второй я расскажу про войну с первой линией техподдержки Эппла и синдром вахтёра, но она носит скорее повествовательный характер и её читать не нужно.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/137711/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Mon, 06 Feb 2012 14:54:55 GMT</pubDate>
		<author>iago</author>
		<category>iOS</category><category>file</category><category>файловая система</category><category>reject</category>
	</item>
	
	
	
	
	
	

	
		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / [Из песочницы] Способы встраивания C++ в Objective-C проекты]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/137469/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/137469/</link>			
		<description><![CDATA[Этот топик — мой перевод статьи про способы встраивания С++ в Objective-C проекты, в которой рассказаны некоторые интересные решения, как удачные, так и неудачные. Оригинал статьи:<br/>
<a href="http://www.philjordan.eu/article/strategies-for-using-c++-in-objective-c-projects">www.philjordan.eu/article/strategies-for-using-c++-in-objective-c-projects</a><br/>
<br/>
Итак,<br/>
<br/>
<h4>Способы встраивания C++ в Objective-C проекты</h4><br/>
Если вы спешите и хотите сразу перейти к решению проблемы внедрения объектов С++ в классы Objective-C без порчи заголовочных файлов, так, чтоб они могли быть включены из чистого Objective-C, вы можете прокрутить статью до заголовка Pimpl. Это решение можно использовать в ~95% случаев. Остальная часть содержит более глубокий анализ проблемы и дополнительные методы ее решения.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/137469/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Thu, 02 Feb 2012 10:25:14 GMT</pubDate>
		<author>medvednick</author>
		<category>objective-c</category><category>c++</category><category>objective-с++</category><category>pimpl</category>
	</item>
	
	
	
	
	

		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / Давненько не брал я в руки шашки. Знаем, знаем, как Вы играете]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/137425/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/137425/</link>			
		<description><![CDATA[Ситуация в appStore для casual разработчиков быстро меняется.<br/>
2 года назад можно было заработать, выпуская платное приложение одновременно с бесплатным аналогом.<br/>
После появления в магазине более 100 000 программ этот трюк стал неэффективен.<br/>
Год назад шустрые парни стали выкладывать только бесплатные приложения, но с покупками внутри.<br/>
Одновременно число программ в appStore перевалило за 500 000. <br/>
В ближайшее время ( судя по финансовым отчетам 2012 года) только реклама внутри приложения принесет быстрые деньги.<br/>
<br/>
<iframe width="560" height="349" src="http://www.youtube.com/embed/yY_1CE1t974" frameborder="0" allowfullscreen></iframe><br/>
<br/>
До прошлого года я использовал фирменную рекламу от Apple.<br/>
Однако родная iAd реклама работает исключительно на территории врага.<br/>
Чтобы добрать деньги с игроков, живущих не в США (а это минимум 25%), следует прикрутить рекламу от, скажем, Google, которая будет мелькать там, где не работает iAd.<br/>
<br/>
Под <i>habracut</i> я опишу механизм AdWhirl, реализующий показ баннеров от разных производителей.<br/>
Пример кода взят из бессмертной игры нашего прекрасного детства.<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/137425/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Wed, 01 Feb 2012 16:42:31 GMT</pubDate>
		<author>PapaBubaDiop</author>
		<category>iAd</category><category>AdMob</category><category>adWhirl</category><category>шашки</category><category>бабки</category><category>Чапаев</category>
	</item>
	
	
	
	
	
	

	
		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / [Из песочницы] Интеграция физического движка Box2D в UIKit-приложение для iOS]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/137414/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/137414/</link>			
		<description><![CDATA[<h4>Привет!</h4><br/>
Сегодня мы покажем, насколько легко встроить физический движок Box2D в любое игровое приложение, написанное на стандартных фреймворках Apple. Примером послужит интерактивная книга, выпущенная нашей студией полгода назад. Эта книга была нашим первым приложением для детей, и когда мы начинали работу над ней, у нас было мало опыта в создании анимаций, поэтому мы выбрали знакомые нам мощные и отлично документированные стандартные фреймворки Apple – так было проще на тот момент. Книга была готова уже через два месяца. Однако некоторые задумки реализованы не были. Из этих пожеланий был оставлен список на будущее, чтобы, когда будет время и знания, вернуться к проекту.<br/>
<br/>
<h4>Физика</h4><br/>
Одним из пунктов была симуляция физического мира, чтобы у пользователя была возможность играть с предметами: создавать их, бросать, перекидывать из угла в угол средствами акселерометра и так далее. Для реализации этой возможности требовалась интеграция в проект физического движка. И вот, когда на новом проекте было освоены Cocos2D и Box2D, возник резонный вопрос: если Box2D по своей сути не зависим от графической реализации программы, то почему бы не использовать его в самой первой книге?<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/137414/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Wed, 01 Feb 2012 11:15:50 GMT</pubDate>
		<author>egormerkushev</author>
		<category>iOS</category><category>iPhone</category><category>iPad</category><category>UIKit</category><category>Box2D</category><category>физика</category><category>движок</category><category>разработка</category>
	</item>
	
	
	
	
	

	
		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / [Из песочницы] 50 советов для разработки безупречного дизайна iOS приложения]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/137342/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/137342/</link>			
		<description><![CDATA[Привожу перевод статьи Ника Карсона. В статье собраны вместе, как мне кажется, основные правила построения интерфейса для iOS приложений.<br/>
<br/>
1. Возможно, сенсорное управление отличается гибкостью и интуитивностью, но оно далеко не совершенно. Подумайте, чем люди занимаются, когда используют ваше приложение, и как они держат устройство. Помните, что пальцы покрывают гораздо большую площадь, чем кажется, и их точность оставляет желать лучшего. <br/>
<br/>
2. Ориентируйтесь на устройство при создании приложений: учтите не только размер экрана, но и где и когда устройство используется. Больше всего iPad используется для развлечений между 8-11 часами вечера, перед сном, тогда как iPhone — в очереди на автобус или в кофейне. Учтите различные сценарии использования при разработке приложений – включая и то, как далеко устройство расположено от лица пользователя. <br/>
<br/>
3. Рассматривайте ваше приложение поэкранно. Определите, каковы основные задачи, которые достигаются при использовании данного активного экрана, и затем сделайте так, чтобы пользователь мог решить их, используя минимальное количество дополнительных опций, кнопок и других элементов управления. Избегайте слишком большой функциональной нагрузки на активный экран, в особенности на мобильных устройствах. <br/>
<br/>
4. Разработка программ для мобильных телефонов или планшетов значительно отличается от разработки веб-приложений и даже приложений для стандартного рабочего стола, — каждый элемент занимает на экране определенное место, и это правило необходимо неукоснительно соблюдать. Рассматривайте это скорее как преимущество, чем ограничение: фиксированные шаблоны помогут лучше контролировать размер и расположение каждого элемента, видимого пользователю.<br/>
<br/>
5. При адаптации приложения к экранам различных размеров, помните, что при значительном его изменении – например, от iPhone к iPad – способ использования устройства также изменится. Если размеры ограничены, используйте основные функции приложения, при их увеличении – можно включить любые дополнительные функции, которые не вошли в более сжатую версию, так как у вас появляется возможность обыграть дополнительное пространство. <br/>
<br/>
За остальными 45-ю — добро пожаловать подкат.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/137342/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Tue, 31 Jan 2012 10:15:09 GMT</pubDate>
		<author>hlexX</author>
		<category>ios development</category><category>ui</category><category>дизайн интерфейсов</category>
	</item>
	
	
	
	
	

		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / Сказка о раскраске]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/136284/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/136284/</link>			
		<description><![CDATA[<img src="http://habrastorage.org/storage2/d56/f9c/d7d/d56f9cd7d93b896d4e782ce229a7b4e3.jpg"/><br/>
<br/>
В преддверии Нового 2012 года мы хотели выпустить коротенькую интерактивную книжечку по мотивам стихотворения “12 Поваров” Даниила Хармса. Оставался месяц, общая концепция была разработана, основные графические материалы готовы. По нашим расчётам мы как раз успевали выпустить приложение на русском языке в 30 числах декабря (из расчёта, что Apple будет рассматривать наше приложение 7 дней).<br/>
<br/>
<h1>Как интерактивная книга эволюционировала в раскраску</h1><br/>
Мы приступили к разработке первых страниц. Посмотрели результат: получалось ярко, красочно, но чего-то не хватало. Попробовали поменять цвета персонажей: кому-то нравился один вариант, кому-то другой, тогда мы поняли, что на вкус и цвет товарищей нет, и решили сделать раскраску.<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/136284/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Sat, 28 Jan 2012 06:27:17 GMT</pubDate>
		<author>Alexey_Bespaly</author>
		<category>разработка под ios</category><category>12 поваров</category><category>раскраска</category><category>двенадцать поваров</category><category>интерактивная книга</category><category>iPad</category><category>iPhone</category>
	</item>
	
	
	
	
	
	

		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / Опыт продвижения в русском AppStore]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/136737/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/136737/</link>			
		<description><![CDATA[<img src="http://iapps.ru/habr/dl.php?name=10.png" align="left" alt="image"/>Сделать хорошее приложение для iPhone или iPad могут многие. Но далеко не все на этом умудряются заработать денег. Не буду хвастаться – но у меня получается и то, и другое. Хотелось бы поделиться с сообществом хабрачиталей некоторыми тонкостями кухни.<br/>
Под катом немного статистики и опыта размещения обзоров и баннерной рекламы рекламы с цифрами. <br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/136737/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Sat, 21 Jan 2012 23:26:59 GMT</pubDate>
		<author>cohe4ko</author>
		<category>продвижение в appstore</category>
	</item>
	
	
	
	
	
	

		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / Разбираем iPhone Core Data Recipes. Часть 2]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/136344/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/136344/</link>			
		<description><![CDATA[<h4><b>Introduction</b></h4><br/>
Данная статья, вторая и заключительная статья из серии «Разбираем iPhone Core Data Recipes». Первую часть статьи, вы можете прочитать <a href="http://habrahabr.ru/blogs/macosxdev/136319/">тут</a>. Цель серии статей — помочь начинающему iOS разработчику, понять, как правильно работать с SQLite базой данных используя Core Data на примере iPhone Core Data Recipes. В заключительной статье мы рассмотрим функционал добавления, редактирования и удаления записей из базы данных.<br/>
<br/>
<h4><b>Prerequisites</b></h4><br/>
Для самостоятельного изучения исходных текстов данного приложения, вам необходим стандартный набор инструментов:<br/>
<ul>
<li>Mac OS X</li>
<li>Xcode</li>
</ul><br/>
Данный набор позволит вам просмотреть, изменить и запустить приложение на симуляторе. В случае же, если вы захотите попробовать запустить его на настоящем iPhone, требуется участие в iOS Developer Program. <br/>
<br/>
А также, что немало важно, нужно базовое понимание структуры языка Objective-C и приложения.<br/>
<br/>
Ссылки на используемые материалы и инструменты предоставлены в разделе References.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/136344/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Fri, 20 Jan 2012 12:40:03 GMT</pubDate>
		<author>alexal</author>
		<category>iphone</category><category>ios</category><category>ios development</category><category>ios programming</category><category>xcode</category><category>core data</category><category>sqlite</category>
	</item>
	
	
	
	
	
	

	
		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / [Из песочницы] Разбираем iPhone Core Data Recipes. Часть 1]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/136319/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/136319/</link>			
		<description><![CDATA[<h4><b>Introduction</b></h4><br/>
Цель данной статьи — помочь начинающему iOS разработчику, понять, как правильно работать с SQLite базой данных используя Core Data на примере iPhone Core Data Recipes. В первой части из серии статей, будет рассмотрено взаимодействие приложения и базы данных, а также работа со связанными записями (Relationships).<br/>
<br/>
<h4><b>Prerequisites</b></h4><br/>
Для самостоятельного изучения исходных текстов данного приложения, вам необходим стандартный набор инструментов:<br/>
<ul>
<li>Mac OS X</li>
<li>Xcode</li>
</ul><br/>
<br/>
Данный набор позволит вам просмотреть, изменить и запустить приложение на симуляторе. В случае же, если вы захотите попробовать запустить его на настоящем iPhone, требуется участие в iOS Developer Program. <br/>
<br/>
А также, что немало важно, нужно базовое понимание структуры языка Objective-C и приложения.<br/>
<br/>
Ссылки на используемые материалы и инструменты предоставлены в разделе References.<br/>
<br/>
<h5><b>Что такое iPhone Core Data Recipes?</b></h5><br/>
Xcode проект от разработчиков из Apple, который дает общее представление о том, как использовать view controllers, table views и Core Data в iPhone приложениях. Конечно, данный проект также актуален для iPad, но в него необходимо внести интерфейсные изменения, для корректного отображения на iPad.<br/>
<br/>
<h5><b>iPhone Core Data Recipes Screenshots</b></h5><br/>
Скриншоты ниже, дают общее представление о интерфейсе приложения. В главном окне «Recipes» — оторбаражается список готовых продуктов. Нажав на один из них, приложение отображает информацию о том, как приготовить данный продукт, его категорию, сколько на это нужно времени, какие и в каком количестве необходимы ингредиенты, а также кнопку которая отображает текстовую инструкцию по приготовлению (скриншот не приведен). Также в приложении есть возмоность конвертации значений между граммами, фунтами и унциями, а также таблица соответствия температур (по цельсию и фаренгейту).<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/136319/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Mon, 16 Jan 2012 08:58:07 GMT</pubDate>
		<author>alexal</author>
		<category>iphone</category><category>ios</category><category>ios development</category><category>ios programming</category><category>xcode</category><category>core data</category><category>sqlite</category>
	</item>
	
	
	
	
	

	
		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / [Из песочницы] Ручное «оффлайн» добавление и обновление поддержки iOS 3.x & 4.x в iOS Simulator SDK 5.x]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/136150/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/136150/</link>			
		<description><![CDATA[Приветствую всех уважаемых хабражителей!<br/>
<br/>
Данный хабратопик описывает «механизм» ручной загрузки пакета Xcode 4.2 iOS 4.3 Simulator, его обновлений и дополнений поддержки iOS 3.х & 4.x в iOS 5.x SDK для их последующей установки в оффлайн режиме. <br/>
При наличии нескольких рабочих мест, используемых для разработки, и желании экономить время и трафик при обновлении предлагаемая методика может оказаться полезной.<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/136150/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Fri, 13 Jan 2012 17:40:34 GMT</pubDate>
		<author>awoland</author>
		<category>apple</category><category>xcode</category><category>ios</category><category>ios development</category><category>ios simulator</category>
	</item>
	
	
	
	
	

	
		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / [Из песочницы] Полноценная поддержка юникода в SQLite для iOS. Пример приложения]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/136135/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/136135/</link>			
		<description><![CDATA[Здравствуйте. В этой статье я опишу процесс создания простейшего приложения для iOS и внедрение в него используемого мной метода для обеспечения корректной работы с русским (и не только) языком таких SQLite-конструкций, как UPPER/LOWER, LIKE или ORDER BY.<br/>
<br/>
Описанный метод использовался при разработке в XCode 4.2 под управлением OS X Lion 10.7.2.<br/>
<br/>
Ниже очень подробная инструкция с картинками.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/136135/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Fri, 13 Jan 2012 07:37:51 GMT</pubDate>
		<author>DenRomanoff</author>
		<category>ios</category><category>sqlite</category><category>unicode</category><category>xcode</category><category>like</category>
	</item>
	
	
	
	
	

	
		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / [Из песочницы] Уменьшаем размер своего iOS приложения]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/135684/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/135684/</link>			
		<description><![CDATA[Хочу поделиться способом, который позволит сэкономить несколько мегабайт «лишнего» веса в вашем iOS приложении. Зачем это может понадобиться? Во-первых, если ваше приложение чуть больше 20 Мб, то его нельзя будет скачать по 3G, а только используя Wi-Fi или синхронизацию c iTunes (ограничение со стороны Apple). Ну, а во-вторых, если вы любите все оптимизировать или просто хотите чуть-чуть сократить время загрузки вашего апа. <br/>
Все нижеперечисленные пункты я проверял и использовал в своем апе, сэкономив суммарно около 4 Мб. Кажется не очень то и много, но если, например, умножить на 5000 тысяч загрузок в день, то уже получим около 20 Гб сэкономленного трафика. Итак, приступим.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/135684/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Wed, 04 Jan 2012 09:17:30 GMT</pubDate>
		<author>fakit</author>
		<category>ios</category><category>llvm</category><category>optimization</category>
	</item>
	
	
	
	
	

		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / iMakeCard. История разработки новогодней программы]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/135552/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/135552/</link>			
		<description><![CDATA[<img src="http://habrastorage.org/storage2/923/3b9/6bb/9233b96bb06b5fea0c8e72a297b286a0.png" align="left"/>Когда на дворе декабрь, за окном валит снег и сердце начинает биться сильнее в предвкушении предстоящих новогодних праздников, начинаешь задумываться, что же такое подарить родному, любимому человеку или просто знакомым, которые заполняют бесчисленный friend-list в той или иной соцсети. Разумеется, на всех подарков не накупишь, но уделить внимание хочется каждому. <br/>
<br/>
Так и родилась идея создания приложения “iMakeCard”. В нем можно выбрать любую понравившуюся открытку и пожелание для получателя, а затем отправить по e-mail, либо разместить на странице в Facebook или в Твиттере.<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/135552/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Fri, 30 Dec 2011 13:55:13 GMT</pubDate>
		<author>TAURUSiv43</author>
		<category>iMakeCard</category><category>ipphone</category><category>ios development</category>
	</item>
	
	
	
	
	
	

		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / Сказка о разработке интерактивных книг]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/135498/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/135498/</link>			
		<description><![CDATA[<img src="http://habrastorage.org/storage2/673/a5d/67a/673a5d67a51e8586bbb03d43a8b9d66f.jpg"/><br/>
<br/>
В этой статье мы хотим поделиться нашим впечатлением и опытом о разработке двух интерактивных книг для детей: «История о Мисс Моппет» и «Сказка о Котёнке Томе».<br/>
<br/>
Начнём с того, что отметим: самое важное в книге – это текст. Именно поэтому для книг очень важным является перевод, а применительно к приложениям на App Store: для книг-приложений, очень важна качественная локализация.<br/>
<br/>
Читая книгу-приложение, дети и родители больше всего внимания обращают на интерактивность, на анимацию, на красочность и яркость картинок, и в последнюю очередь на буквы. Однако в отличие от англоязычных детей, для которых стараются разработчики всего мира, русские дети не так избалованы наличием на App Store интерактивных книг на русском языке с озвучкой, то есть книг для самых маленьких, где подсвечивается читаемый текст, и можно послушать каждое слово по отдельности, или даже отдельную букву в слове! Такие книги помогают изучать языки.<br/>
<br/>
Мы решили делать интерактивные книги на русском языке с озвучкой текста.<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/135498/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Thu, 29 Dec 2011 19:11:51 GMT</pubDate>
		<author>Alexey_Bespaly</author>
		<category>разработка под ios</category><category>сказка о котёнке томе</category><category>история о мисс моппет</category><category>интерактивная книга</category><category>iPad</category><category>iPhone</category>
	</item>
	
	
	
	
	
	

		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / Верёвка как в “Cut the Rope”]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/135338/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/135338/</link>			
		<description><![CDATA[Почитав <a href="http://www.pocketgamer.biz/r/PG.Biz/ZeptoLab+news/news.asp?c=24279&amp;srch=ZeptoLab">интервью</a> создателей знаменитого бестселлера “Cut the Rope”, в котором утверждается, что на создание веревки ими было потрачено больше всего времени, я не поверил, что написать «алгоритм движения тяжелой нити» действительно так сложно, и для этого надо чуть ли не самим писать физический движок. Погуглив, готового ответа я не нашел, и решил попробовать сделать самостоятельно нечто подобное на <a href="http://www.cocos2d-iphone.org/">cocos2D</a> + <a href="http://box2d.org/">Box2D</a>.<br/>
За основу были взяты правила:<br/>
<ol>
<li>Цепь делать лучше с помощью прямоугольных тел, соединенных Revolute Joint’ами;</li>
<li>Чем тяжелее объекты составляющие цепь – тем она стабильнее;</li>
<li>Количество итераций при шаге – чем больше, тем лучше (мне хватило 3-х);</li>
<li>Очень помогает, если каждый кусочек цепи, помимо Revolute Joint’а соединить Distance Joint’ом.</li>
</ol><br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/135338/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Tue, 27 Dec 2011 07:51:38 GMT</pubDate>
		<author>Alexey_Bespaly</author>
		<category>cut the rope</category><category>ropes</category><category>cocos2d</category><category>box2d</category><category>objective-c</category><category>iphone</category><category>ipad</category><category>xcode</category>
	</item>
	
	
	
	
	
	

		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / Оптимизация работы с SQLite под iOS]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/135337/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/135337/</link>			
		<description><![CDATA[<img src="http://habrastorage.org/storage2/764/62f/9ac/76462f9acbe7c018ea37ad3cc0eda129.png"/><br/>
<br/>
<blockquote><i>“Think of SQLite not as a replacement for Oracle but as a replacement for fopen()”</i><br/>
 — About SQLite<br/>
</blockquote> <br/>
<br/>
А также, скорее всего, под Android, BlackBerry и в сэнд-боксе браузеров для веб-приложений, но я не проверял. <br/>
<br/>
<h1>Почему может быть нужно работать с SQLite напрямую?</h1>Любой опытный iOS девелопер тут же упрекнёт меня за использование SQLite напрямую (вернее не напрямую, а через FmDb, но это почти всё равно что напрямую). Он скажет, что нужно использовать CoreData, т.к. оно много всяких ништяков делает автоматически, типа Undo и Redo. И в нём можно рисовать красивые схемки, которые потом приятно показывать заказчику. А в андроиде, например, есть OrmLite.<br/>
<br/>
И я соглашусь – но до той поры, пока у вас база не перевалила, скажем, за 10 таблиц по 500,000 записей в каждой. А если таблиц 52, и есть особо жирные таблицы по миллиону и больше? И базу нужно синхронизировать с сервером через третий формат, к тому же заказчику критично, будет синхронизация длиться час или пять? Если вы встречали задачи такого объёма, добро пожаловать под кат! Если не встречали – то тоже, ведь никто не застрахован от проектов с большими данными, пускай даже таких мобильных и меньше.<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/135337/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Mon, 26 Dec 2011 17:15:51 GMT</pubDate>
		<author>iago</author>
		<category>iOS</category><category>SQLite</category><category>оптимизация кода</category>
	</item>
	
	
	
	
	
	

		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / Three20 demystifying: TTModel]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/134821/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/134821/</link>			
		<description><![CDATA[Те, кому по причине необходимости пришлось столкнуться с <a href="http://three20.info/">Three20</a>, в процессе разработки iOS приложений, знают, что данная библиотека более-менее решать некоторый круг задач, связанный с быстрым прототипированием, использованием глобальной навигации, MVC подходом для разработки приложений. <br/>
<br/>
Основным минусом библиотеки является то, что в ней отсутствует нормальная документация, а та, что <a href="http://three20.info/documentation">есть</a> <a href="http://api.three20.info/annotated.php">недостаточна</a> для нормального понимания того, что происходит внутри этой библиотеки.<br/>
<br/>
Это не единственный минус библиотеки, и в интернете можно найти <a href="http://www.quora.com/What-are-the-pros-and-cons-of-using-Three20">много</a> <a href="http://stackoverflow.com/questions/3668479/three20-pros-and-cons">обсуждений</a> относительно за и против Three20.<br/>
<br/>
Необходимо сказать, что главный разработчик <a href="http://cocoamanifest.net/linked/2011/08/nimbus-rebirth-of-three20.html">остановил разработку над</a> Three20, и решил создать новую библиотеку <a href="http://nimbuskit.info/">Nimbus</a>, основной идеей которой будет простота и высокая документированность: <br/>
<i>«Nimbus is an iOS framework whose feature set grows only as fast as its documentation.»</i><br/>
<br/>
Тем не менее, проект существует и по сей день, и некоторые части этого проекта заслуживают внимания, и достаточны интересны с точки зрения проектирования.<br/>
<br/>
В данном посте будут подробно рассмотрены вопросы, связанные с работой <a href="http://api.three20.info/interface_t_t_model.php">TTModel</a>.<br/>
<br/>
Для тех, кто не собирается использовать Three20 у себя в проектах, будет полезно подсмотреть на одну из возможных, заслуживающий внимания, реализаций модели в шаблоне MVC.<br/>
<br/>
Всех, кому еще интересно, прошу <div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/134821/#habracut">под кат</a> </div>]]></description>
		
		<pubDate>Mon, 19 Dec 2011 07:52:15 GMT</pubDate>
		<author>Kilew</author>
		<category>Three20</category><category>TTModel</category><category>TTModelViewController</category><category>320</category><category>Nimbus</category>
	</item>
	
	
	
	
	
	

		
	<item>		
		<title><![CDATA[Разработка под Apple iOS / Распознавание и синтез речи в любое приложение под iOS за час]]></title>
		<guid isPermaLink="true">http://habrahabr.ru/blogs/macosxdev/134825/</guid>
		<link>http://habrahabr.ru/blogs/macosxdev/134825/</link>			
		<description><![CDATA[<b>Вводная часть:</b><br/>
<br/>
Сам инструментарий называется NDEV. Чтоб получить необходимый код (его мало) и документацию (её много), надо зарегиться на сайте в «программе сотрудничества». Сайт:<br/>
<br/>
<a href="http://dragonmobile.nuancemobiledeveloper.com/public/index.php">dragonmobile.nuancemobiledeveloper.com/public/index.php</a><br/>
<br/>
Это весь «геморрой», если клиентов вашего приложения менее полумиллиона и они пользуются сервисами менее 20 раз в день. Сразу после регистрации вы получите членство «Silver», которое позволит вам бесплатно пользоваться данными сервисами.<br/>
Разработчикам предлагается пошаговая инструкция по внедрению в свое приложение на iOS сервисов распознавания и синтеза речи:<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/macosxdev/134825/#habracut">Читать дальше &rarr;</a> </div>]]></description>
		
		<pubDate>Sun, 18 Dec 2011 18:43:48 GMT</pubDate>
		<author>Someonesolitude</author>
		<category>iOS</category><category>Разработка</category><category>мобильные приложения</category><category>разработчик</category><category>разработчики</category><category>программа</category><category>NDEV</category><category>речевые сервисы</category><category>Nuance</category><category>внедрение</category><category>имплементация</category><category>синтез речи</category><category>распознавание речи</category><category>речевые технологии</category>
	</item>
	
	
	
	
	
	

	

	
	
	
	
	
</channel>
</rss>

