0

アプリケーションをバージョン1.0からバージョン1.1に更新し、1週間前にiPhoneアプリをAppleに送信しました。数分前にAppleからこのレポートを受け取りました。

アプリが1つ以上の非公開APIを使用していることがわかりましたが、これはAppStoreレビューガイドラインに準拠していません。非公開APIの使用は、これらのAPIが変更された場合にユーザーエクスペリエンスの低下につながる可能性があるため、許可されていません。

アプリで次の非公開APIが見つかりました:setContentToHTMLString

ソースコードで上記のAPIと同じ名前のメソッドを定義している場合は、メソッド名を変更して、アプリケーションが今後の送信でフラグが立てられないように、AppleのプライベートAPIと衝突しないようにすることをお勧めします。

さらに、上記のAPIの1つ以上が、アプリケーションに含まれている静的ライブラリに存在する場合があります。ライブラリのソースにアクセスできない場合は、「strings」または「otool」コマンドラインツールを使用して、コンパイルされたバイナリを検索できる場合があります。「文字列」ツールはライブラリが呼び出すメソッドのリストを出力でき、「otool-ov」はObjective-Cクラス構造とそれらの定義されたメソッドを出力します。

これらの手法は、問題のあるコードが存在する場所を絞り込むのに役立ちます。

教えてください、それを解決するにはどうすればいいですか?

4

3 に答える 3

10

使用している場合:

setContentToHTMLString

プライベートAPIメソッドであり、Appleが使用を望まない場合は、もう使用しないでください。

于 2012-04-18T11:32:19.503 に答える
3

プライベートAPIのメソッドを使用している場合は、代替関数を見つける必要があります。ライブラリから、または独自に作成します。

setContentToHTMLStringという名前の関数を作成した場合は、関数の名前を変更し(接頭辞を付けることができます-おそらくmySetContentToHTMLString)、すべての使用法を新しい名前に変更します。

その後、再送信できるようになります。

于 2012-04-18T11:34:05.320 に答える
1

setContentToHTMLStringの文書化されていないメソッドですUITextView。削除する必要があるかもしれません。プライベートAPIへのアクセスは許可されていません。

于 2012-04-18T11:36:51.017 に答える