Re: NSUserDefaults not sticking
Re: NSUserDefaults not sticking
- Subject: Re: NSUserDefaults not sticking
- From: Charles Srstka <email@hidden>
- Date: Wed, 10 Sep 2014 22:58:00 -0500
On Sep 10, 2014, at 10:34 PM, Marco S Hyman <email@hidden> wrote:
> On Sep 10, 2014, at 8:19 PM, Charles Srstka <email@hidden> wrote:
>
>>
>>> Where did you get the idea that NSUserDefaults doesn't work for sandboxed apps? It certainly does.
>>
>> #import <Foundation/Foundation.h>
>>
>> int main(int argc, const char * argv[]) {
>> @autoreleasepool {
>> NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
>> NSDictionary *domain = [def persistentDomainForName:@"com.apple.TextEdit"];
>>
>> NSLog(@"%@", domain);
>> }
>> return 0;
>> }
>
> Ahh, you want to read defaults for some other app. Nope. Can't
> do that. Says so right in the doc:
>
> Sandbox Considerations
> A sandboxed app cannot access or modify the preferences for any other app. (For example, if you add another app's domain using theaddSuiteNamed: method, you do not gain access to that app's preferences.)
>
> Attempting to access or modify another app's preferences does not result in an error, but when you do, OS X actually reads and writes files located within your app's container, rather than the actual preference files for the other application.
But we're not talking about a sandboxed app trying to access the preferences of another app here. We're talking about a *non*-sandboxed app accessing the preferences of an app that is sandboxed.
And this is in fact possible to do — by launching the defaults program and parsing its output. It just doesn't work with NSUserDefaults.
Charles
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden