Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions examples/audience/Assets/Editor/IosBuilder.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#nullable enable

using System;
using UnityEditor;
using UnityEngine;

namespace Immutable.Audience.Samples.SampleApp.Editor
{
// Invoked by CI via:
// Unity -batchmode -buildTarget iOS \
// -executeMethod Immutable.Audience.Samples.SampleApp.Editor.IosBuilder.Build \
// -quit
//
// Optional CLI arg:
// --buildPath <path> Output directory for the Xcode project (default: Builds/iOS)
internal static class IosBuilder
{
private const string DefaultBuildPath = "Builds/iOS";

public static void Build()
{
string buildPath = GetArgValue("--buildPath") ?? DefaultBuildPath;

var options = new BuildPlayerOptions
{
scenes = new[] { "Assets/SampleApp/Scenes/SampleApp.unity" },
locationPathName = buildPath,
target = BuildTarget.iOS,
targetGroup = BuildTargetGroup.iOS,
options = BuildOptions.None,
};

Debug.Log($"[IosBuilder] Building Xcode project → {buildPath}");

var report = BuildPipeline.BuildPlayer(options);
var summary = report.summary;

if (summary.result == UnityEditor.Build.Reporting.BuildResult.Succeeded)
{
Debug.Log($"[IosBuilder] Build succeeded ({summary.totalSize / 1024 / 1024} MB).");
}
else
{
Debug.LogError($"[IosBuilder] Build failed: {summary.totalErrors} error(s).");
EditorApplication.Exit(1);
}
}

private static string? GetArgValue(string flag)
{
var args = Environment.GetCommandLineArgs();
for (int i = 0; i < args.Length - 1; i++)
{
if (args[i] == flag)
return args[i + 1];
}
return null;
}
}
}
11 changes: 11 additions & 0 deletions examples/audience/Assets/Editor/IosBuilder.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions examples/audience/Assets/Editor/ScriptingBackendOverride.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@ namespace Immutable.Audience.Samples.SampleApp.Editor
// Mono → Disabled (Mono studios rarely strip; High under Mono can
// strip Net.Http SSL chain code paths).
//
// Supported targets: Standalone, Android.
// Supported targets: Standalone, Android, iOS.
//
// Usage:
// AUDIENCE_SCRIPTING_BACKEND=Mono2x Unity -batchmode -runTests ...
// AUDIENCE_SCRIPTING_BACKEND=IL2CPP Unity -batchmode -buildTarget Android ...
// AUDIENCE_SCRIPTING_BACKEND=IL2CPP Unity -batchmode -buildTarget iOS ...
//
// Unset means "respect ProjectSettings.asset as-is".
internal sealed class ScriptingBackendOverride : IPreprocessBuildWithReport
Expand All @@ -45,7 +46,7 @@ public void OnPreprocessBuild(BuildReport report)
};

var group = report.summary.platformGroup;
if (group != BuildTargetGroup.Standalone && group != BuildTargetGroup.Android)
if (group != BuildTargetGroup.Standalone && group != BuildTargetGroup.Android && group != BuildTargetGroup.iOS)
return;

var currentBackend = PlayerSettings.GetScriptingBackend(group);
Expand Down
204 changes: 198 additions & 6 deletions examples/audience/ProjectSettings/ProjectSettings.asset
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ PlayerSettings:
targetDevice: 2
useOnDemandResources: 0
accelerometerFrequency: 60
companyName: DefaultCompany
companyName: Immutable
productName: audience
defaultCursor: {fileID: 0}
cursorHotspot: {x: 0, y: 0}
Expand Down Expand Up @@ -157,7 +157,9 @@ PlayerSettings:
resetResolutionOnWindowResize: 0
androidSupportedAspectRatio: 1
androidMaxAspectRatio: 2.1
applicationIdentifier: {}
applicationIdentifier:
iPhone: com.immutable.audience
Android: com.immutable.audience
buildNumber:
Standalone: 0
iPhone: 0
Expand All @@ -179,7 +181,7 @@ PlayerSettings:
StripUnusedMeshComponents: 1
VertexChannelCompressionMask: 4054
iPhoneSdkVersion: 988
iOSTargetOSVersionString: 12.0
iOSTargetOSVersionString: 13.0
tvOSSdkVersion: 0
tvOSRequireExtendedGameController: 0
tvOSTargetOSVersionString: 12.0
Expand Down Expand Up @@ -232,7 +234,7 @@ PlayerSettings:
tvOSManualSigningProvisioningProfileID:
iOSManualSigningProvisioningProfileType: 0
tvOSManualSigningProvisioningProfileType: 0
appleEnableAutomaticSigning: 0
appleEnableAutomaticSigning: 1
iOSRequireARKit: 0
iOSAutomaticallyDetectAndAddCapabilities: 1
appleEnableProMotion: 0
Expand Down Expand Up @@ -272,7 +274,196 @@ PlayerSettings:
AndroidValidateAppBundleSize: 1
AndroidAppBundleSizeToValidate: 150
m_BuildTargetIcons: []
m_BuildTargetPlatformIcons: []
m_BuildTargetPlatformIcons:
- m_BuildTarget: iPhone
m_Icons:
- m_Textures: []
m_Width: 180
m_Height: 180
m_Kind: 0
m_SubKind: iPhone
- m_Textures: []
m_Width: 120
m_Height: 120
m_Kind: 0
m_SubKind: iPhone
- m_Textures: []
m_Width: 167
m_Height: 167
m_Kind: 0
m_SubKind: iPad
- m_Textures: []
m_Width: 152
m_Height: 152
m_Kind: 0
m_SubKind: iPad
- m_Textures: []
m_Width: 76
m_Height: 76
m_Kind: 0
m_SubKind: iPad
- m_Textures: []
m_Width: 120
m_Height: 120
m_Kind: 3
m_SubKind: iPhone
- m_Textures: []
m_Width: 80
m_Height: 80
m_Kind: 3
m_SubKind: iPhone
- m_Textures: []
m_Width: 80
m_Height: 80
m_Kind: 3
m_SubKind: iPad
- m_Textures: []
m_Width: 40
m_Height: 40
m_Kind: 3
m_SubKind: iPad
- m_Textures: []
m_Width: 87
m_Height: 87
m_Kind: 1
m_SubKind: iPhone
- m_Textures: []
m_Width: 58
m_Height: 58
m_Kind: 1
m_SubKind: iPhone
- m_Textures: []
m_Width: 29
m_Height: 29
m_Kind: 1
m_SubKind: iPhone
- m_Textures: []
m_Width: 58
m_Height: 58
m_Kind: 1
m_SubKind: iPad
- m_Textures: []
m_Width: 29
m_Height: 29
m_Kind: 1
m_SubKind: iPad
- m_Textures: []
m_Width: 60
m_Height: 60
m_Kind: 2
m_SubKind: iPhone
- m_Textures: []
m_Width: 40
m_Height: 40
m_Kind: 2
m_SubKind: iPhone
- m_Textures: []
m_Width: 40
m_Height: 40
m_Kind: 2
m_SubKind: iPad
- m_Textures: []
m_Width: 20
m_Height: 20
m_Kind: 2
m_SubKind: iPad
- m_Textures: []
m_Width: 1024
m_Height: 1024
m_Kind: 4
m_SubKind: App Store
- m_BuildTarget: Android
m_Icons:
- m_Textures: []
m_Width: 432
m_Height: 432
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 324
m_Height: 324
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 216
m_Height: 216
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 162
m_Height: 162
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 108
m_Height: 108
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 81
m_Height: 81
m_Kind: 2
m_SubKind:
- m_Textures: []
m_Width: 192
m_Height: 192
m_Kind: 1
m_SubKind:
- m_Textures: []
m_Width: 144
m_Height: 144
m_Kind: 1
m_SubKind:
- m_Textures: []
m_Width: 96
m_Height: 96
m_Kind: 1
m_SubKind:
- m_Textures: []
m_Width: 72
m_Height: 72
m_Kind: 1
m_SubKind:
- m_Textures: []
m_Width: 48
m_Height: 48
m_Kind: 1
m_SubKind:
- m_Textures: []
m_Width: 36
m_Height: 36
m_Kind: 1
m_SubKind:
- m_Textures: []
m_Width: 192
m_Height: 192
m_Kind: 0
m_SubKind:
- m_Textures: []
m_Width: 144
m_Height: 144
m_Kind: 0
m_SubKind:
- m_Textures: []
m_Width: 96
m_Height: 96
m_Kind: 0
m_SubKind:
- m_Textures: []
m_Width: 72
m_Height: 72
m_Kind: 0
m_SubKind:
- m_Textures: []
m_Width: 48
m_Height: 48
m_Kind: 0
m_SubKind:
- m_Textures: []
m_Width: 36
m_Height: 36
m_Kind: 0
m_SubKind:
m_BuildTargetBatching:
- m_BuildTarget: Standalone
m_StaticBatching: 1
Expand Down Expand Up @@ -623,6 +814,7 @@ PlayerSettings:
scriptingBackend:
Android: 1
Standalone: 1
iPhone: 1
il2cppCompilerConfiguration: {}
managedStrippingLevel:
EmbeddedLinux: 1
Expand All @@ -637,7 +829,7 @@ PlayerSettings:
WebGL: 1
Windows Store Apps: 1
XboxOne: 1
iPhone: 1
iPhone: 3
tvOS: 1
incrementalIl2cppBuild: {}
suppressCommonWarnings: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "Immutable.Audience.Unity",
"rootNamespace": "Immutable.Audience.Unity",
"references": ["Immutable.Audience.Runtime"],
"includePlatforms": ["Android", "Editor", "macOSStandalone", "WindowsStandalone64"],
"includePlatforms": ["Android", "Editor", "iOS", "macOSStandalone", "WindowsStandalone64"],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "Immutable.Audience.Runtime",
"rootNamespace": "Immutable.Audience",
"references": [],
"includePlatforms": ["Android", "Editor", "macOSStandalone", "WindowsStandalone64"],
"includePlatforms": ["Android", "Editor", "iOS", "macOSStandalone", "WindowsStandalone64"],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
Expand Down
Loading