theos工具来编译xcode的swiftUI项目为ipa文件

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.2

include $(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下面:

相关推荐
猫头虎21 小时前
GoLand 2025.3 最新变化:值得更新吗?
ide·windows·macos·pycharm·编辑器·intellij-idea·idea
汉秋1 天前
SwiftUI 中的 compositingGroup():真正含义与渲染原理
swiftui·swift
_可乐无糖1 天前
内网穿透工具使用指南:ngrok 和 cpolar
安全·macos·云计算
汉秋1 天前
SwiftUI 中的 @ViewBuilder 全面解析
swiftui·swift
不爱吃糖的程序媛1 天前
鸿蒙PC命令行开发 macOS 上解决 pkg-config 命令未安装的问题
macos·华为·harmonyos
淘气淘的宝宝1 天前
MAC intel 迁移至M4后brew及iterm2配置
macos
不爱吃糖的程序媛1 天前
解决鸿蒙PC命令行编译 macOS 上 cp 命令参数冲突问题
macos·harmonyos·策略模式
Bruce_Liuxiaowei1 天前
Mac_Linux 查询网站IP地址:4个核心命令详解
linux·tcp/ip·macos
逐梦苍穹1 天前
ClamAV在macOS上的离线查杀与定时扫描实战(含clamd加速)
人工智能·安全·macos·策略模式·杀毒
胖虎12 天前
SwiftUI 页面作为一级页面数据被重置问题分析
ios·swiftui·swift·state·observedobject·stateobject·swiftui页面生命周期