我有几个客户抱怨我的应用程序崩溃。我从来没有能够重现它。 Crashlitics已经发现了崩溃:
func addDevice(unconfiguredDevice: UnconfiguredDevice) {
if let macSegment = unconfiguredDevice.macSegmentFromSSID { <<-CRASH
print("unconfigured mac: \( macSegment )")
if let setupDevice = self.unconfiguredDevices.value.first(where: { Device in Device.macEnd == unconfiguredDevice.macSegmentFromSSID! }) {
setupDevice.unconfiguredDevice = unconfiguredDevice
} else {
self.unconfiguredDevices.value.append(SetupDevice(unconfiguredDevice: unconfiguredDevice))
}
}
}
崩溃类型为EXC_BREAKPOINT。我在这里看到其他几个线程,这种崩溃可能与可选的解包有关,实际上macSegment方法返回一个可选的。但我不明白问题可能是什么。 (顺便说一句,此方法用于检测可通过WAC配置的设备)。
任何想法/提示/建议?
答案 0 :(得分:0)
发生崩溃是因为当您尝试打开它时macSegmentFromSSID
为零。
试试
if let setupDevice = self.unconfiguredDevices.value.first(where: { Device in Device.macEnd == macSegment}) {
setupDevice.unconfiguredDevice = unconfiguredDevice
}