From b242902a9009f77a1ec227bd5c609a945ef6cc00 Mon Sep 17 00:00:00 2001 From: Appcelerator Build Date: Sat, 24 Oct 2020 09:44:59 -0400 Subject: [PATCH] fix(mac): generate missing macOS asset catalog icons (#12211) Fixes TIMOB-28185 --- iphone/cli/commands/_build.js | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/iphone/cli/commands/_build.js b/iphone/cli/commands/_build.js index 88de4965ddc..015160e29a7 100644 --- a/iphone/cli/commands/_build.js +++ b/iphone/cli/commands/_build.js @@ -5241,6 +5241,7 @@ iOSBuilder.prototype.copyResources = function copyResources(next) { } }, lookup = { + // iOS (iPhone / iPad / universal) '-Small': { height: 29, width: 29, scale: 1, idioms: [ 'ipad' ] }, '-Small@2x': { height: 29, width: 29, scale: 2, idioms: [ 'iphone', 'ipad' ] }, '-Small@3x': { height: 29, width: 29, scale: 3, idioms: [ 'iphone' ] }, @@ -5252,7 +5253,7 @@ iOSBuilder.prototype.copyResources = function copyResources(next) { '-76': { height: 76, width: 76, scale: 1, idioms: [ 'ipad' ], required: true }, '-76@2x': { height: 76, width: 76, scale: 2, idioms: [ 'ipad' ], required: true }, '-83.5@2x': { height: 83.5, width: 83.5, scale: 2, idioms: [ 'ipad' ], minXcodeVer: '7.2' }, - '-Marketing': { height: 1024, width: 1024, scale: 1, idioms: [ 'ios-marketing' ], required: true, minXcodeVer: '9.0' } + '-Marketing': { height: 1024, width: 1024, scale: 1, idioms: [ 'ios-marketing' ], required: true, minXcodeVer: '9.0' }, }, deviceFamily = this.deviceFamily, flattenIcons = [], @@ -5261,6 +5262,22 @@ iOSBuilder.prototype.copyResources = function copyResources(next) { let defaultIconChanged = false, defaultIconHasAlpha = false; + // Add macOS icons if target is macOS + if (this.target === 'macos' || this.target === 'dist-macappstore') { + Object.assign(lookup, { + '-16': { height: 16, width: 16, scale: 1, idioms: [ 'mac' ], required: true, minXcodeVer: '12.0' }, + '-16@2x': { height: 16, width: 16, scale: 2, idioms: [ 'mac' ], required: true, minXcodeVer: '12.0' }, + '-32': { height: 32, width: 32, scale: 1, idioms: [ 'mac' ], required: true, minXcodeVer: '12.0' }, + '-32@2x': { height: 32, width: 32, scale: 2, idioms: [ 'mac' ], required: true, minXcodeVer: '12.0' }, + '-128': { height: 128, width: 128, scale: 1, idioms: [ 'mac' ], required: true, minXcodeVer: '12.0' }, + '-128@2x': { height: 128, width: 128, scale: 2, idioms: [ 'mac' ], required: true, minXcodeVer: '12.0' }, + '-256': { height: 256, width: 256, scale: 1, idioms: [ 'mac' ], required: true, minXcodeVer: '12.0' }, + '-256@2x': { height: 256, width: 256, scale: 2, idioms: [ 'mac' ], required: true, minXcodeVer: '12.0' }, + '-AppStore': { height: 512, width: 512, scale: 1, idioms: [ 'mac' ], required: true, minXcodeVer: '12.0' }, + '-AppStore@2x': { height: 512, width: 512, scale: 2, idioms: [ 'mac' ], required: true, minXcodeVer: '12.0' } + }); + } + const defaultIcon = this.defaultIcons.find(icon => fs.existsSync(icon)); if (defaultIcon) {