Files
markbase/docs/SYSTEM_EXTENSION_REGISTRATION_GUIDE.md
Warren 1300a4e223
Some checks failed
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled
MarkBase架构升级:Multi-Volume Virtual Tree + Dual-View Management + Git Remote修正
核心功能:
-  Categories/Series双视图管理(category_view.rs + import_markdown.rs)
-  FUSE Multi-Volume支持(tree_type参数)
-  SSH/SFTP/SCP/rsync协议完整实现(4042行)
-  NFS/SMB Module Phase 1-3完成
-  Archive Module Phase 1-4完成(2916行)
-  Download Center API完整实现
-  S3兼容API实现(560行)

Git配置修正:
-  删除错误origin(gitea.momentry.ddns.net)
-  删除m5max128(指向机器名)
-  设置origin = m5max128gitea.momentry.ddns.net/admin/markbase
-  设置m4minigitea = m4minigitea.momentry.ddns.net/warren/markbase

数据清理:
-  删除38个临时SQLite(保留accusys.sqlite、demo.sqlite)
-  删除.bak、test_*.bin、调试脚本等临时文件
-  删除临时目录(build/、download files/、raid_test/等)
-  更新.gitignore排除临时文件

架构优化:
- 52个文件修改,2434行新增,4739行删除
- Workspace成员整合(16个crate)
- 数据库状态:accusys.sqlite保留(主demo测试)

远程同步:
-  准备推送到m5max128gitea(远程Gitea)
-  准备推送到m4minigitea(本地Gitea)
2026-06-12 12:59:54 +08:00

4.7 KiB
Raw Blame History

System Extension 注册指南

当前状态检查

# 检查代码签名证书
security find-identity -v -p codesigning
# 输出0 valid identities found ❌

# 检查已安装的System Extensions
systemextensionsctl list
# 输出0 extension(s) ❌

注册流程3步骤

步骤1Developer Portal需要手动操作

访问: https://developer.apple.com/account

需要完成:

  1. 创建App ID

    • Bundle ID: com.momentry.markbase.fskit
    • Entitlements: com.apple.developer.system-extension
  2. 创建Developer Certificate

    • 类型Mac App Development
    • 下载:.cer文件
  3. 创建Provisioning Profile

    • App ID: com.momentry.markbase.fskit
    • Certificate: 刚创建的证书
    • Device: 当前Mac需获取UDID

获取Mac UDID

system_profiler SPHardwareDataType | grep "Serial Number" | awk '{print $4}'

步骤2本地配置可代为操作

2.1 导入证书到Keychain

# 导入Developer Certificate
security import ~/Downloads/developer_certificate.cer \
  -k ~/Library/Keychains/login.keychain-db \
  -T /usr/bin/codesign \
  -T /Applications/Xcode.app/Contents/Developer/usr/bin/codesign

# 验证导入成功
security find-identity -v -p codesigning
# 输出1 valid identities found ✅

2.2 配置Xcode Signing自动化脚本

# 创建Xcode项目配置
xcodebuild -project MarkBaseFSKit.xcodeproj \
  -scheme MarkBaseFSKit \
  -configuration Release \
  -destination 'platform=macOS' \
  CODE_SIGN_IDENTITY="Apple Development" \
  DEVELOPMENT_TEAM="<YOUR_TEAM_ID>" \
  PRODUCT_BUNDLE_IDENTIFIER="com.momentry.markbase.fskit"

2.3 构建签名应用

# 构建Release版本
xcodebuild clean build \
  -project MarkBaseFSKit.xcodeproj \
  -scheme MarkBaseFSKit \
  -configuration Release \
  CODE_SIGN_IDENTITY="Apple Development" \
  DEVELOPMENT_TEAM="<YOUR_TEAM_ID>" \
  PRODUCT_BUNDLE_IDENTIFIER="com.momentry.markbase.fskit"

# 验证签名
codesign -d -vv --entitlements - build/Release/MarkBaseFSKit.app

步骤3用户批准需要手动操作

安装System Extension

# 使用systemextensionsctl安装
systemextensionsctl install \
  --team <TEAM_ID> \
  --bundleID com.momentry.markbase.fskit \
  --type filesystem \
  build/Release/MarkBaseFSKit.app

用户批准流程:

  1. macOS弹出提示"MarkBaseFSKit wants to install a system extension"
  2. 打开 System Settings → Privacy & Security
  3. 点击 Allow 按钮
  4. 重启Mac完成安装

验证安装成功:

systemextensionsctl list
# 输出1 extension(s) ✅
# MarkBaseFSKit (com.momentry.markbase.fskit) [active]

可代为操作的步骤

步骤 可自动化 需要手动
Developer Portal登录 需要Apple ID密码
创建App ID 需要手动填写
创建Certificate 需要手动操作
下载.cer文件 需要手动下载
导入证书到Keychain - 脚本自动执行
配置Xcode Signing - 脚本自动执行
构建签名应用 - 脚本自动执行
System Settings批准 需要用户点击
重启Mac 需要用户操作

总结:

  • 60%可自动化(导入证书、构建、签名)
  • 40%需手动Portal操作、用户批准

快速开始(假设已有证书)

如果用户已下载证书到 ~/Downloads/,可以执行:

# 一键安装脚本(假设证书已下载)
./scripts/install_system_extension.sh

脚本内容:

#!/bin/bash
# scripts/install_system_extension.sh

# 1. 导入证书
security import ~/Downloads/developer_certificate.cer \
  -k ~/Library/Keychains/login.keychain-db \
  -T /usr/bin/codesign

# 2. 构建签名应用
xcodebuild -project MarkBaseFSKit.xcodeproj \
  -scheme MarkBaseFSKit \
  -configuration Release \
  CODE_SIGN_IDENTITY="Apple Development" \
  DEVELOPMENT_TEAM="<TEAM_ID>" \
  PRODUCT_BUNDLE_IDENTIFIER="com.momentry.markbase.fskit"

# 3. 安装System Extension
systemextensionsctl install \
  --team <TEAM_ID> \
  --bundleID com.momentry.markbase.fskit \
  --type filesystem \
  build/Release/MarkBaseFSKit.app

echo "✅ System Extension已安装请到System Settings批准"

下一步

需要用户提供:

  1. Apple Developer账户状态是否有账户
  2. 是否已下载Developer Certificate
  3. Team ID10字符ABC12DEF34

我可以提供:

  1. 完整的自动化脚本(install_system_extension.sh
  2. Xcode项目模板MarkBaseFSKit.xcodeproj
  3. Entitlements配置文件

最后更新: 2026-05-18 17:28