7

我正在尝试运行一个现有的应用程序,看看它与最新的 Xcode 测试版配合得如何,并尝试在现有项目中使用 SwiftUI。当我在模拟器上运行项目时,出现以下运行时崩溃:

dyld: Symbol not found: __ZTISt11logic_error
  Referenced from: /Users/lucas/Library/Developer/CoreSimulator/Devices/224333CF-0388-4F57-9633-6CAB37B33510/data/Containers/Bundle/Application/<Guid>/<AppName>.app/<AppName>
  Expected in: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox
 in /Users/<name>/Library/Developer/CoreSimulator/Devices/224333CF-0388-4F57-9633-6CAB37B33510/data/Containers/Bundle/Application/<Guid>/<AppName>.app/<AppName>

将所有内容设置为 iOS 13 会使错误消失,但这在不久的将来不会起作用。还尝试删除与音频和 AV 框架相关的任何内容,但这无济于事。

4

4 回答 4

5

显然相同的错误,但具有不同的符号:

dyld: Symbol not found: __ZTISt9bad_alloc
  Referenced from: <bla-bla-bla>
  Expected in: /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 12.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox
 in <bla-bla-bla>

@Jeremy 的回答对我有用。为了帮助找到它,该文件位于 /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox.tbd

你取出的线路是:

    weak-def-symbols: [ __ZTI11CAException, __ZTIN8DSPGraph9ExceptionE, __ZTINSt3__112bad_weak_ptrE, 
                        __ZTINSt3__117bad_function_callE, __ZTISt11logic_error, __ZTISt12length_error, 
                        __ZTISt12out_of_range, __ZTISt13runtime_error, __ZTISt16invalid_argument, 
                        __ZTISt18bad_variant_access, __ZTISt8bad_cast, __ZTISt9bad_alloc, 
                        __ZTISt9exception, __ZTS11CAException, __ZTSN8DSPGraph9ExceptionE, 
                        __ZTSNSt3__112bad_weak_ptrE, __ZTSNSt3__117bad_function_callE, 
                        __ZTSSt11logic_error, __ZTSSt12length_error, __ZTSSt12out_of_range, 
                        __ZTSSt13runtime_error, __ZTSSt16invalid_argument, __ZTSSt18bad_variant_access, 
                        __ZTSSt8bad_cast, __ZTSSt9bad_alloc, __ZTSSt9exception ]
于 2019-06-15T22:32:06.047 回答
4

这是 iOS 13 Beta SDK 中的一个错误。您可以通过编辑 SDK 中的 AudioToolbox.tbd 文件来解决它,以删除不应该从那里导出的 __ZTISt11logic_error (等)符号,或者您可以编辑链接行以包含-lc++之前-framework AudioToolbox(例如静态链接器使用 libc++ 中的正确引用,而不是从 AudioToolbox 错误引用的一次)。

或者您可以等待未来的 beta 版修复;)

于 2019-06-15T21:11:02.203 回答
1

我因完全相同的错误而崩溃:

dyld: Symbol not found: __ZTISt11logic_error
  Referenced from: <bla-bla-bla>
  Expected in: /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
 in <bla-bla-bla>

但是当我在 Clion 中编译自己的 C++ 项目时遇到了它,因此没有与 Simulator 或 iO 相关联。

那时我有 XCode 10.2.1。我尝试了多种方法来修复此崩溃,但没有任何帮助。幸运的是我找到了这篇文章,所以我将我的 XCode 降级到 10.1,它是命令行工具。它帮助了我!

因此,即使我的建议可能对 XCode 11 beta 没有帮助,我希望它可以帮助其他开发人员遇到与您相同的错误。

于 2019-06-05T10:53:29.820 回答
-1

这是一个 Xcode 错误,但有一个解决方法。在目标的“Frameworks Libraries & Embedded Content”部分,添加 libc++.tbd 并确保它位于列表顶部。这应该是你所需要的。

于 2019-06-08T03:49:55.110 回答