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

187 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# System Extension 注册指南
## 当前状态检查
```bash
# 检查代码签名证书
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**
```bash
system_profiler SPHardwareDataType | grep "Serial Number" | awk '{print $4}'
```
---
### 步骤2本地配置可代为操作
**2.1 导入证书到Keychain**
```bash
# 导入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自动化脚本**
```bash
# 创建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 构建签名应用**
```bash
# 构建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**
```bash
# 使用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完成安装
**验证安装成功:**
```bash
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/`,可以执行:
```bash
# 一键安装脚本(假设证书已下载)
./scripts/install_system_extension.sh
```
**脚本内容:**
```bash
#!/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