将我的应用程序上传到 iTines 时,我收到“应用程序引用非公共(public)选择器:connectionDidDisconnect:”。如何找到哪个模块调用此类选择器?
我的应用程序使用 Twilio 客户端库,该库通过 Monotouch 绑定(bind)项目包装为单声道,在该项目中我将 connectionDidDisconnect: 导出为 TCConnectionDelegate 包装器中的 ConnectionDidDisconnect。
[BaseType (typeof (NSObject))]
[Model]
public interface TCConnectionDelegate
{
//@required
//some code was removed
/** The TCConnection has just disconnected.
@param connection The TCConnection has just disconnected.
@returns None
*/
//-(void)connectionDidDisconnect:(TCConnection*)connection;
[Export ("connectionDidDisconnect:")]
[Abstract]
void ConnectionDidDisconnect(TCConnection xonn);
}
代码运行得很好。仅当我将应用程序上传到 iTunes 时,我才会收到该错误。
Twilio lib 是否调用私有(private)选择器 connectionDidDisconnect: 或者我的定义有问题?
我将不胜感激任何帮助。
最佳答案
我相信苹果在二进制文件中进行了简单的字符串搜索来检查私有(private)选择器。这意味着对字符串 connectionDidDisconnect:
的任何使用都可能导致 Apple 拒绝您的应用。
检查 Twilio 库是否包含特定字符串的一种方法是从终端使用 strings
工具:
$ strings Twilio.dll | grep connectionDidDisconnect
关于ios - 如何调试 Apple App Loader 中的 "The app references non-public selectors"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13356014/