Theos?是一個開源的開發工具套件,主要用于為?iOS/macOS?平臺開發和編譯?越獄插件(Tweaks)、動態庫、命令行工具等。它由?Dustin Howett?創建,并被廣泛用于越獄社區的開發中。但這里我主要使用它的打包ipa功能,因為我的PakePLus-iOS項目需要用到這個功能,使用github action在線編譯功能,將我的項目編譯為未簽名的ipa文件,然后分發給用戶使用。
Theos開源地址:https://github.com/theos/theos
Theos文檔地址:Installation · Theos
安裝Theos
安裝過程很簡單,mac電腦安裝有Homebrew的情況下,輸入安裝命令:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/theos/theos/master/bin/install-theos)"
然后就是漫長的等待過程,它會安裝超級多的依賴項,直到最后的successfully:
然后在你的項目根目錄創建兩個文件Makefile和control,他們的內容分別是:
Makefile內容:
ARCHS := arm64
#12.2 就是最低系統版本,這個沒啥用,Xcode項目按照Xcode項目為準
TARGET := iphone:clang:latest:12.2include $(THEOS)/makefiles/common.mk# 使用 Xcode 項目構建
XCODEPROJ_NAME = 你的項目名稱# 指定 Theos 使用 xcodeproj 規則
include $(THEOS_MAKE_PATH)/xcodeproj.mk# 在打包階段刪除_CodeSignature
before-package::@echo -e "\033[32mRemoving _CodeSignature folder..."@rm -rf $(THEOS_STAGING_DIR)/Applications/$(XCODEPROJ_NAME).app/_CodeSignature
control內容:
bundle注意:不能包含大寫字母
Package: com.bundle.id
Name: 名字
Version: 0.0.1
Architecture: iphoneos-arm
Description: 描述
Maintainer: 維護者
Author: 作者
Section: Tweaks
Depends: mobilesubstrate (>= 0.9.5000)
然后在項目根目錄運行命令:
make package FINALPACKAGE=1 PACKAGE_FORMAT=ipa
臨時生成的app在文件夾.theos里面:
最后的ipa包在根目錄的packages下面: