首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mac 10.9上,Safari首选项plist不会从用户默认值更改

在mac 10.9上,Safari首选项plist不会从用户默认值更改
EN

Stack Overflow用户
提问于 2014-08-19 18:35:09
回答 1查看 600关注 0票数 1

我在更改"Block cookies and other website data:“表单隐私时遇到了Mac中的首选项缓存问题。我尝试使用用户默认设置来更改首选项。当“从不”选项被选中时,它将变为“来自第三方和广告商”。但是如果“总是”选择更改,它就不起作用了。OSX版本为10.3

defaults write com.apple.Safari.ContentPageGroupIdentifier.WebKit2StorageBlockingPolicy 1(默认写入com.apple.Safari 1)

defaults write com.apple.Safari WebKitStorageBlockingPolicy 1

遵循此链接http://hotdigitalnews.com/how-to-tackle-defaults-not-sticking-in-mavericks/中给出的相同步骤

EN

回答 1

Stack Overflow用户

发布于 2014-08-28 14:45:15

-(IBAction)allowCookies:(Id)发送者{

代码语言:javascript
复制
[self quitApplicationIfRunning:@"com.apple.Safari"];
[self setCookies];

NSString *text =nil;
NSString *commandString = [NSString stringWithFormat:@"defaults write com.apple.WebFoundation NSHTTPAcceptCookies 'always' "];
text = [self runAsCommand:commandString];
NSLog(@"text %@",text);
[self manageCookies:0];

}

-(空)setCookies{

代码语言:javascript
复制
NSLog(@"Cookies has been changed %lu",[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookieAcceptPolicy]);
[[NSHTTPCookieStorage sharedHTTPCookieStorage]  setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];

[[NSNotificationCenter defaultCenter] postNotificationName:NSHTTPCookieManagerAcceptPolicyChangedNotification object:self userInfo:nil];

}

-(空)manageCookies:(短)选项{

代码语言:javascript
复制
NSString *commandString = [NSString stringWithFormat:@"defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2StorageBlockingPolicy -int %d",option];

NSString *text = [self runAsCommand:commandString];
NSLog(@"text %@",text);

commandString = [NSString stringWithFormat:@"defaults write com.apple.Safari WebKitStorageBlockingPolicy -int %d",option];

text = [self runAsCommand:commandString];
NSLog(@"text %@",text);

}

  • (NSString*)runAsCommand:(NSString *)字符串{

NSPipe* pipe = NSPipe管道;

NSTask* task = [NSTask分配初始化];任务setLaunchPath:@"/bin/sh";[任务集参数:@[@“-c”,NSString字符串格式:@“%@”,string]];任务集标准输出:管道;

NSFileHandle* file =管道fileHandleForReading;任务启动;

NSString[文件分配initWithData:文件readDataToEndOfFile编码:NSUTF8StringEncoding];}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25381232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档