XCode中使用MonkeyDev开发iOS版的Comand-line Tool的daemon程序

前提条件:iphone手机越狱ios15+,cydia/Sileo中安装好ssh,ldid等相关的常用插件

备注:如何iphone是ios15以下的越狱机,可直接看11步

  1. 安装MonkeyDev
bash 复制代码
sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-install)"
  1. 打开XCode,选择MonkeyDev下的Comand-line Tool
  1. 可以选择,c,c++,OC(Foundation),的脚本

Include Simple PreferenceLoader 选项是创建一个可以在系统设置中配置的条目

  1. 以Foundation的OC为例,Next创建项目

  2. Comand+B编译项目

  3. 遇到编译问题: Received disconnect from ::1 port 22:2: Too many authentication failures

解决办法:配置手机的ip,密码,端口等信息

  1. 遇到编译问题: ackage architecture (iphoneos-arm) does not match system (iphoneos-arm64)

解决办法:需要在control文件中配置成arm64

  1. 遇到编译问题: unable to create '/usr/bin/TaskDaemonOCDev.dpkg-new' (while processing 'usr/bin/TaskDaemonOCDev'): Read-only file system

原因分析:ios15以下的越狱机都是rootful有根的越狱,可以完全访问整个文件系统,ios15以上的越狱机都是rootless有根的越狱,只能访问部分文件系统,都需要放在/var/jb/目录下,才有读写权限。

解决办法:修改Installation directory目录放在/var/jb下

还需要将工程中的usr文件夹放在var/jb/目录下(var/jb目录需要手动创建)

再次编译即可成功

  1. 可以查看效果:在mac终端登录手机ssh,进入/var/jb/usr/bin, 查看ls -all TaskDaemonOCDev
  1. 手机上运行遇到的问题:zsh: killed ./TaskDaemonOCDev (ios15系统一下是:killed 9)

原因分析:iOS 由于安全限制(如 AMFI 和代码签名),需要关闭代码签名使用正确的工具链

解决办法:ldid -S TaskDaemonOCDev

10.1 偶遇到问题

/Users/chenfan/Desktop/zejin/root_daemon/DamonOCRun/dpkg:1:1: parsing file '/var/jb/Library/dpkg/updates/0000' near line 13 package 'com.yishuihuayuan.damonocrun':

解决方法:这个错误通常是由于 dpkg 配置损坏updates 目录中的文件格式错误

移除坏掉的文件:rm -rf /var/jb/Library/dpkg/updates/*,再次运行即可

大功告成,以上算是运行成功了!

  1. 如果设备是ios15以下的越狱机,创建项目和ios15以上一样的,在build编译后,只需要修改Monkey配置的ip,密码,端口,即可运行成功
  1. mac终端ssh登录iphone,运行二进制文件

OK,完美~

相关推荐
Frank学习路上7 小时前
【IOS】XCode创建firstapp并运行(成为IOS开发者)
开发语言·学习·ios·cocoa·xcode
瓜子三百克14 小时前
CALayer的异步处理
macos·ios·cocoa
吴Wu涛涛涛涛涛Tao14 小时前
一步到位:用 Very Good CLI × Bloc × go_router 打好 Flutter 工程地基
flutter·ios
Fine姐14 小时前
传感器WSNs TheDataLinkLayer——B-MAC
macos
九丝城主14 小时前
2025使用VM虚拟机安装配置Macos苹果系统下Flutter开发环境保姆级教程--中篇
服务器·flutter·macos·vmware
@PHARAOH15 小时前
WHAT - 依赖管理工具 CocoaPods
xcode·cocoapods
呆萌的代Ma16 小时前
解决Mac上的老版本docker desktop 无法启动/启动后一直转圈/无法登陆账号的问题
macos·docker·eureka
fengyun289116 小时前
Omi录屏专家 Screen Recorder by Omi 屏幕录制Mac
macos·mac·录屏·屏幕录制
杂雾无尘17 小时前
开发者必看:如何在 iOS 应用中完美实现动态自定义字体!
ios·swift·apple
kymjs张涛19 小时前
零一开源|前沿技术周报 #6
前端·ios·harmonyos