UserDefaults污染了我的“首选项”文件夹

时间:2019-06-02 05:53:45

标签: macos cocoa nsuserdefaults

我使用UserDefaults.standard和项目特定的UserDefaults,这些项目在我的应用程序中使用特定的suiteName进行了初始化。

因此,我的项目依赖默认值是这样初始化的:

UserDefaults(suiteName: "<myBundleId>.<projectId>")

现在,我不确定defaults进程的作用,但是它会不断用~/Library/Preferences形式的plist弄乱我的<myBundleId>.B99B25CB-44E8-4DC7-BD03-0036EA249CEF-82994.plist

UUID

这个随机的projectId字符串不是来自我的func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error: Error?) { let bytes : [UInt16] = [0x0000, 0x0002, 01, 00] let data = Data(bytes: bytes, count: bytes.count) self.peripheral.writeValue(data, for: characteristic, type: CBCharacteristicWriteType.withoutResponse) } func peripheral(_ peripheral: CBPeripheral, didWriteValueFor characteristic: CBCharacteristic, error: Error?) { if (error != nil) { print("didWrite Value for characteristic:\(characteristic)") } } }

这是哪里来的?

1 个答案:

答案 0 :(得分:0)

我相信这些是临时的暂存文件,可能与原子保存有关。它们始终在所有应用程序中发生。当应用程序正常终止时,它们将被删除,因此您的“首选项”文件夹不会被它们污染。但是,如果您在使用应用程序时观看“首选项”文件夹,则会看到它们像虚拟粒子一样不断出现和消失。这是我目前在计算机上的一些内容,在使用Safari时遇到了问题:

enter image description here

您可能会看到它们持续存在的原因仅在于您使用Xcode测试应用程序的方式。