내 앱 서명

서명 절차는 운영 체제마다 약간씩 다르지만 개념상으로는 모두 동일합니다. 다른 사람들이 사용할 수 있도록 배포되는 앱에는 서명을 해야 합니다. ArcGIS AppStudio에서 앱 서명 및 만들기 프로세스를 자동으로 수행하지만 각 운영 체제 공급업체로부터 AppStudio에 입력으로 제공할 서명 파일을 받아야 합니다.

새 앱 준비

앱에 서명하고 앱을 릴리스하기 전에 ArcGIS 클라이언트 ID, 리디렉션 URI, 라이선스 문자열을 앱에 지정해야 합니다. 클라이언트 ID나 리디렉션 URI 없이도 앱을 만들 수 있지만 ArcGIS 서비스를 사용하는 앱의 경우 둘 다 지정해야 합니다.

ArcGIS 클라이언트 ID(AppID라고도 함)는 기명 사용자(Named User)가 모든 앱에 로그인하는 데 필요합니다. 클라이언트 ID를 얻으려면 https://developers.arcgis.com으로 이동하여 개발자 자격 증명으로 로그인한 다음 대시보드 옆의 드롭다운 화살표를 클릭하고 새 응용프로그램을 선택합니다. 등록하고 나면 클라이언트 ID를 받게 되며 이를 AppStudio 앱에 복사할 수 있습니다. ArcGIS AppStudio을(를) 사용하는 경우에는 등록 버튼을 클릭하여 설정 > 라이선싱에서 클라이언트 ID를 생성할 수도 있습니다.

기명 사용자 로그인이 필요한 앱의 경우 리디렉션 URI도 제공해야 합니다. 리디렉션 URI는 OAuth 로그인 완료 후 사용자가 리디렉션되는 올바른 위치를 나타냅니다. 앱에 대한 새로운 리디렉션 URI를 추가하려면 https://developers.arcgis.com에서 응용프로그램에 대한 인증 탭으로 이동합니다. 이 탭에서는 앱을 등록하고(아직 등록하지 않은 경우) 리디렉션 URI를 추가하거나 urn:ietf:wg:oauth:2.0:oob를 추가합니다. 이 정보는 ArcGIS Online에서 호스팅 리디렉션 페이지를 사용하여 앱으로 다시 돌아가도록 만듭니다. ArcGIS AppStudio에서 만들고 등록한 앱의 경우에는 urn:ietf:wg:oauth:2.0:oob URI가 자동으로 설정되기도 합니다.

라이선스 문자열은 ArcGIS Runtime 버전 100.x를 사용하는 앱을 만들 때 필요합니다. 라이선스 문자열 없이는 앱을 만들 수 없습니다. 라이선스 문자열은 앱 수행이 허용된 ArcGIS 플랫폼의 기능을 나타내기도 합니다. 라이선스 문자열을 얻는 방법은 앱 라이선싱을 참고하세요

iOS 앱 서명

모든 iOS 앱에는 서명을 해야 합니다. 테스트용으로 생성한 앱의 경우 Apple 개발자 계정 및 테스트를 수행하는 기기에 연결된 개발자 인증서를 사용하여 서명해야 합니다. 프로덕션 인증서는 Apple 개발자 계정에만 연결됩니다.

AppStudio 갤러리 측면 패널에 있는 클라우드 또는 로컬 제작 도구를 실행하기 전에 설정iOS 탭(플랫폼 머리글 아래에 있음)에서 다음을 제공했는지 확인하세요.

  • 번들 ID - 항상 com.companyname.applicationname과 같은 반전된 인터넷 도메인 이름을 사용합니다. 패키지 이름은 앱의 고유 식별자이며 응용프로그램 프로세스의 기본 이름입니다. 앱을 발행한 후에는 패키지 이름을 변경할 수 없습니다. 자세한 내용은 앱 배포 준비의 번들 ID 설명을 참고하세요.
  • 프로비저닝 프로파일 - 앱을 실행할 기기를 나타냅니다.
  • 인증서(.p12 파일) - App Store 또는 내부 배포용 인증서입니다. 이 파일은 Keychain Access에서 생성됩니다. AppStudio에서 이 정보와 번들 ID를 둘 다 입력하지 않으면 설치 파일이 생성되지 않습니다. 자세한 내용은 앱 서명이란?을 참고하세요.

제작 도구를 실행할 때 인증서 비밀번호를 입력하라는 메시지가 나타납니다.

서명에 필요한 인증서 파일을 생성하려면 각 개발자가 다음 단계를 한 번씩 수행해야 하며 Mac이 필요합니다.

  1. iOS Dev Center에서 개발자 인증서(예시: ios_developer.cer)를 다운로드합니다.
  2. iOS Dev Center에서 모바일 프로비저닝 프로파일(예시: ios_developer.mobileprovision)을 다운로드합니다.
  3. 찾기를 사용하여 응용프로그램 > 유틸리티 > Keychain Access를 찾습니다.
  4. 인증서를 Keychain Access로 가져옵니다.
  5. Keychain Access의 키 체인 목록에서 로그인을 선택하고 범주 목록에서 내 인증서를 선택합니다. phone Developer: 개발자 이름 인증서를 선택하고 비밀번호가 적용된 개인 키가 포함된 인증서(예: 
john_doe_private_key.p12)를 내보냅니다.

    인증서 파일이 생성됩니다.

  6. AppStudio에서 설정 > 플랫폼 > iOS를 찾습니다.
  7. 프로비저닝 프로필 경로를 설정합니다.
  8. 앱의 배포 유형을 설정합니다. 옵션에 대한 자세한 내용은 배포 방법에 대한 Xcode 문서를 참고하세요.
비고:

.p12 인증서 파일과 모바일 프로비저닝 프로필을 더블 클릭하여 해당 파일을 가지고 옵니다.

macOS에서 AppStudio를 사용하는 경우 로컬 제작으로 iOS 앱을 만들려면 두 개의 등록정보를 추가로 설정해야 합니다. 이러한 필드의 콘텐츠는 개발 또는 배포 인증서에서 확인할 있으며, 찾기를 사용하여 응용프로그램 > 유틸리티 > Keychain Access로 이동하면 확인 가능합니다.

팀 ID 필드에 인증서의 조직 구성 단위를 입력합니다.

코드 서명 아이덴티티 필드에 인증서의 일반 이름을 입력합니다.

Android 앱 서명

Android 릴리스 만들기를 준비하려면 먼저 서명하는 keystore 파일을 생성해야 합니다. 이 파일을 생성하는 방법에 대한 자세한 내용은 Android 설명서를 참고하세요.

클라우드 또는 로컬 제작 도구를 실행하기 전에 설정Android 탭(플랫폼 머리글 아래에 있음)에서 다음을 제공했는지 확인하세요.

  • 패키지 이름 - 항상 com.companyname.applicationname과 같은 반전된 인터넷 도메인 이름을 사용합니다. 패키지 이름은 앱의 고유 식별자이며 응용프로그램 프로세스의 기본 이름입니다. 앱을 발행한 후에는 패키지 이름을 변경할 수 없습니다. 자세한 내용은 Android SDK의 매니페스트 요소에서 패키지 이름 설명을 참고하세요.
  • Keystore 파일 경로 - 데스크톱 머신에서 keystore 파일의 위치입니다.
  • 키 별칭 - keystore를 생성할 때 생성하는 키 이름입니다.

이 정보를 입력하지 않아도 설치 파일이 생성되지만 서명은 되지 않습니다. 서명되지 않은 파일은 테스트용으로 설치할 수는 있지만 Google Play 스토어 또는 Amazon Appstore에 제출할 수는 없습니다.

제작 도구를 실행할 때 keystore와 키 비밀번호를 입력하라는 메시지가 나타납니다.

Keystore를 생성하려면 각 개발자가 다음 단계를 한 번씩 수행해야 합니다.

  1. https://www.oracle.com/technetwork/java/javase/downloads/index.html에서 JDK(Java 개발 키트)를 다운로드하여 설치합니다.
  2. 데스크톱 머신에서 JAVA_HOME 환경 변수를 생성합니다(https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/index.html).
  3. PATH 환경 변수에 JDK bin 폴더 경로를 추가합니다.
  4. 커맨드 창에서 keytool -genkey -v -keystore [keystore_name].keystore -alias [alias_name] -keyalg RSA -keysize 2048 -validity 10000을 사용하여 키를 생성합니다. 여기서 keystore_name은 생성할 keystore 파일에 대해 선택한 이름이고 alias_name은 별칭으로 선택한 이름입니다.
  5. Keystore 비밀번호를 입력하고 확인합니다.
  6. 추가 정보를 입력하고 확인합니다.
  7. 키 비밀번호를 입력합니다. 고유한 비밀번호를 입력할 수도 있고, Enter 키를 눌러 keystore 비밀번호와 같은 비밀번호를 사용해도 됩니다.

    Keystore 파일은 이 커맨드를 실행한 폴더에 생성됩니다.

macOS 앱 서명

Android와 마찬가지로, macOS 설치 파일 요청 시 인증서를 입력하지 않으면 설치 파일이 생성되지만 서명은 되지 않습니다. 서명되지 않은 파일은 테스트용으로 설치할 수는 있지만 Mac Store에 제출할 수는 없습니다. 다음 단계는 iOS와 비슷하지만 macOS의 경우 프로비저닝 프로파일이 요구되지 않습니다. 자세한 내용은 앱 서명이란?을 참고하세요.

클라우드 또는 로컬 제작 도구를 실행하기 전에 설정macOS 탭(플랫폼 머리글 아래에 있음)에서 다음을 제공했는지 확인하세요.

  • 번들 ID - 항상 com.companyname.applicationname과 같은 반전된 인터넷 도메인 이름을 사용합니다. 패키지 이름은 앱의 고유 식별자이며 응용프로그램 프로세스의 기본 이름입니다. 앱을 발행한 후에는 패키지 이름을 변경할 수 없습니다. 자세한 내용은 앱 배포 준비의 번들 ID 설명을 참고하세요.
  • 인증서(.p12 파일) - App Store 또는 내부 배포용 인증서입니다. 이 파일은 Keychain Access에서 생성됩니다. AppStudio에서 이 정보와 번들 ID를 둘 다 입력하지 않으면 설치 파일이 생성되지 않습니다. 자세한 내용은 앱 서명이란?을 참고하세요.

제작 도구를 실행할 때 인증서 비밀번호를 입력하라는 메시지가 나타납니다.

macOS 앱 서명에 필요한 인증서 파일을 생성하려면 위에 설명된 iOS 앱용 단계를 따르세요.

Windows 앱 서명

Android와 마찬가지로, Windows 설치 파일 요청 시 인증서를 입력하지 않으면 설치 파일이 생성되지만 서명은 되지 않습니다.

클라우드 또는 로컬 제작 도구를 실행하기 전에 설정Windows 탭(플랫폼 머리글 아래에 있음)에서 인증서 파일을 제공했는지 확인하세요. 이 인증서(.p12 또는 .pfx 파일)는 Windows Store 또는 내부 배포용 인증서입니다. 자세한 내용은 Microsoft 개발자 설명서의 패키지 서명을 위한 인증서 생성을 참고하세요.