gpt4 book ai didi

Swift 崩溃从地址簿中提取记录值

转载 作者:可可西里 更新时间:2023-11-01 02:25:35 24 4
gpt4 key购买 nike

我正在使用 Swift 从 AddressBook 中提取数据。如果我使用 Debug 构建应用程序,一切正常。但是,如果我使用发布配置构建应用程序,它会在此函数中崩溃:

private func extractProperty<T>(record:ABRecord, propertyName : ABPropertyID) -> T? {
return ABRecordCopyValue(record, propertyName)?.takeRetainedValue() as? T
}

经过一些测试,我发现当我试图检索联系人没有的“middleName”时它崩溃了。我将链拆分开来找出崩溃的确切位置,结果是在 takeRetainedValue() 中崩溃。所以即使 ABRecordCopyValue 没有返回值,Swift 仍然认为它是并沿着可选链传递它。我已经尝试了各种测试 nil 的方法,但似乎没有任何效果。

不过,这只发生在发布版本中。不是调试版本。

关于如何解决这个问题有什么想法吗?

最佳答案

所以我决定尝试在 Swift 1.2 (Xcode 6.3) 下构建它并且它工作了(在花了大约一个小时转换项目之后)。所以这肯定是一个编译器错误,已在最新的 Swift 中修复。

关于Swift 崩溃从地址簿中提取记录值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28455737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com