1.macOS app动态修改app图标,图标为icns格式
//需要重启软件才能看见效果
-(void)ChangeAppIcon:(NSString *)icnsPath
{
if (![[NSFileManager defaultManager] fileExistsAtPath:icnsPath]) {
return;
}
char buf[0] = {0};
uint32_t size = 0;
_NSGetExecutablePath(buf,&size);
char* path = (char*)malloc(size+1);
path[size] = 0;
_NSGetExecutablePath(path,&size);
char* pCur = strrchr(path, '/');
*pCur = 0;
NSString* nsPath = [NSString stringWithUTF8String:path];
free(path);
path = NULL;
nsPath = [nsPath stringByReplacingOccurrencesOfString:@"/Contents/MacOS" withString:@""];
NSImage* iconImage = [[NSImage alloc] initWithContentsOfFile:icnsPath];
[[NSWorkspace sharedWorkspace] setIcon:iconImage forFile:nsPath options:0];
}