<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru">
<channel>
<title>Блог VR-master</title>
<link>http://vr-master.ru</link>
<description></description>
<lastBuildDate>Sat, 19 May 2012 12:51:42 +0400</lastBuildDate>
<ttl>60</ttl>
<item>
	<title>Программирование iPhone. Часть 11. UINavigationBar и UINavigationController</title>
	<link>http://vr-master.ru/blog/59/</link>
	<description>Navigation bar – это панель, которая отображается вдоль верхнего края окна, прямо под строкой статуса, где показывается время, уровень заряда батареи и уровень антенны.&lt;br /&gt;
&lt;br /&gt;
Панель навигации обычно отображает заголовок, название текущего view. Например, если открыть программу Сообщения, то наверху написано «Сообщения».&lt;br /&gt;
&lt;br /&gt;
Панель навигации помогает удобно переключаться между View. Например на панели навигации можно отобразить кнопку «Назад», чтобы вернуться на предыдущий View.&lt;br /&gt;
&lt;br /&gt;
&lt;img width=&quot;480&quot; height=&quot;480&quot; border=&quot;0&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000gp5a/s640x480&quot; alt=&quot;&quot;&gt;</description>
				<category>iPhone/</category>
				<yandex:full-text>Navigation bar – это панель, которая отображается вдоль верхнего края окна, прямо под строкой статуса, где показывается время, уровень заряда батареи и уровень антенны.&lt;br /&gt;
&lt;br /&gt;
Панель навигации обычно отображает заголовок, название текущего view. Например, если открыть программу Сообщения, то наверху написано «Сообщения».&lt;br /&gt;
&lt;br /&gt;
Панель навигации помогает удобно переключаться между View. Например на панели навигации можно отобразить кнопку «Назад», чтобы вернуться на предыдущий View.&lt;br /&gt;
&lt;br /&gt;
&lt;img width=&quot;480&quot; height=&quot;480&quot; border=&quot;0&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000gp5a/s640x480&quot; alt=&quot;&quot;&gt;&lt;br /&gt;&lt;br /&gt;

Сейчас мы создадим приложение, содержащее в себе три view, которые в свою очередь содержат панель навигации. Первый view будет иметь на панели навигации кнопку Next. Нажав на кнопку приложение переместит нас на второй View. Этот второй view будет иметь кнопку Back на панели навигации и обычную кнопку не на панели навигации, нажав на которую мы перейдем на третий view.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Создаем приложение Window-based Application и называем его NavBar.&lt;br /&gt;
2. В папку классы добавляем три UIViewController и называем их FirstViewController, SecondViewController, ThirdViewController. Создавая эти классы — не забываем сразу создавать xib для них.&lt;br /&gt;
3. Открываем каждый xib и изменяем их цвета.&lt;br /&gt;
4. Сохраняем и выходим из Interface Builder.&lt;br /&gt;
5. Открываем MainWindow.xib и перетаскиваем Navigation Controller из библиотеки в окно документа.&lt;br /&gt;
&lt;br /&gt;
&lt;img width=&quot;409&quot; height=&quot;480&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000hczy/s640x480&quot;&gt;&lt;br /&gt;&lt;br /&gt;
6. Раскрываем Navigation Controller в окне документа и выделяем View Controller (Root View Cintroller). В инспекторе изменяем его класс на FirstViewController и NIB name тоже изменяем на FirstViewController.&lt;br /&gt;&lt;br /&gt;
&lt;img width=&quot;430&quot; height=&quot;480&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000kxt3/s640x480&quot;&gt;&lt;br /&gt;&lt;br /&gt;
7. Сохраняем и закрываем Interface Builder.&lt;br /&gt;
8. Открываем в папке Classes NavBarAppDelegate.h Добавляем в него панель навигации и прописываем property.&lt;br /&gt;
&lt;br /&gt;
________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
#import&lt;UIKit/UIKit.h&gt;&lt;br /&gt;
&lt;br /&gt;
@interface NavBarAppDelegate : NSObject&lt;UIApplicationDelegate&gt; {&lt;br /&gt;
IBOutlet UIWindow *window;&lt;br /&gt;
IBOutlet UINavigationController * navController;&lt;br /&gt;
}&lt;br /&gt;
@property (nonatomic, retain) IBOutlet UIWindow *window;&lt;br /&gt;
@property (nonatomic, retain) IBOutlet UINavigationController *navController;&lt;br /&gt;
@end&lt;br /&gt;
&lt;br /&gt;
________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9. Добавляем UINavigationController в NavBarAppDelegate.m и добавляем view от UINavigationController к нашему окну. Сохраняем и нажимаем Build.&lt;br /&gt;

________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
#import &quot;NavBarAppDelegate.h&quot;&lt;br /&gt;
@implementation NavBarAppDelegate&lt;br /&gt;
@synthesize window;&lt;br /&gt;
@synthesize navController;&lt;br /&gt;
- (void)applicationDidFinishLaunching:(UIApplication *)application {&lt;br /&gt;
[window addSubview: navController.view];&lt;br /&gt;
[window makeKeyAndVisible];&lt;br /&gt;
}&lt;br /&gt;
- (void)dealloc {&lt;br /&gt;
[window release];&lt;br /&gt;
[navController release];&lt;br /&gt;
[super dealloc];&lt;br /&gt;
}&lt;br /&gt;
@end&lt;br /&gt;
________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
10. Открываем MainWindow.xib. В окне документа кликаем правой кнопкой мыши по Nav Bar App Delegate и присоединяем navController к UINavigationController.&lt;br /&gt;&lt;br /&gt;
&lt;img width=&quot;640&quot; height=&quot;286&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000phdq/s640x480&quot;&gt;&lt;br /&gt;&lt;br /&gt;
11. Сохраняем и закрываем Interface Builder.&lt;br /&gt;
12. Запускаем приложение и видим наш FirstViewController уже с панелью навигации.&lt;br /&gt;
13. Полюбовались. Теперь закроем симулятор iPhone и откроем MainWindow.xib и выделяем Navigation Item в окне документа. Изменяем его заголовок — Title в инспекторе на First View.&lt;br /&gt;&lt;br /&gt;
&lt;img width=&quot;640&quot; height=&quot;284&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000qxxs/s640x480&quot;&gt;&lt;br /&gt;&lt;br /&gt;
14. Перетаскиваем Bar Button Item на нашу панель навигации. Переименовываем его на Next.&lt;br /&gt;
15. Сохраняем и закрываем Interface Builder.&lt;br /&gt;
16. Теперь открываем FirstViewController.h и прописываем новый action, который будет вызываться при нажатии на кнопку Next. Этот action назовем moveToNextView. При этом импортируем SecondViewController и прописываем ему property.&lt;br /&gt;
&lt;br /&gt;
________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
#import&lt;UIKit/UIKit.h&gt;&lt;br /&gt;
#import &quot;SecondViewController.h&quot;&lt;br /&gt;
@interface FirstViewController : UIViewController {&lt;br /&gt;
SecondViewController * second;&lt;br /&gt;
}&lt;br /&gt;
@property (nonatomic, retain) SecondViewController * second;&lt;br /&gt;
- (IBAction) moveToNextView: (id) sender;&lt;br /&gt;
@end&lt;br /&gt;
&lt;br /&gt;
________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
17. В FirstViewController.m прописываем код нашего action в implementation, который мы объявили в interface.&lt;br /&gt;
&lt;br /&gt;
________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
#import &quot;FirstViewController.h&quot;&lt;br /&gt;
@implementation FirstViewController&lt;br /&gt;
@synthesize second;&lt;br /&gt;
- (IBAction) moveToNextView: (id) sender{
self.second = [[[SecondViewController alloc]&lt;br /&gt;
initWithNibName:@&quot;SecondViewController&quot; bundle:nil] autorelease];&lt;br /&gt;
[self.navigationController pushViewController:self.second animated:YES];&lt;br /&gt;
}&lt;br /&gt;
- (void)dealloc {&lt;br /&gt;
[second release];&lt;br /&gt;
[super dealloc];&lt;br /&gt;
}&lt;br /&gt;
@end&lt;br /&gt;
&lt;br /&gt;
________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
18. Нажимаем Build.&lt;br /&gt;
19. Открываем MainWindow.xib, выделяем FirstViewController и присоединяем наш moveToNextView к нашей кнопе, которую мы добавили.&lt;br /&gt;&lt;br /&gt;

&lt;img width=&quot;468&quot; height=&quot;480&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000rers/s640x480&quot;&gt;
&lt;br /&gt;&lt;br /&gt;

20. Сохраняем и закрываем Interface Builder.&lt;br /&gt;
21. Запускаем наше приложение.&lt;br /&gt;
&lt;br /&gt;
Если мы нажмем на кнопку Next, то перейдем на SecondViewController. Заметим, что попадая на второй view на панели навигации автоматически появляется кнопка First View, чтобы перейти на предыдущий View.&lt;br /&gt;
&lt;br /&gt;
22. Теперь попробуем добавить еще один View. Откроем SecondViewController.h и добавим сюда UIBarButtonItem и назовем его navBut. Также здесь мы сделаем то, что сделали в шаге 16. Мы импортируем ThirdViewController и объявим его view. Еще мы объявим здесь действие, которое будет происходить при нажатии на нашу кнопку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
________________________________________________________________&lt;br /&gt;

#import &lt;UIKit/UIKit.h&gt;&lt;br /&gt;
#import &quot;ThirdViewController.h&quot;&lt;br /&gt;
@interface SecondViewController : UIViewController {&lt;br /&gt;
ThirdViewController *third;&lt;br /&gt;
IBOutlet UIBarButtonItem *navBut;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@property (nonatomic, retain) ThirdViewController *third;&lt;br /&gt;
@property (nonatomic, retain) IBOutlet UIBarButtonItem *navBut;&lt;br /&gt;
@end&lt;br /&gt;
&lt;br /&gt;
________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
23. Теперь пропишем действия кнопки, и поместим ее на панель навигации.&lt;br /&gt;
&lt;br /&gt;
________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
#import &quot;SecondViewController.h&quot;&lt;br /&gt;
@implementation SecondViewController&lt;br /&gt;
@synthesize third;&lt;br /&gt;
@synthesize navBut;&lt;br /&gt;
- (void)viewDidLoad {&lt;br /&gt;
self.navigationItem.title = @”SecondView”;&lt;br /&gt;
self.navigationItem.rightBarButtonItem = navBut;&lt;br /&gt;
}&lt;br /&gt;
-(IBAction) moveToNextView: (id)sender{&lt;br /&gt;
self.third = [[[ThirdViewController alloc]&lt;br /&gt;
initWithNibName:@”ThirdViewController” bundle:nil]&lt;br /&gt;
autorelease];&lt;br /&gt;
&lt;br /&gt;
[self.navigationController pushViewController: self.third animated: YES];&lt;br /&gt;
}&lt;br /&gt;
- (void)dealloc {&lt;br /&gt;
[third release];&lt;br /&gt;
[super dealloc];&lt;br /&gt;
}&lt;br /&gt;
@end&lt;br /&gt;
&lt;br /&gt;
__________________________________________________&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
24. Открываем SecondViewController.xib. В окне документа выделяем File's Owner и в инспекторе соединяем наш moveToNextView с кнопкой.&lt;br /&gt;
25. Сохраняем и закрываем Interface Builder.&lt;br /&gt;
26. Теперь запускаем наше приложение и любуемся. Теперь когда нам открывается FirstViewController -мы нажимаем next и попадаем на SecondViewController, там мы опять нажимаем на кнопку Next и попадаем уже на ThirdViewController.&lt;br /&gt;
27. Теперь создадим кнопку на SecondViewController, только не на панели навигации, а прямо на самом view. Просто перетащим из библиотеки Round Rect Button.&lt;br /&gt;
28. Теперь в инспекторе соединим событие Touch Up Inside c File's Owner и выбираем наш moveToNextView.&lt;br /&gt;
29. Сохраняем и закрываем Interface Builder и запускаем наше приложение.
&lt;br /&gt;</yandex:full-text>
		<pubDate>Wed, 06 Jul 2011 00:00:00 +0400</pubDate>
</item>
<item>
	<title>Программирование iPhone. Часть 10. Настройка пользователем вкладок Tab Bar</title>
	<link>http://vr-master.ru/blog/58/</link>
	<description>В предыдущей части мы создали свое приложение с использованием Tab Bar и добавили туда свою вкладку.

На самом деле таких вкладок может быть очень много. Возникает вопрос — как они туда все влезут? Очень просто. Одна из вкладок называется «Еще», а в ней содержаться другие вкладки.</description>
				<category>iPhone/</category>
				<yandex:full-text>В предыдущей части мы создали свое приложение с использованием Tab Bar и добавили туда свою вкладку.&lt;br /&gt;
&lt;br /&gt;
На самом деле таких вкладок может быть очень много. Возникает вопрос — как они туда все влезут? Очень просто. Одна из вкладок называется «Еще», а в ней содержаться другие вкладки.&lt;br /&gt;
&lt;br /&gt;
Пример такой реализации вы можете увидеть в приложении iPod. Последняя вкладка называется «Eще». Если нажать на кнопку «Изменить», то мы увидим, что эти вкладки можно поменять местами.&lt;br /&gt;
&lt;br /&gt;
В данном уроке мы дадим пользователю такую же возможность поменять местами вкладки.&lt;br /&gt;
&lt;br /&gt;
Начнем.&lt;br /&gt;
&lt;br /&gt;
1. Если вы сделали проект из предыдущего примера, то откройте его. Если нет, то сделайте.&lt;br /&gt;
&lt;br /&gt;
2. Добавьте UIViewController вместе с XIB и назовите его FourthViewController. Измените цвет.&lt;br /&gt;
&lt;br /&gt;
3. Закройте Interface Builder (IB) и откройте MainWindow.xib.&lt;br /&gt;
&lt;br /&gt;
4. В окне документа выделяем Tab Bar Controller и в Инспекторе во вкладке атрибуты в таблицу View Controllers добавляем еще 4 новые вкладки.&lt;br /&gt;
&lt;br /&gt;
5. Измените их класс и NIB name на FourthViewController.&lt;br /&gt;
&lt;br /&gt;
6. Сохраните и запустите приложение.&lt;br /&gt;
&lt;br /&gt;
Как оказалось все очень просто.&lt;br /&gt;</yandex:full-text>
		<pubDate>Thu, 30 Jun 2011 00:00:00 +0400</pubDate>
</item>
<item>
	<title>Программирование iPhone. Часть 9. UITabBar и UITabBarController</title>
	<link>http://vr-master.ru/blog/57/</link>
	<description>Tab Bar — это панель вкладок. Tab Bar может содержать две или более вкладки внизу вдоль окна. Каждый из этих вкладок содержит свой View. Таким образом с помощью Tab Bar можно переключаться между этими View.&lt;br /&gt;&lt;br /&gt;

Итак, попробуем что-нибудь создать с использованием Tab Bar.</description>
				<category>iPhone/</category>
				<yandex:full-text>Tab Bar — это панель вкладок. Tab Bar может содержать две или более вкладки внизу вдоль окна. Каждый из этих вкладок содержит свой View. Таким образом с помощью Tab Bar можно переключаться между этими View.&lt;br /&gt;
&lt;br /&gt;
Итак, попробуем что-нибудь создать с использованием Tab Bar.&lt;br /&gt;
&lt;br /&gt;
1. Создаем новый проект Xcode, выбираем шаблон Tab Bar Application и называем его как-нибудь.&lt;br /&gt;
&lt;br /&gt;
2. Если мы раскроем папку Resources и Classes, то мы увидим, что шаблон создал те же классы, что и для шаблона View-based Application. Если мы запустим это приложение, то увидим две вкладки First и Second.&lt;br /&gt;
&lt;br /&gt;
3. Теперь попробуем добавить свою третью вкладку в это приложение. В папку Classes добавляем новый файл UIViewController. Поставьте галочку With XIB for user interface, чтобы сразу создать xib для этого класса. Назовем его ThirdViewController Созданный xib можно сразу перетащить в папку Resources.&lt;br /&gt;
&lt;br /&gt;
4. Открываем созданный только что xib. Поменяем цвет, сохраним и закроем Interface Builder.&lt;br /&gt;
&lt;br /&gt;
5. Теперь в Interface Builder откроем файл MainWindow.xib и из Library перетащим View Controller. Изменим его класс на ThirdViewController.&lt;br /&gt;
&lt;br /&gt;
6. Выделяем Tab Bar Controller окне документа и в инспекторе открываем вкладку атрибутов. В верхней части мы увидим табличку View Controllers. Сюда мы добавляем новый Tab Bar Item.&lt;br /&gt;
&lt;br /&gt;
7. Теперь мы можем увидеть нашу добавленную вкладку. Кликнем по ней и откроем вкладку атрибутов в инспекторе. Там в поле NIB Name выбираем ThirdViewController. Теперь откроем последнюю вкладку в инспекторе и изменим класс на ThirdViewController.&lt;br /&gt;
&lt;br /&gt;
8. Если мы дважды кликнем по вкладке Third, то можно будет изменить иконку в инспекторе во вкладке атрибутов.&lt;br /&gt;
&lt;br /&gt;
9. Сохраните и закройте Interface Builder.&lt;br /&gt;
&lt;br /&gt;
10. Запустите приложение.&lt;br /&gt;
&lt;br /&gt;
Как видите мы создали приложение абсолютно без использования программирования. В следующей части мы более глубже рассмотрим как создавать приложения с использованием Tab Bar.</yandex:full-text>
		<pubDate>Thu, 30 Jun 2011 00:00:00 +0400</pubDate>
</item>
<item>
	<title>Программирование iPhone. Часть 8. Шаблоны приложений</title>
	<link>http://vr-master.ru/blog/56/</link>
	<description>Программируя для iPhone вы запускаете Xcode. Создаете новый проект и выбираете предлагаемые Вам шаблоны. Сегодня в Xcode можно увидеть 7 шаблонов, один из которых принадлежит только для iPad. Мы пока рассмотрим только под iPhone.

Но для начала мы рассмотрим с чем вообще работает iPhone.

&lt;img id=&quot;lightboxImage&quot; src=&quot;http://www.cimgf.com/wp-content/uploads/2009/06/newproject.png&quot;&gt;</description>
				<category>iPhone/</category>
				<yandex:full-text>Программируя для iPhone вы запускаете Xcode. Создаете новый проект и выбираете предлагаемые Вам шаблоны. Сегодня в Xcode можно увидеть 7 шаблонов, один из которых принадлежит только для iPad. Мы пока рассмотрим только под iPhone.&lt;br /&gt;
&lt;br /&gt;
Но для начала мы рассмотрим с чем вообще работает iPhone.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Windows, Views и View Controllers. Окна, представления и контроллеры представлений&lt;/h4&gt;
&lt;br /&gt;

Window и view – это базовые классы для создания пользовательского интерфейса любого типа. Window представляет собой геометрическое пространство на экране, а view выступает в роли холста для других объектов. Все небольшие компоненты, такие как кнопки, текстовые поля привязаны к view, а сам view уже к какому-то определенному window. Чтобы проще представить — window можно рассматривать как рамку для картины, а view — как само полотно. Window может содержать в себе только классы представлений, а view содержит все остальные элементы управления.&lt;br /&gt;
&lt;br /&gt;
Контроллер представлений View Controller – это объект view специального типа., который управляет тем, как данный view отображается на экране. Контроллеры представлений могут инкапсулировать один или более объектов view и имеет возможность обрабатывать повороты экрана и переходы к другим view, когда пользователь нажимает ту или иную кнопку.&lt;br /&gt;
&lt;br /&gt;
Теперь рассмотрим непосредственно шаблоны.&lt;br /&gt;



&lt;h4&gt;View-based Application&lt;/h4&gt;


Приложение на базе view. Этот шаблон годится для приложений, которые имеют только один view и не использующих навигацию.&lt;br /&gt;

&lt;h4&gt;Navigation-based Application&lt;/h4&gt;


Приложение на базе навигаций. Идеальный шаблон для приложений, у которых несколько view, которые нуждаются в навигации между собой.&lt;br /&gt;

&lt;h4&gt;Utility Application&lt;/h4&gt;


Служебное приложение. Идеально подходит для приложений типа виджетов.&lt;br /&gt;

&lt;h4&gt;OpenGL ES Application&lt;/h4&gt;


Шаблон для разработки 3D игр или графических приложений.&lt;br /&gt;

&lt;h4&gt;Tab Bar Application&lt;/h4&gt;


Приложение с панелью вкладок внизу. Данный шаблон предусматривает специальный контроллер, отображающий вдоль нижней границы экрана панель кнопок, как в iPod.&lt;br /&gt;

&lt;h4&gt;Window-based Application&lt;/h4&gt;


Оконное приложение. Здесь самый минимум. Шаблон генерирует лишь окно. А все остальное мы делаем сами.&lt;br /&gt;</yandex:full-text>
		<pubDate>Wed, 29 Jun 2011 00:00:00 +0400</pubDate>
</item>
<item>
	<title>Программирование iPhone. Часть 7. UIApplication и UIApplicationDelegate</title>
	<link>http://vr-master.ru/blog/55/</link>
	<description>Каждое приложение на iPhone имеет один UIApplication. UIApplication — это стартовая точка приложения. Она отвечает за инициализацию и вывод на на экран UIWindow. Так же отвечает за загрузку первого UIView в UIWindow. Еще одна ответственность, которую несет UIApplication — это управление жизненным циклом приложения. Достигается это использованием UIApllicationDelegate. UIApllicationDelegate управляет тем, как приложение будет реагировать на события. События могут включать в себя события жизненного цикла приложения, такие как запуск и завершение работы приложение. Также могут обрабатываться системные события, такие как входящий звонок, будильник или оповещение календаря.
&lt;br /&gt;&lt;br /&gt;

&lt;img width=&quot;640&quot; height=&quot;441&quot; border=&quot;0&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000bbkh/s640x480&quot; alt=&quot;&quot;&gt;</description>
				<category>iPhone/</category>
				<yandex:full-text>Каждое приложение на iPhone имеет один UIApplication. UIApplication — это стартовая точка приложения. Она отвечает за инициализацию и вывод на на экран UIWindow. Так же отвечает за загрузку первого UIView в UIWindow. Еще одна ответственность, которую несет UIApplication — это управление жизненным циклом приложения. Достигается это использованием UIApllicationDelegate. UIApllicationDelegate управляет тем, как приложение будет реагировать на события. События могут включать в себя события жизненного цикла приложения, такие как запуск и завершение работы приложение. Также могут обрабатываться системные события, такие как входящий звонок, будильник или оповещение календаря.
&lt;br /&gt;
&lt;br /&gt;

&lt;h4&gt;Добавление UIView и UIViewController в UIApplicationDelegate&lt;/h4&gt;
&lt;br /&gt;
    1. Создаем новый проект с шаблоном Window-based Application и называем его AddViewProject.&lt;br /&gt;&lt;br /&gt;
    2. В Groups &amp; Files раскрываем папку Classes. Эта папка содержит AddViewProjectAppDelegate.h и AddViewProjectAppDelegate.m. Эти два файла, как мы уже говорили в предыдущем уроке реализуют пользовательский класс проекта, которые принимает протокол UIApplicationDelegate.&lt;br /&gt;
&lt;br /&gt;
    3. Выделяем папку Resources, кликаем правой кнопкой мыши и выбираем Add | New File. В новом окне, в левом меню выделяем User Interface и выбираем файл Empty XIB. Нажимаем Next.&lt;br /&gt;
&lt;br /&gt;

&lt;img width=&quot;640&quot; height=&quot;441&quot; border=&quot;0&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000bbkh/s640x480&quot; alt=&quot;&quot;&gt;

    4. Называем его FirstViewController.xib и нажимаем Finish.&lt;br /&gt;&lt;br /&gt;

    5. Теперь в папку Classes добавляем новый файл UIViewController subclass. Называем его FirstViewController.m. Необходимо убедиться, что стоит галочка на Also create “FirstViewController.h”.&lt;br /&gt;&lt;br /&gt;

&lt;img width=&quot;532&quot; height=&quot;480&quot; border=&quot;0&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000c2dx/s640x480&quot; alt=&quot;&quot;&gt;&lt;br /&gt;&lt;br /&gt;


    6. Теперь двойным щелчком открываем FirstViewController.xib в Interfac Builder.&lt;br /&gt;&lt;br /&gt;

    7. В библиотеке выбираем View и перетаскиваем его в окно FirstViewController.xib.&lt;br /&gt;&lt;br /&gt;

    8. Теперь в этом окне выделяем File's Owner и в Inspector — во вкладке Object Identity – в поле Class выбираем FirstViewController. Таким образом мы прикрепили наш класс, который мы создали к созданному нами XIB.&lt;br /&gt;

&lt;img width=&quot;640&quot; height=&quot;412&quot; border=&quot;0&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000d948/s640x480&quot; alt=&quot;&quot;&gt;
&lt;br /&gt;&lt;br /&gt;

    9. Теперь в том же Inspector открываем вкладку First View Controller Connections и настраиваем только что добавленный нами View (в шаге 7), как View для нашего FirstViewController.&lt;br /&gt;&lt;br /&gt;

&lt;img width=&quot;640&quot; height=&quot;417&quot; border=&quot;0&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000es9d/s640x480&quot; alt=&quot;&quot;&gt;&lt;br /&gt;&lt;br /&gt;

    10. Теперь откроем View изменим его цвет.&lt;br /&gt;&lt;br /&gt;

&lt;img width=&quot;640&quot; height=&quot;431&quot; border=&quot;0&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000ft2d/s640x480&quot; alt=&quot;&quot;&gt; &lt;br /&gt;&lt;br /&gt;

    Сохраняем FirstViewController.xib и закрываем Interface Builder.&lt;br /&gt;&lt;br /&gt;

    Открываем AddViewProjectAppDelegate.h и импортируем в него FirstViewController.h, и прописываем property.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
___________________________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
#import &lt;UIKit/UIKit.h&gt;&lt;br /&gt;
#import &quot;FirstViewController.h&quot;&lt;br /&gt;
@interface AddViewProjectAppDelegate : NSObject &lt;UIApplicationDelegate&gt; {&lt;br /&gt;
&lt;br /&gt;
/*Наше единственное окно в приложении*/&lt;br /&gt;
UIWindow *window;&lt;br /&gt;
&lt;br /&gt;
/*Класс который мы будем отображать в окне*/&lt;br /&gt;
FirstViewController *first;&lt;br /&gt;
}&lt;br /&gt;
@property (nonatomic, retain) IBOutlet UIWindow *window;&lt;br /&gt;
@property (nonatomic, retain) FirstViewController *first;&lt;br /&gt;
@end&lt;br /&gt;
&lt;br /&gt;
___________________________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
    Открываем AddViewProjectAppDelegate.m, делаем synthesize к first и изменяем applicationDidFinishLaunching так, чтобы он получал ссылку на FirstViewController из FirstViewController.xib и потом добавляем view, как subview к нашему window &lt;br /&gt;
&lt;br /&gt;
___________________________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
#import &quot;AddViewProjectAppDelegate.h&quot;&lt;br /&gt;
&lt;br /&gt;
@implementation AddViewProjectAppDelegate&lt;br /&gt;
&lt;br /&gt;
@synthesize window;&lt;br /&gt;
@synthesize first;&lt;br /&gt;
- (void)applicationDidFinishLaunching:(UIApplication *)application {&lt;br /&gt;
/*Инициализация нашего класса*/&lt;br /&gt;
first = [[FirstViewController alloc]&lt;br /&gt;
initWithNibName:@&quot;FirstViewController&quot; bundle:nil];&lt;br /&gt;
&lt;br /&gt;
/*Прикрепляем View, который мы создали в классе FirstViewController к нашему окну*/&lt;br /&gt;
[window addSubview: [first view]];&lt;br /&gt;
 &lt;br /&gt;
/*Делаем наше окно ключевым и видимым*/&lt;br /&gt;
[window makeKeyAndVisible];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
- (void)dealloc {&lt;br /&gt;
[window release];&lt;br /&gt;
[first release];&lt;br /&gt;
[super dealloc];&lt;br /&gt;
}&lt;br /&gt;
@end&lt;br /&gt;
&lt;br /&gt;
_____________________________________________________________________________________&lt;br /&gt;
&lt;br /&gt;
    14. Нажимаем Build and Go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt; 

 

&lt;h4&gt;Что такое property?&lt;/h4&gt;

&lt;br /&gt; 

У Objective-C есть понятие свойств – property. Свойства — это посредники между переменными и методами. Это позволяет разработчику адресовать переменные напрямую, а не посредством отдельных методов считывания (getter) и отдельного метода задания (setter).&lt;br /&gt;
&lt;br /&gt;
Описывать свойства можно с различными семантиками хранения: retain, nonatomic, copy, assingn.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;

&lt;h4&gt;Что такое synthesize?&lt;/h4&gt;

&lt;br /&gt;
Для того , чтобы реализовать данное свойство, в implementation данного класса нужно использовать оператор @synthesize.&lt;br /&gt;</yandex:full-text>
		<pubDate>Wed, 29 Jun 2011 00:00:00 +0400</pubDate>
</item>
<item>
	<title>Программирование iPhone. Часть 6. Основы языка Objective C</title>
	<link>http://vr-master.ru/blog/54/</link>
	<description>В этой части мы поговорим о языке, на котором мы и будем программировать наши приложения на iPhone. Язык этот Objective-C. &lt;br /&gt;&lt;br /&gt;

&lt;img width=&quot;640&quot; height=&quot;386&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000a9ry/s640x480&quot;&gt;</description>
				<category>iPhone/</category>
				<yandex:full-text>&lt;h4&gt;Классы и объекты. Interface и Implementation&lt;/h4&gt;
&lt;br /&gt;
Классы в Objective C- это такие же классы как и в любом другом ООП.&lt;br /&gt;
&lt;br /&gt;
Класс делится на две части: interface (интерфейс) и implementation (представление). Interface объявляет переменные и методы. Это стандартный заголовочный файл, как в языке C. Implementation содержит описания этих переменных и методов, которые были объявлены в interface.&lt;br /&gt;
&lt;br /&gt;
Interface содержится в файле с расширением .h, а implementation в файле с расширением .m.&lt;br /&gt;
&lt;br /&gt;
Для того чтобы создать класс нужно:&lt;br /&gt;
&lt;br /&gt;
1. Запустить Xcode.&lt;br /&gt;
&lt;br /&gt;
2. В Groups &amp; Files нажать правой кнопкой мыши на папку Classes и выбрать Add | New Group. Назовите как-нибудь вашу группу.&lt;br /&gt;
&lt;br /&gt;
3. Теперь нажмите правой кнопкой мыши по только что созданной папке и выбираем Add | New File. В новом окне выбираем Cocoa Touch Class и потом выбираем Objective-C class. При этом необходимо убедиться, что Subclass – NSObject, как показано на рисунке. Нажимаем Next.&lt;br /&gt;

&lt;img width=&quot;534&quot; height=&quot;480&quot; border=&quot;0&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/00007fxh/s640x480&quot; alt=&quot;&quot;&gt;
&lt;br /&gt;
4. В следующем окне называем наш класс не меняя расширение. Например Simple.m. Здесь тоже необходимо убедиться, что стоит галочка на Also Create “Simple.h”.&lt;br /&gt;
&lt;br /&gt;
&lt;img width=&quot;532&quot; height=&quot;480&quot; border=&quot;0&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/00008cy1/s640x480&quot; alt=&quot;&quot;&gt;&lt;br /&gt;&lt;br /&gt;

Шаблон при этом создаст interface в Simple.h и implementation в Simple.m &lt;br /&gt;
&lt;br /&gt;
____________________________________________&lt;br /&gt;
&lt;br /&gt;
#import &lt;Foundation/Foundation.h&gt;&lt;br /&gt;
@interface Simple : NSObject&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
@end&lt;br /&gt;
____________________________________________&lt;br /&gt;
&lt;br /&gt;
#import &quot;Simple.h&quot;&lt;br /&gt;
@implementation Simple&lt;br /&gt;
@end&lt;br /&gt;
&lt;br /&gt;
____________________________________________&lt;br /&gt;


Методы и переменные объявляются в Simple.h в @interface. Объявление означает - вы сообщаете компилятору, что такой-то метод. При этом не пишите здесь код этого метода. А в файле Simple.m вы описываете этот метод в @implementation.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Анатомия interface&lt;/h4&gt;
&lt;br /&gt;

Interface состоит из импорта заголовочных файлов, объявлений переменных и методов. Открывается он с помощью @interface и закрывается с помощью @end.&lt;br /&gt;

&lt;img width=&quot;640&quot; height=&quot;386&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/0000a9ry/s640x480&quot;&gt;

&lt;br /&gt;

&lt;h4&gt;Анатомия implementation&lt;/h4&gt;
&lt;br /&gt;

implementation начинается с импорта заголовочного файла с расширением .h, где содержится interface.&lt;br /&gt;
&lt;br /&gt;
Далее между @implementation и @end заключается описание методов и переменных.&lt;br /&gt;

&lt;img width=&quot;586&quot; height=&quot;398&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/00009q2d&quot;&gt;</yandex:full-text>
		<pubDate>Wed, 29 Jun 2011 00:00:00 +0400</pubDate>
</item>
<item>
	<title>Программирование iPhone. Часть 5. Видеоурок 1 - Первая программа на iPhone.</title>
	<link>http://vr-master.ru/blog/52/</link>
	<description>В видеоуроке мы напишем наше первое приложение на iPhone. Здесь не будет объясняться исходный код, этот урок только для того, чтобы наконец почувствовать себя программистом под iPhone. И хотя приложение не несет в себе никакой пользы - это станет первым, но очень важным шагом в программировании.&lt;br /&gt;&lt;br /&gt;

&lt;iframe width=&quot;480&quot; height=&quot;390&quot; src=&quot;http://www.youtube.com/embed/FRJZd1uHmHo&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;</description>
				<category>iPhone/</category>
				<yandex:full-text>В видеоуроке мы напишем наше первое приложение на iPhone. Здесь не будет объясняться исходный код, этот урок только для того, чтобы наконец почувствовать себя программистом под iPhone. И хотя приложение не несет в себе никакой пользы - это станет первым, но очень важным шагом в программировании.&lt;br /&gt;
&lt;br /&gt;
Приятного просмотра.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe width=&quot;480&quot; height=&quot;390&quot; src=&quot;http://www.youtube.com/embed/FRJZd1uHmHo&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;</yandex:full-text>
		<pubDate>Wed, 29 Jun 2011 00:00:00 +0400</pubDate>
</item>
<item>
	<title>Программирование iPhone. Часть 4. Ограничения iPhone.</title>
	<link>http://vr-master.ru/blog/51/</link>
	<description>&lt;br /&gt;&lt;br /&gt;Перед тем, как мы начнем программировать на iPhone давайте разберем какие у него есть ограничения. Память и скорость процессора ограничены, экран маленький, безопасность хромает, а приложения не всемогущи. Разберемся по порядку.

&lt;img class=&quot;alignnone size-full wp-image-116819&quot; width=&quot;400&quot; height=&quot;290&quot; alt=&quot;&quot; src=&quot;http://static.product-reviews.net/wp-content/uploads/iPhone-4-Broken-Sword-2.jpg&quot;&gt;</description>
				<category>iPhone/</category>
				<yandex:full-text>Перед тем, как мы начнем программировать на iPhone давайте разберем какие у него есть ограничения. Память и скорость процессора ограничены, экран маленький, безопасность хромает, а приложения не всемогущи. Разберемся по порядку.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Память и скорость процессора&lt;/h4&gt;
&lt;br /&gt;
&lt;br /&gt;
Итак память iPhone ограничена. Хотя Apple и не разграшает эту информацию, но согласно данным одного хакера, который взломал iPhone - скорость процессора iPhone 3G составляет около 600 МГц с 128 Мб ОЗУ.
Если ваше приложение iPhone использует очень много памяти, то iOS может запросто прекратить работу программы во избежание краха системы.&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Маленький экран&lt;/h4&gt;
&lt;br /&gt;
&lt;br /&gt;
Экран iPhone 3G составляет 480 х 320 пикселей. Не очень большая комната не так ли? Конечно, таких элементов управления как кнопок значительно меньше, но все же пространство сильно ограничено.
Так как экран маленький, то одновременно активным является только одно окно (фактически это даже не окна, здесь это приводится только в качестве сравнения с программированием на ПК)&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;Безопасность&lt;/h4&gt;
&lt;br /&gt;
&lt;br /&gt;
Вы можете читать и записывать файлы только в директории своего приложения. Лезть в директории других приложений нельзя! Но физически это возможно, только вот проверку в Apple ваше приложение не пройдет и вы не сможете протавать это приложени в App Store.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В следующей статье мы напишем наше первое приложение для iPhone.</yandex:full-text>
		<pubDate>Wed, 29 Jun 2011 00:00:00 +0400</pubDate>
</item>
<item>
	<title>Программирование iPhone. Часть 3. Objective C, Foundation Framework, Cocoa Touch и UIKit</title>
	<link>http://vr-master.ru/blog/50/</link>
	<description>&lt;br /&gt;&lt;br /&gt;Технология iPhone представлена в виде слоев. Основной слой – это Core OS. На его вершине находится слой Core Services. На вершине слоя Core Services находится слой Media. И на самой вершине находится слой Cocoa Touch (рис. 1)&lt;br /&gt;
&lt;br /&gt;
&lt;img width=&quot;265&quot; height=&quot;252&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/00005pkw&quot;&gt;</description>
				<category>iPhone/</category>
				<yandex:full-text>&lt;br /&gt;&lt;br /&gt;Технология iPhone представлена в виде слоев. Основной слой – это Core OS. На его вершине находится слой Core Services. На вершине слоя Core Services находится слой Media. И на самой вершине находится слой Cocoa Touch (рис. 1)&lt;br /&gt;
&lt;br /&gt;
&lt;img width=&quot;265&quot; height=&quot;252&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/00005pkw&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
Вообще можно еще более упростить эту технологию. Можно разделить и объединить их в 2 слоя – это слой языка C и слой Cocoa языка Objective C ( рис. 2)&lt;br /&gt;
&lt;br /&gt;
&lt;img width=&quot;474&quot; height=&quot;164&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/00006rrt&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
Рисунок 2.&lt;br /&gt;
&lt;br /&gt;
Слой языка C включает в себя слой операционной системы. Состоит он из таких вещей как низкоуровневый файл ввода/вывода, порты и SQLite.&lt;br /&gt;
&lt;br /&gt;
Cocoa Touch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Технология Cocoa на iPhone называется Cocoa Touch (она такая же как и обычное Cocoa), потому что iOS состоит из событий прикосновения (touch). Когда вы прикасаетесь к экрану iPhone (tap) – происходит событие touch. События touch позволяьт нам программировать события на прикосновения пользователей.&lt;br /&gt;
&lt;br /&gt;
Cocoa Touch сопровождается библиотеками классов, необходимых для разработки приложения на iPhone. При разработке приложения на iPhone используются два framework – это Foundation framework и UIKit framework. Framework – это коллекция кодов, решающих аналогичные задачи. Foundation framework посвящена стандартным темам программирования таким, как коллекции, строки, файлы ввода/вывода и другие базовые задачи. UIKit посвящена интерфейсу iPhone и содержит такие классы как UIview. При изучении больше времени мы будем уделять UIKit.&lt;br /&gt;
&lt;br /&gt;
Foundation Framework&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Foundation framework содержит классы языка Objective C, которые обворачивают внутри себя функции низкоуровневого программирования. Например, вместо того, чтобы работать с низкоуровневыми файлами ввода/вывода можно работать с классом NSFileManager. Foundation framework сопровождается множеством классов, которые реально должны быть изучены, если вы хотите разрабатывать приложения для iPhone.&lt;br /&gt;
&lt;br /&gt;
iPhone Frameworks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ниже в таблице представлен список framework, которые доступны разработчику iPhone.&lt;br /&gt;&lt;br /&gt;


&lt;table width=&quot;200&quot; cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Framework&lt;/td&gt;
&lt;td&gt;Назначение&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AddressBook&lt;/td&gt;
&lt;td&gt;Доступ к списку контактов пользователя&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AddressBookUI&lt;/td&gt;
&lt;td&gt;Отображение списка контактов&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AudioToolbox&lt;/td&gt;
&lt;td&gt;Потоки аудиоданных; запись и проигрывание видео&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AudioUnit&lt;/td&gt;
&lt;td&gt;Аудио единицы&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CFNetwork&lt;/td&gt;
&lt;td&gt;Сотовый и wi-fi интернет&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CoreFoundation&lt;/td&gt;
&lt;td&gt;Похож на Foundation framework, но уровнем ниже (лучше его не использовать)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CoreGraphics&lt;/td&gt;
&lt;td&gt;Quartz 2D&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CoreLocation&lt;/td&gt;
&lt;td&gt;Местоположение пользователя/GPS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Foundation&lt;/td&gt;
&lt;td&gt;Слой Cocoa foundation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MediaPlayer&lt;/td&gt;
&lt;td&gt;Проигрывание видео&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenAL&lt;/td&gt;
&lt;td&gt;Позиционные аудиобиблиотеки&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;QuartzCore&lt;/td&gt;
&lt;td&gt;Анимация&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security&lt;/td&gt;
&lt;td&gt;Сертифицированные ключи и доверительная политика&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SystemConfiguration&lt;/td&gt;
&lt;td&gt;Конфигурация интернет&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UIKit&lt;/td&gt;
&lt;td&gt;Пользовательский интерфейс iPhone&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;br /&gt;
&lt;br /&gt;
В слудующей статье будут рассмотрены ограничения iPhone, которые необходимо учитывать при разработке приложений на iPhone.</yandex:full-text>
		<pubDate>Wed, 29 Jun 2011 00:00:00 +0400</pubDate>
</item>
<item>
	<title>Программирование iPhone. Часть 2. Mac на PC</title>
	<link>http://vr-master.ru/blog/49/</link>
	<description>&lt;br /&gt;&lt;br /&gt;Чтобы программировать на iPhone нужен Mac с операционной системой Leopard. Но что же делать если покупать дорогостоящую технику нет возможности, а программировать очень хочется?&lt;br /&gt;
&lt;br /&gt;
Выход есть.&lt;br /&gt;&lt;br /&gt;

&lt;img width=&quot;442&quot; height=&quot;385&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/000040hb&quot;&gt;&lt;br /&gt;</description>
				<category>iPhone/</category>
				<yandex:full-text>&lt;br /&gt;&lt;br /&gt;Чтобы программировать на iPhone нужен Mac с операционной системой Leopard. Но что же делать если покупать дорогостоящую технику нет возможности, а программировать очень хочется? &lt;br /&gt;
&lt;br /&gt;
Выход есть.&lt;br /&gt;
&lt;br /&gt;
Ставим Mac на PC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Будем запускать Mac OS с помощью средств виртуализации. Для этого нам понадобится VMware Workstation - одна из самых распространенных на сегодняшний день программ, позволяющих виртуально запускать другие ОС.&lt;br /&gt;
&lt;br /&gt;
1. Скачиваем. Устанавливаем.&lt;br /&gt;
&lt;br /&gt;
Окно VMware Workstation выглядит так:&lt;br /&gt;
&lt;br /&gt;
&lt;img width=&quot;320&quot; height=&quot;230&quot; border=&quot;0&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/00001t0d/s320x240&quot; alt=&quot;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
2. Теперь нам понадобится диск с образом операционной системой Leopard. В таком случае нажимаем «Создать новую виртуальную машину» и откроется окно:&lt;br /&gt;
&lt;br /&gt;
&lt;img width=&quot;275&quot; height=&quot;240&quot; border=&quot;0&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/000026h1/s320x240&quot; alt=&quot;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
Выбираем обычный режим установки и нажимаем Next:&lt;br /&gt;
&lt;br /&gt;
&lt;img width=&quot;442&quot; height=&quot;385&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/000030wa&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
Если у вас диск, то выбираем Установку из инсталляционного диска, если есть виртуальный образ – выбираем его.&lt;br /&gt;
Прокликав по кнопкам Next, вводя необходимые параметры мы дойдем до задания размера диска виртуальной машины:&lt;br /&gt;
&lt;br /&gt;
&lt;img width=&quot;442&quot; height=&quot;385&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://pics.livejournal.com/vr_mstr/pic/000040hb&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Оставляем как есть.&lt;br /&gt;
В следующем окне нажимаем Finish и произойдет установка.&lt;br /&gt;
После установки можно будет запустить виртуальную машину и работать.&lt;br /&gt;
&lt;br /&gt;
Нюансы: для успешной работы в виртуальной машины и программирования в ней - нужно иметь достаточно мощный компьютер. Если не хватает оперативной памяти – нужно добавить, как минимум до 4Gb, чтобы виртуальной машине выделить хотя бы 2Gb.&lt;br /&gt;
&lt;br /&gt;
Теперь мы можем начать программировать на iPhone.&lt;br /&gt;
&lt;br /&gt;
В следующей статье мы разберем, что такое Objective-C, Foundation Framework,
Cocoa Touch, and UIKit.</yandex:full-text>
		<pubDate>Wed, 29 Jun 2011 00:00:00 +0400</pubDate>
</item>
<item>
	<title>Программирование iPhone. Часть 1. App Store и iPhone SDK</title>
	<link>http://vr-master.ru/blog/46/</link>
	<description>&lt;div class=&quot;text&quot;&gt;
Итак, начнем изучение &lt;strong&gt;программирования под iPhone&lt;/strong&gt; с азов. Рассмотрим, что такое &lt;strong&gt;App Store&lt;/strong&gt; и &lt;strong&gt;iPhone SDK&lt;/strong&gt;.
&lt;/div&gt;

&lt;h3&gt;App Store&lt;/h3&gt;

&lt;img height=&quot;98&quot; align=&quot;middle&quot; width=&quot;100&quot; src=&quot;/blog/images/AppStore.jpg&quot; alt=&quot;&quot; /&gt;

&lt;div class=&quot;text&quot;&gt;
App Store имеет уникальную концепцию. App Store – это приложения для iPhone и для iPod touch. Вы используете App Store для поиска и загрузки приложений из Apple iTunes Store. Некоторые приложения бесплатны, в то время как другие имеют (обычно) символическую плату. Используя свой аккаунт в iTunes вы можете загружать приложения прямо в iPhone или iPod touch.
Загружать приложения из App Store легко и недорого. Это позволяет сделать прибыльный бизнес для независимых разработчиков, желающих воспользоваться огромной базой пользователей iTunes Store. Независимые разработчики могут разрабатывать приложения для App Store загрузив iPhone SDK. Затем нужно разработать приложение и присоединиться к Программе Разработчиков iPhone. Потом Apple просмотрит ваше приложение и если он успешно пройдет тестирование его добавят в iTunes Store.
&lt;/div&gt;

&lt;h3&gt;Программный пакет разработчика iPhone (iPhone SDK)&lt;/h3&gt;

&lt;img height=&quot;113&quot; width=&quot;150&quot; alt=&quot;&quot; src=&quot;/blog/images/iphone-SDK-31-beta-2-1.jpg&quot; /&gt;

&lt;div class=&quot;text&quot;&gt;
Итак, вы решили попробовать себя в роли разработчика для App Store. Первое, что вы должны сделать, чтобы стать разработчиком – это зарегистрироваться в Центре Разработчиков iPhone (iPhone Dev Center) по адресу: http://developer.apple.com/iphone. Регистрация свободна и позволит вам загрузить iPhone SDK.
&lt;/div&gt;

&lt;div class=&quot;text&quot;&gt;
Второе, что нужно сделать – это установить Xcode и iPhone SDK, загрузив их с Apple’s Developer Connection. Пошаговая инструкция установки доступна на сайте Apple. Следующее, что вы обязательно должны сделать – это запустить Xcode и загрузить документацию. Это займет некоторе времся, но оно того стоит. Документация удивительно полноценна и очень хорошо написана. Если вы хорошо знаете английский язык, то это очень мощный инструмент в изучении программирования под iPhone.
&lt;/div&gt;

&lt;div class=&quot;text&quot;&gt;
Для того, чтобы тестировать приложения на своем iPhone или iPod touch нужно зарегистрироваться в программе разработчиков iPhone. Это членство отличается от членства в Центре разработчиков iPhone тем, что оно платное $99 в год. Оно дает вам право скачать инструменты, необходимые для тестирования приложений непосредственно на iPhone и iPod touch, а так же право на то, чтобы приложение было в App Store.
&lt;/div&gt;

&lt;div class=&quot;text&quot;&gt;
Самое гравное, что необходимо для программирования под iPhone - это компьютер Mac от Apple. К большому сожалению в нашей стране техника от Apple, особенно компьютеры, не так распространены, как PC. Для того, чтобы просто начать пробовать программировать под iPhone вовсе необязательно бежать в магазин и покупать дорогостоящий Mac. Выход есть и он будет описан в следующей статье.
&lt;/div&gt;</description>
				<category>iPhone/</category>
				<yandex:full-text>&lt;div class=&quot;text&quot;&gt;
Итак, начнем изучение &lt;strong&gt;программирования под iPhone&lt;/strong&gt; с азов. Рассмотрим, что такое &lt;strong&gt;App Store&lt;/strong&gt; и &lt;strong&gt;iPhone SDK&lt;/strong&gt;.
&lt;/div&gt;

&lt;h3&gt;App Store&lt;/h3&gt;

&lt;img height=&quot;98&quot; align=&quot;middle&quot; width=&quot;100&quot; src=&quot;/blog/images/AppStore.jpg&quot; alt=&quot;&quot; /&gt;

&lt;div class=&quot;text&quot;&gt;
App Store имеет уникальную концепцию. App Store – это приложения для iPhone и для iPod touch. Вы используете App Store для поиска и загрузки приложений из Apple iTunes Store. Некоторые приложения бесплатны, в то время как другие имеют (обычно) символическую плату. Используя свой аккаунт в iTunes вы можете загружать приложения прямо в iPhone или iPod touch.
Загружать приложения из App Store легко и недорого. Это позволяет сделать прибыльный бизнес для независимых разработчиков, желающих воспользоваться огромной базой пользователей iTunes Store. Независимые разработчики могут разрабатывать приложения для App Store загрузив iPhone SDK. Затем нужно разработать приложение и присоединиться к Программе Разработчиков iPhone. Потом Apple просмотрит ваше приложение и если он успешно пройдет тестирование его добавят в iTunes Store.
&lt;/div&gt;

&lt;h3&gt;Программный пакет разработчика iPhone (iPhone SDK)&lt;/h3&gt;

&lt;img height=&quot;113&quot; width=&quot;150&quot; alt=&quot;&quot; src=&quot;/blog/images/iphone-SDK-31-beta-2-1.jpg&quot; /&gt;

&lt;div class=&quot;text&quot;&gt;
Итак, вы решили попробовать себя в роли разработчика для App Store. Первое, что вы должны сделать, чтобы стать разработчиком – это зарегистрироваться в Центре Разработчиков iPhone (iPhone Dev Center) по адресу: http://developer.apple.com/iphone. Регистрация свободна и позволит вам загрузить iPhone SDK.
&lt;/div&gt;

&lt;div class=&quot;text&quot;&gt;
Второе, что нужно сделать – это установить Xcode и iPhone SDK, загрузив их с Apple’s Developer Connection. Пошаговая инструкция установки доступна на сайте Apple. Следующее, что вы обязательно должны сделать – это запустить Xcode и загрузить документацию. Это займет некоторе времся, но оно того стоит. Документация удивительно полноценна и очень хорошо написана. Если вы хорошо знаете английский язык, то это очень мощный инструмент в изучении программирования под iPhone.
&lt;/div&gt;

&lt;div class=&quot;text&quot;&gt;
Для того, чтобы тестировать приложения на своем iPhone или iPod touch нужно зарегистрироваться в программе разработчиков iPhone. Это членство отличается от членства в Центре разработчиков iPhone тем, что оно платное $99 в год. Оно дает вам право скачать инструменты, необходимые для тестирования приложений непосредственно на iPhone и iPod touch, а так же право на то, чтобы приложение было в App Store.
&lt;/div&gt;

&lt;div class=&quot;text&quot;&gt;
Самое гравное, что необходимо для программирования под iPhone - это компьютер Mac от Apple. К большому сожалению в нашей стране техника от Apple, особенно компьютеры, не так распространены, как PC. Для того, чтобы просто начать пробовать программировать под iPhone вовсе необязательно бежать в магазин и покупать дорогостоящий Mac. Выход есть и он будет описан в следующей статье.
&lt;/div&gt;</yandex:full-text>
		<pubDate>Thu, 23 Jun 2011 00:00:00 +0400</pubDate>
</item>
</channel>
</rss>

