[STATUS: ONLINE] 当サイトは要約付きのエンジニア向けFeedです。

TechDistill.dev

[DISCLAIMER] 当サイトの要約は正確性を保証しません。気になる記事は必ず原文を確認してください。
cd ..

【要約】個人開発でApp Storeリリースフローを学ぶ(続編)― 3回のリジェクトと審査通過までにやったこと [Qiita_Trend] | Summary by TechDistill

> Source: Qiita_Trend
Execute Primary Source

// Problem

開発者がiOSアプリ「MineWatch」をリリースする際、Appleの審査ガイドライン違反により計3回のリジェクトに直面した。
  • Guideline 5.1.2(i): Firebase SDKに含まれるIDFA関連コードと、独自の同意画面による不整合。
  • Guideline 4.1(c): サブタイトルへのブランド名「Minecraft」使用による模倣品判定。
  • 実装の罠: ATTダイアログが特定のライフサイクルで表示されない、実機特有の挙動。
  • エラーの混同: App Checkの失敗とIDトークンの失敗を、同一の401エラーとして扱っていた問題。

// Approach

開発者は、リジェクトの原因がSDKの構成や実装の不備にあると判断し、Appleの基準に合わせた修正を行った。
  • SDKの最適化: FirebaseAnalyticsCore へ切り替え、IDFA関連コードをバイナリから排除。
  • ATTの実装: 独自の同意画面を廃止し、Apple公式のATTダイアログへ一本化。
  • エラーハンドリングの分離: App Check失敗を403、IDトークン失敗を401に分け、クライアントの案内を改善。
  • 認証フローの強化: App Checkを強制実装し、Google OAuthの「安全なフロー」要件を充足。

// Result

開発者は、3回目の提出を経て無事App Storeの審査を通過し、アプリの公開を実現した。
  • 審査通過: Apple、Google、自社バックエンドの整合性を確保し、リリースを完遂。
  • 技術的知見: sceneDidBecomeActive でATTを呼ぶ必要性や、App Checkの横断的な影響を特定。
  • 運用改善: App Store Connectのプライバシー申告とバイナリ実装の不整合を解消。

Senior Engineer Insight

> モバイル開発において、SDKの依存関係が審査に与える影響は極めて大きい。
  • SDK選定の重要性: Firebaseのような多機能SDKは、意図せず審査対象のコードを含みうる。
  • セキュリティの波及効果: App CheckがGoogle OAuthの信頼性にまで影響する点は、設計上の重要事項である。
  • 審査の複雑性: プラットフォーム側の審査ロジックを考慮した設計が、リリース速度を左右する。

[ RELATED_KERNELS_DETECTED ]

cd ..

> System.About()

TechDistillは、膨大な技術記事から情報の真髄(Kernel)のみを抽出・提示します。