Как стать автором
Обновить

Комментарии 10

Я правильно понимаю, что без джеила работать не будет? У Вас на это только тег намекает.
Да, так и есть. Собственно, слово «твик» в заголовке на это тоже указывает.
Сразу после настройки окружения make падает с такой ошибкой

~/tweakname/theos/Prefix.pch:25:1: error: logos/logos.h: No such file or directory
make[2]: *** [.theos/obj/Tweak.xm.0b922c37.o] Error 1
make[1]: *** [internal-library-all_] Error 2
make: *** [TweakName.all.tweak.variables] Error 2
Забегая вперед скажу, что в попытках собрать свой пустой и ваш твик с github Xcode я переустановил с нуля, но это не помогло. Ваш твик с таким логом:
Admins-Mac:ihabrtweak Admin$ make
Making all for tweak iHabrTweak...
 Preprocessing Tweak.xm...
 Compiling Tweak.xm...
In file included from <command-line>:0:
/Users/Admin/Desktop/prozx/iHabrTweak/ihabrtweak/theos/Prefix.pch:25:1: error: logos/logos.h: No such file or directory
Tweak.xm:1:35: error: SpringBoard/SBAwayView.h: No such file or directory
Tweak.xm:8:25: error: logos/logos.h: No such file or directory
cc1objplus: warnings being treated as errors
Tweak.xm: In function ‘objc_object* _logos_method$_ungrouped$SBAwayView$initWithFrame$(SBAwayView*, objc_selector*, CGRect)’:
Tweak.xm:26: warning: no ‘-middleFrame’ method found
Tweak.xm:26: warning: (Messages without a matching method signature
Tweak.xm:26: warning: will be assumed to return ‘id’ and accept
Tweak.xm:26: warning: ‘...’ as arguments.)
Tweak.xm:26: error: conversion from ‘objc_object*’ to non-scalar type ‘CGRect’ requested
Tweak.xm:33: error: ‘MSHookIvar’ was not declared in this scope
Tweak.xm:33: error: expected primary-expression before ‘*’ token
Tweak.xm:33: error: expected primary-expression before ‘>’ token
Tweak.xm:33: warning: left-hand operand of comma has no effect
make[2]: *** [.theos/obj/Tweak.xm.6f33b365.o] Error 1
make[1]: *** [internal-library-all_] Error 2
make: *** [iHabrTweak.all.tweak.variables] Error 2


Помогите разобраться, что же я делаю не так? 10.8.2, Xcode 4.6, iOS SDK 6.1
После git clone надо сделать так:

$ git submodule init
$ git submodule update


В статье указано, что теос добавлен в виде гитового сабмодуля.
Благодарю за быстрый ответ, но не совсем спасло:
Admins-Mac:ihabrtweak Admin$ make
Making all for tweak iHabrTweak...
 Preprocessing Tweak.xm...
 Compiling Tweak.xm...
Tweak.xm:1:35: error: SpringBoard/SBAwayView.h: No such file or directory
cc1objplus: warnings being treated as errors
Tweak.xm: In function ‘objc_object* _logos_method$_ungrouped$SBAwayView$initWithFrame$(SBAwayView*, objc_selector*, CGRect)’:
Tweak.xm:26: warning: no ‘-middleFrame’ method found
Tweak.xm:26: warning: (Messages without a matching method signature
Tweak.xm:26: warning: will be assumed to return ‘id’ and accept
Tweak.xm:26: warning: ‘...’ as arguments.)
Tweak.xm:26: error: conversion from ‘objc_object*’ to non-scalar type ‘CGRect’ requested
Tweak.xm:33: error: ‘MSHookIvar’ was not declared in this scope
Tweak.xm:33: error: expected primary-expression before ‘*’ token
Tweak.xm:33: error: expected primary-expression before ‘>’ token
Tweak.xm:33: warning: left-hand operand of comma has no effect
make[2]: *** [.theos/obj/Tweak.xm.o] Error 1
make[1]: *** [internal-library-all_] Error 2
make: *** [iHabrTweak.all.tweak.variables] Error 2
Admins-Mac:ihabrtweak Admin$ 

logos.h найден, а вот SBAwayView.h не особо…
Мда, забыл: у теоса тоже есть сабмодули, в них числятся хедеры.

$ cd theos
$ git submodule init
$ git submodule update
Так же там есть скрипт git-submodule-recur.sh, его можно вызвать два раза с init и update.
Бинго! Еще осталось добавить один нюанс — для компиляции необходима утилита ldid, которую можно собрать по инструкции для начинающих вот так:

export THEOS=/opt/theos
git clone git://git.saurik.com/ldid.git
cd ldid
git submodule update --init
./make.sh
chmod +x ./ldid
cp -f ./ldid $THEOS/bin/ldid


Забавно, что с помощью Theos теоретически можно собирать твики имея только i-девайс, идея весьма хороша.

Благодарю за помощь, ваш твик собрать удалось, осталось написать свой!:) Надеюсь наши комментарии пригодятся кому нибудь еще.
Да, я как-то забыл про ldid упомянуть в статье =)
Я её качал в бинарном виде сразу.

А теос очень крут, но на девайсе для сборки маловато ресурсов. Я пробовал, первый iPad был под завязку забит фреймворками и прочим, собирал простенький проект достаточно долго, да и IDE не было нормальной… Короче, я на это забил и пишу спокойно на макбуке.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории