在运行 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/