6
6
using System ;
7
7
using System . IO ;
8
8
9
- public class AndroidBuilder
9
+ public class MobileBuilder
10
10
{
11
- private const string DefaultBuildPath = "Builds/Android/SampleApp.apk" ;
11
+ private const string DefaultAndroidBuildPath = "Builds/Android/SampleApp.apk" ;
12
+ private const string DefaultiOSBuildPath = "Builds/iOS" ;
12
13
13
14
static void Build ( )
14
15
{
15
- BuildPlayer ( DefaultBuildPath , BuildOptions . Development ) ;
16
+ var platform = GetPlatformFromArgs ( ) ;
17
+ string defaultBuildPath = platform == BuildTarget . Android ? DefaultAndroidBuildPath : DefaultiOSBuildPath ;
18
+ BuildPlayer ( defaultBuildPath , BuildOptions . Development , platform ) ;
16
19
}
17
20
18
21
static void BuildForAltTester ( )
19
22
{
20
- BuildPlayer ( DefaultBuildPath , BuildOptions . Development | BuildOptions . IncludeTestAssemblies , true ) ;
23
+ var platform = GetPlatformFromArgs ( ) ;
24
+ string defaultBuildPath = platform == BuildTarget . Android ? DefaultAndroidBuildPath : DefaultiOSBuildPath ;
25
+ BuildPlayer ( defaultBuildPath , BuildOptions . Development | BuildOptions . IncludeTestAssemblies , platform , true ) ;
21
26
}
22
27
23
-
24
- private static void BuildPlayer ( string defaultBuildPath , BuildOptions buildOptions , bool setupForAltTester = false )
28
+ private static void BuildPlayer ( string defaultBuildPath , BuildOptions buildOptions , BuildTarget platform , bool setupForAltTester = false )
25
29
{
26
30
try
27
31
{
28
32
string buildPath = GetBuildPathFromArgs ( defaultBuildPath ) ;
29
33
30
- BuildPlayerOptions buildPlayerOptions = CreateBuildPlayerOptions ( buildPath , buildOptions ) ;
34
+ BuildPlayerOptions buildPlayerOptions = CreateBuildPlayerOptions ( buildPath , buildOptions , platform ) ;
31
35
32
36
if ( setupForAltTester )
33
37
{
34
- SetupAltTester ( buildPlayerOptions ) ;
38
+ SetupAltTester ( buildPlayerOptions , platform ) ;
35
39
}
36
40
37
41
var results = BuildPipeline . BuildPlayer ( buildPlayerOptions ) ;
38
42
39
43
if ( setupForAltTester )
40
44
{
41
45
// Clean up AltTester settings after build
42
- AltBuilder . RemoveAltTesterFromScriptingDefineSymbols ( BuildTargetGroup . Android ) ;
46
+ AltBuilder . RemoveAltTesterFromScriptingDefineSymbols ( platform == BuildTarget . Android ? BuildTargetGroup . Android : BuildTargetGroup . iOS ) ;
43
47
RemoveAltFromScene ( buildPlayerOptions . scenes [ 0 ] ) ;
44
48
}
45
49
}
@@ -62,7 +66,20 @@ private static string GetBuildPathFromArgs(string defaultBuildPath)
62
66
return defaultBuildPath ;
63
67
}
64
68
65
- private static BuildPlayerOptions CreateBuildPlayerOptions ( string buildPath , BuildOptions buildOptions )
69
+ private static BuildTarget GetPlatformFromArgs ( )
70
+ {
71
+ string [ ] args = Environment . GetCommandLineArgs ( ) ;
72
+ for ( int i = 0 ; i < args . Length ; i ++ )
73
+ {
74
+ if ( args [ i ] == "--platform" && i + 1 < args . Length )
75
+ {
76
+ return args [ i + 1 ] . Equals ( "iOS" , StringComparison . OrdinalIgnoreCase ) ? BuildTarget . iOS : BuildTarget . Android ;
77
+ }
78
+ }
79
+ return BuildTarget . Android ; // Default to Android if no platform is specified
80
+ }
81
+
82
+ private static BuildPlayerOptions CreateBuildPlayerOptions ( string buildPath , BuildOptions buildOptions , BuildTarget platform )
66
83
{
67
84
return new BuildPlayerOptions
68
85
{
@@ -74,17 +91,18 @@ private static BuildPlayerOptions CreateBuildPlayerOptions(string buildPath, Bui
74
91
"Assets/Scenes/ZkEvmGetBalance.unity" ,
75
92
"Assets/Scenes/ZkEvmGetTransactionReceipt.unity" ,
76
93
"Assets/Scenes/ZkEvmSendTransaction.unity" ,
77
- "Assets/Scenes/ImxNftTransfer.unity"
94
+ "Assets/Scenes/ImxNftTransfer.unity" ,
95
+ "Assets/Scenes/ZkEVMSignTypedData.unity"
78
96
} ,
79
97
locationPathName = buildPath ,
80
- target = BuildTarget . Android ,
98
+ target = platform ,
81
99
options = buildOptions
82
100
} ;
83
101
}
84
102
85
- private static void SetupAltTester ( BuildPlayerOptions buildPlayerOptions )
103
+ private static void SetupAltTester ( BuildPlayerOptions buildPlayerOptions , BuildTarget platform )
86
104
{
87
- AltBuilder . AddAltTesterInScriptingDefineSymbolsGroup ( BuildTargetGroup . Android ) ;
105
+ AltBuilder . AddAltTesterInScriptingDefineSymbolsGroup ( platform == BuildTarget . Android ? BuildTargetGroup . Android : BuildTargetGroup . iOS ) ;
88
106
AltBuilder . CreateJsonFileForInputMappingOfAxis ( ) ;
89
107
90
108
var instrumentationSettings = new AltInstrumentationSettings ( ) ;
0 commit comments