iOS 13 公测版 2 - Combine.Future "dyld: Symbol not found"

标签 ios swift beta combine

在运行 iOS 13 beta 2 build 的 iPad 上启动我的应用程序时,我收到了一个 SIGABRT。此构建在模拟器上运行良好

dyld:找不到符号:_$s7Combine6FutureCyxq_GAA9PublisherAAMc 预计在:/System/Library/Frameworks/Combine.framework/Combine

我以为可能是链接问题,但 Combine 没有出现在可链接的库列表中。

有没有人有变通办法,或者在下一个测试版之前我会沉没吗?


这是我的代码片段:

class ViewController: UIViewController {

    var future: AnyPublisher<String, Error>?

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        future = ViewController.makeNumberString(50)
        future?.sink { result in
            print("FUTURE DONE: \(result)")
        }
    }

    static func makeNumberString(_ number: Int) -> AnyPublisher<String, Error> {
        return Combine.Future<Int, Error> { complete in
            DispatchQueue.global(qos: .userInitiated).async {
                complete(.success(number))
            }
        }
        .map { number in
            return "\(number)"
        }
        .eraseToAnyPublisher()
    }
}

最佳答案

您的 Xcode Beta 和 iPadOS/iOS Beta 版本应该匹配。否则,Combine 可能无法链接到您的应用程序。

关于iOS 13 公测版 2 - Combine.Future "dyld: Symbol not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56892346/

相关文章:

ios - Swift 不识别这个特定的 Objective-C 类构造函数

ios - 如何处理 iOS SQLite 中的重音字符?

ios - Swift:无法将类型 'UITableViewCell' 的值转换为自定义单元格类

ios - 即使重新安装后,数据仍保留在 iPhone 上

swift - 如何在swift 3中替换多个字符

如果鼠标在行上,则快速取消隐藏一列中的按钮

ASP.Net5 Startup.cs ConfigurationBuilder

arrays - 如何分配一个变量来引用一个数组?

c# - 从Unity 5.5升级到5.6 Beta后,编译器将无法执行

button - Unity3d 4.6 GUI - 单击按钮脚本从预制件中消失