Show / Hide Table of Contents

Class MASDistro

Prepare a Mac build for the Mac App Store.

Inheritance
System.Object
UnityEngine.Object
UnityEngine.ScriptableObject
DistroBase
MASDistro
Inherited Members
DistroBase.builds
DistroBase.CanRunWithoutBuildTargets
DistroBase.IsRunning
DistroBase.HasAllBuilds()
DistroBase.Build()
DistroBase.Distribute()
DistroBase.Distribute(Boolean)
DistroBase.ForceCancel()
DistroBase.Cancel()
DistroBase.BuildAndGetBuildPaths(Boolean)
DistroBase.DistributeCoroutine(Boolean)
DistroBase.runningScripts
DistroBase.Execute(String, String, String, Action<String>, Action<String>)
DistroBase.Execute(ProcessStartInfo, String, Action<String>, Action<String>)
DistroBase.RunCoroutine(IEnumerator)
DistroBase.GetSubroutineResult<T>()
Namespace: sttz.Trimmer.Editor
Assembly: Trimmer-Editor.dll
Syntax
[CreateAssetMenu(fileName = "MAS Distro.asset", menuName = "Trimmer/Mac App Store", order = 100)]
public class MASDistro : DistroBase
Remarks

This distribution makes the necessary modifications for Mac App Store builds. It does not automatically upload the build, you can manually upload the generated pkg using Application Loader.

The distribution will take these steps:

  • Add additional languages to the Info.plist (see languages)
  • Update the copyright in the Info.plist (optional, copyright)
  • Link additional frameworks (required for Game Center, linkFrameworks)
  • Copy the provisioning profile to Contents/embedded.provisionprofile
  • Sign the plugins and application with the given entitlements (see entitlements and appSignIdentity)
  • Create a pkg installer and sign it (see installerSignIdentity)

Use XCode the create your developer and distribution identities and the Apple Developer Portal to create the provisioning profiles. One way to create an entitlements file is to create an empty dummy project in XCode and then to configure its capabilities accordingly.

The distribution can be used to create Mac App Store builds for testing:

  • Set the appSignIdentity to your developer identity (not the 3rd party mac developer one)
  • Leave the installerSignIdentity blank to skip generating the pkg
  • Set the provisioning profile to a development profile

Fields

| Improve this Doc View Source

appSignIdentity

The identity to sign the app with.

Declaration
public string appSignIdentity
Field Value
Type Description
System.String
| Improve this Doc View Source

copyright

Copyright to set in the Info.plist (empty = no change).

Declaration
public string copyright
Field Value
Type Description
System.String
| Improve this Doc View Source

entitlements

The entitlements file.

Declaration
public DefaultAsset entitlements
Field Value
Type Description
UnityEditor.DefaultAsset
| Improve this Doc View Source

installerSignIdentity

The identity to sign the installer with.

Declaration
public string installerSignIdentity
Field Value
Type Description
System.String
| Improve this Doc View Source

languages

Comma-separated list of ISO-639 language codes to add to the Info.plist.

Declaration
public string languages
Field Value
Type Description
System.String
| Improve this Doc View Source

linkFrameworks

Additional frameworks the binary should be linked with.

Declaration
public string[] linkFrameworks
Field Value
Type Description
System.String[]
| Improve this Doc View Source

optoolPath

Path to the optool binary (only required for linking frameworks). (see https://github.com/alexzielenski/optool)

Declaration
public string optoolPath
Field Value
Type Description
System.String
| Improve this Doc View Source

provisioningProfile

The provisioning profile.

Declaration
public DefaultAsset provisioningProfile
Field Value
Type Description
UnityEditor.DefaultAsset

Methods

| Improve this Doc View Source

DistributeCoroutine(IEnumerable<DistroBase.BuildPath>, Boolean)

Declaration
protected override IEnumerator DistributeCoroutine(IEnumerable<DistroBase.BuildPath> buildPaths, bool forceBuild)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<DistroBase.BuildPath> buildPaths
System.Boolean forceBuild
Returns
Type Description
System.Collections.IEnumerator
Overrides
DistroBase.DistributeCoroutine(IEnumerable<DistroBase.BuildPath>, Boolean)
| Improve this Doc View Source

FindFramework(String)

Declaration
protected string FindFramework(string input)
Parameters
Type Name Description
System.String input
Returns
Type Description
System.String
| Improve this Doc View Source

Process(String)

Declaration
protected IEnumerator Process(string path)
Parameters
Type Name Description
System.String path
Returns
Type Description
System.Collections.IEnumerator
| Improve this Doc View Source

Sign(String, String)

Declaration
protected IEnumerator Sign(string path, string entitlementsPath = null)
Parameters
Type Name Description
System.String path
System.String entitlementsPath
Returns
Type Description
System.Collections.IEnumerator
| Improve this Doc View Source

SignAll(IEnumerable<String>)

Declaration
protected IEnumerator SignAll(IEnumerable<string> paths)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<System.String> paths
Returns
Type Description
System.Collections.IEnumerator
  • Improve this Doc
  • View Source
Back to top © 2017 Adrian Stutz