Apple Mac
Apple TV

Mac 앱 스토어에 애플리케이션 배포(Delivering your application to the Mac App Store)

이 페이지에서는 애플리케이션을 Mac 앱 스토어에 배포하는 절차에 대해 설명합니다.

먼저 키체인에 올바른 프로비저닝 프로파일인 “3rd Party Mac Developer Application” 및 “3rd Party Mac Developer Installer” 프로파일이 설치되었는지 확인해야 합니다. 자세한 방법은 서명 ID 및 인증서 유지관리에 대한 Apple 의 개발자 문서를 참조하십시오.

Go to Edit > Project Settings > Player. Open the Other Settings tab and navigate to Mac App Store Options. Unity automatically applies these settings to your app’s info.plist file as CF keys (see Apple’s developer documentation on Core Foundation Keys to learn more).

Mac App Store Options
Mac App Store Options
Property 기능
Bundle Identifier Enter the Bundle Identifier of your iTunesConnect App. This appears as CFBundleIdentifier in the associated info.plist file.

See Apple developer documentation on CFBundleIdentifier to learn more.
Version* Enter your application bundle version (for example 1.0, 2.0). This appears as CFBundleShortVersionString in the associated info.plist file.

See Apple developer documentation on CFBundleShortVersionString to learn more.
Build Enter the build number for this version of your app. This appears as CFBundleVersion in the associated info.plist file.

See Apple developer documentation on CFBundleVersion to learn more.
Mac App Store Validation 활성화하면 앱에 Mac 앱 스토어의 유효한 영수증이 포함되어 있을 때에만 앱이 실행됩니다. 사용자가 게임을 구매하지 않은 기기에서 게임을 실행하는 것을 방지합니다. 자체 영수증 확인을 구현하였다면 이 설정을 비활성화하십시오.

Mac App Store Validation 체크박스를 선택한 후 File > Build Settings… > Build 를 선택하여 앱을 빌드합니다.

그런 다음 GAMENAME.entitlements 파일을 생성하고 아무 위치에나 저장합니다. 이렇게 하는 가장 쉬운 방법은 빈 Mac 앱을 생성하는 것입니다. 이렇게 하려면 Xcode 를 열고 macOS 템플릿을 사용하여 새 프로젝트를 생성한 후 성능 표시줄로 이동하여 앱 샌드박스를 활성화합니다. 그러면 기본 .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/>

  </dict>

  </plist>

참고__: __Unity 5.5 이전 버전에서는 info.plist 파일이 자동으로 업데이트되지 않으므로 수동으로 업데이트해야 합니다. 아래의 수동 업데이트 섹션을 참조하십시오.

Xcode 또는 기타 텍스트 에디터에서 info.plist 파일을 열고 다음 키를 추가합니다.

<key>LSApplicationCategoryType</key>

<string>{VALID APP CATEGORY, e.g.: public.app-category.kids-games }</string>

<key>CFBundleSignature</key>

<string>{4 LETTER CREATOR CODE, e. g.:  GMAD }</string>

Xcode 8.0 이상 버전을 사용한다면 info.plist 파일에 다음 필드도 추가해야 합니다.

<key>CFBundleSupportedPlatforms</key>

    <array>

        <string>MacOSX</string>

    </array>

다음으로 .app 의 모든 콘텐츠에 대한 읽기 권한을 수정합니다. 이렇게 하려면 macOS 터미널에 다음을 입력합니다.

 chmod -R a+xr "/path/to/GAMENAME.app"

이전에 생성한 .entitlements 로 .App 에 서명합니다. 이렇게 하려면 macOS 터미널에 다음을 입력합니다.

 codesign -f --deep -s '3rd Party Mac Developer Application: DEVELOPER NAME' --entitlements "GAMENAME.entitlements" "/AppPath/GAMENAME.app"

설치 프로그램/패키지를 빌드합니다. 이렇게 하려면 macOS 터미널에 다음을 입력합니다.

 productbuild --component GAMENAME.app /Applications --sign "3rd Party Mac Developer Installer: DEVELOPER NAME" GAMENAME.pkg

마지막으로 Xcode ApplicationLoader 를 사용하여 앱을 제출합니다.

##선택적인 추가 사항

info.plist 수동 업데이트

5.6 버전보다 오래된 Unity 에디터를 사용할 때에는 앱을 빌드한 후 번들 식별자와 버전 문자열을 수동으로 추가해야 합니다.

info.plist 파일의 다음 섹션을 앱에 적합하게 수정합니다.

<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>

커스텀 아이콘

Unity 에디터는 기본적으로 Player Settings > Default Icons 에서 지정한 아이콘 이미지의 크기를 줄여서 .icns 파일을 생성합니다. 이에 따라 macOS 파인더와 OS 도크에 앱 아이콘이 표시되는 방법이 정의됩니다. 하지만 원한다면 아이콘을 커스텀 아이콘으로 바꿀 수 있습니다.

  • 폴더를 만들고 폴더 이름을 UnityPlayer.iconset(또는 info.plistCFBundleIconFile/Icon File 필드에 설정된 이름)로 지정하고 다음 이미지 이름을 삽입합니다. 이 폴더에는 .iconset 확장자로 된 파일이 포함되어 있어야 합니다.
    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

@2x.png 이미지는 파일 이름에 명시된 크기의 두 배여야 합니다. 예를 들어 512x512@2x.png 이미지는 실제 크기가 1024x1024 인 이미지여야 합니다. macOS 터미널에서 .iconset 디렉토리가 있는 디렉토리로 이동한 후 다음 커맨드를 입력합니다.

    iconutil -c icns UnityPlayer.iconset

마지막으로 .app 파일을 마우스 오른쪽 버튼으로 클릭하고 Show Contents 를 선택한 후 iconset.icns를 만들어 둔 것으로 바꿉니다.


  • 2017–05–18 편집 리뷰를 거쳐 페이지 게시됨

  • Unity 5.6 에서 업데이트된 기능

Apple Mac
Apple TV