summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2019-01-11 18:06:13 +0100
committerGitHub <noreply@github.com>2019-01-11 18:06:13 +0100
commite425f26578400019ac601980b38486726ff8b9d2 (patch)
treef539a0a49746c1b9a9ad0f5bb6ec601d35424af2
parent5c9b9d0a48d0c9566719947bcaf7062436660fd9 (diff)
parentaf162a8c3f23f24b596c58ba428907cad59af9af (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.cpp30
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() {