Context
Current app target inference is intentionally conservative but still leans on simple filesystem signals such as */Resources/Info.plist. Real projects may use generated Info.plist files, target-specific build settings, extensions, or nonstandard folder layouts.
Scope
- Parse enough
.pbxproj structure to distinguish app targets from extensions, frameworks, test bundles, and resource bundles.
- Prefer product type and target metadata over folder naming when available.
- Keep behavior conservative when target ownership is ambiguous.
Acceptance
- Repos with generated Info.plist do not become unsupported solely because the file is absent.
- Extension-only signals do not cause the analyzer to treat an extension as the main app.
can_apply remains false when the main app target cannot be proven.
Context
Current app target inference is intentionally conservative but still leans on simple filesystem signals such as
*/Resources/Info.plist. Real projects may use generated Info.plist files, target-specific build settings, extensions, or nonstandard folder layouts.Scope
.pbxprojstructure to distinguish app targets from extensions, frameworks, test bundles, and resource bundles.Acceptance
can_applyremains false when the main app target cannot be proven.