gpt4 book ai didi

macos - Mac 沙箱已创建,但没有 NSUserDefaults plist

转载 作者:行者123 更新时间:2023-12-03 16:04:26 35 4
gpt4 key购买 nike

我正在尝试找出沙箱创建过程中出现的一些问题。在多种情况下,似乎未在 Data/Library/Preferences 中创建 NSUserDefaults .plist 文件。我在调试器中以及从应用程序目录启动应用程序时看到了这一点。我还没有尝试过存档、签署应用程序然后启动。有必要吗?

创建了以 .LSSharedFileList.plist 结尾的别名文件,但它指向自身,因此不存在。

我不知道它是否相关,但控制台报告:

appleeventsd[72]: <rdar://problem/11489077> A sandboxed application with pid ... checked in with appleeventsd, but its code signature could not be validated ( either because it was corrupt, or could not be read by appleeventsd ) and so it cannot receive AppleEvents targeted by name, bundle id, or signature. Error=ERROR: #100013  { "NSDescription"="SecCodeCopySigningInformation() returned 100013, -." }  (handleMessage()/appleEventsD.cp #2072) client-reqs-q

谢谢。

最佳答案

这可能与 NSUserDefaults 的缓存有关吗?

在最新的 OS X 版本中,默认值不会立即写入磁盘,因此您可能无法立即看到它们。您可能想尝试手动同步首选项 -来自 NSUserDefaults Class Reference :

At runtime, you use an NSUserDefaults object to read the defaults that your application uses from a user’s defaults database. NSUserDefaults caches the information to avoid having to open the user’s defaults database each time you need a default value. The synchronize method, which is automatically invoked at periodic intervals, keeps the in-memory cache in sync with a user’s defaults database.

尽管我相信即使这样也可能不会立即将默认值写入 10.9 中的磁盘,因为现在还涉及一些缓存用户默认值的守护进程。

还检查

Reading NSUserDefaults from helper app in the sandbox

Objective-C NSUserDefaults caching prevents another app from accurately reading changes

When (not) to abuse NSUserDefaults

关于macos - Mac 沙箱已创建,但没有 NSUserDefaults plist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22242106/

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