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.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下面:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74180.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74180.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74180.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

25.4.1學習總結【Java】

動態規劃題 2140. 解決智力問題https://leetcode.cn/problems/solving-questions-with-brainpower/ 給你一個下標從 0 開始的二維整數數組 questions ,其中 questions[i] [pointsi, brainpoweri] 。 這個數組表示一場考試里的一系列題目,你需要 按順…

計算機網絡知識點匯總與復習——(二)物理層

Preface 計算機網絡是考研408基礎綜合中的一門課程,它的重要性不言而喻。然而,計算機網絡的知識體系龐大且復雜,各類概念、協議和技術相互關聯,讓人在學習時容易迷失方向。在進行復習時,面對龐雜的的知識點&#xff0c…

string的底層原理

一.構造函數 我們來看一下,string的底層就是一個字符型指針和一個size來表示string的大小,capacity來表示分配的內存大小。 我們來看我們注釋掉的第一個構造函數,我們是通過初始化列表來初始化size的大小,再通過size的大小來初始化…

Python FastAPI + Celery + RabbitMQ 分布式圖片水印處理系統

FastAPI 服務器Celery 任務隊列RabbitMQ 作為消息代理定時任務處理 首先創建項目結構: c:\Users\Administrator\Desktop\meitu\ ├── app/ │ ├── __init__.py │ ├── main.py │ ├── celery_app.py │ ├── tasks.py │ └── config.py…

【藍橋杯】每日練習 Day18

目錄 前言 動態求連續區間和 分析 代碼 數星星 分析 代碼 星空之夜 分析 代碼 前言 接下來是今天的題目(本來是有四道題的但是有一道題是前面講過(逆序數的,感興趣的小伙伴可以去看我歸并排序的那一篇)的我就不再過多贅…

基于銀河麒麟桌面服務器操作系統的 DeepSeek本地化部署方法【詳細自用版】

一、3種方式使用DeepSeek 1.本地部署 服務器操作系統環境進行,具體流程如下(桌面環境步驟相同): 本例所使用銀河麒麟高級服務器操作系統版本信息: (1)安裝ollama 方式一:按照ollama官網的下載指南,執行如下命令: curl -fsSL https://ollama.com/install.sh | sh方…

Python入門(7):Python序列結構-字典

字典Dictionary 字典(dictionary)和列表類似&#xff0c;也是可變序列&#xff0c;不過與列表不同&#xff0c;它是無序的可變序列&#xff0c;保存的為容是以“鍵-值對”的形式存放的。 Python 中的字典相當于 Java 或者 C中的 Map 對象。在C#中,就是Dictionary<TKey,TVa…

Flutter項目之構建打包分析

目錄&#xff1a; 1、準備部分2、構建Android包2.1、配置修改部分2.2、編譯打包 3、構建ios包3.1、配置修改部分3.2、編譯打包 1、準備部分 2、構建Android包 2.1、配置修改部分 2.2、編譯打包 執行flutter build apk命令進行打包。 3、構建ios包 3.1、配置修改部分 3.2、編譯…

不用再付費~全網書源一鍵下載,實現閱讀自由!!!

現在市面上有許多免費你看書的軟件&#xff0c;但都軟件內太多廣告彈窗&#xff0c;這無疑是很煩&#xff0c;有事一不小心點進去就下載了軟件&#xff0c;簡直讓人頭大&#xff01; 如果你遇到這樣的難題那么就應該看下本文~ 這是一款能一鍵將在線連載小說整合下載成標準格式&…

GCC RISCV 后端 -- GIMPLE IR 表示的一些理解

C/C源代碼經過 GCC 解析&#xff08;Parse&#xff09;及轉換后&#xff0c;通過 GIMPLE IR 予以表示&#xff08;Representation&#xff09;。其中&#xff0c;一個C/C源文件&#xff0c;通過 宏處理后&#xff0c;形成一個 轉譯單元&#xff08;Translation Unit&#xff09…

JAVA設計模式之適配器模式《太白金星有點煩》

太白金星握著月光凝成的鼠標&#xff0c;第108次檢查南天門服務器的運行日志。這個剛從天樞院調來的三等仙官&#xff0c;此刻正盯著瑤池主機房里的青銅鼎發愁——鼎身上"天地同壽"的云紋間&#xff0c;漂浮著三界香火系統每分鐘吞吐的十萬條功德數據。看著居高不下的…

以太坊DApp開發腳手架:Scaffold-ETH 2 詳細介紹與搭建教程

一、什么是Scaffold-ETH 2 Scaffold-ETH 2是一個開源的最新工具包&#xff0c;類似于腳手架。用于在以太坊區塊鏈上構建去中心化應用程序 &#xff08;DApp&#xff09;。它旨在使開發人員更容易創建和部署智能合約&#xff0c;并構建與這些合約交互的用戶界面。 Scaffold-ETH…

畢業設計:實現一個基于Python、Flask和OpenCV的人臉打卡Web系統(六)

畢業設計:實現一個基于Python、Flask和OpenCV的人臉打卡Web系統(六) Flask Flask是一個使用 Python 編寫的輕量級 Web 應用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎則使用 Jinja2 。Flask使用 BSD 授權。 Flask也被稱為 “microframework” ,因為它使用簡單的核心,…

第十一章 VGA顯示圖片(還不會)

FPGA至簡設計實例 前言 一、項目背景 1. IP核概述 IP 核(Intellectual Property core)指的是知識產權核或知識產權模塊,其是具有特定電路功能的硬件描述語言程序,在EDA技術開發中具有十分重要的地位。美國著名的Dataquest咨詢公司將 半導體產業的IP定義為“用于ASIC或FPGA…

浙江大學公開課|第二季|從大模型、智能體到復雜AI應用系統的構建——以產業大腦為例

大家好&#xff0c;我是吾鳴。 前沿回顧 吾鳴之前給大家分享過浙江大學DeepSeek系列公開課第一季&#xff0c;第一季一共八講&#xff0c;內容介紹豐富&#xff0c;內容之廣&#xff0c;看完粉絲朋友直呼浙大良心。這八講公開課名稱分別是&#xff1a; 第一期&#xff08;上&…

Spring AOP中為所有類型通知傳遞參數的完整示例,包含詳細注釋和參數傳遞方式

以下是Spring AOP中為所有類型通知傳遞參數的完整示例&#xff0c;包含詳細注釋和參數傳遞方式&#xff1a; // 1. 目標類&#xff08;被增強的類&#xff09; package com.example;public class TargetService {public void doTask(String param) {System.out.println("…

【Git教程】將dev分支合并到master后,那么dev分支該如何處理

將 dev 合并到 master 后的分支狀態與操作指南 1. 合并后的分支狀態 dev 分支不會消失&#xff1a; Git 的 git merge 命令僅將 dev 的內容合并到 master&#xff0c;不會刪除 dev 分支。合并后&#xff0c;dev 分支仍然存在&#xff0c;其歷史記錄和代碼保持不變。 分支的 H…

【go】異常處理panic和recover

panic 和 recover 當然能觸發程序宕機退出的&#xff0c;也可以是我們自己&#xff0c;比如經過檢查判斷&#xff0c;當前環境無法達到我們程序進行的預期條件時&#xff08;比如一個服務指定監聽端口被其他程序占用&#xff09;&#xff0c;可以手動觸發 panic&#xff0c;讓…

CSS層疊順序

介紹 在 CSS 中&#xff0c;元素的層疊順序決定了當多個元素重疊時&#xff08;跟布局沒有完全的關系&#xff0c;也就是說層疊順序只會在幾個疊放元素上進行比較&#xff0c;而不會改變布局&#xff09;&#xff0c;哪個元素顯示在最上面&#xff0c;哪個元素顯示在最下面。 …

數制——FPGA

1、定點數 定點數的三種表示方式&#xff1a; 原碼&#xff1a;符號位 絕對值 表示方法 反碼&#xff1a;正數的反碼表示 與原碼表示一致&#xff0c;負數的反碼表示 除符號位&#xff0c;其他位全都取反 補碼&#xff1a;正數的補碼表示 與原碼表示一致&#xff0c;負數的補碼…