需求
公司編輯告知需要向同步推上傳越獄包以供越獄用戶下載, 表示從沒搞過, 弱弱問一句: 現在誰還越獄?
解決方案
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 <http://weibo.com/iamliangwei>
Homepage: http://weibo.com/iamliangwei
Icon: file:///Applications/game.app/Icon.png
Maintainer: liangwei <http://weibo.com/iamliangwei>
然后將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
補充內容轉自 胖梁的技術筆記