Apple Developer Program과 Apple Developer Enterprise Program의 차이점

2017-02-10
26 Views

이 글은 Apple Developer Program에서는 iOS앱 기기에서 실행할 수 있는 기기수가 100개까지 사용할 수 있다. 그렇지만 어느정도의 인원이 있는 기업이라면 100개 제한에 걸렸을 때 Apple Developer Enterprise Program으로 변경할 경우에 활용방법을 정리하였다. (기준: 2017년 2월 5일)

기본적으로 앱스토어에 공개 및 개발을 위해 Apple Developer Program 하나의 라이선스를 맺는다. 100대 제한이 문제가 될 경우, 추가로 Apple Developer Enterprise Program을 계약한다. 또한 대수 제한이 문제가 되면 필요한 만큼 Apple Developer Enterprise Program을 여러개 라이선스를 맺는다.

  • Developer Program: $99/년
    • DUNS 번호가  있는 조직 등록 또는 개인 등록
    • 앱스토어에서 공개할 목적 (iTunes Connect 계정 포함)
    • AdHoc/Xcode실행 기기 등록제한 100대
  • Enterprise Program:$299/년
    • DUNS 번호가 있는 조직 등록
    • 앱스토어에 공개 못함
    • AdHoc/Xcode 실행 기기 등록 제한 100대
    • InHouse 빌드
    • In-App Purchase설정 및 테스트 못함(iTunes Connect계정 없기 때문임)

Program 등록제한

Program 개설에 사용한 AppleID제한이 강하고 개설전용 AppleID를 만드는 것을 추천한다.

  • 동일한 AppleID에서 Developer Program/Enterprise Program을 복수 등록할 수 없다. AppleID는 단 하나로 Developer Program/Enterprise Program만 결합된다.Developer Program/Enterprise Program을 개설한 AppleID는 다른 Developer Program/Enterprise Program의 맴버가 될 수 없다
  • 동일한 기업(동일한 DUNS)로 Developer Program을 여러개 등록할 수 없다
  • AppleID가 다르면 동일 기업(동일한 DUNS)의 Enterprise Program을 여러개 등록할 수 있다
  • Developer Program/Enterprise Program에 맴버 추가는 무료로 무제한이다.
  • 맴버는 하나의 AppleID에서 여러개의 Developer Program/Enterprise Program에 중복 가입할 수 있다

다른 계정에 대해

  • Member Center 
    • Developer Program/Enterprise Program에 포함된 개발자 관리 기능의 수
    • 개발 사용자 등록 및 인증, 개발기기, AppID, Provisioning Profile관리
  • iTunes Connect
    • 앱스토어에서 앱 공개하는 작업하는 장소
    • iTunes Connect사용자등록 앱 출시 및 매출관리, 지불관리
    • Developer Program에 등록하면 자동으로 iTunes Connect에도 계정 생성
    • Enterprise Program은 연결안됨

맴버 권한에 대해

전체 책임자 팀 에이전트(agent)가 혼자 존재하고 일반적으로 개발책임자를 admin으로 관리한다.

  • 팀 에이전트(Agent) = Apple에 대한 창구, 계약관리, 지불, 전체권한 소유
  • 팀 관리자(Admin) = 맴버 관리, 장치 관리, AppID, Provisioning Profile생성 및 편집권한
  • 팀 맴버(Member) = 인증서 등록, Provisioning Profile 다운로드 등

iTunes Connect 권한에 대해

전체 책임자 팀에이전트가 하나 존재한다. 다른 사용자는 필요에 따라 Role을 조정한다.

  • 팀 에이전트(Legal, Admin) = Apple에 대한 창구, 계약관리, 지불, 앱 전송, 앱 삭제등 모든 권한 소유
  • iTunes Connect 사용자 = Role에서 권한 관리
    • Admin = 계약 제외한 모든 권한 소유
    • Finance = 재무 보고서, 매출 iAd등에 대한 접근권한
    • Technical = 자신의 앱에 대한 조작권한
    • Sales = 매출 iAd등의 권한 Finance보다 약한 권한
    • 마케팅 = Contact Us 권한 마케터
  • 테스트 사용자 = 테스트용 앱의 실행 테스트 환경에 대한 접근

업데이트 시스템 작업

  • Developer Program
    • 인증서는 1년 갱신 (Admin, Member)
    • Provisioning Profile은 1년 갱신(Admin)
    • 연도 한번 기기 등록 검토
  • Enterprise Program
    • 인증서 3년 갱신 (Admin, Member)
    • Provisioning Profile은 1년 갱신(Admin)
    • 연도 한번 기기 등록 검토

앱 서명에 대해

  • .ipa 서명은 Provisioning Profile + 증명서의 조합
  • Provisioning Profile
    • Provisioning Profile에는 별도의 AppID가 포함
    • Provisioning Profile에는 Development(개발), Distribution(AdHoc, AppStore, InHouse) 세종류가 있음
    • 와일드카드 AppID에 따르면, AdHoc, InHouse Provisioning Profile을 만들수 있다. 그러나 Push알림, iCloud, AssosiatedDomains등의 일부를 사용할수 없기 때문에 용도는 제한됨
  • 인증서
    • 인증서는 iOS Development(개발)과 iOS Distribution(AdHoc, AppStore, InHouse)가 있다. Provisioning Profile종류에 따라 사용함
    • iOS Development인증서는 맴버 개인에 합쳐서 개인 비밀키를 관리
    • iOS Distribution인증서는 Admin을 만들고 관리
    • 개인키는 Mac 키체인에서 .p12파일 형식으로 내보낼 관리

AppID에 대해

  • AppID는 iOS 앱 BundleID 수
  • iTunes Connect/Developer Program/Enterprise Program의 전체 계정 전세계 AppID는 고유함
    • Enterprise Program에서 AdHoc/InHouse빌드를 위한 AppStore공개용 AppID를 등록되어 지지 않도록 해야 함
Facebook Comments

You may be interested

페이지 로딩 위치에 따른 사용자 시선 유도
Swift 3.0
shares3 views
Swift 3.0
shares3 views

페이지 로딩 위치에 따른 사용자 시선 유도

MJ Kim - 4월 29, 2017

로딩되는 표시를 표시할 위치를 조금 고민해보면서 사용자경험(UX)를 개선하기 위함을 고려해서 정리해 본다. 로딩을 생각해보면 대부분 한가운데에 표시하면 된다고 생각하지만, Twitter…

iOS와 Android UX의 차이점
Swift 3.0
shares2 views
Swift 3.0
shares2 views

iOS와 Android UX의 차이점

MJ Kim - 4월 29, 2017

최근 필자가 iOS와 Android를 같이 개발하다보니 UX의 차이점을 기억하고자 정리해본다.  이를 정리하는 이유는 운영체제별로 차이점을 이해하고 그 차이점을 극복하기 위함이다.…

모바일 앱 아키텍처
Swift
shares26 views
Swift
shares26 views

모바일 앱 아키텍처

MJ Kim - 4월 22, 2017

이 내용은 나름대로 개발해본 내용을 토대로 정리해본 모바일 앱 아키텍처에 대한 내용이다. 이를 정리한 이유는 오래된 아키텍처부터 최근 아키텍처까지 정리해보고…