diff --git a/cli/tauri-bundler/src/bundle/osx_bundle.rs b/cli/tauri-bundler/src/bundle/osx_bundle.rs index 27464f39a..81b211bfd 100644 --- a/cli/tauri-bundler/src/bundle/osx_bundle.rs +++ b/cli/tauri-bundler/src/bundle/osx_bundle.rs @@ -214,6 +214,27 @@ fn create_info_plist( copyright )?; } + + if let Some(exception_domain) = settings.exception_domain() { + write!( + file, + " NSAppTransportSecurity\n \ + \n \ + NSExceptionDomains\n \ + \n \ + {}\n \ + \n \ + NSExceptionAllowsInsecureHTTPLoads\n \ + \n \ + NSIncludesSubdomains\n \ + \n \ + \n \ + \n \ + ", + exception_domain + )?; + } + write!(file, "\n\n")?; file.flush()?; Ok(()) diff --git a/cli/tauri-bundler/src/bundle/settings.rs b/cli/tauri-bundler/src/bundle/settings.rs index 6969f65c3..a8fae808f 100644 --- a/cli/tauri-bundler/src/bundle/settings.rs +++ b/cli/tauri-bundler/src/bundle/settings.rs @@ -111,6 +111,7 @@ struct BundleSettings { bin: Option>, example: Option>, external_bin: Option>, + exception_domain: Option, } #[derive(Clone, Debug, Deserialize)] @@ -433,6 +434,10 @@ impl Settings { } } + pub fn exception_domain(&self) -> Option<&String> { + return self.bundle_settings.exception_domain.as_ref() + } + // copy external binaries to a path. pub fn copy_binaries(&self, path: &Path) -> crate::Result<()> { for src in self.external_binaries() {