From a0113a8c6471eccc43b3202cc009901a04e41baa Mon Sep 17 00:00:00 2001 From: Lucas Fernandes Nogueira Date: Fri, 25 Jul 2025 07:50:24 -0300 Subject: [PATCH] feat(tauri-plugin): add build::mobile::update_info_plist (#13888) * feat(tauri-plugin): add build::mobile::update_info_plist needed for https://github.com/tauri-apps/plugins-workspace/pull/2870 * Update .changes/update-info-plist.md --- .changes/update-info-plist.md | 5 +++++ crates/tauri-plugin/src/build/mobile.rs | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 .changes/update-info-plist.md diff --git a/.changes/update-info-plist.md b/.changes/update-info-plist.md new file mode 100644 index 000000000..b86c500a3 --- /dev/null +++ b/.changes/update-info-plist.md @@ -0,0 +1,5 @@ +--- +"tauri-plugin": minor:feat +--- + +Added `build::mobile::update_info_plist` to allow a plugin to update the iOS project Info.plist file. diff --git a/crates/tauri-plugin/src/build/mobile.rs b/crates/tauri-plugin/src/build/mobile.rs index 070c615b3..2ff795aca 100644 --- a/crates/tauri-plugin/src/build/mobile.rs +++ b/crates/tauri-plugin/src/build/mobile.rs @@ -31,6 +31,23 @@ pub fn update_entitlements(f: F) -> Result<() Ok(()) } +#[cfg(target_os = "macos")] +pub fn update_info_plist(f: F) -> Result<()> { + if let (Some(project_path), Ok(app_name)) = ( + var_os("TAURI_IOS_PROJECT_PATH").map(PathBuf::from), + std::env::var("TAURI_IOS_APP_NAME"), + ) { + update_plist_file( + project_path + .join(format!("{app_name}_iOS")) + .join("Info.plist"), + f, + )?; + } + + Ok(()) +} + pub fn update_android_manifest(block_identifier: &str, parent: &str, insert: String) -> Result<()> { if let Some(project_path) = var_os("TAURI_ANDROID_PROJECT_PATH").map(PathBuf::from) { let manifest_path = project_path.join("app/src/main/AndroidManifest.xml");