swift - 转换为 Swift 4 时出现段错误

标签 swift xcode swift4

我正在将项目更新到 iOS 11/Swift 4。我已更新到 Swift 3.2,并且有一个项目在构建时出现一个警告:“可以转换为 Swift 4”。因此,当询问有关 Swift 4 @objc 推理时,我单击警告并使用“最小化推理”选项启动迁移助手。

构建很快就会失败,并显示以下消息:Command failed due to signal: Segmentation fault: 11

堆栈跟踪:

0 swift 0x000000010afabdba PrintStackTraceSignalHandler(void*) + 42 1 swift 0x000000010afab1f6 SignalHandler(int) + 662 2 libsystem_platform.dylib 0x00007fff9ec2bb3a _sigtramp + 26 3 swift 0x000000010a10155a clang::ASTReader::readTypeRecord(unsigned int) + 18634 4 swift 0x00000001085e4ff0 swift::migrator::updateCodeAndEmitRemap(swift::CompilerInstance*, swift::CompilerInvocation const&) + 960 5 swift 0x000000010791b775 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 1925 6 swift 0x0000000107919784 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 7716 7 swift 0x00000001078ce6a8 main + 12248 8 libdyld.dylib 0x00007fff9ea1c235 start + 1

其他人有类似的问题并找到解决方案吗?

更新:我还尝试了 Swift 4 @objc Inference“匹配 Swift 3 行为”,得到了相同的结果。

最佳答案

这似乎是一个 Swift 错误,已在此处提交:https://bugs.swift.org/plugins/servlet/mobile#issue/SR-4646

也就是说,您是否尝试过清理和删除派生数据?

关于swift - 转换为 Swift 4 时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46325113/

相关文章:

ios - 检查 UIView 是否有属性

ios - 在运行时更改客户端 ID,Google 登录

ios - 突然得到 do/catch 错误

iphone - 在 Core Data 中的文件夹结构中搜索

swift - #selector 在 Swift 4 中不起作用?

ios - Swift iOS - 将数据作为包含自定义模型的自定义模型添加到 Firestore

ios - 滚动后重置 UICollectionViewCell 中的 Scrollview

iphone - 通过数组进行页面控制

ios - 快速检查对象的属性是否存在

ios - 在 Swift 4 中对结构数组进行排序