Help us grow by purchasing our games straight from this page. Become a part of our family by subscribing to our newsletter below. Unity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers.
Submitting a Unity3d game to the Mac App Store is a somewhat painful process. This guide refers to Unity3d 3.5 but should apply to Unity 4.0 and up.
Unity Plus, Pro and Enterprise subscription plans all include the core Unity real-time development platform, continuous updates, beta access, and more - all royalty-free. Compare plans to see the different features, resources, services, and options you can get with each plan, and to determine your eligibility. After you are all setup as an Apple developer (see above) and have your Unity game developed, follow these steps to package your game for the Mac App Store. Build in Unity for Mac Intel Only. In any case i'm confident that Unity will support Mac App store as soon as possible. Deleted User, Oct 24, 2010 #64. Joined: Jun 9, 2005 Posts: 5,293.
Building
First, build your application for Mac and make sure that you uncheck Mac App Store Validation in the PlayerSettings Inspector window.
Building your App from Unity will create a .App file. Navigate to this file in Finder and right-click. Choose Show Package Contents from the context menu to open your app as a folder.
Info.plist
https://rkmvjnl.weebly.com/ssd-benchmark-app-mac.html. Navigate to the Contents directory and open the file Info.plist in your favorite text editor. You will need to make a few changes to this file.
Unity Mac Download
Specifically, you will need to edit the following entries to correspond to your specific application.
The end result will look something like this:
You can get more information about these keys from the Apple developer documentation. The most notable key in need of changing is the LSApplicationCategoryType which must correspond to an actual category on the Mac App Store. You can find the LS keys documentation here.
Icons
You will need to generate an iconset matching Apple’s Human Interface Guidelines. The first step is to create all of the required icons. You will need variations of your icon supporting the following resolutions.
Place all of these icons in the same folder called icons.iconset. Now we have to drop in to Terminal and run the iconutil program to create your icns file which will be named the same as your icons folder. Running
will generate a file called icons.icns. You will need to replace the file
UnityPlayer.icns
with this icon file using Finder. The UnityPlayer.icns
file is located in Contents -> Resources
within your .App.Entitlements
All Apps on the Mac App Store must be sandboxed. To sandbox your Unity app you have to provide an entitlements file to use during the code signing process. A fairly minimal entitlements file should look something like this.
You can read more about entitlements at the Entitlement Key Reference.
Code Signing
Now that we have our iconset and entitlements ready we can codesign our App for delivery to the Mac App Store. We have to drop back to the Terminal to run the codesign application.
![Mac Mac](/uploads/1/3/4/2/134201097/614139318.jpg)
![App App](/uploads/1/3/4/2/134201097/670124690.jpg)
You can find “XXXX” in the Keychain Access program. Look for a code signing certificate beginning with the text “3rd Party Mac Developer Application” you will need to copy this entire text to the codesign command above. You can find more details from the App Store Submission documentation.
In addition to signing your app you must sign
libmono.dylib
.If you don’t have the required Keychain Access certificates you will need to create these using the Apple Member Center.
Product Building
To build your final product run productbuild from the command line.
Where “XXXX” is again from Keychain Access. This time, use the certificate beginning with “3rd Party Mac Developer Installer”.
Application Loader
You are finally ready to submit your App! Before submission you must create your App on iTunes Connect and fill out detailed app information. After your app is created launch Application Loader and click on Deliver Your App. Choose the application you created in iTunes Connect from the drop down menu and follow the prompts to choose your .pkg file that was created with the productbuild command.
Your done! Click submit and, if all went well, you will see your app will be delivered to the App Store and be ready for review.
See also
Free screenwriting app mac. Hi,
Has anyone been rejected by Apple for accessing Contents/Data/mainData before? We're updating our app and as far as I know we didn't make any changes but now we're being rejected (full reason supplied by Apple below).
Install Unity On Mac
I can't figure out why this is happening. Does the mainData file need its permissions set to Read-Only?
Thanks, Jared
2.30: Apps that do not comply with the Mac OS X File System documentation will be rejected
The application accesses the following location(s):
'MyApp.app/Contents/Data/mainData'
The majority of developers encountering this issue are opening files in Read/Write mode instead of Read-Only mode, in which case it should be changed to Read-Only.
Unity Mac App Store
Other common reasons for this issue include:
- creating or writing files in the above location(s), which are not valid locations for files to be written as stated in documentation
- writing to the above location(s) without using a valid app-id as a container for the written files
Please review the 'File-System Usage Requirements for the App Store' of Submitting to the Mac App Store for the locations apps are allowed to write and for further guidance.
If you are unable to reproduce this issue, ensure you are testing the exact version of the app that you submitted for review, and that you're doing so in a minimally privileged environment. See Technical Q&A QA1778: How to reproduce bugs reported against Mac App Store submissions.
For information on how to symbolicate and read a crash log, please see Technical Note TN2123 - CrashReporter.