尝试加载AudioToolbox时Xcode 11 Beta模拟器崩溃

时间:2019-06-05 06:58:19

标签: xcode11 ios13

我正在尝试运行一个现有应用程序,以查看其与最新Xcode beta的配合情况,并尝试在现有项目中使用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 个答案:

答案 0 :(得分:2)

这是iOS 13 Beta SDK中的错误。您可以通过在SDK中编辑AudioToolbox.tbd文件来删除不应从那里导出的__ZTISt11logic_error(et al)符号,也可以对其进行修改,也可以将链接行编辑为在{之前包含-lc++ {1}}(这样静态链接器将在libc ++中使用正确的引用,而不是从AudioToolbox中错误地引用的引用)。

或者您可以通过修复程序等待以后的Beta;)

答案 1 :(得分:2)

明显相同的错误,但符号不同:

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 ]

答案 2 :(得分: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。我尝试了多种方法来解决此崩溃问题,但没有任何帮助。 幸运的是,我找到了这个post,所以我将XCode降级到10.1,它是命令行工具。它帮助了我!

因此,即使我的建议可能对XCode 11 beta无效,但我希望它可以为其他开发人员提供与您相同的错误。

答案 3 :(得分:-1)

这是一个Xcode错误,但是有一种解决方法。在目标的“ Framework库和嵌入式内容”部分中,添加libc ++。tbd并确保它位于列表的顶部。那应该是您的全部需求。