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