Xcode 15 iOS模拟器构建报错:AppKit/UIKit模块加载失败
Xcode 15+ 构建iOS模拟器目标时的模块导入错误问题
问题背景
在Xcode 14.x环境下,执行以下针对Package.swift的命令可正常完成构建:
swift build -Xswiftc -warnings-as-errors -Xswiftc "-sdk" -Xswiftc "$(xcrun --sdk iphonesimulator --show-sdk-path)" -Xswiftc "-target" -Xswiftc "x86_64-apple-ios15.0-simulator"
但升级至Xcode 15+后,构建时出现如下错误:
error: could not build Objective-C module 'AppKit' import AppKit
错误触发于以下代码段:
#if canImport(AppKit) import AppKit #elseif canImport(UIKit) import UIKit #endif
将代码修改为基于操作系统判断的逻辑后:
#if os(macOS) import AppKit #elseif os(iOS) import UIKit #elseif os(tvOS) || os(watchOS) import UIKit #endif
仍然报错,新错误信息为:
error: cannot load underlying module for 'UIKit' import UIKit
疑问
- 为何Xcode 15开始,仅构建iOS模拟器目标时,构建系统会尝试构建macOS/AppKit目标?
- 有哪些解决该问题的思路?
补充说明
以下命令在Xcode 15+环境下可正常执行:
swift build -Xswiftc -warnings-as-errors
同时,以下命令也能成功构建并测试包:
swift test
内容的提问来源于stack exchange,提问作者Richard Topchii
相关产品推荐
相关产品推荐

