iPhone: Создание игр для iOS (iPhone и iPad)
GameDev.ru / Сообщества / iPhone / Статьи / [iPhone, XCode] Hello World

[iPhone, XCode] Hello World

Автор:

HelloWorld | [iPhone, XCode] Hello World

Идем на http://developer.apple.com, скачиваем iPhone SDK, ставим. Всё доступно бесплатно после регистрации, в состав iPhone SDK входит среда разработки XCode.
Если заплатить 100$, дождаться сертификатов от Apple, настроить их - то можно будет запускать свои приложение на телефоне. А пока будем запускать свой Hello World на эмуляторе телефона.

Запускаем XCode, New Project, выбираем Window-based Application, Product пусть будет Universal (сразу для iPhone и iPad), вписываем любое имя для проекта.
Слева, в Groups&Files удаляем папки iPad и iPhone (выделяем и жмем на кнопку Del).
В папке Shared находим .plist, открываем его, находим строчки начинающиеся на "Main nib file" и удаляем их тоже (кпопкой Del). Таким образом мы удалили Delphi Interface Builder из проекта (Empty Project в XCode нету).

Заходим в папку Other Sources, main.m, стираем всё и вставляем этот код:

#import <UIKit/UIKit.h>

@interface HelloWorldAppDelegate : NSObject <UIApplicationDelegate>
{}
@end

@implementation HelloWorldAppDelegate 

- (void) applicationDidFinishLaunching: (UIApplication *) unused
{
    UIAlertView * myAlert = 
    [
        [ UIAlertView alloc ]
        initWithTitle: nil
        message: @"Hello World"
        delegate: nil
        cancelButtonTitle: nil
        otherButtonTitles: nil, 
        nil
    ];

    [ myAlert show ];
}

@end

int main () 
{
    return UIApplicationMain ( 0, NULL, nil, @"HelloWorldAppDelegate" );
}

Нажимаем на кнопку Build and Run. Всё.

--
http://pshenichny.livejournal.com/28773.html

22 сентября 2010

#iPhone, #XCode

Комментарии:
SergioУдалёнwww23 сен. 201012:16#1
Ужас... зачем это нужно?
Нет AutoreleasePool, и при этом не вызывается release у AlertView - это раз. Второе - зачем удалять интерфейс? Хелоуворлд, который вводит в заблуждение и не приносит никакой пользы. Лучше бы уже рассказал как в IB кинуть надпись с текстом "Hello World!" на окно... И еще код ужасно отформатирован
RomanPshenichnyПостоялецwww23 сен. 201013:46#2
AutoReleasePool не нужен, release не нужен тоже - всё освободится после выхода из приложения.
Interface Builder не нужен - это самый простой и короткий Hello World.
SergioУдалёнwww23 сен. 201013:59#3
@interface HelloWorldAppDelegate : NSObject <UIApplicationDelegate>
@end

@implementation HelloWorldAppDelegate 

- (void) applicationDidFinishLaunching: (UIApplication *) unused
{
    UIAlertView* a = [[UIAlertView alloc] initWithTitle:nil message:@"Hello World" delegate:nil 
                    cancelButtonTitle:nil otherButtonTitles:nil];
    [a show];
}

@end

int main() 
{
    return UIApplicationMain(0, 0, nil, @"HelloWorldAppDelegate");
}

Еще короче :)
Но смысла я в этом примере не вижу

RomanPshenichnyПостоялецwww23 сен. 201015:29#4
Еще короче - писать весь код в одну длинную строчку.

Какой смысл в Hello World?
А нет его :)

SergioУдалёнwww23 сен. 201016:06#5
RomanPshenichny
> Какой смысл в Hello World?
Познакомить человека с языком/платформой/средой разработки. Здесь же изначально ты задаешь неверный путь
SIFПостоялецwww25 окт. 201021:07#6
AutoReleasePool не нужен, release не нужен тоже - всё освободится после выхода из приложения.
Interface Builder не нужен - это самый простой и короткий Hello World.

Дальше можно не читать.Зачем вообще delete, free - всё освободиться при завершении приложения.

/ Форум / iPhone: Создание игр

Тема в архиве.

2001—2018 © GameDev.ru — Разработка игр