К основному контенту

Отправка Unity3d приложения в Mac App Store




1. Вам нужно быть зарегистрированным разработчиком (99$ в год).

2. Создайте App ID, само приложение в itunesconnect, создайте и установите у себя сертификаты. 

3. Соберите приложение с установками “Use player log” = false, “Use Mac App Store Validation” = true. Называйте файл так как приложение называеться в itunesconnect.
Правильно MemoUp.app
Неправильно MemoUp_v1.5.app

4. Теперь необходимо собрать пакет иконок, понадобятся иконки с прозрачностями: 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 – это иконка с разрешением 512x512x72dpi, а 512x512@2x – иконка 1024x1024x144dpi, Это касается всех файлов.

5. Открываем терминал: 
iconutil -c icns UnityPlayer.iconset 

6. Открываем содержимое откомпилированного приложения и заменяем старую иконку на только что созданную (UnityPlayer.iconset)

7. Редактируем файл Info.plist по примеру
 <?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>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleExecutable</key> <string>MemoUp</string> <key>CFBundleGetInfoString</key> <string>(c) 2012 UpGames. Sergey Vitukhin. All rights reserved.</string> <key>CFBundleIconFile</key> <string>UnityPlayer.icns</string> <key>CFBundleIdentifier</key> <string>com.svitukhin.osx.memoup</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>MemoUp</string> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> <string>1.5</string> <key>LSApplicationCategoryType</key> <string>public.app-category.puzzle-games</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>1.5</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> <string>PlayerApplication</string> <key>UnityBuildNumber</key> <string>249be5b9299d</string> </dict> </plist>

8. В корне где, находиться app создаем файл
entitlements.entitlements
<?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> <key>com.apple.security.device.usb</key> <true> <key>com.apple.security.files.user-selected.read-write</key> <true> </true></true></true></dict> </plist>
При верификации приложения Apple может спросить про com.apple.security.device.usb – эта директива делает возможным управление джойстиком. Можете ее не вписывать, если вы не используете такой функции. 

9. Подписываем библиотеку
codesign -f -v -s "3rd Party Mac Developer Application: Serhij Vitukhin" "/Users/pestantium/Desktop/Releases/MemoUp/MemoUp.app/Contents/Frameworks/MonoEmbedRuntime/osx/libmono.0.dylib"

10. Подписываем пакет
codesign -f -v -s "3rd Party Mac Developer Application: Serhij Vitukhin" --entitlements entitlements.entitlements "MemoUp.app"

11. Собираем пакет для установки productbuild --component "MemoUp.app" "/Applications" --sign "3rd Party Mac Developer Installer: Serhij Vitukhin" "MemoUp.pkg"

12. Отправляете пакет с помощью Application Loader. 

Комментарии