我得到「userid is nill」,並且在切換到另一個viewcontroller時發送消息不存儲。我想實現XMPP One to One聊天,我該怎麼做?IOS中的XMPP一對一聊天
我現在有完整的項目,但它是在筆尖文件;我的工作是將其轉換爲故事板。我幾乎完成了,但是我陷入了XMPP。
我必須使用哪些方法,以避免像「userid is nill」之類的錯誤。
我得到「userid is nill」,並且在切換到另一個viewcontroller時發送消息不存儲。我想實現XMPP One to One聊天,我該怎麼做?IOS中的XMPP一對一聊天
我現在有完整的項目,但它是在筆尖文件;我的工作是將其轉換爲故事板。我幾乎完成了,但是我陷入了XMPP。
我必須使用哪些方法,以避免像「userid is nill」之類的錯誤。
正如您在評論中提到的那樣,您使用的是ejabberd XMPP服務器。有一個模塊mod_logdb可以存儲聊天記錄到數據庫。
以下是配置示例,您可以看看如何配置mysql db以使用ejabberd。
{modules, [
{mod_logdb, [
{dbs, [
{mysql5, [
{user, "root"},
{password, "pass"},
{server, "serv"},
{port, 3306},
{db, "logdb"}
]},
{mnesia, []}
]},
{vhosts, [{"example1.org", mysql5}, {"example2.org", mnesia}{purge_older_days, 365},
{dolog_default, true},
{poll_users_settings, 5} ]},
%% Other modules ...
]}.
它將存儲所有聊天記錄/日誌在配置文件中給出的,在那裏你可以讀取它作爲一個正常的MySQL查詢,並通過Web服務傳遞給您的應用程序數據庫。
參考鏈接:
這適用於IOS Wright – Mahesh04
Dude,這應該在您的服務器上進行配置,您的服務器上安裝了XMPP(Linux或Windows服務器)。在iOS中無所事事,你只需要使用一個web服務,例如'get_chat_log.php'(無論你喜歡哪種服務器語言),它將從MySQL數據庫讀取聊天日誌並以JSON/XML格式輸出到你的iOS應用程序。然後,您可以將這些聊天消息填充到應用程序的聊天屏幕上。希望它清楚。 –
@ Mahesh04如果配置服務器不在您的手上,您可能只需要服務器人員安裝上述模塊並要求他們對其進行配置。它非常簡單。 –
如果任何一個有代碼給我迫切如果有一個人能幫助我,我將所有的代碼發送給你 – Mahesh04
我明白所有代碼都包含在項目中,但聊天前的消息不存儲在數據庫中時 – Mahesh04