Version: 2019.2
macOS Player: C++ IL2CPP용 소스 코드 플러그인
Apple TV

Mac 앱 스토어에 애플리케이션 배포

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

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

Edit > Project Settings 로 이동하여 Player 카테고리를 선택합니다. Standalone 타겟을 선택하고 Other Settings 섹션을 펼친 다음 Mac App Store Options 로 이동합니다.

Unity는 이러한 설정을 자동으로 앱의 info.plist 파일에 CF 키로 적용합니다(자세한 내용은 CF 키에 대한 Apple의 개발자 문서 참조).

Mac 앱 스토어 옵션
Mac 앱 스토어 옵션
프로퍼티 기능
Bundle Identifier iTunesConnect App의 번들 식별자를 입력합니다. 연결된 info.plist 파일에서는 CFBundleIdentifier로 표시됩니다.

자세한 내용은 CFBundleIdentifier에 대한 Apple 개발자 문서를 참조하십시오.
Build 앱 버전의 빌드 번호를 입력합니다. 연결된 info.plist 파일에서는 CFBundleVersion으로 표시됩니다.

자세한 내용은 CFBundleVersion에 대한 Apple 개발자 문서를 참조하십시오.
Category 앱 타입에 상응하는 스트링을 입력합니다. 앱 스토어는 이 스트링을 사용하여 앱의 분류를 결정합니다. 기본적으로 이 옵션은 게임 카테고리(public.app-category.games)로 설정됩니다.

사용 가능한 카테고리 타입의 목록은 LSApplicationCategoryType에 대한 Apple 개발자 문서를 참조하십시오.
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>

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 -o runtime -f --deep -s '3rd Party Mac Developer Application: DEVELOPER NAME' --entitlements "GAMENAME.entitlements" "/AppPath/GAMENAME.app"

참고: -o runtime 스위치는 코드 사인에 Hardened Runtime을 활성화하도록 명령합니다. 이는 macOS 10.14 이후 앱이 App Store 및 Apple 공증 서비스의 검증을 통과하기 위한 요구 사항입니다.

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

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

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

커스텀 아이콘

Unity는 기본적으로 Player 설정(Edit > Project Settings를 연 다음 Player 카테고리 선택)의 Icon 패널에서 지정한 아이콘 이미지의 크기를 축소하여 .icns 파일을 생성합니다. 이를 통해 macOS Finder와 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에서 업데이트된 기능

macOS Player: C++ IL2CPP용 소스 코드 플러그인
Apple TV