[apple embedded] Replace individual iOS/visionOS Xcode templates by Apple embedded template

This commit is contained in:
Ricardo Sanchez-Saez 2025-06-30 20:02:21 -07:00
parent 3defc856b0
commit 6d9983e958
Failed to extract signature
55 changed files with 609 additions and 1197 deletions

View file

@ -7,7 +7,7 @@ This platform derives from the Apple Embedded abstract platform ([`drivers/apple
This platform uses shared Apple code ([`drivers/apple`](drivers/apple)).
See also [`misc/dist/ios_xcode`](/misc/dist/ios_xcode) folder for the Xcode
See also [`misc/dist/apple_embedded_xcode`](/misc/dist/apple_embedded_xcode) folder for the Xcode
project template used for packaging the iOS export templates.
## Documentation

View file

@ -54,3 +54,51 @@ void EditorExportPlatformVisionOS::get_export_options(List<ExportOption> *r_opti
Vector<EditorExportPlatformAppleEmbedded::IconInfo> EditorExportPlatformVisionOS::get_icon_infos() const {
return Vector<EditorExportPlatformAppleEmbedded::IconInfo>();
}
String EditorExportPlatformVisionOS::_process_config_file_line(const Ref<EditorExportPreset> &p_preset, const String &p_line, const AppleEmbeddedConfigData &p_config, bool p_debug, const CodeSigningDetails &p_code_signing) {
// Do visionOS specific processing first, and call super implementation if there are no matches
String strnew;
// Supported Destinations
if (p_line.contains("$targeted_device_family")) {
strnew += p_line.replace("$targeted_device_family", "7") + "\n";
// MoltenVK Framework not used on visionOS
} else if (p_line.contains("$moltenvk_buildfile")) {
strnew += p_line.replace("$moltenvk_buildfile", "") + "\n";
} else if (p_line.contains("$moltenvk_fileref")) {
strnew += p_line.replace("$moltenvk_fileref", "") + "\n";
} else if (p_line.contains("$moltenvk_buildphase")) {
strnew += p_line.replace("$moltenvk_buildphase", "") + "\n";
} else if (p_line.contains("$moltenvk_buildgrp")) {
strnew += p_line.replace("$moltenvk_buildgrp", "") + "\n";
// Launch Storyboard
} else if (p_line.contains("$plist_launch_screen_name")) {
strnew += p_line.replace("$plist_launch_screen_name", "") + "\n";
} else if (p_line.contains("$pbx_launch_screen_file_reference")) {
strnew += p_line.replace("$pbx_launch_screen_file_reference", "") + "\n";
} else if (p_line.contains("$pbx_launch_screen_copy_files")) {
strnew += p_line.replace("$pbx_launch_screen_copy_files", "") + "\n";
} else if (p_line.contains("$pbx_launch_screen_build_phase")) {
strnew += p_line.replace("$pbx_launch_screen_build_phase", "") + "\n";
} else if (p_line.contains("$pbx_launch_screen_build_reference")) {
strnew += p_line.replace("$pbx_launch_screen_build_reference", "") + "\n";
// OS Deployment Target
} else if (p_line.contains("$os_deployment_target")) {
String min_version = p_preset->get("application/min_" + get_platform_name() + "_version");
String value = "XROS_DEPLOYMENT_TARGET = " + min_version + ";";
strnew += p_line.replace("$os_deployment_target", value) + "\n";
// Valid Archs
} else if (p_line.contains("$valid_archs")) {
strnew += p_line.replace("$valid_archs", "arm64") + "\n";
// Apple Embedded common
} else {
strnew += EditorExportPlatformAppleEmbedded::_process_config_file_line(p_preset, p_line, p_config, p_debug, p_code_signing);
}
return strnew;
}

View file

@ -47,6 +47,8 @@ class EditorExportPlatformVisionOS : public EditorExportPlatformAppleEmbedded {
virtual void get_export_options(List<ExportOption> *r_options) const override;
virtual String _process_config_file_line(const Ref<EditorExportPreset> &p_preset, const String &p_line, const AppleEmbeddedConfigData &p_config, bool p_debug, const CodeSigningDetails &p_code_signing) override;
public:
virtual String get_name() const override { return "visionOS"; }
virtual String get_os_name() const override { return "visionOS"; }