mirror of
https://github.com/godotengine/godot.git
synced 2024-11-27 09:16:35 +08:00
Merge pull request #98126 from TCROC/macos-codesign-additional-entitlements
Additional macOS codesign entitlements and print verbose
This commit is contained in:
commit
6ccff9b009
@ -75,6 +75,13 @@
|
|||||||
<member name="codesign/custom_options" type="PackedStringArray" setter="" getter="">
|
<member name="codesign/custom_options" type="PackedStringArray" setter="" getter="">
|
||||||
Array of the additional command line arguments passed to the code signing tool.
|
Array of the additional command line arguments passed to the code signing tool.
|
||||||
</member>
|
</member>
|
||||||
|
<member name="codesign/entitlements/additional" type="String" setter="" getter="">
|
||||||
|
Additional data added to the root [code]<dict>[/code] section of the [url=https://developer.apple.com/documentation/bundleresources/entitlements].entitlements[/url] file. The value should be an XML section with pairs of key-value elements, e.g.:
|
||||||
|
[codeblock lang=text]
|
||||||
|
<key>key_name</key>
|
||||||
|
<string>value</string>
|
||||||
|
[/codeblock]
|
||||||
|
</member>
|
||||||
<member name="codesign/entitlements/address_book" type="bool" setter="" getter="">
|
<member name="codesign/entitlements/address_book" type="bool" setter="" getter="">
|
||||||
Enable to allow access to contacts in the user's address book, if it's enabled you should also provide usage message in the [member privacy/address_book_usage_description] option. See [url=https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_personal-information_addressbook]com.apple.security.personal-information.addressbook[/url].
|
Enable to allow access to contacts in the user's address book, if it's enabled you should also provide usage message in the [member privacy/address_book_usage_description] option. See [url=https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_personal-information_addressbook]com.apple.security.personal-information.addressbook[/url].
|
||||||
</member>
|
</member>
|
||||||
|
@ -327,7 +327,7 @@ bool EditorExportPlatformMacOS::get_export_option_visibility(const EditorExportP
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool advanced_options_enabled = p_preset->are_advanced_options_enabled();
|
bool advanced_options_enabled = p_preset->are_advanced_options_enabled();
|
||||||
if (p_option.begins_with("privacy")) {
|
if (p_option.begins_with("privacy") || p_option == "codesign/entitlements/additional") {
|
||||||
return advanced_options_enabled;
|
return advanced_options_enabled;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -501,6 +501,7 @@ void EditorExportPlatformMacOS::get_export_options(List<ExportOption> *r_options
|
|||||||
r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "codesign/entitlements/app_sandbox/files_movies", PROPERTY_HINT_ENUM, "No,Read-only,Read-write"), 0));
|
r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "codesign/entitlements/app_sandbox/files_movies", PROPERTY_HINT_ENUM, "No,Read-only,Read-write"), 0));
|
||||||
r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "codesign/entitlements/app_sandbox/files_user_selected", PROPERTY_HINT_ENUM, "No,Read-only,Read-write"), 0));
|
r_options->push_back(ExportOption(PropertyInfo(Variant::INT, "codesign/entitlements/app_sandbox/files_user_selected", PROPERTY_HINT_ENUM, "No,Read-only,Read-write"), 0));
|
||||||
r_options->push_back(ExportOption(PropertyInfo(Variant::ARRAY, "codesign/entitlements/app_sandbox/helper_executables", PROPERTY_HINT_ARRAY_TYPE, itos(Variant::STRING) + "/" + itos(PROPERTY_HINT_GLOBAL_FILE) + ":"), Array()));
|
r_options->push_back(ExportOption(PropertyInfo(Variant::ARRAY, "codesign/entitlements/app_sandbox/helper_executables", PROPERTY_HINT_ARRAY_TYPE, itos(Variant::STRING) + "/" + itos(PROPERTY_HINT_GLOBAL_FILE) + ":"), Array()));
|
||||||
|
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "codesign/entitlements/additional", PROPERTY_HINT_MULTILINE_TEXT), ""));
|
||||||
r_options->push_back(ExportOption(PropertyInfo(Variant::PACKED_STRING_ARRAY, "codesign/custom_options"), PackedStringArray()));
|
r_options->push_back(ExportOption(PropertyInfo(Variant::PACKED_STRING_ARRAY, "codesign/custom_options"), PackedStringArray()));
|
||||||
|
|
||||||
#ifdef MACOS_ENABLED
|
#ifdef MACOS_ENABLED
|
||||||
@ -2126,6 +2127,11 @@ Error EditorExportPlatformMacOS::export_project(const Ref<EditorExportPreset> &p
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const String &additional_entitlements = p_preset->get("codesign/entitlements/additional");
|
||||||
|
if (!additional_entitlements.is_empty()) {
|
||||||
|
ent_f->store_line(additional_entitlements);
|
||||||
|
}
|
||||||
|
|
||||||
ent_f->store_line("</dict>");
|
ent_f->store_line("</dict>");
|
||||||
ent_f->store_line("</plist>");
|
ent_f->store_line("</plist>");
|
||||||
} else {
|
} else {
|
||||||
@ -2288,6 +2294,14 @@ Error EditorExportPlatformMacOS::export_project(const Ref<EditorExportPreset> &p
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (FileAccess::exists(ent_path)) {
|
||||||
|
print_verbose("entitlements:\n" + FileAccess::get_file_as_string(ent_path));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (FileAccess::exists(hlp_ent_path)) {
|
||||||
|
print_verbose("helper entitlements:\n" + FileAccess::get_file_as_string(hlp_ent_path));
|
||||||
|
}
|
||||||
|
|
||||||
// Clean up temporary entitlements files.
|
// Clean up temporary entitlements files.
|
||||||
if (FileAccess::exists(hlp_ent_path)) {
|
if (FileAccess::exists(hlp_ent_path)) {
|
||||||
DirAccess::remove_file_or_error(hlp_ent_path);
|
DirAccess::remove_file_or_error(hlp_ent_path);
|
||||||
|
Loading…
Reference in New Issue
Block a user