我最近创建了我的第一个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包,并使它具有可测试性?
发布于 2020-10-25 10:43:22
我一直使用命令xcodebuild作为详细的在这个论坛的帖子里,它要求您也生成一个.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
发布于 2021-10-27 15:39:15
我花了很多时间试图运行一些复杂框架的测试。解决方案中没有一个对我有效。
我发现generate-xcodeproj被标记为折旧。我找到这里的原因。
“.启动Xcode 11,打开和构建包,Xcode直接支持.”
因此,我直接在package文件夹中运行xcodebuild test,而不创建xcodeproj。
xcodebuild -scheme '<package name>-Package' -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPad Air (4th generation),OS=15.0' test而且起了作用。
发布于 2021-05-31 14:01:03
我试图在CI上构建和测试我的内部包,没有什么对我有用,生成一个xcodeproj将在将来被废弃。
对我来说最有效的方法是将目标指定为macOS 10.15,方法是不执行任何其他操作:
swift test -Xswiftc -target -Xswiftc x86_64-apple-macosx10.15https://stackoverflow.com/questions/63765408
复制相似问题