crossbundle_tools/types/apple/
strategies.rs

1use crate::error::AppleError;
2use serde::{Deserialize, Serialize};
3
4/// Supported strategies for building application for Apple devices.
5#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Deserialize, Serialize)]
6pub enum IosStrategy {
7    #[default]
8    /// Generate .app and .ipa without XCode. Default strategy.
9    #[serde(rename = "native-ipa")]
10    NativeIpa,
11}
12
13impl std::str::FromStr for IosStrategy {
14    type Err = AppleError;
15
16    fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
17        match s {
18            "native-ipa" => Ok(Self::NativeIpa),
19            _ => Err(AppleError::InvalidBuildStrategy(s.to_owned())),
20        }
21    }
22}