Skip to main content

Crate rustferry_apple

Crate rustferry_apple 

Source
Expand description

Generated Apple host projects, iOS Simulator builds, and artifact validation.

The user application remains Rust-only. This crate emits deterministic Xcode metadata below target/ferry/, cross-compiles the requested Rust binary, and lets Xcode assemble and ad-hoc sign the simulator bundle without a team or running device.

Structs§

AppleDiscovery
Complete, read-only Apple development inventory.
AppleDiscoveryOptions
Explicit, read-only inputs for Apple toolchain discovery.
AppleDoctorCheck
One stable, machine-readable Apple doctor finding.
AppleDoctorOptions
Apple doctor inputs.
AppleDoctorReport
Complete Apple doctor report. Generating it never installs or changes tools.
AppleHostTools
Host executables relevant to Apple builds and diagnostics.
AppleToolchain
Selected tools and SDK used by one iOS Simulator build.
CommandOutput
Captured output from a successful external command.
CommandSpec
One safely tokenized external command.
GeneratedAppleProject
Deterministic generated files, keyed by paths relative to a generated root.
IosArtifactExpectation
Independent validation inputs for a built iOS application.
IosArtifactValidation
Evidence collected from a successfully validated .app.
IosAssetCatalogValidation
Evidence that the app consumes the generated asset catalog.
IosBuildOutcome
Build result. Dry-run results deliberately contain no artifact or validation claim.
IosBuildPlan
Complete, serializable simulator command and generated-file plan.
IosCodeSignatureValidation
Validated ad-hoc code-signature metadata.
IosDeviceArchiveOutcome
Result of an unsigned physical-device archive operation.
IosDeviceArchivePlan
Complete serializable plan for an unsigned physical-device Xcode archive.
IosDeviceArchiveRequest
Inputs for an unsigned physical-iPhone compilation and Xcode archive.
IosDeviceMachOValidation
Evidence that an archived executable is arm64 physical-iOS code.
IosDeviceMachOValidationPlan
Commands and invariants used to reject Simulator Mach-O output.
IosDeviceSdk
Installed physical-iPhone SDK selected by Xcode.
IosDeviceToolchain
Selected tools and SDK for one physical-iPhone build.
IosExtensionExpectation
Expected embedded app extension.
IosExtensionValidation
Validated embedded extension metadata.
IosProjectSpec
Inputs for deterministic hidden Xcode project generation.
IosRuntimeBridgeValidation
Validated generated native runtime framework metadata.
IosSdkOnlyAssetValidation
Evidence for the runtime-free, SDK-only image resource fallback.
IosSimulatorBuildRequest
Inputs for a build-only iOS Simulator application.
ManualSigningAssetsInput
Secret, bounded inputs for one manual-signing identity and profile.
ManualSigningIdentityInput
Secret, bounded PKCS#12 identity input retained for one remote upload.
PlannedCopy
One internal file copy represented explicitly in a dry-run plan.
SimulatorRuntime
One CoreSimulator runtime reported by simctl.
SimulatorSdk
Installed iPhone Simulator SDK selected by Xcode.
ValidatedManualSigningAssets
Public metadata proven by PKCS#12, X.509, CMS, and profile validation.

Enums§

AppleBuildProfile
Cargo/Xcode build profile.
AppleError
Failure while discovering, generating, building, or validating an Apple artifact.
DoctorStatus
Severity and result of one Apple doctor check.
ExtensionKind
Apple extension family generated as a native Xcode target.
IosAssetPackaging
How generated iOS image assets are packaged into a Simulator application.
IosDeviceArtifactDisposition
Installation status of a physical-device build product.
IosProjectPlatform
Apple SDK and signing behavior encoded in a generated Xcode project.
ManualSigningAssetError
Secret-free manual-signing asset validation failure.
ManualSigningAssetField
One secret input field rejected before cryptographic parsing.
ManualSigningAssetInputError
Structural reason an input was rejected before cryptographic parsing.

Constants§

APPLE_ROOT_CA_G2_SHA256
SHA-256 fingerprint of Apple Root CA - G2.
APPLE_ROOT_CA_G3_SHA256
SHA-256 fingerprint of Apple Root CA - G3.
APPLE_ROOT_CA_SHA256
SHA-256 fingerprint of Apple’s original Apple Root CA.
DEFAULT_COMMAND_TIMEOUT
Default deadline for one external Apple build-tool invocation.
IOS_DEVICE_TARGET
Rust target used for physical iPhone artifacts.
IOS_SIMULATOR_TARGET
Rust target used for Apple Silicon iOS Simulator artifacts.
MAX_MANUAL_SIGNING_PASSWORD_BYTES
Maximum accepted PKCS#12 password size.
MAX_MANUAL_SIGNING_PKCS12_BYTES
Maximum accepted PKCS#12 archive size.
MAX_MANUAL_SIGNING_PROFILE_BYTES
Maximum accepted CMS provisioning-profile size.

Functions§

build_ios_device_unsigned
Cross-compile, archive without signing, and prove the main Mach-O targets physical iOS.
build_ios_simulator
Cross-compile the Rust executable, assemble a real .app, and validate it.
derive_ios_device_product_expectation
Derive the complete client-owned product identity for a physical-iPhone request.
discover_apple
Inspect Xcode, the Simulator SDK/runtimes, and Rust targets without changing the host.
doctor_apple
Inspect every iOS Simulator build prerequisite without modifying the system.
generate_ios_project
Render an Xcode app target and any requested extension target without touching disk.
generate_ios_project_for_platform
Render an Xcode app target for an explicit simulator or physical-device platform.
plan_ios_device_unsigned
Produce a deterministic, side-effect-free unsigned device archive plan.
plan_ios_simulator
Produce a deterministic, side-effect-free command plan using an already selected toolchain.
run_command
Run one command without a shell, capture both streams, enforce a timeout, and optionally log it.
validate_ios_app
Validate plist metadata, executable identity/architecture, resources, libraries, and extensions.
validate_ios_extension
Validate one standalone generated .appex product.
validate_manual_signing_assets
Validate a PKCS#12 signing identity and Apple CMS provisioning profile.
validate_manual_signing_identity
Validate one PKCS#12 identity without provisioning-profile bytes.
validate_manual_signing_profile
Validate one CMS provisioning profile against an already validated identity.
with_command_cancellation
Run a closure with cooperative cancellation enabled for Apple commands on this thread.
write_ios_project
Write generated files below an internal root, rejecting absolute paths, traversal, and symlinks.