Skip to content

[v3] Using the task common:update:build-assets command will overwrite Info.plist instead of merging it. #4636

@rxliuli

Description

@rxliuli

Description

When building the mac version of the app, I noticed that after manually modifying Info.plist and then re-running task common:update:build-assets, it overwrites all previous modifications. Check the code.

return os.WriteFile(targetFile, content, 0o644)

For example, when publishing to the AppStore, LSApplicationCategoryType must be included, but this key gets deleted every time I update the version, and I need to manually restore it, which is troublesome.

To Reproduce

return os.WriteFile(targetFile, content, 0o644)

Expected behaviour

Modify the processPList implementation to support merge operations for preserving custom modifications.

Screenshots

No response

Attempted Fixes

No response

System Details

Wails Doctor          
                                


# Wails
Version | v2.10.2


# System
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
| OS           | MacOS                                                                                                                       |
| Version      | 26.0.1                                                                                                                      |
| ID           | 25A362                                                                                                                      |
| Branding     |                                                                                                                             |
| Go Version   | go1.24.2                                                                                                                    |
| Platform     | darwin                                                                                                                      |
| Architecture | arm64                                                                                                                       |
| CPU 1        | Apple M2 Max                                                                                                                |
| CPU 2        | Apple M2 Max                                                                                                                |
| GPU          | Chipset Model: Apple M2 Max Type: GPU Bus: Built-In Total Number of Cores: 38 Vendor: Apple (0x106b) Metal Support: Metal 4 |
| Memory       | 64GB                                                                                                                        |
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

# Dependencies
┌────────────────────────────────────────────────────────────────────────┐
| Dependency                | Package Name | Status    | Version         |
| Xcode command line tools  | N/A          | Installed | 2412            |
| Nodejs                    | N/A          | Installed | 22.14.0         |
| npm                       | N/A          | Installed | 10.9.2          |
| *Xcode                    | N/A          | Installed | 26.0.1 (17A400) |
| *upx                      | N/A          | Installed | upx 4.2.4       |
| *nsis                     | N/A          | Available |                 |
|                                                                        |
└─────────────────────── * - Optional Dependency ────────────────────────┘

# Diagnosis
Optional package(s) installation details: 
  - nsis : More info at https://wails.io/docs/guides/windows-installer/

 SUCCESS  Your system is ready for Wails development!

 ♥   If Wails is useful to you or your company, please consider sponsoring the project:
https://github.com/sponsors/leaanthony

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions