我在更改"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/中给出的相同步骤
发布于 2014-08-28 14:45:15
-(IBAction)allowCookies:(Id)发送者{
[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{
NSLog(@"Cookies has been changed %lu",[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookieAcceptPolicy]);
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
[[NSNotificationCenter defaultCenter] postNotificationName:NSHTTPCookieManagerAcceptPolicyChangedNotification object:self userInfo:nil];}
-(空)manageCookies:(短)选项{
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);}
NSPipe* pipe = NSPipe管道;
NSTask* task = [NSTask分配初始化];任务setLaunchPath:@"/bin/sh";[任务集参数:@[@“-c”,NSString字符串格式:@“%@”,string]];任务集标准输出:管道;
NSFileHandle* file =管道fileHandleForReading;任务启动;
NSString[文件分配initWithData:文件readDataToEndOfFile编码:NSUTF8StringEncoding];}
https://stackoverflow.com/questions/25381232
复制相似问题