You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在Xcode 16.4中指定watchOS 9.4 SDK编译Rust XCFramework?

解决方法

可以不用安装Xcode 14.3,通过拷贝对应SDK到Xcode 16.4目录,再指定SDK编译就能解决问题,具体步骤如下:

1. 获取watchOS 9.4 SDK

你需要拿到Xcode 14.3附带的WatchOS9.4.sdk文件夹,途径包括:

  • 从已安装Xcode 14.3的设备上拷贝,路径为/Applications/Xcode-14.3.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS9.4.sdk
  • 从Xcode 14.3的安装包中提取(右键安装包选择"显示包内容",按上述路径找到SDK)

2. 将SDK复制到Xcode 16.4目录

用终端执行命令,把SDK拷贝到Xcode 16.4的对应路径下(替换源路径为你实际的SDK位置):

sudo cp -r /path/to/WatchOS9.4.sdk /Applications/Xcode-16.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/

输入系统密码完成拷贝,确保权限正确。

3. 指定SDK编译

有两种方式让cargo swift package使用watchOS 9.4 SDK:

方式一:临时设置环境变量

编译前先设置SDKROOT指向9.4 SDK路径,再执行编译命令:

export SDKROOT=/Applications/Xcode-16.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS9.4.sdk
cargo swift package [你的编译参数]

方式二:直接给命令指定SDK参数

在cargo swift package命令后添加--sdk参数,直接指定SDK版本或路径:

# 指定版本
cargo swift package --sdk watchos9.4 [你的编译参数]

# 或指定完整路径
cargo swift package --sdk /Applications/Xcode-16.4.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS9.4.sdk [你的编译参数]

4. 验证配置是否生效

执行以下命令,若输出watchOS 9.4的SDK路径,说明配置成功:

xcrun --sdk watchos9.4 --show-sdk-path

完成以上步骤后,编译出来的XCFramework就会基于watchOS 9.4 SDK构建,和你设置的最低部署目标9.6匹配,SDK版本不兼容的警告就会消失。

内容的提问来源于stack exchange,提问作者Seto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 06:33:10