diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2019-01-11 18:06:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-11 18:06:13 +0100 |
commit | e425f26578400019ac601980b38486726ff8b9d2 (patch) | |
tree | f539a0a49746c1b9a9ad0f5bb6ec601d35424af2 | |
parent | 5c9b9d0a48d0c9566719947bcaf7062436660fd9 (diff) | |
parent | af162a8c3f23f24b596c58ba428907cad59af9af (diff) |
Merge pull request #24913 from volzhs/export-ios-template
Make export valid when setting custom packages for iOS
-rw-r--r-- | platform/iphone/export/export.cpp | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/platform/iphone/export/export.cpp b/platform/iphone/export/export.cpp index c178b1eb18..ef81981ec0 100644 --- a/platform/iphone/export/export.cpp +++ b/platform/iphone/export/export.cpp @@ -1029,32 +1029,38 @@ Error EditorExportPlatformIOS::export_project(const Ref<EditorExportPreset> &p_p bool EditorExportPlatformIOS::can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const { - bool valid = true; String err; + r_missing_templates = find_export_template("iphone.zip") == String(); - if (!exists_export_template("iphone.zip", &err)) { - valid = false; + if (p_preset->get("custom_package/debug") != "") { + if (FileAccess::exists(p_preset->get("custom_package/debug"))) { + r_missing_templates = false; + } else { + err += "Custom debug package not found.\n"; + } } - if (p_preset->get("custom_package/debug") != "" && !FileAccess::exists(p_preset->get("custom_package/debug"))) { - valid = false; - err += "Custom debug package not found.\n"; + if (p_preset->get("custom_package/release") != "") { + if (FileAccess::exists(p_preset->get("custom_package/release"))) { + r_missing_templates = false; + } else { + err += "Custom release package not found.\n"; + } } - if (p_preset->get("custom_package/release") != "" && !FileAccess::exists(p_preset->get("custom_package/release"))) { - valid = false; - err += "Custom release package not found.\n"; - } + bool valid = !r_missing_templates; String team_id = p_preset->get("application/app_store_team_id"); if (team_id.length() == 0) { err += "App Store Team ID not specified - cannot configure the project.\n"; + valid = false; } String identifier = p_preset->get("application/identifier"); String pn_err; if (!is_package_name_valid(identifier, &pn_err)) { err += "Invalid Identifier - " + pn_err + "\n"; + valid = false; } for (unsigned int i = 0; i < (sizeof(icon_infos) / sizeof(icon_infos[0])); ++i) { @@ -1063,6 +1069,7 @@ bool EditorExportPlatformIOS::can_export(const Ref<EditorExportPreset> &p_preset if (icon_path.length() == 0) { if (info.is_required) { err += "Required icon is not specified in the preset.\n"; + valid = false; } break; } @@ -1071,8 +1078,7 @@ bool EditorExportPlatformIOS::can_export(const Ref<EditorExportPreset> &p_preset if (!err.empty()) r_error = err; - r_missing_templates = !valid; - return err.empty(); + return valid; } EditorExportPlatformIOS::EditorExportPlatformIOS() { |