On Sep 10, 2014, at 10:34 PM, Marco S Hyman <m...@snafu.org> wrote:

> On Sep 10, 2014, at 8:19 PM, Charles Srstka <cocoa...@charlessoft.com> 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 (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to