iOS 배포 구성 — 서명 팀 · Firebase 설정 번들 · 업로드 스크립트
This commit is contained in:
+263
-24
@@ -26,6 +26,269 @@
|
||||
<string>$(FLUTTER_BUILD_NUMBER)</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<!--
|
||||
▼ 스토어 제출에 필요한 선언들. 없으면 어떤 일이 생기는지 함께 적는다.
|
||||
-->
|
||||
|
||||
<!--
|
||||
암호화 사용 신고. HTTPS 만 쓰므로 면제 대상이다.
|
||||
이 키가 없으면 **업로드할 때마다 App Store Connect 가 수동 응답을 요구**하고,
|
||||
응답 전까지 TestFlight 배포가 멈춘다.
|
||||
-->
|
||||
<key>ITSAppUsesNonExemptEncryption</key>
|
||||
<false/>
|
||||
|
||||
<!--
|
||||
권한 사용 문구. iOS 는 문구가 없는 상태에서 권한을 요청하면 **앱을 즉시
|
||||
종료**시킨다. 크래시로 보이지만 원인은 이 파일이다.
|
||||
|
||||
문구는 「무엇에 쓰는지」를 적어야 심사를 지난다 — 「접근이 필요합니다」처럼
|
||||
용도가 없는 문장은 반려 사유다.
|
||||
-->
|
||||
<key>NSPhotoLibraryUsageDescription</key>
|
||||
<string>프로필 사진을 고르기 위해 사진에 접근합니다.</string>
|
||||
<key>NSCameraUsageDescription</key>
|
||||
<string>프로필 사진을 찍고 방문 인증 사진을 남기기 위해 카메라를 사용합니다.</string>
|
||||
<key>NSLocationWhenInUseUsageDescription</key>
|
||||
<string>지정한 장소에 방문하셨는지 확인해 퀘스트 보상을 드리기 위해 위치를 확인합니다.</string>
|
||||
<key>NSMotionUsageDescription</key>
|
||||
<string>걸음 수를 세어 만보기 퀘스트를 확인하기 위해 동작 데이터를 읽습니다.</string>
|
||||
<key>NSHealthShareUsageDescription</key>
|
||||
<string>걸음 수를 읽어 만보기 퀘스트 달성을 확인합니다. 다른 건강 정보는 읽지 않습니다.</string>
|
||||
<!-- AdMob 앱 ID — Google 공식 테스트 앱 ID(9주차 샌드박스). 실 값은 lib/core/monetization/rewarded_ad.dart 의 AdUnits 와 함께 바꾼다. -->
|
||||
<key>GADApplicationIdentifier</key>
|
||||
<string>ca-app-pub-3940256099942544~1458002511</string>
|
||||
<!-- SKAdNetwork — Google Mobile Ads 가 공개한 목록 그대로(Google cstr6suwn9 + 제3자 구매자 49).
|
||||
출처: developers.google.com/admob/ios/quick-start 「Update your Info.plist」(2026-09-28 확인). -->
|
||||
<key>SKAdNetworkItems</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>cstr6suwn9.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>4fzdc2evr5.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>2fnua5tdw4.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>ydx93a7ass.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>p78axxw29g.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>v72qych5uu.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>ludvb6z3bs.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>cp8zw746q7.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>3sh42y64q3.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>c6k4g5qg8m.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>s39g8k73mm.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>wg4vff78zm.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>3qy4746246.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>f38h382jlk.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>hs6bdukanm.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>mlmmfzh3r3.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>v4nxqhlyqp.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>wzmmz9fp6w.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>su67r6k2v3.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>yclnxrl5pm.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>t38b2kh725.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>7ug5zh24hu.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>gta9lk7p23.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>vutu7akeur.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>y5ghdn5j9k.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>v9wttpbfk9.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>n38lu8286q.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>47vhws6wlr.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>kbd757ywx3.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>9t245vhmpl.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>a2p9lx4jpn.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>22mmun2rn5.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>44jx6755aq.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>k674qkevps.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>4468km3ulz.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>2u9pt9hc89.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>8s468mfl3y.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>klf5c3l5u5.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>ppxm28t8ap.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>kbmxgpxpgc.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>uw77j35x4d.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>578prtvx9j.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>4dzt52r2t5.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>tl55sbb4fm.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>c3frkrj4fj.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>e5fvkxwrpn.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>8c4e2ghe7u.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>3rd42ekr43.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>97r2b46745.skadnetwork</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>SKAdNetworkIdentifier</key>
|
||||
<string>3qcr597p9d.skadnetwork</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>NSUserTrackingUsageDescription</key>
|
||||
<string>관심에 맞는 광고를 보여 드리기 위해 사용합니다. 허용하지 않으셔도 앱을 그대로 쓰실 수 있습니다.</string>
|
||||
|
||||
<!--
|
||||
Google 로그인 콜백 URL 스킴.
|
||||
|
||||
값은 `GoogleService-Info.plist` 의 REVERSED_CLIENT_ID 이며 Firebase 프로젝트가
|
||||
열려야 나온다. `tools/ios/inject_url_scheme.py` 가 설정 파일에서 뽑아 여기에
|
||||
써 넣는다 — 손으로 옮기면 오타 한 글자에 로그인이 조용히 실패한다.
|
||||
|
||||
Apple 로그인의 signinwithapple 스킴은 Android 전용이라 여기 두지 않는다.
|
||||
-->
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>google-sign-in</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>$(GOOGLE_REVERSED_CLIENT_ID)</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
|
||||
<key>UIApplicationSceneManifest</key>
|
||||
<dict>
|
||||
<key>UIApplicationSupportsMultipleScenes</key>
|
||||
@@ -66,29 +329,5 @@
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<!--
|
||||
암호화 사용 신고. HTTPS 만 쓰므로 면제 대상이다.
|
||||
이 키가 없으면 업로드할 때마다 App Store Connect 가 수동 응답을 요구한다.
|
||||
-->
|
||||
<key>ITSAppUsesNonExemptEncryption</key>
|
||||
<false/>
|
||||
|
||||
<!--
|
||||
Google 로그인 콜백 URL 스킴. 값은 GoogleService-Info.plist 의 REVERSED_CLIENT_ID 이며
|
||||
tool/ios/inject_url_scheme.py 가 ios/config/Google.xcconfig 로 뽑아 둔다.
|
||||
-->
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>google-sign-in</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>$(GOOGLE_REVERSED_CLIENT_ID)</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -3,8 +3,12 @@
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<!--
|
||||
Sign in with Apple. 소셜 로그인을 제공하면 Apple 심사 필수 조건이다.
|
||||
이 Capability 가 없으면 Apple 로그인 코드가 있어도 동작하지 않는다.
|
||||
Sign in with Apple.
|
||||
|
||||
**정책 §P-01 이 「소셜 로그인 제공 시 Apple 심사 필수 조건」이라 확정한 항목**이며,
|
||||
이 Capability 가 없으면 Apple 로그인 코드가 있어도 동작하지 않고 심사에서
|
||||
반려된다. Apple Developer 계정이 열리면 같은 Capability 를 App ID 에도
|
||||
켜야 짝이 맞는다.
|
||||
-->
|
||||
<key>com.apple.developer.applesignin</key>
|
||||
<array>
|
||||
@@ -12,8 +16,8 @@
|
||||
</array>
|
||||
|
||||
<!--
|
||||
푸시 환경 선언. Firebase Auth 가 APNs 등록 API 를 링크하므로 선언해 둔다.
|
||||
App Store 내보내기 때 Xcode 가 production 으로 바꿔 서명한다.
|
||||
푸시 알림. 6주차 FCM 연동 대상이며 환경은 배포 시 production 으로 바뀐다.
|
||||
APNs 인증키는 Apple Developer 계정에 종속된다(계정 이전 별첨 C-4).
|
||||
-->
|
||||
<key>aps-environment</key>
|
||||
<string>development</string>
|
||||
|
||||
Reference in New Issue
Block a user