MobileNativeFoundation / MobileNativeFoundation/rules_xcodeproj

Feature Request: Generate Xcode Previews friendly schemes

Open
#1,384 9 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
Dominant language
Swift
Stars
626
Forks
124
PR merge metrics
No merged PRs in 30d

Description

Description

We'd like to avoid using _CompileStub_.m as much as possible and display a proper source file list in Compile Sources to enable SwiftUI Previews.

Motivation

Since our product is composed of hundreds of static libraries, we would like to add a dedicated ios_framework for each module instead of building a huge ios_application for SwiftUI Previews.
However, as described here, those dynamic frameworks will contain only _CompileStub_.m if their primary module is included in the dependency graph of other top-level targets.

The current rules_xcodeproj's design is reasonable enough, but in a real world project, it's common for a module to be included in the dependency graph of multiple top-level targets like ios_unit_test and ios_application, so you may not able to use SwiftUI Previews naturally like native Xcode.

For now, we have solved this by generating Xcode projects focused on a specific ios_framework, but it would be great if rules_xcodeproj solves it in a comprehensive approach.

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 with the docs/faq.md section explaining _CompileStub_.m and compare it with the issue's SwiftUI Preview scenario involving ios_framework, ios_unit_test, and ios_application. Define a comprehensive approach for generating schemes with proper source lists, then verify that modules included by multiple top-level targets remain usable for SwiftUI Previews.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.