第一次做越狱ios开发的笔记

ios开发 myhloli 2484次浏览 已收录 5个评论

今天试了下Theos开发越狱插件,当然是很简单的那种,编译过程中遇到些许问题,自己做下笔记

myhlolideMac:~ myhloli$ cd Code
myhlolideMac:Code myhloli$ cd iosre
myhlolideMac:iosre myhloli$ make
/Users/myhloli/Code/iosre/theos/makefiles/targets/Darwin/iPhone.mk:21: *** first argument to `word’ function must be greater than 0. Stop.

这里make出错,猜测是没有引入sdk,解决方法是

myhlolideMac:iosre myhloli$ cd
myhlolideMac:~ myhloli$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
Password:

在这里继续出错

xcode-select: error: invalid developer directory ‘/Applications/Xcode.app/Contents/Developer/’

后来发现是因为我使用的是xcode的beta版,地址需要更改

myhlolideMac:~ myhloli$ sudo xcode-select -switch /Applications/Xcode6-Beta.app/Contents/Developer/

将Xcode.app改为Xcode-Beta成功解决问题。

继续编译

Tweak.xm:8:47: error: non-ASCII characters are not allowed outside of literals and identifiers
message:nil delegate:self cancelButtonTitle:@“OK” otherButtonTitle:nil];
^
Tweak.xm:8:52: error: non-ASCII characters are not allowed outside of literals and identifiers
message:nil delegate:self cancelButtonTitle:@“OK” otherButtonTitle:nil];
^

根据提示明显是因为引号有问题,仔细排查,是mac自带的文本编辑器有自动修正功能,将英文双引号改为中文双引号,导致出错,关闭自动修正并改成英文标点解决。

继续编译

Tweak.xm:7:44: error: instance method ‘-initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitle:’ not
found (return type defaults to ‘id’); did you mean
‘-initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:’? [-Werror,-Wobjc-method-access]
…*alert = [[UIAlertView alloc] initWithTitle:@”Hello,Tweak!”
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:

方法initWithTitle最后一个参数为otherButtonTitles,因为粗心少了一个s导致出错,而且看了很多遍都没看出来这个问题,最后在群里问了下,狗神给指出来了TAT,又丢人了

myhlolideMac:iosre myhloli$ make
Making all for tweak iosRE…
Preprocessing Tweak.xm…
Compiling Tweak.xm…
Linking tweak iosRE…
Stripping iosRE…
Signing iosRE…
myhlolideMac:iosre myhloli$ make package
Making all for tweak iosRE…
make[2]: Nothing to be done for `internal-library-compile’.
Making stage for tweak iosRE…
dpkg-deb:正在新建软件包“com.naken.iosre”,包文件为“./com.naken.iosre_1.0-1_iphoneos-arm.deb”。

最后成功编译并打包,经测试可以在越狱的5s上面安装,程序在cydia中显示正常,但是未能完成应实现的功能。

最后在群内大神的帮助下解决问题,问题的原因是5s使用的64位处理器,不能用armv7指令集,所以需要在Makefile里将armv7更改为arm64

QQ图片20150317165353

最终程序效果

IMG_9577

 

  萝莉社,版权所有丨如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:https://myhloli.com/theos-debug.html
喜欢 (5)
加载中……