お客様のアプリは、App Store レビュー ガイドラインに準拠していない 1 つ以上の非公開 API を使用していることが判明しました。非公開 API の使用は許可されていません。これらの API が変更された場合、ユーザー エクスペリエンスが低下する可能性があるためです。
アプリで次の非公開 API が見つかりました:
allowAnyHTTPSCertificateForHost:
ソース コードで上記の API と同じ名前のメソッドを定義している場合は、Apple のプライベート API と競合しないようにメソッド名を変更して、今後の提出でアプリケーションにフラグが立てられないようにすることをお勧めします。
さらに、上記の API の 1 つ以上が、アプリケーションに含まれる静的ライブラリに存在する場合があります。ライブラリのソースにアクセスできない場合は、「strings」または「otool」コマンド ライン ツールを使用して、コンパイルされたバイナリを検索できる場合があります。「strings」ツールは、ライブラリーが呼び出すメソッドのリストを出力でき、「otool -ov」は、Objective-C クラス構造とそれらに定義されたメソッドを出力します。これらの手法は、問題のあるコードが存在する場所を絞り込むのに役立ちます。
非公開 API を使用するためにコードで予防措置を講じていることを感謝しますが、API がどのように変更される可能性があるか、およびそれらの変更がどのような影響を与える可能性があるかを正確または完全に予測する方法はありません。このため、App Store アプリでの非公開 API の使用は許可されていません。
アプリが必要とする機能を提供するための代替手段がない場合は、機能強化リクエストを提出することをお勧めします。または、Apple Developer Technical Support チームと協力して、代替ソリューションを検討してみてください。
場合によっては、App Store レビュー ガイドラインに準拠していないように見えるアプリが App Store にある場合があります。App Store のアプリが準拠していることを確認するために懸命に取り組んでおり、現在 App Store にあるアプリで準拠していない可能性があるものを特定しようとしています。これらの発生を特定するには時間がかかりますが、別のアプリが準拠していないからといって、あなたのアプリが準拠していない理由にはなりません。
個々のコード レベルの質問については、Apple Developer Technical Support に相談してください。必ず次のことを行ってください。
- 拒否の問題の完全な詳細を含めてください
- DTS エンジニアがフォローアップするときに問題を再現するために、象徴化されたクラッシュ ログ、スクリーンショット、および手順を準備します。
クラッシュ ログをシンボル化して読み取る方法については、テクニカル ノート TN2151「iPhone OS アプリケーション クラッシュ レポートの理解と分析」を参照してください。
この問題の再現が困難な場合は、https ://developer.apple.com/library/ios/qa/qa1764/ テクニカル Q&A QA1764: アプリのレビューまたはユーザーが見ています。