Hive Hive
Sign in

App extension with test target is not supported by tuist

GitHub issue · Open

Metadata
Source
tuist/tuist #11478
Updated
Jun 24, 2026
Domains
Generated projects
Details

What happened?

I wanted to add test target for one of my app extension but it’s not supported by tuist.

How do we reproduce it?

LintableTarget(platform: .iOS, product: .appExtension), is missing here

The bug is described in this topic https://github.com/tuist/tuist/issues/6553 It was fixed, but it seems to be present in main again https://github.com/tuist/tuist/blob/main/cli/Sources/TuistGenerator/Linter/GraphLinter.swift#L516

Error log

Target WExtTests has platforms ‘iOS’ and product ‘unit tests’ and depends on target WUIExt of type ‘app extension’ and platforms ‘iOS’ which is an invalid or not yet supported combination.

macOS version

26.5.1

Tuist version

4.196.0

Xcode version

26.5.1

Flights

Investigate, reproduce, or fix this item in an isolated repository. Each Flight preserves its outcome and agent session.

New Flights are paused Configure model inference, GitHub, and a sandbox provider to start another Flight. Existing results remain available below.
No Flights yet

Start a Flight and preserve its objective, outcome, and session here.

Comments
D
dosubot[bot] Jun 24, 2026

Hi @tonicfx! I’m Dosu and I’m helping the Tuist team.

You’re right — LintableTarget(platform: .iOS, product: .appExtension) is indeed missing from the valid dependency list for iOS unit tests in GraphLinter.swift [1]. The current valid dependencies for LintableTarget(platform: .iOS, product: .unitTests) are limited to .app, .staticLibrary, .dynamicLibrary, .framework, .staticFramework, .bundle, .appClip, and .macro — but .appExtension is not included.

This looks like a regression from the fix in #6553. Adding LintableTarget(platform: .iOS, product: .appExtension) to that list should resolve the linting error.

For debugging and potentially contributing a fix, you could try installing this skill following the steps in this repo and use a coding agent like Claude, Codex, or Amp to work through the issue. Alternatively, a PR adding .appExtension to the validLinks dictionary entry for iOS unit tests at line ~516 in GraphLinter.swift should be a straightforward fix.

To reply, just mention @dosu.


Docs are dead. Just use Dosu.

Leave Feedback Ask Dosu about tuist Share Dosu with your team

T
tonicfx Jul 3, 2026

Do you have a date for this fix ?

Thanks for your help.

S
StefanBoblic Aug 15, 2026

I was able to reproduce the issue and traced it to GraphLinter.validLinks.

iOS .unitTests targets did not include .appExtension as a valid dependency, causing unit test targets for app extensions to be rejected during project generation.

I’ve opened a PR that adds .appExtension to the supported dependencies and includes a regression test covering this case.

PR: https://github.com/tuist/tuist/pull/12370