将"Nimble" xcframwork 添加到单元测试目标



我手动预编译并以xcframework的形式提供我的应用程序的依赖项。现在将这些链接到我的常规应用程序就很好了,但现在单元测试目标有点问题。我正试图通过OTHER_LDFLAGS将它们链接起来(将它们与模拟器风味.framework进行深度链接)。但是在编译过程中我得到了以下错误

Command CompileSwift failed with a nonzero exit code

1.  Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
2.  While evaluating request TypeCheckSourceFileRequest(source_file "/Users/mlostek/Projects/skoove/wynton/Wynton/WyntonTests/Extension/JSValueTest.swift")
3.  While evaluating request TypeCheckFunctionBodyUntilRequest(WyntonTests.(file).JSValueTest.testIntegerFromIntStringThrows()@/Users/mlostek/Projects/skoove/wynton/Wynton/WyntonTests/Extension/JSValueTest.swift:25:10, )
4.  While type-checking statement at [/Users/mlostek/Projects/skoove/wynton/Wynton/WyntonTests/Extension/JSValueTest.swift:25:43 - line:31:5] RangeText="{
let obj = JSValue(newObjectIn: jsContext)!
obj.setValue(JSValue(object: "5", in: jsContext), forProperty: "theKey")
expect {
_ = try obj.getInt("theKey")
}.to(throwError())
"
5.  While type-checking expression at [/Users/mlostek/Projects/skoove/wynton/Wynton/WyntonTests/Extension/JSValueTest.swift:28:9 - line:30:26] RangeText="expect {
_ = try obj.getInt("theKey")
}.to(throwError()"
0  swift                    0x0000000111151615 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  swift                    0x0000000111150615 llvm::sys::RunSignalHandlers() + 85
2  swift                    0x0000000111151bcf SignalHandler(int) + 111
3  libsystem_platform.dylib 0x00007fff70cef5fd _sigtramp + 29
4  libsystem_kernel.dylib   0x00007fff70c3b35e __ioctl + 10
5  swift                    0x000000010d99bf73 (anonymous namespace)::ExprRewriter::coerceCallArguments(swift::Expr*, swift::AnyFunctionType*, swift::ConcreteDeclRef, swift::ApplyExpr*, llvm::ArrayRef<swift::Identifier>, swift::constraints::ConstraintLocatorBuilder) + 8899
6  swift                    0x000000010d998eb2 (anonymous namespace)::ExprRewriter::finishApply(swift::ApplyExpr*, swift::Type, swift::constraints::ConstraintLocatorBuilder, swift::constraints::ConstraintLocatorBuilder) + 11970
7  swift                    0x000000010d9a420d (anonymous namespace)::ExprRewriter::visitApplyExpr(swift::ApplyExpr*) + 477
8  swift                    0x000000010d97b652 (anonymous namespace)::ExprWalker::walkToExprPost(swift::Expr*) + 18
9  swift                    0x000000010d971d23 (anonymous namespace)::ExprWalker::rewriteTarget(swift::constraints::SolutionApplicationTarget) + 371
10 swift                    0x000000010d971a10 swift::constraints::ConstraintSystem::applySolution(swift::constraints::Solution&, swift::constraints::SolutionApplicationTarget) + 6400
11 swift                    0x000000010db5a7fa swift::TypeChecker::typeCheckExpression(swift::constraints::SolutionApplicationTarget&, bool&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 1274
12 swift                    0x000000010db5a248 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 360
13 swift                    0x000000010dc3fb2b swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) + 9115
14 swift                    0x000000010dc3b36a bool (anonymous namespace)::StmtChecker::typeCheckStmt<swift::BraceStmt>(swift::BraceStmt*&) + 314
15 swift                    0x000000010dc39d77 swift::TypeCheckFunctionBodyUntilRequest::evaluate(swift::Evaluator&, swift::AbstractFunctionDecl*, swift::SourceLoc) const + 2231
16 swift                    0x000000010dc42b5d llvm::Expected<swift::TypeCheckFunctionBodyUntilRequest::OutputType> swift::Evaluator::getResultCached<swift::TypeCheckFunctionBodyUntilRequest, (void*)0>(swift::TypeCheckFunctionBodyUntilRequest const&) + 925
17 swift                    0x000000010dc3ae18 swift::TypeCheckFunctionBodyUntilRequest::OutputType swift::evaluateOrDefault<swift::TypeCheckFunctionBodyUntilRequest>(swift::Evaluator&, swift::TypeCheckFunctionBodyUntilRequest, swift::TypeCheckFunctionBodyUntilRequest::OutputType) + 440
18 swift                    0x000000010dc78944 swift::TypeCheckSourceFileRequest::evaluate(swift::Evaluator&, swift::SourceFile*) const + 1380
19 swift                    0x000000010dc7b559 llvm::Expected<swift::TypeCheckSourceFileRequest::OutputType> swift::Evaluator::getResultUncached<swift::TypeCheckSourceFileRequest>(swift::TypeCheckSourceFileRequest const&) + 953
20 swift                    0x000000010dc78254 swift::TypeCheckSourceFileRequest::OutputType swift::evaluateOrDefault<swift::TypeCheckSourceFileRequest>(swift::Evaluator&, swift::TypeCheckSourceFileRequest, swift::TypeCheckSourceFileRequest::OutputType) + 164
21 swift                    0x000000010cdf0b4b swift::CompilerInstance::performSemaUpTo(swift::SourceFile::ASTStage_t) + 6859
22 swift                    0x000000010ccb1771 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 6833
23 swift                    0x000000010cc35c27 main + 1255
24 libdyld.dylib            0x00007fff70af6cc9 start + 1
25 libdyld.dylib            0x0000000000000102 start + 18446603338625619002
error: Illegal instruction: 4 (in target 'WyntonTests' from project 'Wynton')

我如何为单元测试目标手动链接.xcframework?

嗯,这与XCode升级的一些不兼容有关。Nimble升级到9.0版本修复了这个问题

最新更新