pub struct IosProjectIr {
pub app_name: Option<String>,
pub version: Option<String>,
pub build_number: Option<u32>,
pub bundle_id: Option<String>,
pub scheme: Option<String>,
pub deployment_target: Option<String>,
pub info_plist: BTreeMap<String, PlistValue>,
pub pbxproj_ops: Vec<PbxprojOp>,
pub extra_files: BTreeMap<PathBuf, FileEntry>,
}Expand description
In-memory representation of the iOS host project plugins mutate.
Serializes 1:1 to the JSON envelope so a 3rd-party plugin can
receive it, mutate it locally, and send it back. Field ordering
inside BTreeMaps is deterministic, so the same (Config, plugin set) produces a byte-identical envelope — important for
the fingerprint-based skip path in whisker-cng.
Fields§
§app_name: Option<String>CFBundleDisplayName / pbxproj PRODUCT_NAME source.
Seeded from Config.name.
version: Option<String>CFBundleShortVersionString source. Seeded from
Config.version (default "0.1.0").
build_number: Option<u32>CFBundleVersion source. Seeded from
Config.build_number (default 1).
bundle_id: Option<String>pbxproj PRODUCT_BUNDLE_IDENTIFIER source. Seeded from
Config.ios.bundle_id, falling back to the top-level
Config.bundle_id.
scheme: Option<String>Xcode scheme name. Seeded from Config.ios.scheme,
falling back to Config.name.
deployment_target: Option<String>pbxproj IPHONEOS_DEPLOYMENT_TARGET source. Seeded from
Config.ios.deployment_target (default "13.0").
info_plist: BTreeMap<String, PlistValue>Info.plist as a plist object tree. Renderer turns this
back into XML at the end of the pipeline.
pbxproj_ops: Vec<PbxprojOp>Deferred pbxproj structural ops. Full pbxproj round-tripping
is too heavyweight for the protocol; instead plugins request
the engine append resource refs / build phases / build
settings via PbxprojOp, which the engine replays against
the template renderer at the end of the pipeline.
extra_files: BTreeMap<PathBuf, FileEntry>Arbitrary files to drop into gen/ios/. Path is relative to
the gen root. Use this for files the templates don’t cover —
.entitlements, GoogleService-Info.plist, code-signing
helpers, etc.
Trait Implementations§
Source§impl Clone for IosProjectIr
impl Clone for IosProjectIr
Source§fn clone(&self) -> IosProjectIr
fn clone(&self) -> IosProjectIr
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more