前段时间做了越狱软件的一些东西,发现打出的deb包不能正确安装或是装上了直接闪退,着实让人有点蛋疼。在搜索了大量网页和做了很多尝试之后,才把这些问题一一解决。
叙述之前,我把大致的过程分为两个部分,xcode导出app文件和用dpkg命令打deb包。
一、Xcode导出app文件
1.进入项目的“Build Settings”,选中“Basic”和“Combined”选项卡,找到“Code Signing”,将所有的“iOS Developer”设置为“Don't Code Sign”,这里的app文件是不需要代码签名
2.进入项目的“General”,设置“Team”为“none”。这里需要注意一下,先用开发者账户(个人或者企业的)执行“Fix issue”,然后再选择“none”,因为“none”的状态下是不能去除“No identity ...”的警告
3.把真机连接上电脑,设置项目的运行方式为“Release”
4.执行“Product->Archive”,等待完成后会跳出“Organizer”管理界面,右击生成的文件,选择“Show in Finder”,查看文件的包内容,在“Products->Applications”目录下的文件就是项目的app文件
二、用dpkg命令打deb包
1.mac的终端是不自带dpkg命令的,需要利用“MacPorts”安装dpkg,“MacPorts”可以使用source的方法安装,详细的步骤可以到网上查询,这里就不再赘述。
2.新建目录结构,在桌面新建“tmp”文件夹,在tmp目录下分别新建“Applications”和“DEBIAN”文件夹
3.在“Application”目录下放入刚才导出的app文件,“DEBIAN”下放置两个文件:“control”和“postinst”,“control”文件是来描述软件的相关信息,“postinst”是用来执行安装完成后的配置工作,两个文件的示例如下:
control
Package: com.zgss.pk10
Name: 诸葛神算
Version: 0.1-1
Description: 诸葛神算·内幕科技
Section: 实用工具
Depends: firmware (>= 7.0), mobilesubstrate, cydia
Priority: optional
Architecture: iphoneos-arm
Author: 内幕科技
Homepage:
Icon: file:///Applications/pk10.app/AppIcon57x57@2x.png
Maintainer: 内幕科技
postinst
#!/bin/bash
chown -R root:wheel /Applications/pk10.app
chmod 755 /Applications/pk10.app/pk10
su -c /usr/bin/uicache mobile > /dev/null
declare -a cydia
cydia=($CYDIA)
if [[ ${CYDIA+@} ]]; then
eval "echo 'finish:reboot' >&${cydia[0]}"
else
echo "please respring after this"
fi
exit 0
4.使用mac的终端命令来打deb包,具体步骤如下:
a.进入“tmp”目录
cd ~/Desktop/tmp
b.删除文件夹下的所有“.DS_Store”文件
sudo find . -type f -name .DS_Store -exec rm -rf {} +
c.设置目录下的文件夹添加权限和用户组
sudo chmod -R 755 .
sudo chown -R root .
d.命令dpkg-deb打包生成
sudo dpkg-deb -Zgzip -b ~/Desktop/tmp/ ~/Desktop/pk10.deb
5.完成上面的操作之后,就能看到桌面生成的deb包了。
依照您的步驟我是用ios14.6這版本安裝deb後還是閃退
文中使用的ios版本比较旧,现在的版本估计有问题了