无法使用XMPPFramework连接到远程服务器

时间:2013-07-09 13:36:04

标签: ios xmpp xmppframework

我正在尝试使用iOS应用程序中的XMPPFramework连接到远程服务器。该应用程序可以很好地连接到localhost上的openfire服务器和我的公共jabber帐户。只有当我尝试连接到我的大学的开发服务器时,它才会起作用,并且没有调用任何委托方法。也没有将NSError对象传递给填充了任何内容的connect方法。

基本上我用以下代码连接:

- (BOOL)connect {
    if ([xmppStream isConnected]) {
        return YES;
    }

    [xmppStream setMyJID:jabberID];
    [xmppStream setHostName:[self hostName]];

    NSError* error = nil;
    if (![xmppStream connect:&error]) {
        NSLog(@"Couldn't connect because of error: %@", [error localizedDescription]);
        return NO;
    }

    return YES;
}

我插入了大量日志语句,表明所有值都是正确的,正如我所说,它适用于我的其他JID。

我也尝试使用IP地址作为主机名,但没有成功。

我怀疑的另一个问题是,当服务器发送不受信任的证书时,连接过程会被卡住,但我将其添加到Adium的钥匙串中,但它仍无法正常工作。

那么问题可能是什么呢?我可以连接到我可用于测试的任何其他服务器,我也可以使用Adium连接到相关的开发服务器,但不能使用XMPPFramework连接到我的应用程序。

1 个答案:

答案 0 :(得分:0)

问题是服务器需要安全连接,不知何故我无法使用XMPPFramework执行此操作。我让我在大学的顾问将服务器设置设置为可选的安全连接,现在它可以正常工作。