Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/build-ipa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,12 @@ jobs:
run: |
brew tap FelixHerrmann/tap
brew trust FelixHerrmann/tap
brew install xcodegen swiftgen swift-package-list
brew install make xcodegen swiftgen swift-package-list
echo "$(brew --prefix make)/libexec/gnubin" >> "$GITHUB_PATH"

- name: Generate Xcode project
if: steps.version_check.outputs.should_build == 'true' || github.event_name == 'workflow_dispatch'
run: xcodegen generate
run: make generate

- name: Update acknowledgements
if: steps.version_check.outputs.should_build == 'true' || github.event_name == 'workflow_dispatch'
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,13 @@ jobs:

- name: Install dependencies
run: |
brew install make
echo "$(brew --prefix make)/libexec/gnubin" >> "$GITHUB_PATH"
command -v xcodegen >/dev/null 2>&1 || brew install xcodegen
command -v swiftgen >/dev/null 2>&1 || brew install swiftgen

- name: Generate Xcode project
run: xcodegen generate
run: make generate

- name: Cache Xcode build
uses: irgaly/xcode-cache@v1
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/testflight.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ jobs:
run: |
brew tap FelixHerrmann/tap
brew trust FelixHerrmann/tap
brew install xcodegen swiftgen swift-package-list
brew install make xcodegen swiftgen swift-package-list
echo "$(brew --prefix make)/libexec/gnubin" >> "$GITHUB_PATH"
gem install fastlane -v 2.236.1

- name: Setup SSH for Match
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ xcuserdata/

## Xcodegen
*.xcodeproj
dev.yml

## Obj-C/Swift specific
*.hmap
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ It's usually easier to simply create a feature request GitHub issue with your id
1. **Clone the repository**.
2. **Generate the Xcode project**:
```bash
xcodegen generate
make generate # creates a gitignored dev.yml; set your Apple team ID there for local signing
```
The project is generated by XcodeGen from `project.yml`; never edit `MC1.xcodeproj` directly, as it is overwritten on the next generate. Make project configuration changes in `project.yml`.
3. **Open `MC1.xcodeproj`**.
Expand Down
13 changes: 12 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,18 @@ help: ## List available targets
@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) \
| awk 'BEGIN {FS = ":.*?## "}; {printf " %-14s %s\n", $$1, $$2}'

generate: ## Regenerate MC1.xcodeproj from project.yml (xcodegen)
define DEV_YML_STUB
settings:
base:
DEVELOPMENT_TEAM: ""
endef
export DEV_YML_STUB

dev.yml:
@echo "dev.yml not found, creating empty stub (set DEVELOPMENT_TEAM for local signing)"
@echo "$$DEV_YML_STUB" > dev.yml

generate: dev.yml ## Regenerate MC1.xcodeproj from project.yml (xcodegen)
xcodegen generate

test: test-app test-store ## Run everything: full app suite (iOS 26) + StoreKit suites (iOS 18)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Download from the App Store or sideload using unsigned IPA files under [Releases
## Getting Started

1. Install [XcodeGen](https://github.com/yonaskolb/XcodeGen).
2. Run `xcodegen generate`.
2. Run `make generate` (creates a gitignored `dev.yml` — set your Apple team ID there for local signing).
3. Open `MC1.xcodeproj`.

For more details, see the [Development Guide](docs/Development.md).
Expand Down
2 changes: 1 addition & 1 deletion docs/Development.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ This guide provides information for developers who want to contribute to the Mes
1. **Clone the repository**.
2. **Generate the Xcode project** from `project.yml`:
```bash
xcodegen generate
make generate # creates a gitignored dev.yml; set your Apple team ID there for local signing
```
> **Note:** Do not edit `MC1.xcodeproj` directly — it is generated from `project.yml` and will be overwritten. Make project configuration changes in `project.yml` and regenerate.
3. **Open `MC1.xcodeproj`**.
Expand Down
8 changes: 4 additions & 4 deletions fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ platform :ios do

desc "Update acknowledgements from SPM dependencies"
lane :update_acknowledgements do
sh("cd .. && xcodegen generate")
sh("cd .. && make generate")
sh("cd .. && xcodebuild -resolvePackageDependencies -project MC1.xcodeproj -clonedSourcePackagesDirPath ./SourcePackages")
sh("cd .. && swift-package-list MC1.xcodeproj --custom-source-packages-path ./SourcePackages --output-type settings-bundle --requires-license --output-path MC1")
sh("cd .. && rm -rf SourcePackages")
Expand All @@ -21,7 +21,7 @@ platform :ios do
sync_certs

# Generate the Xcode project from XcodeGen
sh("cd .. && xcodegen generate")
sh("cd .. && make generate")

# Configure manual code signing for App Store distribution
update_code_signing_settings(
Expand Down Expand Up @@ -86,7 +86,7 @@ platform :ios do
lane :release do
sync_certs

sh("cd .. && xcodegen generate")
sh("cd .. && make generate")

# Configure manual code signing for App Store distribution
update_code_signing_settings(
Expand Down Expand Up @@ -152,7 +152,7 @@ platform :ios do
lane :build_only do
sync_certs

sh("cd .. && xcodegen generate")
sh("cd .. && make generate")

build_app(
scheme: "MC1",
Expand Down
6 changes: 5 additions & 1 deletion project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,16 @@ options:
xcodeVersion: "26.0"
generateEmptyDirectories: true

# dev.yml is gitignored and supplies DEVELOPMENT_TEAM for local signing.
# It is created empty by `make generate` and in CI.
include:
- dev.yml

settings:
base:
SWIFT_VERSION: "6.2"
SWIFT_STRICT_CONCURRENCY: complete
ENABLE_USER_SCRIPT_SANDBOXING: YES
DEVELOPMENT_TEAM: ""

packages:
MeshCore:
Expand Down
Loading