Skip to content

Commit 8faa5a4

Browse files
authored
fix(cli): missing assets dir on iOS project when it is committed (#7765)
1 parent b7f53d6 commit 8faa5a4

6 files changed

Lines changed: 27 additions & 9 deletions

File tree

.changes/ios-create-asset-dir.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"tauri-cli": patch:bug
3+
"@tauri-apps/cli": patch:bug
4+
---
5+
6+
Ensure asset directory exists on the iOS project.

tooling/cli/src/mobile/android.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use tauri_mobile::{
2020
env::Env,
2121
target::Target,
2222
},
23-
config::app::App,
23+
config::app::{App, DEFAULT_ASSET_DIR},
2424
opts::{FilterLevel, NoiseLevel},
2525
os,
2626
util::prompt,
@@ -292,7 +292,10 @@ fn open_and_wait(config: &AndroidConfig, env: &Env) -> ! {
292292
}
293293

294294
fn inject_assets(config: &AndroidConfig, tauri_config: &TauriConfig) -> Result<()> {
295-
let asset_dir = config.project_dir().join("app/src/main/assets");
295+
let asset_dir = config
296+
.project_dir()
297+
.join("app/src/main")
298+
.join(DEFAULT_ASSET_DIR);
296299
create_dir_all(&asset_dir)?;
297300

298301
write(

tooling/cli/src/mobile/ios.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use tauri_mobile::{
1515
target::Target,
1616
teams::find_development_teams,
1717
},
18-
config::app::App,
18+
config::app::{App, DEFAULT_ASSET_DIR},
1919
env::Env,
2020
opts::NoiseLevel,
2121
os,
@@ -30,7 +30,7 @@ use super::{
3030
};
3131
use crate::{helpers::config::Config as TauriConfig, Result};
3232

33-
use std::{env::set_var, process::exit, thread::sleep, time::Duration};
33+
use std::{env::set_var, fs::create_dir_all, process::exit, thread::sleep, time::Duration};
3434

3535
mod build;
3636
mod dev;
@@ -256,3 +256,9 @@ fn open_and_wait(config: &AppleConfig, env: &Env) -> ! {
256256
sleep(Duration::from_secs(24 * 60 * 60));
257257
}
258258
}
259+
260+
fn inject_assets(config: &AppleConfig) -> Result<()> {
261+
let asset_dir = config.project_dir().join(DEFAULT_ASSET_DIR);
262+
create_dir_all(asset_dir)?;
263+
Ok(())
264+
}

tooling/cli/src/mobile/ios/build.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
// SPDX-License-Identifier: MIT
44

55
use super::{
6-
configure_cargo, detect_target_ok, ensure_init, env, get_app, get_config, log_finished,
7-
open_and_wait, MobileTarget,
6+
configure_cargo, detect_target_ok, ensure_init, env, get_app, get_config, inject_assets,
7+
log_finished, open_and_wait, MobileTarget,
88
};
99
use crate::{
1010
build::Options as BuildOptions,
@@ -91,6 +91,7 @@ pub fn command(mut options: Options, noise_level: NoiseLevel) -> Result<()> {
9191
set_current_dir(tauri_path).with_context(|| "failed to change current working directory")?;
9292

9393
ensure_init(config.project_dir(), MobileTarget::Ios)?;
94+
inject_assets(&config)?;
9495

9596
let mut env = env()?;
9697
configure_cargo(&app, None)?;

tooling/cli/src/mobile/ios/dev.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
// SPDX-License-Identifier: MIT
44

55
use super::{
6-
configure_cargo, device_prompt, ensure_init, env, get_app, get_config, open_and_wait,
7-
setup_dev_config, MobileTarget, APPLE_DEVELOPMENT_TEAM_ENV_VAR_NAME,
6+
configure_cargo, device_prompt, ensure_init, env, get_app, get_config, inject_assets,
7+
open_and_wait, setup_dev_config, MobileTarget, APPLE_DEVELOPMENT_TEAM_ENV_VAR_NAME,
88
};
99
use crate::{
1010
dev::Options as DevOptions,
@@ -139,6 +139,7 @@ fn run_command(mut options: Options, noise_level: NoiseLevel) -> Result<()> {
139139
set_current_dir(tauri_path).with_context(|| "failed to change current working directory")?;
140140

141141
ensure_init(config.project_dir(), MobileTarget::Ios)?;
142+
inject_assets(&config)?;
142143
run_dev(options, tauri_config, &app, &config, noise_level)
143144
}
144145

tooling/cli/src/mobile/ios/open.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// SPDX-License-Identifier: Apache-2.0
33
// SPDX-License-Identifier: MIT
44

5-
use super::{ensure_init, env, get_app, get_config, MobileTarget};
5+
use super::{ensure_init, env, get_app, get_config, inject_assets, MobileTarget};
66
use crate::{helpers::config::get as get_tauri_config, Result};
77

88
use tauri_mobile::os;
@@ -17,6 +17,7 @@ pub fn command() -> Result<()> {
1717
};
1818

1919
ensure_init(config.project_dir(), MobileTarget::Ios)?;
20+
inject_assets(&config)?;
2021
let env = env()?;
2122
os::open_file_with("Xcode", config.project_dir(), &env).map_err(Into::into)
2223
}

0 commit comments

Comments
 (0)