gpt4 book ai didi

ios - 是什么导致 NSUserDefaults 崩溃?

转载 作者:行者123 更新时间:2023-11-30 11:51:49 31 4
gpt4 key购买 nike

在从 NSUserDefaults 进行例行读取时,我们发现用户群中出现零星崩溃。绝大多数用户不会遇到此问题,而遇到此问题的用户也没有运行任何特定版本的 iOS。它似乎是在我们开始使用 Xcode 9.1 进行部署后才出现的。

EXC_BAD_ACCESS KERN_PROTECTION_FAILURE 0x000000016efe3fc0

Crashed: com.apple.main-thread
0 libswiftCore.dylib 0x101816d4c @objc _NSContiguousString.length() + 5720
1 CoreFoundation 0x181e2a168 CFStringCompareWithOptionsAndLocale + 96
2 Foundation 0x1828602fc -[NSString isEqualToString:] + 76
3 CoreFoundation 0x181e19558 CFEqual + 596
4 CoreFoundation 0x181e15414 CFBasicHashFindBucket + 344
5 CoreFoundation 0x181e152a0 CFDictionaryGetValue + 224
6 CoreFoundation 0x181ef0c74 -[CFPrefsSearchListSource alreadylocked_copyValueForKey:] + 108
7 CoreFoundation 0x181f8f224 -[CFPrefsSource copyValueForKey:] + 64
8 CoreFoundation 0x181f992c0 __76-[_CFXPreferences copyAppValueForKey:identifier:container:configurationURL:]_block_invoke + 40
9 CoreFoundation 0x181ef44f0 __108-[_CFXPreferences(SearchListAdditions) withSearchListForIdentifier:container:buttConfigurationURL:perform:]_block_invoke + 268
10 CoreFoundation 0x181ef3d0c normalizeQuintuplet + 356
11 CoreFoundation 0x181ef43d8 -[_CFXPreferences(SearchListAdditions) withSearchListForIdentifier:container:buttConfigurationURL:perform:] + 108
12 CoreFoundation 0x181f99258 -[_CFXPreferences copyAppValueForKey:identifier:container:configurationURL:] + 124
13 CoreFoundation 0x181f9bbbc _CFPreferencesGetAppBooleanValueWithContainer + 136
14 Foundation 0x1828517a8 -[NSUserDefaults(NSUserDefaults) boolForKey:] + 112
15 <our code> 0x100d80750 @objc SettingsPersistence.persistedBool.getter (SettingsPersistence.swift:90)

以下是我们检索值的方法(Swift 3,通过 Objective C 调用):

fileprivate static let PersistedBoolKey = "persistedBool"

public var persistedBool: Bool {
get {
return UserDefaults.standard.bool(forKey: SettingsPersistence.PersistedBoolKey)
}

set(newPersistedBool) {
UserDefaults.standard.set(newPersistedBool, forKey: SettingsPersistence.PersistedBoolKey)
}
}

我以为这可能是一个线程问题,但是这发生在主线程上。无论哪种方式,NSUserDefaults 都被记录为完全线程安全的。

在我看来,这就像苹果库中的一个低级错误。我该怎么做才能解决这个问题?我应该向谁报告?有其他人遇到过类似的问题吗?

谢谢!

最佳答案

自从将 Xcode 升级到 9.4.1 后,此崩溃就消失了。

关于ios - 是什么导致 NSUserDefaults 崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48265635/

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