iOS-for-Mac 应用程序在构建后只运行一次,然后在每次启动时崩溃:找不到符号:_OBJC_CLASS_$_AVPlayerView

问题描述 投票:0回答:1

我不知道在我正在开发的之前运行的应用程序中是什么触发了此问题:当我将构建目标设置为“我的 Mac(专为 iPad 设计)”时,我现在必须删除 DerivedData 下的所有应用程序构建材料以让应用程序构建并运行一次。清洁还不够;我必须删除所有内容。我不知道关键是什么,但删除

SymbolCache
本身并没有改变任何东西。

下一次,它会在启动时崩溃,甚至没有到达应用程序类的实例化。我的代码都没有执行;因此我无法提供如何创建这种情况的代码示例。

另外:如果我将 iPhone 设置为构建目标,该应用程序将重复构建和运行。如果我随后返回“我的 Mac(专为 iPad 设计)”,该应用程序将再次启动一次,然后在随后的每次启动时崩溃。

每次崩溃都是一样的:

dyld[3875]: Symbol not found: _OBJC_CLASS_$_AVPlayerView
  Referenced from: <D566512D-CAB4-3EA6-9B87-DBD15C6E71B3> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Debugger/libViewDebuggerSupport.dylib
  Expected in:     <4C34313C-03AD-32EB-8722-8A77C64AB959> /System/iOSSupport/System/Library/Frameworks/AVKit.framework/Versions/A/AVKit

有趣的是,我还没有找到任何类似的在线报道提到这个符号。

以前有人见过这种行为吗?崩溃仅在第一次运行后发生......并在切换目标类型时重置?

Call stack on crash:

ios xcode macos avfoundation
1个回答
0
投票

这似乎是一个已知问题,尽管确切的错误可能有所不同。苹果开发者支持表示:

最近,可以通过关闭视图来解决类似的问题 在Xcode中进行调试,请您亲自尝试一下。为此,请选择 您的目标并单击“编辑方案...”。然后,在运行(调试)> 选项 > 查看调试,取消选中“启用用户界面 调试”框。

这确实可以防止我的情况发生崩溃。

© www.soinside.com 2019 - 2024. All rights reserved.