We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
去年起,我接触到ios10的越狱开发,但发现ios10的NSLog是失效了(曾一度以为是Tweak失效了,各种蛋疼的测试,发现原来是NSLog的原因)。 既然发现了这个问题,那就必须试图解决,以下是我解决的过程,发出来给大家警个醒,以免大家重复踩坑。 其实这个问题的原因是因为在ios10,苹果更改了日志系统,添加了几个os_函数,其中就有os_log,具体可以在看这个链接
NSLog
os_log
之前旧的版本一直是使用这个,其实这个小插件很简单,仅仅是在/etc/syslog.conf里面加了一句
/etc/syslog.conf
*.* /var/log/syslog
来把所有的日志导出到/var/log/syslog这个文件里。 结果,ios10下无效。
这个工具是我一直使用的,在mac上通过数据线链接手机后,能在mac的控制台输出ios的日志,它的优点是能够输出颜色,非常的实用的一个小工具,与它一起的套件都非常的好用,共有
各个功能看名字就知道了,这里不再细表,可以通过
brew install libimobiledevice
来安装。
结果实测,idevicesyslog在ios下,不能够输出的Tweak的NSLog
这个工具用来干这个事。。。也大才小用了吧。这个工具功能非常强大,这里不再专门讲解了。
一番尝试之下,发现这个问题没有那么简单,于是百度了一下,结果出来个更坑爹的货,让用deviceconsole,还指出了github repo,结果我clone下来,一番编译,提示
deviceconsole
ld: framework not found MobileDevice clang: error: linker command failed with exit code 1 (use -v to see invocation)
这个报错意为找不到MobileDevice这个库,但是我去看过了以后,它明明在哪。。。搞的我也是一脸懵逼。后来猜想这个原因可能是因为这个库是私有库,而xcode9可能不让链接私有库了。。 于是我建了一个软连接,才重新编译通过。 编译通过之后,发现没有这个执行权限,然后一番捣鼓,结果发现!!!!根!本!没!卵!用!!! 关于这个项目的更多信息,请移步我clone的repo,我修改后pull request,结果十多天了没人理我。。
MobileDevice
xcode9
最后,再次抱着试试看的态度,准备试试ondeviceconsole,如果还是不行的话,就只能呵呵,重写NSLog到os_log了。但所幸,这个是可用的。。。
The text was updated successfully, but these errors were encountered:
今天发现,更新macosx 10.13之后,自带的xode9会自动将NSLog转为os_log以能在系统的日志里查看。
macosx 10.13
Sorry, something went wrong.
for(int i=0;i<1000;i++){ printf("%d",i); }
deviceconsole找个fork就可以用,我的问题是 theos 找错SDK了,一只用的 iOS 9 的SDK来编译的 Tweak
No branches or pull requests
去年起,我接触到ios10的越狱开发,但发现ios10的
NSLog
是失效了(曾一度以为是Tweak失效了,各种蛋疼的测试,发现原来是NSLog的原因)。既然发现了这个问题,那就必须试图解决,以下是我解决的过程,发出来给大家警个醒,以免大家重复踩坑。
其实这个问题的原因是因为在ios10,苹果更改了日志系统,添加了几个os_函数,其中就有
os_log
,具体可以在看这个链接尝试历史
syslogd to /var/log/syslog
之前旧的版本一直是使用这个,其实这个小插件很简单,仅仅是在
/etc/syslog.conf
里面加了一句来把所有的日志导出到/var/log/syslog这个文件里。
结果,ios10下无效。
idevicesyslog
这个工具是我一直使用的,在mac上通过数据线链接手机后,能在mac的控制台输出ios的日志,它的优点是能够输出颜色,非常的实用的一个小工具,与它一起的套件都非常的好用,共有
各个功能看名字就知道了,这里不再细表,可以通过
来安装。
结果实测,idevicesyslog在ios下,不能够输出的Tweak的NSLog
socat
这个工具用来干这个事。。。也大才小用了吧。这个工具功能非常强大,这里不再专门讲解了。
deviceconsole
一番尝试之下,发现这个问题没有那么简单,于是百度了一下,结果出来个更坑爹的货,让用
deviceconsole
,还指出了github repo,结果我clone下来,一番编译,提示这个报错意为找不到
MobileDevice
这个库,但是我去看过了以后,它明明在哪。。。搞的我也是一脸懵逼。后来猜想这个原因可能是因为这个库是私有库,而xcode9
可能不让链接私有库了。。于是我建了一个软连接,才重新编译通过。
编译通过之后,发现没有这个执行权限,然后一番捣鼓,结果发现!!!!根!本!没!卵!用!!!
关于这个项目的更多信息,请移步我clone的repo,我修改后pull request,结果十多天了没人理我。。
ondeviceconsole
最后,再次抱着试试看的态度,准备试试ondeviceconsole,如果还是不行的话,就只能呵呵,重写NSLog到os_log了。但所幸,这个是可用的。。。
The text was updated successfully, but these errors were encountered: