iOS应用程序拒绝cocos2d-x和libCurl上的非公共API(SSL相关)

我刚刚提交了基于cocos2d-x(C ++)和libcurl构建的评论和应用程序。

我使用libcurl和SSL支持,以便从Facebook下载个人资料图片

当我从组织者validation我的应用程序或尝试分发时,我收到以下错误:

您的应用包含非公共API使用情况。 请修改错误..

该应用程序引用Payload / …. app / {appName}中的非公共符号:SSLCopyPeerCertificates,{appName}:SSLDisposeContext等。

当我在应用程序中搜索此函数时,我得不到匹配项,但我认为它与libcurl有关,因为我在与libcurl相关的代码中不使用SSL

有什么建议么 ?

我发了一条消息到苹果公司的appreview,但恐怕这可能很长。

错误的屏幕截图: http : //accessdev.s3.amazonaws.com/apps/ssl_reject.png

提前致谢

我建议使用最新的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架构。

Interesting Posts