Skip to content

Commit cb5b9c6

Browse files
authored
fix: deleting default macOS appPlist keys using extendInfo (#9481)
1 parent 3f57eb2 commit cb5b9c6

3 files changed

Lines changed: 10 additions & 0 deletions

File tree

.changeset/fifty-laws-jog.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"app-builder-lib": patch
3+
---
4+
5+
fix: delete default macOS appPlist keys using extendInfo when set Nullish

packages/app-builder-lib/src/macPackager.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,9 @@ export class MacPackager extends PlatformPackager<MacConfiguration> {
582582
if (extendInfo != null) {
583583
Object.assign(appPlist, extendInfo)
584584
}
585+
for (const [k, v] of Object.entries(appPlist)) {
586+
if (v === null || v === undefined) delete appPlist[k]
587+
}
585588
}
586589

587590
protected async signApp(packContext: AfterPackContext, isAsar: boolean): Promise<boolean> {

test/src/mac/macPackagerTest.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ test.ifMac("one-package", ({ expect }) =>
8181
LSItemContentTypes: ["public.folder"],
8282
},
8383
],
84+
// test unsetting a default electron plist value
85+
NSMicrophoneUsageDescription: undefined,
8486
},
8587
minimumSystemVersion: "10.12.0",
8688
fileAssociations: [

0 commit comments

Comments
 (0)