我正在使用没有与之关联的xcodeproject文件的Swift Package Manager,通过他的终端进行构建时出现错误。当我调用swift build
命令时,我得到一个错误,指出MacOS构建失败。我正在构建的程序包不支持MacOS(它使用UIKit),仅支持iOS。我想不出一种方法来调用该命令以仅指定该构建针对iOS。我在Google周围搜索时没有运气。是否存在从终端为iOS构建SPM软件包的正确语法?
我正在使用的Swift版本是:“ Apple Swift版本5.2.4(swiftlang-1103.0.32.9 clang-1103.0.32.53)”
我在Package.swift文件中指定了平台
let package = Package(
name: "Package",
platforms: [.iOS(.v10), ],
products: [
...
我在github https://github.com/mike011/Swift-Package-Manager-Example上创建了一个示例项目。当我运行swift build
它失败
/git/Swift-Package-Manager-Example/Sources/Swift-Package-Manager-Example/iOSSpecificFile.swift:9:8: error: no such module 'UIKit' import UIKit ^ /git/Swift-Package-Manager-Example/Sources/Swift-Package-Manager-Example/iOSSpecificFile.swift:9:8: error: no such module 'UIKit' import UIKit ^
SwiftPM目前尚无禁止针对特定平台进行构建的方法,但是如果您愿意,可以利用最低构建版本来在不支持的平台上导致编译时错误。
例如,如果您不想允许在macOS上进行构建,则可以使用平台版本:.macOS("99.0")
在platforms
清单的部分中,当在Xcode中进行构建时,将收到类似于以下内容的编译警告和错误:
The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 99.0, but the range of supported deployment target versions is 10.8 to 10.16.99
Invalid Darwin version number: macos99.0
Invalid version number in 'target x86_64-apple-macos99.0'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句