VSCode/Cursor开发swift

我是新手第一次开始学习swift,其实感觉 Xcode 开发体验也挺好的,想跟随 AI 的脚步去学习,所以才搭建这个环境。

创建项目

首先需要在 Xcode 中启动一个 swift 项目,然后运行起来。

  1. Xcode 创建项目
  2. 选择项目模板,这里选择 App创建项目
  3. 跟着引导设置项目名称 只设置项目名
  4. 选择项目位置
  5. 等待项目创建完成,然后就会运行起来 xcode创建项目完成会自动运行

安装

安装 VSCode 插件,用于 swift 的高亮,debug,格式化,热加载:

安装 sourcekit-lsp

这个就是 swift 的 lsp 服务,用于提供代码补全,代码高亮,代码提示等功能。

          brew install sourcekit-lsp

        
BASH

然后在 swift 项目地址的终端中运行:

          # 如果项目是 workspace 类型,那么运行:
#xcode-build-server config -workspace *.xcworkspace -scheme <name> 

# 如果项目是 project 类型,那么运行:
xcode-build-server config -project *.xcodeproj -scheme <name>

# 比如我上面创建的项目名字叫 iShelf,那么先打开终端到项目根目录,再运行:
xcode-build-server config -project iShelf.xcodeproj -scheme iShelf

        
BASH

然后就会在项目根目录下生成一个 buildServer.json 文件,内容有刚才运行的命令。

buildServer.json

以上这些操作后,再在 VSCode / Cursor 中打开项目,就会发现代码补全,代码高亮,代码提示等功能都正常了。

安装插件支持热更新

需要下载一个 Xcode 插件,然后还有一个 MacOS 软件。

  1. 安装 Inject 插件

打开 Xcode ,然后在顶部的菜单栏中选择 File -> Add Package Dependencies

添加 Inject 插件

然后在弹窗的弹框右侧输入栏中输入 Inject 插件的地址 https://github.com/krzysztofzablocki/Inject: 然后点击 Add Package 按钮,就会在项目中添加 Inject 插件。

添加inject包

接着给项目添加链接参数,在 Build Setting中,通过ALL,找到Linking,再定位到Other Linker Flags,加入两个参数

          -Xlinker -interposable

        
TEXT

设置injectc参数

  1. 安装 InjectionIII

InjectionIII 的 release 页面下载最新的 injection app,并添加到应用中。

然后运行 injection app,运行图标在顶部的工具栏中。 injectionIII打开项目 点击针管图标,就是 injectionIII 应用的图标,选择 open project -> 选择项目目录

injectionIII打开项目

再点击 Prepare Project 按钮,然后在弹窗点击 Go ahead 按钮,就会在项目中添加 injectionIII 的配置。

injectionIII-prepare

会发现项目中有很多刚才生成的文件,这些文件是 injectionIII 的配置文件。

injectionIII-complete

运行

以上安装好了插件之后,就可以运行项目了。其实这个时候在 Xcode 中启动模拟器后,在 VSCode/cursor 中修改代码,会发现 Xcode 中的效果会更改。 不过也可以使用 VSCode 的插件 SweetPad 来热更新运行。

当前 VSCode 打开的项目文件夹是一个 swift 项目的根目录,打开侧边栏的 sweetpad 插件 -> 点击 Run 按钮

sweetpad运行

然后启动模拟器,并运行项目。

sweetpad运行模拟器