我最近创建了我的第一个 Swift 包。它目前仅在 iOS 中使用,如果它用于其他任何地方,它可能会在 tvOS 上,但就是这样。
我在使用 UIKit 时遇到了麻烦。我在这里看到了这个注释,这确实帮助解决了我的问题:
https://stackoverflow.com/a/58684636/1435520
我使用的(上面提到的)命令是这样的:
swift build -Xswiftc "-sdk" -Xswiftc "`xcrun --sdk iphonesimulator --show-sdk-path`" -Xswiftc "-target" -Xswiftc "x86_64-apple-ios13.0-simulator"
但是,我真的很想进行单元测试。运行 swift test...
使用与 swift build
相同的参数.但这给了我一个新的错误:error: module 'XCTest' was created for incompatible target x86_64-apple-macos10.14
所以,我想我只是想知道是否有可能做到这一点。就像,我怎么能创建一个使用 UIKit 的 Swift 包,并让它可测试?
最佳答案
我一直在使用命令 xcodebuild
如详细 in this forum post ,这要求您还生成一个 .xcodeproj
:
swift package generate-xcodeproj
xcodebuild build -sdk iphoneos -scheme 'MyPackage-Package'
xcodebuild test -destination 'name=iPhone 11' -scheme 'MyPackage-Package'
但是,如果您使用的是 SPM 资源,则会遇到我在此处详述的问题:https://bugs.swift.org/browse/SR-13773
关于ios - 如何测试使用 UIKit 的 Swift 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63765408/