Make sure you have the correct provisioning profiles installed in Organiser. Also check provisioning profile in System Preferences -> Profiles.
Create high res iconset. Make a folder named UnityPlayer.iconset (or whatever your info.plist is setup to show) with the following image names inside. Make sure the folder has the .iconset
extension.
icon_16x16.png
icon_16x16@2x.png
icon_32x32.png
icon_32x32@2x.png
icon_128x128.png
icon_128x128@2x.png
icon_256x256.png
icon_256x256@2x.png
icon_512x512.png
icon_512x512@2x.png
512x512@2x
is actually a 1024x1024 image with 144 dpi. From the Terminal, navigate to the directory where the .iconset directory is located and perform the command iconutil -c icns UnityPlayer.iconset
info.plist
and an GAMENAME.entitlements
file. The easiest way to do this is by using http://macdownload.informer.com/unity-entitlements-tool/download/ to generate them for you. You can also extract the info.plist from the Unity generated .app and modify that one. The most basic GAMENAME.entitlements
looks like this, it will make sure your app runs in the Apple sandbox. This one has no iCloud support: <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key> <true/>
</dict>
</plist>
info.plist
file to make it suitable for your app:<key>CFBundleDevelopmentRegion</key>
<string>{YOUR REGION}</string>
<key>CFBundleGetInfoString</key>
<string>{DESCRIPTIVE INFO}</string>
<key>CFBundleIdentifier</key>
<string>com.{YOUR COMANY}.{YOUR APP NAME}</string>
<key>CFBundleName</key>
<string>{YOUR APP NAME}</string>
<key>CFBundleShortVersionString</key>
<string>{VERSION NUMBER, e.g. 1.0.0}</string>
<key>CFBundleSignature</key>
<string>{4 LETTER CREATOR CODE, e. g.: GMAD }</string>
<key>CFBundleVersion</key>
<string>{VERSION NUMBER, e.g. 100}</string>
info.plist
file :<key>LSApplicationCategoryType</key>
<string>{VALID APP CATEGORY, e.g.: public.app-category.kids-games }</string>
if (Screen.fullScreen)
{
//MacBook Pro Retina 15: width = 2880 , MacBook Pro Retina 13: width = 2496 ?
//could check device model name, but not sure now about retina 13 device model name
//if last resolution is almost retina resolution...
var resolutions : Resolution[] = Screen.resolutions;
if (resolutions.length && resolutions[resolutions.length - 1].width > 2048)
{
Screen.fullScreen = false;
yield;
Screen.fullScreen = true;
yield;
}
}
chmod -R a+xr "/path/to/GAMENAME.app"
codesign -f --deep -s '3rd Party Mac Developer Application: DEVELOPER NAME' --entitlements "GAMENAME.entitlements" "/AppPath/GAMENAME.app"
productbuild --component GAMENAME.app /Applications --sign "3rd Party Mac Developer Installer: DEVELOPER NAME" GAMENAME.pkg