iPhoneXMPPデモを試しましたが、友達がオンラインまたはオフラインのときにGUIが更新されないようです。オンラインの友達だけを表示するようにnsfetchresultcontrollerを変更しました。
...
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"sectionNum == 0"]];
...
xcodeのコンソールでは、友人からプレゼンスを受け取ったことが示されました。しかし、controllerDidChangeContent:がまったく呼び出されないことを確認しました。(実際、私はそれが時々呼ばれるのを見ましたが、ランダムにそしてめったにありません)。
さらに深くデバッグすると、XMPPRosterCoreDataStorage handlePresence:xmppStreamが呼び出され、次にmanagedObjectContextDidSave:notificationも呼び出されることがわかりました。したがって、すべてが正しいようです。しかし、resultfetchcontrollerは変更を認識しませんでした。
では、何が問題なのでしょうか。私が間違ったことはありますか?ありがとう。