ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Developer Portal Team ID와 AppStore Connect Team ID 찾기
    Fastlane 2023. 4. 20. 09:56

    안녕하세요. 그린입니다🍏

    이번 포스팅에서는 Fastlane 액션을 사용하면서 필요한 두 ID 값에 대해 알아보려 합니다🙌

     

    Fastlane에서 두 ID 값이 필요한 이유와 설정하는 위치

    우선 본인의 애플 계정이 회사와 동아리 그리고 또 개인 등 여러 팀에 속하는 경우가 많을 수 있습니다.

    이럴때 Fastlane을 통해 앱을 업로드한다면 어떤 팀인지 불명확하여 오류가 발생합니다🥹

     

    그렇기에 실제로 Fastlane을 초기 설정할때 Appfile의 내부 코드에서 오늘 주제인 두가지 ID 값에 대해 키 값으로 설정해줘야 합니다.

    예를들어, 저의 경우 Fastlane의 Appfile을 보시면 아래와 같습니다.

    if !ENV["APPLE_ID"]
      message = "⚠️ ⚠️ 'APPLE_ID' environment variable is not set. "\
        "If you have no idea how to set the environment variable, "\
        "please check https://docs.fastlane.tools/advanced/other/#environment-variables."
      raise message
    end
    
    apple_id(ENV["APPLE_ID"])       # Your Apple email address
    
    team_id("JJxcxc3c")             # Developer Portal Team ID
    itc_team_id("007xxxxxxx")       # App Store Connect Team ID

    보시면 해당 fastlane을 통해 앱 업로드를 위해 필요한 정보들을 설정할 수 있습니다.

    ENV 즉, 환경변수에서 본인의 애플 ID를 이용하고 접근합니다.

     

    그 다음으로, 여기서 오늘 알아볼 두가지 team_id와 itc_team_id가 있습니다.

    이 두 ID 값이 실제로 팀을 혼동하지 않기 위해 명확히 지정해주는 두 키 값이 됩니다.

     

    그럼 두 ID 값을 어디서 확인할 수 있는지 알아보겠습니다🕺🏻

     

    Developer Portal Team ID

    먼저 이 ID 값은 애플 개발자 사이트 센터에서 찾을 수 있습니다.

    https://developer.apple.com/account

     

    로그인 - Apple

     

    idmsa.apple.com

    이 개발자 센터 계정 사이트로 들어가서 로그인합니다.

     

    그 다음, 우측 상단의 자신의 계정 이름을 클릭하면 본인이 속한 팀을 확인할 수 있습니다.

    요런식으로 나오는걸 볼 수 있어요.

    원하는 팀을 클릭했다고 가정해봅니다.

     

    그럼 마지막으로 조금 스크롤만 내리다보면 멤버십 세부 사항 탭을 확인할 수 있습니다.

    거기에 나오는 팀ID가 찾고자 하는 Developer Portal Team ID 입니다!

    대부분 영문이 섞인 Team ID를 가지는 경우라 이제 또 알아볼 거의 숫자로만 구성된 AppStore Connect Team ID하고 헷갈릴 일은 크게 없습니다.

     

    자, 그럼 이제 바로 이어서 AppStore Connect Team ID를 찾는 방법에 대해 알아보시죠!

     

    AppStore Connect Team ID

    앞서 했던 작업이 개발자 센터에서 본인의 개인 혹은 조직 팀의 ID를 찾았다면, 이제는 AppStore Connect에 앱 업로드를 직접적으로 하기 위해 해당 커넥트 팀 ID를 찾아야 합니다.

     

    자 두가지 방법이 있습니다.

     

    첫번째로, Fastlane에서 제공해주는 명령어와 기능을 통해 알아볼 수 있는 방법🙋🏻

    개인적으로 이게 빠르고 알기만 하면 간단하니 이걸로 먼저 해볼께요!

     

    우선 fastlane이 설치되어 있는 프로젝트에서 터미널을 엽니다.

    그 다음 아래 명령어를 넣어줍니다.

    fastlane spaceship

    만약 gem이 설치되어 있지 않거나 fastlane의 pry가 설치되어 있지 않거나 하더라도 노란 경고로 친절하게 알려주니 누락된 설치가 있으면 설치하면 됩니다.

     

    그럼 이제 애플 개발자 계정 자격 증명을 하라고 합니다.

    즉, 해당 개발자 계정을 로그인 하라는 소리여서 요구하는 UserName에는 본인의 애플 개발자 계정 ID를 입력하고 사람에 따라 패스워드를 입력할 수도 아니면 이중인증을 해뒀으면 그에 맞게 입력을 할 수 있습니다.

     

    요러면 로그인이 정상적으로 되고 pry(#<Spaceship::Playground>)> 커맨드 창에서 명령어를 입력할 수 있게 나타납니다.

    Spaceship::Tunes.select_team

    그럼 해당 명령어를 입력합니다.

     

    그렇게 되면 본인이 속한 팀들의 AppStore Connect ID 리스트가 친절하게 잘 나와요!

     

    이 과정을 실제 터미널로 보겠습니다.

    회색 음영 친곳들만 보면 편합니다.

    실제 유저 네임을 받고 이중 인증 키를 입력하면 itc_team_id가 2개 생겨요.

    저 같은 경우는 팀이 2개라서 저렇게 갖고 있는 해당 팀의 ID가 두개 노출됩니다🙌

     

    자, 이렇게 알아보면 아주아주 쉽죠? 그럼 이어서 fastlane을 사용하지 않고 확인해봅시다!

     

    AppStore Connect에 API를 통해 JSON으로 정보 가져오기

    어떻게 보면 fastlane 작업이 필요없어서 편리하지만 보기 불편한 그런 작업을 볼 수 있습니다.

     

    우선, AppStore Connect에 접속하여 로그인합니다.

    https://appstoreconnect.apple.com/login

     

    https://appstoreconnect.apple.com/login

     

    appstoreconnect.apple.com

     

    그 다음 아래 URL을 쏩니다.

    그냥 바로 로그인된 상태에서 해당 URL을 열면 JSON 형식의 정보를 볼 수 있어요.

    https://appstoreconnect.apple.com/WebObjects/iTunesConnect.woa/ra/user/detail

     

    그럼 실제적으로 어떻게 나오는지 조금 제가 프리티하게 변경해봤어요.

    (필요한 부분만 딱 가져오고 나머진 날렸다 보시면 됩니다!)

    {
        "data":
        {
            "associatedAccounts":[
                {
                    "contentProvider":
                    {
                        "contentProviderId":11xx234xx,
                        "contentProviderPublicId":"blabla",
                        "name":"회사야회사",
                        "contentProviderTypes":["Purple Software"],
                    },
                    "contentProvider":
                    {
                         "contentProviderId":10xxxx343x,
                         "contentProviderPublicId":"blabla",
                         "name":"green",
                         "contentProviderTypes":["Purple Software"],
                    }
                }
            ]
        }
    }

    JSON 파일을 보시면 해당 ID를 찾기 위해서는 딱 볼 부분이 하나 입니다.

    contentProviderId를 보시면 되요.

    name에는 ID를 보기 위한 팀 이름이 나타납니다.

    즉, 해당 name을 보고 필요한 팀의 contentProviderId의 값을 확인하면 됩니다🙌

     

    마무리

    AppStore Connect Team ID를 찾기가 조금 까다로웠는데 알고 나니 쉽게 발견할 수 있었습니다!

    fastlane 작업 중 이런데 시간 안쏟길 바라는 마음에 포스팅을 해봅니다🙏🏻

     

    [참고 자료]

    https://sarunw.com/posts/fastlane-find-team-id/

     

    How to get AppStore Connect Team ID and Developer Portal Team ID for Fastlane actions | Sarunw

    If your Apple account belongs to multiple teams, this can cause Fastlane confusion. Learn how to fix it.

    sarunw.com

Designed by Tistory.