diff --git a/ExportOptions.plist b/ExportOptions.plist new file mode 100644 index 0000000..5b2cc30 --- /dev/null +++ b/ExportOptions.plist @@ -0,0 +1,16 @@ + + + + + method + development + signingStyle + automatic + stripSwiftSymbols + + teamID + + thinning + <none> + + diff --git a/README.md b/README.md index fd4704a..73a1e52 100644 --- a/README.md +++ b/README.md @@ -99,6 +99,23 @@ xcodegen generate --- +### iOS 版本打包 + +1. 确保已安装通用依赖: + - Xcode 15+ + - [XcodeGen](https://github.com/yonaskolb/XcodeGen) (可选,用于生成工程) + +2. 运行打包脚本: + ```bash + chmod +x package_ios.sh + ./package_ios.sh + ``` + +3. **注意**: + - 脚本默认生成 `.xcarchive` 文件。 + - 如需自动生成 `.ipa`,请在 `ExportOptions.plist` 中填写您的 `teamID`。 + - 您也可以在 Xcode 中打开 `tvbox.xcodeproj`,选择 `tvbox` scheme,然后点击 `Product > Archive` 手动打包。 + ## 📦 macOS 独立打包 项目已内置自动化打包脚本 `package_mac.sh`。当您需要分发 macOS 版本时,直接运行即可自动清理缓存、构建并生成免安装的 `.dmg` 拖拽式安装包。 diff --git a/package_ios.sh b/package_ios.sh new file mode 100755 index 0000000..6f65943 --- /dev/null +++ b/package_ios.sh @@ -0,0 +1,47 @@ +#!/bin/bash +set -e + +# 设置工作目录为脚本所在目录 +cd "$(dirname "$0")" + +echo "清理构建目录..." +rm -rf build +rm -rf tvbox.xcarchive +rm -f TVBox.ipa + +SCHEME="tvbox" +CONFIGURATION="Release" +ARCHIVE_PATH="build/tvbox.xcarchive" +EXPORT_PATH="build/exported" +EXPORT_OPTIONS="ExportOptions.plist" + +echo "开始构建 iOS Archive..." +xcodebuild archive \ + -project tvbox.xcodeproj \ + -scheme "$SCHEME" \ + -configuration "$CONFIGURATION" \ + -destination "generic/platform=iOS" \ + -archivePath "$ARCHIVE_PATH" + +if [ -f "$EXPORT_OPTIONS" ]; then + echo "发现 $EXPORT_OPTIONS,尝试导出 IPA..." + mkdir -p "$EXPORT_PATH" + xcodebuild -exportArchive \ + -archivePath "$ARCHIVE_PATH" \ + -exportOptionsPlist "$EXPORT_OPTIONS" \ + -exportPath "$EXPORT_PATH" \ + -allowProvisioningUpdates + + # 查找生成的 .ipa 文件并移动到根目录 + IPA_FILE=$(find "$EXPORT_PATH" -name "*.ipa" | head -n 1) + if [ -n "$IPA_FILE" ]; then + cp "$IPA_FILE" ./TVBox.ipa + echo "✅ 打包完成!生成文件: TVBox.ipa" + else + echo "⚠️ 未能在导出目录中找到 .ipa 文件。" + fi +else + echo "ℹ️ 未找到 $EXPORT_OPTIONS,仅生成 Archive。" + echo "✅ 构建完成!Archive 路径: $ARCHIVE_PATH" + echo "您可以打开 Xcode 使用 Distribute App 手动导出 IPA。" +fi