From 97a2025209a7f6faf9c0cbbd442957c223f33df0 Mon Sep 17 00:00:00 2001 From: leedongmyung Date: Tue, 12 Aug 2025 13:40:28 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B2=84=EC=A0=84=20=EC=A0=95=EB=B3=B4?= =?UTF-8?q?=EC=97=90=20=EB=94=B0=EB=9D=BC=20=EB=B9=8C=EB=93=9C=20=EB=84=98?= =?UTF-8?q?=EB=B2=84=20=EA=B0=80=EC=A0=B8=EC=98=A4=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/oto/commands/build/build_ios.dart | 14 +++++++++----- lib/oto/data/command_data.dart | 1 + lib/oto/data/command_data.g.dart | 2 ++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/oto/commands/build/build_ios.dart b/lib/oto/commands/build/build_ios.dart index e10d314..bc3b97b 100644 --- a/lib/oto/commands/build/build_ios.dart +++ b/lib/oto/commands/build/build_ios.dart @@ -40,11 +40,16 @@ class BuildiOS extends Command { if (appID == null) { throw Exception('Can not find App Identifier.'); } + var teamID = data.teamID; + if(teamID == null) { + throw Exception('Can not find Apple Store Team ID'); + } if (data.apiKeyPath == null) { throw Exception( 'If autoVersionNumber = true then must set apiKeyPath.'); } - var fastFile = await initializeFastlane(data.workspace!, data.apiKeyPath!, appID); + var apiKeyPath = data.apiKeyPath!; + var fastFile = await initializeFastlane(data.workspace!, apiKeyPath, appID); var fastlaneContent = fastFile.readAsStringSync(); //Find PREPARE_FOR_SUBMISSION state Version @@ -82,14 +87,13 @@ class BuildiOS extends Command { fastFile.writeAsStringSync(fastlaneContent, flush: true); shell = StringBuffer(); shell.write('cd ${data.workspace}/fastlane'); - shell.write(' && fastlane latest_build_number'); + shell.write(' && fastlane run latest_testflight_build_number app_identifier:$appID version:$version platform:ios api_key_path:"$apiKeyPath" team_id:"$teamID"'); process = await ProcessExecutor.run(shell); arr = process.stdout.toString().split('\n'); for (var item in arr) { if (item.contains(result)) { - var json = - jsonDecode(item.substring(item.indexOf(result) + result.length)); - targetBuildNumber = json['latest_build_number']; + targetBuildNumber = item.substring(item.indexOf(result) + result.length).trim(); + print('Build Number: $targetBuildNumber'); break; } } diff --git a/lib/oto/data/command_data.dart b/lib/oto/data/command_data.dart index 2f12588..8273270 100644 --- a/lib/oto/data/command_data.dart +++ b/lib/oto/data/command_data.dart @@ -226,6 +226,7 @@ class DataBuildiOS extends DataParam { late String? version; //존재시 autoBuildNumber = false late String? buildNumber; //존재시 autoBuildNumber = false late bool? autoBuildNumber = false; + late String? teamID; //Apple store team ID late String? apiKeyPath; //autoVersionNumber 사용시 필수 //set diff --git a/lib/oto/data/command_data.g.dart b/lib/oto/data/command_data.g.dart index ed4c701..5f5cfff 100644 --- a/lib/oto/data/command_data.g.dart +++ b/lib/oto/data/command_data.g.dart @@ -402,6 +402,7 @@ DataBuildiOS _$DataBuildiOSFromJson(Map json) => DataBuildiOS() ..version = json['version'] as String? ..buildNumber = json['buildNumber'] as String? ..autoBuildNumber = json['autoBuildNumber'] as bool? + ..teamID = json['teamID'] as String? ..apiKeyPath = json['apiKeyPath'] as String? ..setVersion = json['setVersion'] as String? ..setBuildNumber = json['setBuildNumber'] as String? @@ -427,6 +428,7 @@ Map _$DataBuildiOSToJson(DataBuildiOS instance) => 'version': instance.version, 'buildNumber': instance.buildNumber, 'autoBuildNumber': instance.autoBuildNumber, + 'teamID': instance.teamID, 'apiKeyPath': instance.apiKeyPath, 'setVersion': instance.setVersion, 'setBuildNumber': instance.setBuildNumber,