#!/bin/bash # scripts/install_system_extension_final.sh # 一键安装System Extension(需要证书已下载) set -e echo "=== System Extension 一键安装 ===" # 配置变量(已确认) TEAM_ID="K3TDMD9Y6B" BUNDLE_ID="com.momentry.markbase.fskit" CERT_FILE=~/Downloads/developer_certificate.cer KEYCHAIN=~/Library/Keychains/login.keychain-db echo "" echo "配置信息:" echo " Team ID: ${TEAM_ID}" echo " Bundle ID: ${BUNDLE_ID}" echo "" # 检查证书文件 if [ ! -f "${CERT_FILE}" ]; then echo "❌ 证书文件不存在:${CERT_FILE}" echo "" echo "请先从Portal下载证书:" echo "1. Developer Portal → Certificates" echo "2. 点击刚创建的证书" echo "3. Download按钮 → 保存到 ~/Downloads/" echo "" exit 1 fi echo "步骤1: 导入证书到Keychain..." security import "${CERT_FILE}" \ -k "${KEYCHAIN}" \ -T /usr/bin/codesign \ -T /Applications/Xcode.app/Contents/Developer/usr/bin/codesign echo "" echo "步骤2: 验证证书导入..." security find-identity -v -p codesigning echo "" echo "步骤3: 构建签名应用(需要Xcode项目)..." if [ -d "MarkBaseFSKit.xcodeproj" ]; then xcodebuild clean build \ -project MarkBaseFSKit.xcodeproj \ -scheme MarkBaseFSKit \ -configuration Release \ CODE_SIGN_IDENTITY="Apple Development" \ DEVELOPMENT_TEAM="${TEAM_ID}" \ PRODUCT_BUNDLE_IDENTIFIER="${BUNDLE_ID}" echo "" echo "步骤4: 安装System Extension..." systemextensionsctl install \ --team "${TEAM_ID}" \ --bundleID "${BUNDLE_ID}" \ --type filesystem \ build/Release/MarkBaseFSKit.app else echo "⚠️ Xcode项目不存在,需要手动创建" echo " 或使用codesign直接签名现有应用" fi echo "" echo "✅ System Extension已安装" echo "" echo "⚠️ 最后一步需要手动操作:" echo " 打开 System Settings → Privacy & Security" echo " 点击 Allow 按钮" echo " 重启Mac完成安装" echo "" echo "验证安装:" systemextensionsctl list