36. 跨语言:C/C++与Swift&Objective-C混合编程(一)

  1. iOS 的编程语言

Objective-C和Swift都是用于开发iOS、macOS、watchOS和tvOS应用程序的编程语言,由苹果公司开发和支持。它们之间的关系类似于Java和Kotlin在Android开发中的关系。

1.1. Objective-C

发展历史: Objective-C最初由Brad Cox和Tom Love在1983年发明,后被苹果收购。是苹果早期的编程语言,一直用于开发macOS和iOS应用程序。

官方网址:

主要特点:

1.2. Swift

发展历史: Swift是苹果公司于2014年推出的编程语言,它具有更简洁的语法和更高的性能,Swift正逐步取代Objective-C,成为苹果系统下的主流开发语言。

官方网址:

主要特点:

1.3. 两者的关系

苹果公司支持Objective-C和Swift的共存,开发者可以在同一个项目中混合使用这两种语言。这种灵活性使得开发者可以逐步将现有的 Objective-C代码迁移到Swift。

在实际的项目开发中,新项目一般会使用Swift作为主要开发语言;而已有的老项目则可以继续保持用Objective-C开发,或者Objective-C与Swift共存,逐步转向Kotlin。如果项目中需要用到很多C/C++的库,或者需要与C/C++进行混合编程,建议使用Objective-C,因为它与C/C++的兼容性更好。

  1. 开发环境搭建

Objective-C和Swift的集成开发环境(IDE)都是 Xcode。需要在macOS上安装Xcode,并安装相应的插件来支持Objective-C和Swift的开发。

2.1. 安装Xcode

本文使用的Xcode版本为16.2,安装步骤如下:

访问App Store:打开你的Mac,找到App Store应用。搜索Xcode:在搜索栏中输入"Xcode",找到由Apple提供的Xcode应用。下载并安装:点击"获取"或"安装"按钮,下载并安装Xcode。这个过程可能需要一些时间,取决于你的网络速度和Xcode的版本大小。

如果安装失败,可以尝试以下方式解决:

清理磁盘,确保有足够的磁盘空间。磁盘空间不足可能会导致安装失败。我在mac系统剩余30GB时安装Xcode会失败,但是清空磁盘到剩余40GB后,安装成功。重启电脑:有时候简单的重启可以解决安装过程中的问题。更新操作系统,确保您的 macOS 版本足够新,以支持您想要安装的 Xcode 版本。2.2. 配置Xcode打开Xcode 安装完成后,打开Xcode。第一次启动时,Xcode会自动安装一些必要的组件,这个过程也可能会需要一段时间。同意许可协议: 按照Xcode启动时的提示,阅读并同意Apple的开发者工具许可协议。

  1. 安装组件: 选择并安装需要的组件。

  2. 显示后缀名: 打开设置面板:XCode -> Settings或Preferences,File Extensions选择Show All。

2.3. 命令行配置

XCode安装完后,我们有时需要在命令行下执行一些XCode相关命令,所以需要保证命令行环境是正确的。

plaintext 复制代码
验证环境是否正常: 执行以下命令
 # 查看XCode的构建版本
xcodebuild -version
# 查看模拟器的设备信息
xcrun simctl list devices

检查Xcode安装路径: Xcode默认会安装在/Applications/Xcode.app目录,可以通过以下命令检查Xcode的路径。

xcode-select -p 配置Xcode路径: 如果路径为空或不正确,可以通过以下命令来配置Xcode路径。

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer安装命令行工具: 有时,即使Xcode安装了,命令行工具可能没有自动安装。你可以手动安装命令行工具:

xcode-select --install 再次验证

xcodebuild -version

xcrun simctl list devices 3. Objective-C与C/C++混合编程6z

相关推荐
东坡肘子1 天前
谁是 AI-relay App 的真正威胁 -- 肘子的 Swift 周报 #158
人工智能·swiftui·swift
叫Guava不是瓜娃2 天前
我用 Swift 写了个本地语音输入:按住说话,松开就是整理好的文字(开源)
swift
Yannik3 天前
iOS Swift Package Manager(SPM)私有组件完整实操
ios·swift
我就是不信3 天前
Swift 方法派发机制详解
开发语言·ios·swift
用户38034165882975 天前
八个私有 SPM 包撑起六款 App:分支当版本、钻石依赖,和一次谁都没报错的失效
ios·swift
健了个平_245 天前
【iOS】关于传统竖屏 UIKit 项目如何简单适配 iPhone Duo 的第一版
ios·app·swift
庚鑫6 天前
Xcode 26.3 调试 iOS 27:从设备元数据报错到 GUI Run
ios·objective-c·xcode
2501_915106326 天前
iOS开发之Xcode常用调试技巧总结
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
sakiko_6 天前
使用SPM(Xcode27), 并解决Package.swift不存在问题
swift