ios XCode 13.1:未定义的符号:__swift_FORCE_LOAD_$_XCT测试快速支援

3pvhb19x  于 2022-11-19  发布在  iOS
关注(0)|答案(5)|浏览(107)

我的应用昨天运行得很好,没有任何错误或警告。但是当我今天尝试运行它时,构建失败了--我没有更改代码中的任何内容:

Undefined symbol: __swift_FORCE_LOAD_$_XCTestSwiftSupport

如何解决这个问题,为什么以前工作的时候会突然发生这样的事情?
这是我最近在使用XCode时经常遇到的一个问题。我的代码运行正常,没有任何错误,但是当我在不同的时间重新启动XCode时,它会随机地开始抛出错误--没有对实际代码进行任何修改。
我已经包括了一些照片和这些照片的全文:

InventoryApp 3 issues
    Warning
        Could not find or use auto-linked library 'XCTestSwiftSupport'
        Could not find or use auto linked framework 'XCTest'
    Error
        Undefined symbol: __swift FORCE LOAD $ XCTestSwiftSupport

ld: warning: Could not find or use auto-linked library 'XCTestSwiftSupport'
ld: warning: Could not find or use auto-linked framework
'XCTest'
Undefined symbols for architecture arm64:
    "__swift_FORCE_LOAD_$_XCTestSwiftSupport", referenced from:
        __swift_FORCE_LOAD_$_XCTestSwiftSupport_$_inventoryApp in Button.o
        __swift_FORCE_LOAD_$_XCTestSwiftSupport_$_inventoryApp in ViewModel.o
        __swift_FORCE_LOAD_$_XCTestSwiftSupport_$_inventoryApp in Inventory.o
        __swift_FORCE_LOAD_$_XCTestSwiftSupport_$_inventoryApp in AddView.o
        __swift_FORCE_LOAD_$_XCTestSwiftSupport_$_inventoryApp in ScannerView.o
        __swift_FORCE_LOAD_$_XCTestSwiftSupport_$_inventoryApp in RegisterView.o
        __swift_FORCE_LOAD_$_XCTestSwiftSupport_$_inventoryApp in ContentView.o
        ...
       (maybe you meant: __swift_FORCE_LOAD_$_XCTestSwiftSupport_$_inventoryApp)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

flvtvl50

flvtvl501#

如果您将

import XCTest

到非测试包中的文件。

wlzqhblo

wlzqhblo2#

我通过导航到目标应用程序设置〉构建阶段〉将二进制文件与库链接〉添加链接库“XCTest.framework”来解决这个错误。
如果之后您的应用程序开始崩溃,则会中止并出现以下错误:

dyld: Library not loaded: @rpath/XCTest.framework/Versions/A/XCTest

0_abort_with_payload

然后你可以看看这个线程上的建议:Xcode 5.0.2 dyld: Library not loaded: @rpath/XCTest.framework/Versions/A/XCTest
对我有效的解决方案是:导航至目标应用〉构建设置〉链接〉其他链接器标志〉编辑或添加-weak_framework“XCTest”

ilmyapht

ilmyapht3#

这个错误今天随机开始在我的Xcode项目上发生。我更改了设置。

PROJECT -> Build Settings -> Build Options -> Enable Testing Search Paths

从“否”更改为“是”,生成成功。
编辑:...
如果项目创建时包含了测试目标,则默认情况下此设置为打开。在我的情况下,我相信我是在稍后添加了测试目标,因此此设置将为false。尽管如此,我不能说为什么它没有在我添加测试目标时立即中断。
请参阅:https://xcodebuildsettings.com

aoyhnmkz

aoyhnmkz4#

以上都不适用于我。在我的例子中,有几个模拟文件同时针对框架和单元测试包。我只是取消了框架一号,以消除检查器上的错误。

rqdpfwrv

rqdpfwrv5#

我通过导航到目标应用程序设置〉构建阶段〉将二进制文件与库链接〉添加链接库“XCTest.framework”来解决这个错误。
上述操作与上述解决方案完全相同,尽管出现了“库未加载”的问题。
我解决了“库未加载”的问题,通过设置框架为可选,而链接库。[输入图像描述在这里][1]
我在Xcode 13.2.1中使用它。

相关问题