有什么注意事项吗?我的.app 和 tweak的dlyid都是独立的。我按照package格式,创建并把它们放在一起,用命令行打包的deb出来。安装之后,桌面并没有显示应用图标,设置列表里也没有,通过cydia安装。求解
桌面并没有显示应用图标
估计是打包的整个流程有问题,导致安装后,app图标没出来
设置列表里也没有
设置列表中有图标的前提是自己代码中有对应的代码(记得好像是PreferencesLoader之类的)
关于app和dylib打包成带图标的deb,可以参考我之前写的:
带界面的插件开发流程 · iOS逆向开发:iOSOpenDev开发插件 (crifan.org)
PreferencesLoader 目前我也已找到资料,但是更详细的资料没有,.app一起打包,参考的是大佬你的文章,可惜在桌面并没有和ipa安装一样的图标。目前不知道是什么原因
打包的具体流程,只是文件夹的路径和目录都是参考大佬你的文章的,打包命令也是dkbg命令,还有什么别的具体需要注意的吗?
那就不清楚了,我之前就是按照教程里总结的步骤去跑通流程的
大佬您好,我按照您的资料,编写插件,但是到build for Profiling 到手机时总是报你在文章中提到的错误,但我的ssh已经设置了免密登录,在终端可以直接ssh连接手机,依然会报这个错误,请问大佬有什么好的思路吗
把详细错误贴出来 文字+截图,看看是否可能是其他原因
截图中有明显的错误信息:
control
文件,不存在,找不到
-》应该解决此错误,估计就可以顺利编译安装了
哦,这个是我后面合并插件和app把control文件删掉了。实际报错是下面这样的,我看到提示没有找到deb文件,我直接将deb文件通过终端复制到手机,依然会提示找不到deb文件。还是通过filza安装可以成功。
截图中错误信息是:
scp: dest open “”/var/root/xxx.deb"": No such file or directory
如果你是,和我之前一样,Mac是M系列的(M1/M2的Apple Silicon),则:
解决办法:
去编辑 /opt/iOSOpenDev/bin/iosod
的function copyFileToDevice()
中的内容,把:
scp -P$hostPort "$sourceFile" root@$hostAddress:"\"$targetFilePath\"" || \
去掉文件路径中的双引号,改为:
scp -P$hostPort $sourceFile root@$hostAddress:$targetFilePath || \
即可正常编译。
附录:
此处,Xcode去编译iOSOpenDev的项目,编译期间调用脚本:
/opt/iOSOpenDev/bin/iosod
涉及到scp拷贝deb到目标iPhone中
结果:
之前代码:
function copyFileToDevice() {
...
scp -P$hostPort "$sourceFile" root@$hostAddress:"\"$targetFilePath\"" || \
其中会生成:目标文件名是带双引号的:
""/var/root/iOSOpenDevPackages/com.crifan.jailAppleAccount_1.7.4_iphoneos-arm.deb""
然后结果:
- 旧Mac:正常编译
- 之前的Xcode版本:v13.2.1
- scp:3MB
- FAT格式,支持x86_64和arm64e
- 新Mac:会报错
- 错误信息:
scp: dest open ""/var/root/iOSOpenDevPackages/com.crifan.jailAppleAccount_1.7.4_iphoneos-arm.deb"": No such file or directory
- 最新Xcode版本:v14.3
- scp:416KB
- FAT格式,支持x86_64和arm64e
- 错误信息:
解决办法:
去掉文件路径中的双引号,改为:
scp -P$hostPort $sourceFile root@$hostAddress:$targetFilePath || \
即可正常编译。
总体感慨:
估计新版的arm64e的scp,对于文件路径,中额外包裹,加上双引号,且是2个双引号,支持的不够好,导致的。
可以了,谢谢大佬,这次确实对于越狱插件的开发有了很多了解