2

将我的应用程序上传到 iTines 时,我收到“应用程序引用非公共选择器:connectionDidDisconnect:”。如何找到哪个模块调用了这样的选择器?

我的应用程序使用通过 Monotouch 绑定项目为单声道包装的 Twilio 客户端库,在该项目中我将 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 调用私有选择器 connectionDidDisconnect: 还是我的定义有问题?

我将不胜感激。

4

1 回答 1

2

我相信 Apple 在二进制文件中进行了简单的字符串搜索以检查私有选择器。这意味着该字符串的任何使用都connectionDidDisconnect:可能导致 Apple 拒绝您的应用程序。

检查 Twilio 库是否包含特定字符串的一种方法是strings从终端使用该工具:

$ strings Twilio.dll | grep connectionDidDisconnect
于 2012-11-13T08:22:56.823 回答