use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Default, Eq, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct InfoPlist {
#[serde(rename(serialize = "CFBundleDevelopmentRegion"))]
pub cf_bundle_development_region: Option<String>,
#[serde(rename(serialize = "CFBundleDisplayName"))]
pub cf_bundle_display_name: Option<String>,
#[serde(rename(serialize = "CFBundleExecutable"))]
pub cf_bundle_executable: Option<String>,
#[serde(rename(serialize = "CFBundleIcons"))]
pub cf_bundle_icons: Option<CfBundleIcons>,
#[serde(rename(serialize = "CFBundleIconFile"))]
pub cf_bundle_icon_file: Option<String>,
#[serde(rename(serialize = "CFBundleIconFiles"))]
#[serde(default)]
pub cf_bundle_icon_files: Vec<String>,
#[serde(rename(serialize = "CFBundleIconName"))]
pub cf_bundle_icon_name: Option<String>,
#[serde(rename(serialize = "CFBundleIdentifier"))]
pub cf_bundle_identifier: Option<String>,
#[serde(rename(serialize = "CFBundleInfoDictionaryVersion"))]
pub cf_bundle_info_dictionary_version: Option<String>,
#[serde(rename(serialize = "CFBundleName"))]
pub cf_bundle_name: Option<String>,
#[serde(rename(serialize = "CFBundlePackageType"))]
pub cf_bundle_package_type: Option<String>,
#[serde(rename(serialize = "CFBundleShortVersionString"))]
pub cf_bundle_short_version_string: Option<String>,
#[serde(rename(serialize = "CFBundleSpokenName"))]
pub cf_bundle_spoken_name: Option<String>,
#[serde(rename(serialize = "CFBundleSupportedPlatforms"))]
#[serde(default)]
pub cf_bundle_supported_platforms: Option<Vec<String>>,
#[serde(rename(serialize = "CFBundleVersion"))]
pub cf_bundle_version: Option<String>,
#[serde(rename(serialize = "DTCompiler"))]
pub dt_compiler: Option<String>,
#[serde(rename(serialize = "DTPlatformBuild"))]
pub dt_platform_build: Option<String>,
#[serde(rename(serialize = "DTPlatformName"))]
pub dt_platform_name: Option<String>,
#[serde(rename(serialize = "DTPlatformVersion"))]
pub dt_platform_version: Option<String>,
#[serde(rename(serialize = "DTSDKBuild"))]
pub dt_sdk_build: Option<String>,
#[serde(rename(serialize = "DTSDKName"))]
pub dt_sdk_name: Option<String>,
#[serde(rename(serialize = "DTXcode"))]
pub dt_xcode: Option<String>,
#[serde(rename(serialize = "DTXcodeBuild"))]
pub dt_xcode_build: Option<String>,
#[serde(rename(serialize = "LSApplicationCategoryType"))]
pub ls_application_category_type: Option<String>,
#[serde(rename(serialize = "LSMinimumSystemVersion"))]
pub ls_minimum_system_version: Option<String>,
#[serde(rename(serialize = "LSRequiresIPhoneOS"))]
pub ls_requires_ios: Option<bool>,
#[serde(rename(serialize = "MinimumOSVersion"))]
pub minimum_os_version: Option<String>,
#[serde(rename(serialize = "NSCameraUsageDescription"))]
pub ns_camera_usage_description: Option<String>,
#[serde(rename(serialize = "NSHumanReadableCopyright"))]
pub ns_human_readable_copyright: Option<String>,
#[serde(rename(serialize = "UIDeviceFamily"))]
pub ui_device_family: Option<Vec<u64>>,
#[serde(rename(serialize = "UILaunchScreen"))]
pub ui_launch_screen: Option<UiLaunchScreen>,
#[serde(rename(serialize = "UILaunchStoryboardName"))]
pub ui_launch_storyboard_name: Option<String>,
#[serde(rename(serialize = "UIRequiredDeviceCapabilities"))]
pub ui_required_device_capabilities: Option<Vec<String>>,
#[serde(rename(serialize = "UISupportedInterfaceOrientations~ipad"))]
#[serde(default)]
pub ui_supported_interface_orientations_ipad: Vec<String>,
#[serde(rename(serialize = "UISupportedInterfaceOrientations~iphone"))]
#[serde(default)]
pub ui_supported_interface_orientations_iphone: Vec<String>,
}
#[derive(Clone, Debug, Default, Eq, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct UiLaunchScreen {
#[serde(rename(serialize = "UIColorName"))]
pub ui_color_name: Option<String>,
#[serde(rename(serialize = "UIImageName"))]
pub ui_image_name: Option<String>,
#[serde(rename(serialize = "UIImageRespectsSafeAreaInsets"))]
pub ui_image_respects_safe_area_insets: Option<bool>,
#[serde(rename(serialize = "UINavigationBar"))]
pub ui_navigation_bar: Option<bool>,
#[serde(rename(serialize = "UITabBar"))]
pub ui_tab_bar: Option<bool>,
#[serde(rename(serialize = "UIToolbar"))]
pub ui_toolbar: Option<bool>,
}
#[derive(Clone, Debug, Default, Eq, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct CfBundleIcons {
#[serde(rename(serialize = "CFBundlePrimaryIcon"))]
pub cf_bundle_primary_icon: Option<CfBundlePrimaryIcon>,
}
#[derive(Clone, Debug, Default, Eq, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct CfBundlePrimaryIcon {
#[serde(rename(serialize = "CFBundleIconName"))]
pub cf_bundle_icon_name: Option<String>,
}