0

cocos2d-x (C++) と libcurl の上に構築されたアプリを審査に提出しました。

Facebook からプロフィール写真をダウンロードするために、SSL をサポートする libcurl を使用しています。

オーガナイザーからアプリを検証するか、配布しようとすると、次のエラーが発生します。

アプリに非公開 API の使用が含まれています。エラーを見直してください..

アプリは Payload/....app/ {appName}:SSLCopyPeerCertificates、{appName}:SSLDisposeContext などで非パブリック シンボルを参照します。

アプリでこの関数を検索しても一致するものはありませんが、libcurl に関連するコードで SSL を使用しないため、libcurl に関連していると思います

助言がありますか ?

Apple の Appreview にメッセージを送信しましたが、これは長くなる可能性があります。

エラーのスクリーンショット: http://accessdev.s3.amazonaws.com/apps/ssl_reject.png

前もって感謝します

4

1 に答える 1

1

私が提案するのは、最新の libcurl リリース、つまり執筆時点で 7.28.1 バージョンを使用することです。これには、iOS ネイティブ SSL API に関連するいくつかの修正が含まれます。以下を参照してください。

これにより、使用しないはずのさまざまな記号(SSLDisposeContextなど)に対する問題が解決されるはずです。

Nick のlibcurl 7.28.1 iOS ビルドを参照すると、添付した Xcode 警告ウィンドウ内にリストされている非公開シンボルが見つかりません。

$ xcrun -sdk iphoneos nm -j -arch armv7 libcurl-device.a 2>/dev/null | grep SSL
_SSLClose
_SSLCopyPeerTrust
_SSLCreateContext
_SSLGetBufferedReadSize
_SSLGetNegotiatedCipher
_SSLGetNegotiatedProtocolVersion
_SSLGetSessionState
_SSLHandshake
_SSLRead
_SSLSetConnection
_SSLSetIOFuncs
_SSLSetPeerDomainName
_SSLSetProtocolVersionMax
_SSLSetProtocolVersionMin
_SSLSetSessionOption
_SSLWrite

もちろん、同じことがarmv7sアーキテクチャにも当てはまります。

于 2012-12-08T16:35:27.390 に答える