Skip to content

Commit 931b161

Browse files
high quality app icon
1 parent 122896c commit 931b161

File tree

2 files changed

+24
-17
lines changed

2 files changed

+24
-17
lines changed

IconChanger.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@
331331
CODE_SIGN_IDENTITY = "Apple Development";
332332
CODE_SIGN_STYLE = Automatic;
333333
COMBINE_HIDPI_IMAGES = YES;
334-
CURRENT_PROJECT_VERSION = 4;
334+
CURRENT_PROJECT_VERSION = 6;
335335
DEVELOPMENT_ASSET_PATHS = "\"IconChanger/Preview Content\"";
336336
DEVELOPMENT_TEAM = 44BN78992X;
337337
ENABLE_HARDENED_RUNTIME = YES;
@@ -344,7 +344,7 @@
344344
"@executable_path/../Frameworks",
345345
);
346346
MACOSX_DEPLOYMENT_TARGET = 12.0;
347-
MARKETING_VERSION = 1.1.2;
347+
MARKETING_VERSION = 1.1.3;
348348
PRODUCT_BUNDLE_IDENTIFIER = com.zhuhaoyu.IconChanger;
349349
PRODUCT_NAME = "$(TARGET_NAME)";
350350
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -362,7 +362,7 @@
362362
CODE_SIGN_IDENTITY = "Apple Development";
363363
CODE_SIGN_STYLE = Automatic;
364364
COMBINE_HIDPI_IMAGES = YES;
365-
CURRENT_PROJECT_VERSION = 4;
365+
CURRENT_PROJECT_VERSION = 6;
366366
DEVELOPMENT_ASSET_PATHS = "\"IconChanger/Preview Content\"";
367367
DEVELOPMENT_TEAM = 44BN78992X;
368368
ENABLE_HARDENED_RUNTIME = YES;
@@ -375,7 +375,7 @@
375375
"@executable_path/../Frameworks",
376376
);
377377
MACOSX_DEPLOYMENT_TARGET = 12.0;
378-
MARKETING_VERSION = 1.1.2;
378+
MARKETING_VERSION = 1.1.3;
379379
PRODUCT_BUNDLE_IDENTIFIER = com.zhuhaoyu.IconChanger;
380380
PRODUCT_NAME = "$(TARGET_NAME)";
381381
PROVISIONING_PROFILE_SPECIFIER = "";

IconChanger/IconList.swift

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -45,21 +45,28 @@ struct IconList: View {
4545
}
4646
} else {
4747
ForEach(iconManager.apps, id: \.self) { app in
48-
VStack {
49-
Button {
50-
setPath = app
51-
} label: {
52-
Image(nsImage: NSWorkspace.shared.icon(forFile: app))
53-
.resizable()
54-
.scaledToFit()
55-
.padding(.bottom)
56-
}
57-
.buttonStyle(BorderlessButtonStyle())
48+
if let rep = NSWorkspace.shared.icon(forFile: app)
49+
.bestRepresentation(for: NSRect(x: 0, y: 0, width: 1024, height: 1024), context: nil, hints: nil) {
50+
VStack {
51+
Button {
52+
setPath = app
53+
} label: {
54+
Image(nsImage: { () -> NSImage in
55+
let image = NSImage(size: rep.size)
56+
image.addRepresentation(rep)
57+
return image
58+
}())
59+
.resizable()
60+
.scaledToFit()
61+
.padding(.bottom)
62+
}
63+
.buttonStyle(BorderlessButtonStyle())
5864

59-
Text(iconManager.getAppName(app))
60-
.multilineTextAlignment(.center)
65+
Text(iconManager.getAppName(app))
66+
.multilineTextAlignment(.center)
67+
}
68+
.padding()
6169
}
62-
.padding()
6370
}
6471
}
6572
}

0 commit comments

Comments
 (0)