VSCode 上的 swift 开发配置

news2024/11/26 12:42:46

安装Xcode和VsCode

在下列网址下载安装即可
VsCode: https://code.visualstudio.com/
Xcode:https://developer.apple.com/xcode/resources/ 或者apptore
打开xcode要求安装的东西都允许安装一下

启用 Swift 语言支持

确保你已经安装了 Xcode 和 VSCode。这是开始运行的最简单方法,因为sourcekit-lsp 它预捆绑了 Xcode。打开终端并运行:

$ xcrun sourcekit-lsp

假设您没有看到任何输出,这是正常的,意味着它按预期工作。

与您可能在其他地方阅读的内容相反,您根本不需要编辑扩展的源代码。

配置扩展

在vscode插件市场 搜索并安装swift扩展:
在这里插入图片描述

配置识别swift包

将此 JSON 插入到settings.json中。您可能需要根据您安装的当前版本更新x86_64-apple-ios13.6-simulator行。

“sourcekit-lsp.serverArguments”:[-Xswiftc”,
“-SDK”,
“-Xswiftc”,
“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk”,-Xswiftc”,
“-目标”,
“-Xswiftc”,
“x86_64-apple-ios13.6-模拟器”,
],

这适用于引用 UIKit 等 iOS 框架的 Swift 包。

添加“app”目标支持
到目前为止,我们添加了 iOS 支持,但仅限于 Swift 包。如果您想处理典型的应用程序目标怎么办。尝试打开根文件夹会出现此错误:

建立Swift 包清单文件文件

SourceKit-LSP 正在寻找Swift 包清单文件文件
如果你想在 iOS 应用程序上工作而不是在 Swift 包上工作怎么办?SourceKit-LSP 总是在根文件夹中寻找 package.json 假设它总是处理 Swift 包。iOS 应用程序不是 Swift 包,因此我们需要通过添加虚拟Package.swift 来欺骗 SourceKit-LSP。将此文件添加到项目的根目录(与 .xcodeproj 相同级别),比如我新建一个项目叫TestSwift,那么这个文件里面可以这样写:

// swift-tools-version:5.2
import PackageDescription
let packageName = "TestSwift"
 // <-- Change this to yours
 let package = Package(name: "TestSwift",
   // platforms: [.iOS("9.0")],
                products: [.library(name: packageName, targets: ["TestSwift"])],
                    targets: [.target(name: "TestSwift", path: "TestSwift")])

仔细检查文件的位置
最后一次重启 VSCode,瞧!正确的 UIKit 自动完成

需要注意这样配置后cocopods依赖的库 vscode链接不上,没有代码提示等

参考文章:
https://medium.com/swlh/ios-development-on-vscode-27be37293fe1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/471632.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ITSS】信息技术服务标准(ITSS)的介绍以及发展历程

信息技术服务标准&#xff08;ITSS)介绍 ITSS是Information TechnologyService Standards的缩写&#xff0c;中文意思是信息技术服务标准&#xff0c;是在工业和信息化部、国家标准化委的领导和支持下&#xff0c;由ITSS工作组研制的一套IT服务领域的标准库和一套提供IT服务的方…

AD9208的4通道 14-bit、2.4GSPS采样率之中文版资料

板卡概述 FMC137 是一款基于 VITA57.4 标准规范的 JESD204B 接口FMC 子 卡 模 块 &#xff0c; 该 模 块 可 以 实 现 4 路 14-bit 、 2GSPS/2.6GSPS/3GSPSADC 采集功能。该板卡 ADC 器件采用 ADI 公司的 AD9208 芯片&#xff0c;&#xff0c;与 ADI 公司的 AD9689 可以实现…

python 零基础入门难度如何?

在入门前先来了解一下Python是什么。 Python&#xff0c;他其实是一种受众非常广的语言&#xff0c;简单易学&#xff0c;在网上有大把大把的入门教程&#xff0c;学习曲线平滑。除了“简单”“万能”之外&#xff0c;还有众多库&#xff0c;Python的标准库非常强大&#xff0…

TEMPUS FUGIT: 1

环境准备 靶机链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;d3du 虚拟机网络链接模式&#xff1a;NET模式 攻击机系统&#xff1a;kali linux 2022.03 信息收集 探测目标靶机开放端口和服务情况。 nmap -p- -A -sV 192.168.255.132 nmap --scriptvuln -p …

lvs作业

文章目录 NAT模式DR模式 基于 CentOS 7 构建 LVS-DR 群集。 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式&#xff0c;比较其各自的优势 。基于 CentOS 7 构建 LVS-DR 群集。 NAT模式 在 LVS 的 NAT 模式中&#xff0c;LVS 将客户端请求的 IP 地址和端口号修改为 LVS 的 NAT …

golang/goland memo

文章目录 golanggolang开发工具goland Build constraints exclude all the Go files in xxxxxxgoland 解决 Unresolved reference xxx问题goland 解决 cannot resolve directory xxxx问题 golang GOROOT&#xff1a;Go的安装目录。 GOPATH 是一个环境变量&#xff0c;用于指定…

软件设计师笔记--计算机系统知识

文章目录 前言学习资料计算机系统CPU运算器控制器进制原码反码补码移码浮点数寻址奇偶校验码海明码循环冗余校验码RISC和CISC流水线存储器Cache中断输入输出控制方式总线加密技术与认证技术加密算法可靠性公式 前言 博主是非科班出身的&#xff0c;但从大一开始自学编程&#…

【JAVA程序设计】(C00132)基于SSM的固定资产管理系统

基于SSM的固定资产管理系统 项目简介项目获取开发环境项目技术运行截图 项目简介 本系统为基于SSM的固定资产管理系统&#xff0c;本系统分为二种用户&#xff1a;超级管理员和普通管理员&#xff1b; 超级管理员功能&#xff1a; 首页查看、设备管理、平台账户管理、设备台账…

JavaScript经典教程(五)-- JavaScript基础 -- for、while、forEach、递归、字符串

186&#xff1a;JavaScript基础 - for、while、forEach、递归、字符串 1、循环 &#xff08;1&#xff09;for循环 1、标准语句 for(初始条件;判断条件;迭代语句){操作内容; }也可以这样写&#xff1a;把初始条件和迭代语句拆出 var a 0; for(;a < 5;){alert(a);a; }其…

【软件测试】项目测试—MySQL数据库操作应用场景?必会知识详全(超详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 数据库在软件测试…

ASEMI代理亚德诺AD8130ARZ-REEL7芯片应用与参数分析

编辑-Z 本文将对AD8130ARZ-REEL7芯片进行详细的应用与参数分析&#xff0c;包括其主要特征、接口定义、电气特性以及使用注意事项等方面&#xff0c;旨在为广大读者提供对该芯片更全面的了解。 1、主要特征 AD8130ARZ-REEL7芯片是一种用于高速、低功耗差分信号放大的电路&…

使用CXF调用WSDL

简介 时隔多年&#xff0c;再次遇到需要调用WebService的业务&#xff0c;对方给予的wsdl说明文档还是内网的链接&#xff0c;并且设有基础访问权限&#xff0c;即在浏览器打开wsdl链接时需要输入【用户名密码】登录后方可查看wsdl文档&#xff0c;这需要设置代理&#xff08;我…

( 字符串) 242. 有效的字母异位词 ——【Leetcode每日一题】

❓242. 有效的字母异位词 难度&#xff1a;简单 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 注意&#xff1a;若 s 和 t 中每个字符出现的次数都相同&#xff0c;则称 s 和 t 互为字母异位词。 示例 1: 输入: s “anagram”, t “…

【5天打卡】学习Lodash的第五天——总结篇

Lodash 含有 Array, Collection, Date, Function, Lang, Math, Number, Object, String 等多个功能模块&#xff0c;总共几百个功能函数。官方文档上以字典顺序排序&#xff0c;不容易总结记忆。通过这5天的学习&#xff0c;我们对这一框架进行总结。主要从lodash的使用优势和迷…

电磁波、射频通信基础知识科普,超通俗解释!

一、电磁波 电磁波是能量的一种&#xff0c;凡是高于绝对零度的物体&#xff0c;都会释出电磁波。电与磁可说是一体两面&#xff0c;电流会产生磁场&#xff0c;变动的磁场则会产生电流。变化的电场和变化的磁场构成了一个不可分离的统一的场。 在低频的电振荡中&#xff0c;…

XCTF-Web2

Web_php_include <?php show_source(__FILE__); echo $_GET[hello]; $page$_GET[page]; while (strstr($page, "php://")) {$pagestr_replace("php://", "", $page); } include($page); ?>strstr() 查找字符串首次出现的位置&#xff0…

集合-ArrayList学习

1、特点&#xff1a; ArrayList 实现是一个动态数组&#xff0c;初始时是一个空数组。ArrayList 默认初始长度为0&#xff0c;在插入第一个元素的时候扩容为10&#xff0c;然后当数组存满的时候&#xff0c;数组会再次扩容&#xff0c;此时就扩容到原来的1.5倍。ArrayList 是线…

打造一个基于低代码的无代码平台,愿满足非专业人士的需求

一、开源项目简介 摸鱼低代码平台希望打造一个基于低代码的无代码平台。即能给程序员使用&#xff0c;也能满足非专业人士的需求。 后端基于Spring Cloud Alibaba注册中心、配置中心采用nacos当前版本完成oauth2统一认证接入持续进行功能完善 二、开源协议 使用Apache-2.0开…

人机交互到艺术设计及玫瑰花绘制实例

Python库之图形用户界面 Riverbank Computing | Introduction Welcome to wxPython! | wxPython Overview — PyGObject Python库之游戏开发 https://www.pygame.org/news Panda3D | Open Source Framework for 3D Rendering & Games python.cocos2d.org Python库之…

MATLAB科研数据可视化

互联网的飞速发展伴随着海量信息的产生&#xff0c;而海量信息的背后对应的则是海量数据。如何从这些海量数据中获取有价值的信息来供人们学习和工作使用&#xff0c;这就不得不用到大数据挖掘和分析技术。数据可视化分析作为大数据技术的核心一环&#xff0c;其重要性不言而喻…