gpt4 book ai didi

objective-c - 如何在 Objective-C 的 mac 浏览器中的 safari、Chrome、Opera、Firefox 中设置主页

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:02 24 4
gpt4 key购买 nike

如何使用 Objective-C 在 OSX 中为 Safari、Chrome、Opera 和 Firefox 浏览器设置主页?

最佳答案

在为所有浏览器设置主页之前,您需要关闭特定浏览器。

在 safari 中,您可以按照以下方式进行操作。

NSString* path = [NSHomeDirectory() stringByAppendingPathComponent:@"/Library/Preferences/com.apple.Safari.plist"];

NSMutableDictionary *plistDict = [NSMutableDictionary dictionaryWithContentsOfFile:path];

NSLog(@"Old HomePage %@",[plistDict objectForKey:@"HomePage"]);

[plistDict setValue:@"https://google.co.in/" forKey:@"HomePage"];

[plistDict writeToFile:path atomically: YES];

NSLog(@"New HomePage %@",[plistDict objectForKey:@"HomePage"]);

对于 Chrome

        NSError * error;
NSString * stringFromFile;
NSString * stringFilepath = [NSHomeDirectory() stringByAppendingPathComponent:@"/Library/Application Support/Google/Chrome/Default/Preferences/"];

stringFromFile = [[NSString alloc] initWithContentsOfFile:stringFilepath
encoding:NSUTF8StringEncoding
error:&error];

NSLog(@"stringFromFile %@ error %@",stringFromFile, error.description);


NSArray *lines = [stringFromFile componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

for (NSString *line in lines) {

if ([line rangeOfString:@"\"homepage\":"].location != NSNotFound) {

NSLog(@"string contains homepage!");

NSString *temp =@"\"homepage\": \"https://yahoo.com\",";

NSString *replacedString = [stringFromFile stringByReplacingOccurrencesOfString:line
withString:temp];

[replacedString writeToFile:stringFilepath atomically:YES encoding:NSUTF8StringEncoding error:nil];

}//ends if

}//ends for

对于火狐

NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"/Library/Application Support/Firefox/Profiles"];

NSString *firefoxPath;

NSArray *folderItems = [self listFilesAtPath:path];

for (NSURL *item in folderItems) {

NSNumber *isHidden = nil;

[item getResourceValue:&isHidden forKey:NSURLIsDirectoryKey error:nil];

if ([isHidden boolValue]) {

firefoxPath =[NSString stringWithFormat:@"%@/%@/prefs.js",path,[item.path lastPathComponent]];
}
}

NSError * error;
NSString * stringFromFile;
NSLog(@"firefox %@",firefoxPath);

stringFromFile = [[NSString alloc] initWithContentsOfFile:firefoxPath
encoding:NSUTF8StringEncoding
error:&error];


NSArray *lines = [stringFromFile componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

for (NSString *line in lines) {

if ([line rangeOfString:@"user_pref(\"browser.startup.homepage\""].location != NSNotFound) {

NSString *temp = [NSString stringWithFormat:@"user_pref(\"browser.startup.homepage\", \"%@\");",homePageURL];

NSString *replacedString = [stringFromFile stringByReplacingOccurrencesOfString:line
withString:temp];

[replacedString writeToFile:firefoxPath atomically:YES encoding:NSUTF8StringEncoding error:nil];

}//ends if

}//ends for

歌剧

NSError * error;
NSString * stringFilepath = [NSHomeDirectory() stringByAppendingPathComponent:@"/Library/Application Support/com.operasoftware.Opera/Preferences/"];

NSString *stringFromFile = [[NSString alloc] initWithContentsOfFile:stringFilepath
encoding:NSUTF8StringEncoding
error:&error];

NSArray *lines = [stringFromFile componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

for (NSString *line in lines) {

if ([line rangeOfString:@"\"urls_to_restore_on_startup\":"].location != NSNotFound) {

NSString *temp = [NSString stringWithFormat:@"\"urls_to_restore_on_startup\": [ \"%@\" ]",homePageURL];

NSString *replacedString = [stringFromFile stringByReplacingOccurrencesOfString:line
withString:temp];

[replacedString writeToFile:stringFilepath atomically:YES encoding:NSUTF8StringEncoding error:nil];

}//ends if

}//ends for

干杯! :) :)

关于objective-c - 如何在 Objective-C 的 mac 浏览器中的 safari、Chrome、Opera、Firefox 中设置主页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20658391/

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