跳到主要内容
本页目录

问题排查

项目没识别、构建或签名失败、真机运行失败、没有补全、工程设置保存不了时怎么办。

插件的日志分三个通道,都在「输出」面板右上角的下拉框里:kxapp(插件本身)、kxapp Build(构建)、kxapp Console(App 输出)。下面的办法都不管用时,把这三个通道的内容附在 GitHub issue 里。

没有出现 Xcode 工程视图

  • 打开的文件夹里要有 .xcodeproj 或 .xcworkspace;node_modules、Pods、build、DerivedData 目录下的工程不会被识别。
  • 运行 xcode-select -p,输出应在 Xcode.app 里面;是 CommandLineTools 时运行 sudo xcode-select -s /Applications/Xcode.app。
  • 新装的 Xcode 要先打开一次,完成附加组件安装并同意许可协议。

构建失败

  • 先看「问题」面板和「输出 › kxapp Build」里第一条错误。同样的工程在 Xcode 里能不能构建成功,可以帮助判断问题在工程还是在插件。
  • 签名错误(No profiles for…、Signing requires a development team):在 Xcode「设置 › 账户」登录 Apple ID,并在 target 的 Signing & Capabilities 里选好 Team。
  • CocoaPods 工程报找不到模块:确认用的是 .xcworkspace,并且执行过 pod install。
  • 怀疑有旧产物:用「清理构建目录」后重新构建。

真机运行或调试失败

现象处理
设备列表里没有手机换一根数据线或 USB 口,解锁手机并点「信任」,再点「刷新设备」
设备后面标着开发者模式未打开手机「设置 › 隐私与安全性 › 开发者模式」打开后重启
The device is locked解锁手机后重新运行
很久停不到断点,弹出「设备未准备好」打开 Xcode 的 Window › Devices and Simulators,连一次这台设备,等它准备完成
App 闪退、调试器连不上看「输出 › kxapp Console」里 App 的最后输出;在 Xcode 里运行确认是不是 App 本身的问题

没有补全或报 No such module

  • 依赖包和 Pods 要构建过才有补全。等几秒后台构建完成,或手动 Cmd+B 一次。
  • 工作区根目录的 buildServer.json 属于其他构建服务器时,插件不会接管。删掉它后重新打开窗口。
  • 仍然不对时运行「kxapp: 重启代码提示」或「kxapp: 重建项目索引」。
  • 装了 clangd 等其他 C / Objective-C 语言扩展时,两个扩展会同时给出结果。停用其中一个,或在 kxapp.swiftSourcekitLspSupportedLanguages 里去掉对应语言。

工程设置保存不了

写入 project.pbxproj 需要 Ruby 的 xcodeproj gem。在终端运行 ruby -e 'require "xcodeproj"' 报错时,运行命令「安装 xcodeproj Ruby gem」,或执行 gem install --user-install xcodeproj。用 rbenv、rvm 等管理 Ruby 时,把对应 ruby 的路径填进设置 kxapp.rubyPath。

接下来