Files
keyboard/docs/xcode-file-addition-guide.md
2026-03-02 09:19:06 +08:00

4.8 KiB
Raw Permalink Blame History

将新增文件添加到 Xcode 工程的操作指南

需要添加的文件

1. Shared 文件(主 App + 扩展都需要)

配置文件

  • 文件路径: /Shared/Resource/kb_input_profiles.json
  • 添加到 Target:
    • keyBoard (主 App)
    • CustomKeyboard (扩展)
  • 操作步骤:
    1. 在 Xcode 左侧项目导航器中,右键点击 Shared/Resource 文件夹
    2. 选择 "Add Files to keyBoard..."
    3. 找到并选择 kb_input_profiles.json
    4. 在弹出的对话框中,确保勾选:
      • Copy items if needed
      • keyBoard (主 App target)
      • CustomKeyboard (扩展 target)
    5. 点击 "Add"

管理器类

  • 文件路径:
    • /Shared/KBInputProfileManager.h
    • /Shared/KBInputProfileManager.m
  • 添加到 Target:
    • keyBoard (主 App)
    • CustomKeyboard (扩展)
  • 操作步骤:
    1. 在 Xcode 左侧项目导航器中,右键点击 Shared 文件夹
    2. 选择 "Add Files to keyBoard..."
    3. 找到并选择 KBInputProfileManager.hKBInputProfileManager.m
    4. 在弹出的对话框中,确保勾选:
      • Copy items if needed
      • keyBoard (主 App target)
      • CustomKeyboard (扩展 target)
    5. 点击 "Add"

2. 扩展文件(仅扩展需要)

布局解析器

  • 文件路径:
    • /CustomKeyboard/Manager/KBKeyboardLayoutResolver.h
    • /CustomKeyboard/Manager/KBKeyboardLayoutResolver.m
  • 添加到 Target:
    • CustomKeyboard (扩展)
  • 操作步骤:
    1. 在 Xcode 左侧项目导航器中,右键点击 CustomKeyboard/Manager 文件夹
    2. 选择 "Add Files to keyBoard..."
    3. 找到并选择 KBKeyboardLayoutResolver.hKBKeyboardLayoutResolver.m
    4. 在弹出的对话框中,确保勾选:
      • Copy items if needed
      • CustomKeyboard (扩展 target)
      • keyBoard (主 App target) - 不勾选
    5. 点击 "Add"

验证文件是否正确添加

方法 1: 通过 Target Membership 检查

  1. 在 Xcode 项目导航器中选择文件
  2. 在右侧的 File Inspector 中查看 "Target Membership"
  3. 确保勾选了正确的 target

方法 2: 通过 Build Phases 检查

  1. 在 Xcode 中选择项目根节点
  2. 选择对应的 targetkeyBoard 或 CustomKeyboard
  3. 切换到 "Build Phases" 标签
  4. 展开 "Compile Sources",确认 .m 文件在列表中
  5. 展开 "Copy Bundle Resources",确认 .json 文件在列表中

编译测试

1. 清理构建

# 在终端中执行
cd "/Users/mac/Desktop/项目/公司/KeyBoard"
xcodebuild clean -workspace keyBoard.xcworkspace -scheme keyBoard

2. 编译主 App

  1. 在 Xcode 中选择 scheme: keyBoard
  2. Cmd + B 编译
  3. 检查是否有编译错误

3. 编译扩展

  1. 在 Xcode 中选择 scheme: CustomKeyboard
  2. Cmd + B 编译
  3. 检查是否有编译错误

常见问题排查

问题 1: "No such file or directory"

原因: 文件没有正确添加到 target 解决方案:

  1. 选择文件
  2. 在 File Inspector 中勾选正确的 target
  3. 重新编译

问题 2: "Duplicate symbol"

原因: 文件被重复添加到 Compile Sources 解决方案:

  1. 选择对应的 target
  2. 进入 Build Phases > Compile Sources
  3. 找到重复的文件并删除多余的条目

问题 3: JSON 文件找不到

原因: JSON 文件没有添加到 Copy Bundle Resources 解决方案:

  1. 选择对应的 target
  2. 进入 Build Phases > Copy Bundle Resources
  3. 点击 "+" 添加 kb_input_profiles.json

问题 4: 头文件找不到

原因: 头文件搜索路径不正确 解决方案:

  1. 选择对应的 target
  2. 进入 Build Settings
  3. 搜索 "Header Search Paths"
  4. 确保包含 $(SRCROOT)/Shared

快速验证脚本

创建一个验证脚本来检查文件是否存在:

#!/bin/bash

echo "检查新增文件是否存在..."

files=(
    "Shared/Resource/kb_input_profiles.json"
    "Shared/KBInputProfileManager.h"
    "Shared/KBInputProfileManager.m"
    "CustomKeyboard/Manager/KBKeyboardLayoutResolver.h"
    "CustomKeyboard/Manager/KBKeyboardLayoutResolver.m"
)

base_path="/Users/mac/Desktop/项目/公司/KeyBoard"

for file in "${files[@]}"; do
    full_path="$base_path/$file"
    if [ -f "$full_path" ]; then
        echo "✅ $file"
    else
        echo "❌ $file (文件不存在)"
    fi
done

echo ""
echo "检查完成!"

保存为 check_files.sh 并执行:

chmod +x check_files.sh
./check_files.sh

下一步

完成文件添加后,请按照以下顺序进行测试:

  1. 编译主 App确保没有编译错误
  2. 编译扩展(确保没有编译错误)
  3. 运行主 App进入个人资料页
  4. 测试语言切换功能
  5. 测试多布局选择功能
  6. 测试扩展侧布局切换
  7. 测试联想功能

如果遇到任何问题,请参考上面的"常见问题排查"部分。