@@ -103,6 +103,8 @@ function sha256File(filePath: string): string {
103103}
104104
105105async function generateIosProject ( ) : Promise < void > {
106+ fs . mkdirSync ( iosGeneratedDir , { recursive : true } ) ;
107+
106108 await execa (
107109 "xcodegen" ,
108110 [
@@ -187,6 +189,12 @@ async function createIosXcframework(
187189 ) ;
188190}
189191
192+ function prepareIosBuildDirs ( ) : void {
193+ fs . mkdirSync ( iosBuildDir , { recursive : true } ) ;
194+ fs . mkdirSync ( iosGeneratedDir , { recursive : true } ) ;
195+ fs . mkdirSync ( iosOutputDir , { recursive : true } ) ;
196+ }
197+
190198// mise task entrypoint.
191199export function checkAddonPack ( ) : void {
192200 assertPathExists ( addonStageDir ) ;
@@ -288,17 +296,22 @@ export async function buildAndroidAar(): Promise<void> {
288296
289297// mise task entrypoint.
290298export async function buildIosXcframework ( ) : Promise < void > {
291- fs . mkdirSync ( iosBuildDir , { recursive : true } ) ;
292- fs . mkdirSync ( iosGeneratedDir , { recursive : true } ) ;
293- fs . mkdirSync ( iosOutputDir , { recursive : true } ) ;
294-
299+ prepareIosBuildDirs ( ) ;
295300 await generateIosProject ( ) ;
296301
297302 fs . rmSync ( iosLegacyOutputXcframework , { force : true , recursive : true } ) ;
298303 await createIosXcframework ( "ReleaseDebug" , "debug" , iosDebugOutputXcframework ) ;
299304 await createIosXcframework ( "Release" , "release" , iosReleaseOutputXcframework ) ;
300305}
301306
307+ // mise task entrypoint.
308+ export async function buildIosDebugXcframework ( ) : Promise < void > {
309+ prepareIosBuildDirs ( ) ;
310+ await generateIosProject ( ) ;
311+
312+ await createIosXcframework ( "ReleaseDebug" , "debug" , iosDebugOutputXcframework ) ;
313+ }
314+
302315// mise task entrypoint.
303316export async function testIosIpcSerialization ( ) : Promise < void > {
304317 if ( ! fs . existsSync ( `${ iosPluginDir } /project.yml` ) ) {
0 commit comments