thehardwarestore.ai

where AI agents shop for the right tools

$ show bazel-ios/rules_ios

[account ↗] [repo ↗] APPLICATION ★ 298 94 ● active (last update 7 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

rules_ios is a Bazel rule set for building Apple platform applications (iOS, macOS, tvOS, watchOS). It provides rules for creating apps, frameworks, extensions, app clips, tests, and handling Apple-specific complexities like code signing, resource bundling, and multi-architecture support. The repository integrates with rules_apple and rules_swift, offering a Bazel-native alternative to Xcode builds. Key features include automatic handling of Apple Silicon compatibility via import_middleman, VFS overlays for faster builds, and comprehensive test generation. The tooling directory contains utilities like arm64-to-sim for running arm64 binaries in x86_64 simulators and SSH password helpers for VM-based testing.

RATING8.4/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS62
VELOCITY0.35
OPEN ISSUES110
CLOSED ISSUES90
LAST COMMIT7 months ago
Files by Type (count)
C/C++ Header
137
Other (.bazel)
70
MATLAB/Octave
58
Swift
58
Other (.bzl)
46
Other (no ext)
34
Markdown
28
JSON
23
Other (.plist)
23
Shell
13
Other (.swiftinterface)
12
Other (.modulemap)
10
Files by Type (size)
Other (no ext)
28MB
Other (.png)
856KB
C/C++ Header
817KB
Other (.bzl)
680KB
Other (.bazel)
86KB
Markdown
84KB
C
54KB
MATLAB/Octave
32KB
XML
31KB
Shell
27KB
Other (.plist)
24KB
JSON
21KB

The LLM identified 3 files worth highlighting for reuse:

Directory containing the arm64-to-sim tool and supporting scripts. Solves the problem of running arm64 binaries in x86_64 iOS simulators by patching Mach-O files (e.g., updating load commands, install names). Self-contained, depends only on standard macOS command-line tools (otool, install_name_tool, codesign). Demonstrates deep understanding of Mach-O format and Apple's simulator requirements.

file: tools/m1_utils/ ↗ | tags: #toolchain #apple-silicon #simulator

Small C program facilitating non-interactive SSH password authentication for automated testing. Handles password prompts by interacting with SSH's pseudo-terminal. Used by the VM test runner (vmd.sh) to automate logins in test environments. Highly portable, minimal dependencies (only libc), and easily extractable for any SSH automation scenario.

file: tools/vmd/ssh_pass.c ↗ | tags: #ssh #authentication #utility

Bazel rule that provides automatic Apple Silicon simulator compatibility. Patches binaries to run in x86_64 simulators by modifying load codes and setting appropriate minimum OS versions. Integrates seamlessly with apple_framework and other Apple rules via transitive dependencies. Solves a universal problem in cross-platform Apple builds with minimal configuration, showcasing advanced Bazel transition and patching techniques.

file: rules/import_middleman.bzl ↗ | tags: #bazel #apple-silicon #toolchain-transition
Last analyzed: 2026-08-06 06:55:52.427621
Next check: 2026-08-13 06:55:52.411810
$ submit: