LINUX.ORG.RU

Iphone


7

11

Всего сообщений: 2

Back to 2008

Купил я недавно совсем недорого б/у-шный iPhone 3G 8Gb так сказать, для ознакомления с продукцией Apple. И сразу же был опечален тем фактом что нельзя поставить программы из AppStore на него.
Пришлось читать что такое jailbreak (это наподобие получения прав root на android). К слову, был у меня раньше андроид, там все было намного проще. Пришлось повозиться с введением смартфона в DFU-режим. Установил Cydia, прошивка последняя из возможных 4.2.1
Кстати, кто не знает, ставится все это дело из deb-пакетов через apt (тот самый пакетный менеджер, который в Debian) Конечно, нашел я программы под него, поставил. Я думал что это андроид перешел на такую политику - старые девайсы с прошивкой 2.3 мы не поддерживаем, а все пишем под >=4.0 Оказалось у Apple все еще намного жестче.
Ну да ладно, с этой проблемой я справился. Смотрим дальше. А дальше - процессор 412 Мгц, который не известно как разогнать до 600 Мгц.
Нижний док-бар и spotlight убрал нафиг, ибо не нужно, и только тормозит. Все синхронизируется через тунец - конечно удобно, просто подключаешь девайс через кабель и все контакты, sms, заметки и прочая лабуда снова у тебя. Вот за это Apple'у спасибо.
Еще конечно радует что система полностью Unix-подобная - есть юниксовые утилиты вроде bash, tar, zip. И самое главное - ФС hfs, т.е. можно запускать бинарники прямо на телефоне, в android там fat32 - нет бита исполнения. Если кто знает рабочий метод разгона - милости прошу отписаться.

>>> Просмотр (960x959, 509 Kb)

 , , ,

w1nner
()

OpenSuSE, iPod Touch, Objective-C и все-все-все.

Когда-то давно в толксах я писал о том, что собрал iPhone Toolchain в линуксе, и даже что-то показывал, но потом свободного времени стало меньше и я перестал заниматься этим делом.

Теперь снова решил поковыряться с Objecitve-C и iPhoneOS и для начала перенести пример (http://www.iphonesdkarticles.com/2008/07/first-iphone-application.html) с XCode на iPhone Toolchain в линукс.

Основная сложность этого дела - это создание интерфейса приложения без Interface Builder, потому что IB в линуксе естественно нет, поэтому я открыл XCode на макбуке и, пользуясь такими благами цивилизации как автодополнение и iPhone Simulator, начал писать интерфейс вручную. Немного помучившись с видами и контроллерами у меня это получилось.

Далее я перенес написанный код в линукс и попытался его собрать, все собралось успешно, без единой ошибки, очень удивило то что iPhone Toolchain поддерживает все плюшки Objective-C 2.0, такие как @property, я ожидал, что с ними будут проблемы (кстати, а гнустеповский компилятор поддерживает Objective-C 2.0?). Но при запуске я видел только пустой экран и фоновую картинку. После некоторых экспериментов я понял в чем дело, XCode по-другому определяет точку входа в Cocoa-приложение. В XCode-проекте функция main выглядит так:

#import <UIKit/UIKit.h>

int main(int argc, char *argv[]) {
    
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
}

Видно, что функции UIApplicationMain передаются пустые аргументы, а в iPhone Toolchain проекте эта же функция должна получить название класса основной программы:

#import <UIKit/UIKit.h>

int main(int argc, char *argv[]) {
    
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, @"HelloUniverseProgAppDelegate", @"HelloUniverseProgAppDelegate");
    [pool release];
    return retVal;
}

в моем случае это HelloUniverseProgAppDelegate. И еще одно отличие: класс HelloUniverseProgAppDelegate в XCode наследуется от NSObject с интерфейсом UIApplicationDelegate, а в iPhone Toolchain от UIApplication.

На картинке рядом виден результат работы программы. Программа простая, но основной целью этого действа была проверка насколько сложно портировать код для XCode в iPhone Toolchain, оказалось, что совсем не сложно.

А вообще на скриншоте Gnome в OpenSuSE 11.2 с дефолтной темой (даже обоина дефолтная) от которой тошнит мужика2, global-menu вверху, gnome-do внизу, на заднем плане gajim с конфой любителей Objective-C (гы-гы) loosers@conference.jabber.ru и opera.

Зачем я это все написал? надоели пустые скриншоты с дефолтными кедами4 и скриншоты повествующие о то как автор настроил себе тайловый WM.

P.S. Это не закос на мак, я просто привык к подобному интерфейсу.

>>> Просмотр (1280x1024, 383 Kb)

 , , , ,

mono
()