如何创建和构建 swift 包
How to create and build a swift package
我正在尝试创建一个新的 swift 包
我在控制台上执行了以下命令
swift package init
swift package generate-xcodeproj
这有效并生成一个空项目。
在项目示例文件中,我只添加了一行
Import UIKit
在 Xcode 中,此构建正确。
但是在控制台上,当我执行 swift build
命令时,
我得到这个错误
/Users/home/Desktop/TT/Sources/TT/TT.swift:1:8: error: no such module 'UIKit'
import UIKit
我做错了什么吗?
UIKit
是 iOS 中的框架,无法访问。
#if canImport(UIKit)
// Code specific to platforms where UIKit is available
#endif
相关:
您应该 select 一个基于 iOS 的目标以使其可用:
如果在 macOS(默认情况下)中保留 select,您将收到错误消息。
特定平台
如果您希望您的包仅适用于特定平台(例如仅适用于 iOS),您应该在 package.swift
文件中指定平台:
let package = Package(
name: "MyLibrary",
platforms: [
.iOS(.v9)
],
products: [
,,,
多平台
如果您需要您的框架在多个平台上可用,请不要忘记检查导入框架的可用性,例如:
#if canImport(UIKit)
import UIKit
// And do the rest of UIKit dependent code
#endif
我正在尝试创建一个新的 swift 包 我在控制台上执行了以下命令
swift package init
swift package generate-xcodeproj
这有效并生成一个空项目。 在项目示例文件中,我只添加了一行
Import UIKit
在 Xcode 中,此构建正确。
但是在控制台上,当我执行 swift build
命令时,
我得到这个错误
/Users/home/Desktop/TT/Sources/TT/TT.swift:1:8: error: no such module 'UIKit'
import UIKit
我做错了什么吗?
UIKit
是 iOS 中的框架,无法访问。
#if canImport(UIKit)
// Code specific to platforms where UIKit is available
#endif
相关:
您应该 select 一个基于 iOS 的目标以使其可用:
如果在 macOS(默认情况下)中保留 select,您将收到错误消息。
特定平台
如果您希望您的包仅适用于特定平台(例如仅适用于 iOS),您应该在 package.swift
文件中指定平台:
let package = Package(
name: "MyLibrary",
platforms: [
.iOS(.v9)
],
products: [
,,,
多平台
如果您需要您的框架在多个平台上可用,请不要忘记检查导入框架的可用性,例如:
#if canImport(UIKit)
import UIKit
// And do the rest of UIKit dependent code
#endif