1

私はチャットアプリケーションに取り組んでいます。友達をブロックしたいです。xmpp フレームワークの XEP-0016 拡張機能を使用しています。

これが私のコードです..

- (void)setupXMPPPrivacy
{
    NSLog((@"%s [Line %d] "), __PRETTY_FUNCTION__, __LINE__);
    //Init XMPPPrivacy List
    //xmppPrivacy = [[XMPPPrivacy alloc] init];
    xmppPrivacy = [[XMPPPrivacy alloc] initWithDispatchQueue:dispatch_get_main_queue()];
    //Activate xmpp modules
    [xmppPrivacy activate:xmppStream];
    //Delegate XMPPPrivacy
    [xmppPrivacy addDelegate:self delegateQueue:dispatch_get_main_queue()];
}


- (void)privacyBlock:(XMPPJID *)jid
{
    NSXMLElement *privacyElement = [XMPPPrivacy privacyItemWithType:@"jid" value:jid.bare action:@"deny" order:1];
    [XMPPPrivacy blockIQs:privacyElement];
    [XMPPPrivacy blockMessages:privacyElement];
    [XMPPPrivacy blockPresenceIn:privacyElement];
    [XMPPPrivacy blockPresenceOut:privacyElement]; 
    NSLog(@"-------> PRIVACY ELEMENT: %@", privacyElement);

    NSArray *arrayPrivacy = [[NSArray alloc] initWithObjects:privacyElement, nil];
    [xmppPrivacy setListWithName:@"public" items:arrayPrivacy];
}

しかし、これは機能していません。私は何を間違っていますか?

助けてください。ありがとう。

4

1 に答える 1

0

私も同じ悩みを抱えていました。最初の問題は UUID ジェネレーターで、nil が返されました。しかし、iOS 5 ではNSUUIDクラスが追加されました。だから[[NSUUID UUID] UUIDString]私はこの問題を解決しました。2番目の問題は私の大きな間違いでした。xmmpStram を初期化し、ブロックするリクエストをしましたが、ストリームを開くのに時間がかかるため、ストリームを開く前にリクエストしました。

于 2014-02-09T19:49:16.727 に答える