yonaskolb / yonaskolb/XcodeGen

Default handling of .icon files (Xcode 26)

Open
#1,556 0 comments 65 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Swift
Stars
8.8k
Forks
908
Avg merge
17d 14h
Merged PRs (30d)
2

Description

Xcode 26 treats packages generated with Icon Composer as a file.

-		49200A152E20346600F811C8 /* AppIcon.icon in Resources */ = {isa = PBXBuildFile; fileRef = 49200A142E20346600F811C8 /* AppIcon.icon */; };

Xcodegen by default treats the package contents as individual files

+		A20B1E789EBBD27F04D764F3 /* icon.json in Resources */ = {isa = PBXBuildFile; fileRef = 02B01BF10E42FBA9C741D622 /* icon.json */; };
+		14861B4340D6284EE4C162C4 /* smbc.svg in Resources */ = {isa = PBXBuildFile; fileRef = 79E38677ADEE0C7DF7A6EDF7 /* smbc.svg */; };

This breaks Xcode's recognition of the file as an icon. Adding this option resolves the issue:

options:
  fileTypes:
    "icon":
      file: true 

But it would be nice if this were handled by default.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing XcodeGen's fileTypes handling and its default mapping for icon files, using the shown fileTypes configuration as the expected behavior. Compare generated project entries with the Xcode output in the issue; done means .icon packages are emitted as a single resource by default without requiring that option.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
build-system
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.