需求
公司编辑告知需要向同步推上传越狱包以供越狱用户下载, 表示从没搞过, 弱弱问一句: 现在谁还越狱?
解决方案
1.设备选择iOS device, 编译程序command+B
2.工程文件Products会生成xxx.app, 将其拖入itunes, 再从itunes拖出来, 就生成了ipa包
补充
如何将app打包成deb包供越狱iphone在cydia源上下载安装
1.修改编译选项重新打包
在工程的Build Settings -> Code Signing -> Code Signing Identity
选项, 将 Debug 和 Release 下的 Any iOS SDK
都设置为 Don't Code Sign
然后在重新Archive
2.准备目录
创建一个目录用来打包,如tmp,tmp下建DEBIAN和Applications两个目录, DEBIAN下建一个文本文件control tmp目录结构如下:
-DEBIAN
---control
-Applications
control文件就是打包时的配置文件,它也会作为deb包的配置被打包到包中, 文件例子:
Package: com.sharedream.game
Name: 游戏测试
Version: 0.1-1
Description: 游戏测试游戏,开发中...
Section: 游戏
Depends: firmware (>= 4.3)
Priority: optional
Architecture: iphoneos-arm
Author: liangwei
Homepage: http://weibo.com/iamliangwei
Icon: file:///Applications/game.app/Icon.png
Maintainer: liangwei
然后将xcode打包出来的.app文件整个拷贝到Applications目录下, 结构如下:
-DEBIAN
---control
-Applications
---game.app
3.打包
退出至tmp的上层目录
dpkg-deb -b tmp game.deb
看到如下几行就是打包完成了
warning, `com.sull.sample/DEBIAN/control' contains user-defined field `Name'
warning, `com.sull.sample/DEBIAN/control' contains user-defined field `Author'
warning, `com.sull.sample/DEBIAN/control' contains user-defined field `Sponsor'
dpkg-deb: ignoring 3 warnings about the control file(s)
拷贝到cydia源中, 重新扫描包生成Packages列表文件, 并压缩成Packages.bz2就可以啦
dpkg-scanpackages -m debs >Packages
bzip2 -zkf Packages
contains ununderstood data member data.tar.xz” 的安装错误
是因为自从1.17.0版本的dpkg-deb开始, 默认使用xz格式来压缩data.tar文件
但是,cydia在ios提供的dpkg是1.14版本, 还没有支持xz这种压缩格式
所以我们需要设置”-Zgzip”参数给dpkg-deb 进行打包, 类似命令:
dpkg-deb -Zgzip -b tmp game.deb
补充内容转自 胖梁的技术笔记