【问题标题】:After upgrade to iOS13 beta 6/Xcode 11 beta 5: issue "dyld: Symbol not found: _$s7SwiftUI7BindingVyxGAA0C11ConvertibleAAMc"升级到 iOS 13 beta 6/Xcode 11 beta 5 后:发出“dyld: Symbol not found: _$s7SwiftUI 7BindingV GAA0C11ConvertibleAAMc”
【发布时间】:2019-08-11 17:57:46
【问题描述】:

使用 Xcode 11 beta 5 升级到 iOS13 beta 6 后,我在 iPhone SE 设备上运行时收到此消息。

dyld: Symbol not found: _$s7SwiftUI7BindingVyxGAA0C11ConvertibleAAMc
  Referenced from: /var/containers/Bundle/Application/3B128240-B05E-4C1C-A0E1-55D22683B49E/BleAdvApp.app/BleAdvApp
  Expected in: /System/Library/Frameworks/SwiftUI.framework/SwiftUI
 in /var/containers/Bundle/Application/3B128240-B05E-4C1C-A0E1-55D22683B49E/BleAdvApp.app/BleAdvApp

使用模拟器没有这个提示,在设备上用iOS13 beta 5 已经没问题了,工具 编译没问题,消息在 iPhone 上的应用程序启动时显示,并带有

线程 1:信号 SIGABRT

由于没有 Xcode 11 beta 6,Xcode 仍在 MacOS Mojave 10.14.5 (18F132) 上的 beta 5 上运行。

我从头开始创建了一个简单的 SwiftUI 示例,它在实际手机和模拟器上运行没有任何问题。

我还想知道的是,我的 Mac 上根本没有路径 /var/containers?

知道如何进行吗?

【问题讨论】:

  • 您是否尝试过清理您的项目文件夹并删除您的派生数据?
  • 这可能是 this question 的副本。您是否在应用程序的任何地方使用@ObservedObject?在 iOS Beta 6 上运行 Xcode Beta 5 项目时,@ObservedObject 目前已损坏。
  • @graycampbell 我没有使用@ObservedObject,但有两个符合ObservableObject 的类并且只使用@EnvironmentObject。我将尝试在我的代码中找到使用该符号 ConvertibleAAMc 的部分。
  • iOS beta 7 今天发布了,这个问题依然存在。
  • 我有一个 developer beta 1 Xcode build 和 developer beta 1 iOS build,它运行良好,但尝试从 dev beta 1 Xcode 构建到 iOS beta 6 每次都失败并出现此错误

标签: swiftui xcode11 ios13


【解决方案1】:

随着 Xcode 11 beta 6 的更新和使用 iOS 13 beta 7,问题不再出现。我使用了上面链接中发布的代码。

【讨论】:

    【解决方案2】:

    现在删除了在以前的测试版中弃用的 SwiftUI API。 (52587863)

    删除了 Binding 结构的几个扩展。 (51624798)

    删除了 Binding 结构对 Collection 协议的条件一致性。 (51624798)

    我相信答案就是发行说明的这一部分。 Binding 从符合集合中移除。

    在使用 CoreData 的新项目中,不会发生崩溃。任何其他具有非 CoreData 动态数据的项目,例如集合或数组都会因此错误而崩溃。

    我按照注释中的迁移指南来解释这次删除,但设备上仍然发生崩溃。模拟器、预览等都很好。

    【讨论】:

    • 我可以确认问题发生在导致崩溃的已弃用代码的上下文中:Toggle(isOn: self.$userData.beacons[self.beaconIndex].isActive) { Text("Active") } 。 Xcode 11 beta 5 给出以下警告消息:'subscript(_:)' is deprecated: See Release Notes for migration path.
    • 问题还没有解决。我按照 [stackoverflow.com/questions/57324501/… 和 [stackoverflow.com/questions/57544230/… 中的解决方案,编译器警告消失了,但上述解决方案存在问题。关于如何解决的任何进一步想法?
    • @AnErd,我非常很高兴地报告 Xcode beta 6 删除了警告!
    猜你喜欢
    • 2019-11-15
    • 2014-08-08
    • 2019-12-15
    • 1970-01-01
    • 2019-11-30
    • 1970-01-01
    • 2019-12-14
    • 2014-07-28
    • 2020-01-01
    相关资源
    最近更新 更多