小编Kei*_*OYS的帖子

XMPPFramework - 如果尚未创建vCard,则不会更新昵称

当新用户向XMPP注册时出现问题.我无法在vCard上设置昵称,但是如果用户的vCard已经存在,那么同一段代码可以正常工作.

dispatch_queue_t queue = dispatch_queue_create("queue", DISPATCH_QUEUE_PRIORITY_DEFAULT);
dispatch_async(queue, ^{

    XMPPvCardCoreDataStorage *xmppvCardStorage = [XMPPvCardCoreDataStorage sharedInstance];
    XMPPvCardTempModule *xmppvCardTempModule = [[XMPPvCardTempModule alloc] initWithvCardStorage:xmppvCardStorage];
    [xmppvCardTempModule  activate:[self xmppStream]];

    XMPPvCardTemp *myVcardTemp = [xmppvCardTempModule myvCardTemp];

    if (myVcardTemp == nil) {
       // I am stuck here, unable to create empty VCard for new User
    }
    else {
        [myVcardTemp setNickname:@"iphone"];
        [xmppvCardTempModule updateMyvCardTemp:myVcardTemp];
    }

});
Run Code Online (Sandbox Code Playgroud)

在xmpp中第一次创建vcard的任何线索?

xmpp ios xmppframework

5
推荐指数
1
解决办法
2206
查看次数

如何使用XMPPFramework发送和接收消息

我在iPhone中使用XMPP Framework创建了一个聊天应用程序.我想知道发送和接收消息的过程.任何人都可以给我一个解决方案吗?

提前致谢.

xmpp objective-c ios xmppframework

4
推荐指数
1
解决办法
7140
查看次数

XMPPFramework - 获取重复的消息

我正在使用iOS的XMPPFramework.

我的问题是,当我加入一个房间,然后离开它,然后再次加入我从那个房间收到消息,或者在那个房间内收到私信两次,如果我离开它并再次加入它我会收到3次,依此类推.

有人告诉我,我可能正在注册多个代表,而不是删除它们,但如果我这样做,我会意外地做,而且我不确定这是怎么回事.任何人都可以帮助找到这种情况发生在哪里?也许一个例子可以帮助我在我的代码中找到它.

谢谢.

xmpp ios xmppframework

4
推荐指数
1
解决办法
1997
查看次数

XMPPFramework - 如何更新自己的头像图像?

我正在开发一个应用程序,我想更新我的头像图像.我遵循XEP-0153指导更新我的头像图像,我构造了一个NSXMLElement对应于以下代码XEP-0153并通过该元素发送XMPPStream.

<iq from='juliet@capulet.com' 
    type='set'
    id='vc1'>
  <vCard xmlns='vcard-temp'>
    <PHOTO>
      <TYPE>image/jpeg</TYPE>
      <BINVAL>
        Base64-encoded-avatar-file-here!
      </BINVAL>
    </PHOTO>
  </vCard>
</iq>
Run Code Online (Sandbox Code Playgroud)

服务器响应以下错误:

<iq xmlns="jabber:client" type="error" id="vc1" to="vvreddy50@gmail.com/83557F96">
<vCard xmlns="vcard-temp">
      <photo>
        <type>image/jpeg</type>
        <binval>Base64-encoded-avatar-file-here</binval>
      </photo>
</vCard>
<error code="500" type="wait">
      <internal-server-error xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">
      </internal-server-error>
</error>
</iq>
Run Code Online (Sandbox Code Playgroud)

代替 <iq to='juliet@capulet.com' type='result' id='vc1'/>

请问任何人都可以发布与更新头像图片相关的代码或链接吗?提前致谢.

xmpp avatar ios xmppframework

4
推荐指数
1
解决办法
4292
查看次数

XMPPFramework - 检索Openfire邮件存档

花了好几个小时试图解决这个问题,我很难过!

试图在我的OpenFire服务器上获取2个用户之间的聊天记录,我读到我需要插件才能执行此操作.

因此,我在OpenFire服务器上安装了"Open Archive"插件并发送以下XML(根据XMPP-0136协议文档):

<iq type="get" id="page1">
   <retrieve xmlns="urn:xmpp:archive" with="username@server.com" start="1469-07-21T02:56:15Z">
      <set xmlns="http://jabber.org/protocol/rsm">
         <max>100</max>
      </set>
   </retrieve>
</iq>
Run Code Online (Sandbox Code Playgroud)

在代码中,这可以通过以下方式实现:

NSXMLElement *iQ = [NSXMLElement elementWithName:@"iq"];
[iQ addAttributeWithName:@"type" stringValue:@"get"];
[iQ addAttributeWithName:@"id" stringValue:@"page1"];

NSXMLElement *retrieve = [NSXMLElement elementWithName:@"retrieve"];
[retrieve addAttributeWithName:@"xmlns" stringValue:@"urn:xmpp:archive"];
[retrieve addAttributeWithName:@"with" stringValue:@"username@server.com"];
[retrieve addAttributeWithName:@"start" stringValue:@"1469-07-21T02:56:15Z"];

NSXMLElement *set = [NSXMLElement elementWithName:@"set"];
[set addAttributeWithName:@"xmlns" stringValue:@"http://jabber.org/protocol/rsm"];
NSXMLElement *max = [NSXMLElement elementWithName:@"max"];
max.stringValue = @"100";
[set addChild:max];

[retrieve addChild:set];
[iQ addChild:retrieve];

[[[self appDelegate] xmppStream] sendElement:iQ];
Run Code Online (Sandbox Code Playgroud)

返回以下错误:

<iq xmlns="jabber:client" type="error" id="page1" to="username@server.com">
   <error code="404" type="cancel">
      <item-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/> …
Run Code Online (Sandbox Code Playgroud)

xmpp openfire objective-c ios xmppframework

4
推荐指数
2
解决办法
8067
查看次数

将三角形绘制为表格单元格右角的子视图

我想使用CGRect而不是UIImageView绘制一个三角形,并将其作为子视图添加到某些特定表格单元格的右上角,类似于在WWDC应用程序上完成的操作.

欢迎任何建议.:)

WWDC App截图

iphone objective-c subview tableview ios

4
推荐指数
1
解决办法
2883
查看次数

XMPPFramework - 如何创建消息/对话线程

我正在使用XMPPFramework(https://github.com/robbiehanson/XMPPFramework)在iOS聊天客户端上工作,任何人都可以帮我聊聊和留言.我使用Spark(http://www.igniterealtime.org/projects/spark/index.jsp)来测试我的iOS聊天客户端.

我发现Spark在Openfire服务器日志中发送的消息XML格式如下:

<message id="nBT3N-161" 
         to="aaa@demo.com/7beebb67" 
         from="bbb@demo.com/Spark 2.6.3" 
         type="chat">
    <body>testing message ...</body>
    <thread>FIoMFD</thread>
    <x xmlns="jabber:x:event"><offline/><composing/></x>
</message> 
Run Code Online (Sandbox Code Playgroud)

XML格式的消息具有id:

id="nBT3N-161"
Run Code Online (Sandbox Code Playgroud)

和线程ID:

<thread>FIoMFD</thread>
Run Code Online (Sandbox Code Playgroud)

和其他信息:

<x xmlns="jabber:x:event"><offline/><composing/></x>
Run Code Online (Sandbox Code Playgroud)

但是,当我使用XMPPSteam发送消息时,Openfire日志中的消息XML格式如下:

<message type="chat" 
         to="bbb@demo.com/Spark 2.6.3" 
         from="aaa@demo.com/7beebb67">
    <body>tttttttttttttttt</body>
</message>
Run Code Online (Sandbox Code Playgroud)

消息XML格式不包括消息ID,线程ID和xmlns信息.我的代码如下:

- (IBAction)didSendingMessage:(id)sender
{
    NSString *messageStr = self.messageTextField.text;
    if([messageStr length] > 0) {
        NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
        [body setStringValue:messageStr];

        NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
        [message addAttributeWithName:@"type" stringValue:@"chat"];
        [message addAttributeWithName:@"to" stringValue:@"bbb@demo.com/Spark 2.6.3"];
        [message addChild:body];

        [imManager.xmppStream sendElement:message];
        self.messageTextField.text = @"";

       [self.tView reloadData];
    }
}
Run Code Online (Sandbox Code Playgroud)

我是否错过了什么或做错了什么?如何在消息中生成这些信息(例如:message id,thread,xmlns ..)? …

xmpp openfire ios xmppframework

4
推荐指数
1
解决办法
3307
查看次数

Android - 动画视图中的getAlpha()

我有这样的动画:

Animation fadeOut = new AlphaAnimation(1, 0);
fadeOut.setInterpolator(new DecelerateInterpolator());
fadeOut.setDuration(350);
myView.startAnimation(fadeOut);
Run Code Online (Sandbox Code Playgroud)

我正在努力的是让它的Alpha在动画中如此:

System.out.println(myView.getAlpha());
Run Code Online (Sandbox Code Playgroud)

但是,它始终在整个动画中返回"1.0".如何myView在动画过程中获取实际的alpha值?

java animation android alpha

3
推荐指数
1
解决办法
656
查看次数

为iOS设置XMPPFramework

我正在开发具有聊天功能的iOS应用程序.我想知道是否有任何资源来配置XMPPFramework以便将我的iOS应用程序与Openfire服务器连接.

我是XMPP协议的新手.

我目前正在学习XMPP Stream和Rosters,但我至少需要让连接工作.

请帮忙.

xmpp objective-c ios xmppframework

2
推荐指数
1
解决办法
3649
查看次数

如何在 iOS 中使用 WebView、Nativescript 使高度动态化?

我遇到的问题是,WebView 不会在 iOS 中动态加载高度(如果在 Android 中加载),问题是我的内容是动态的并且可以变高,并且放置固定高度对我来说不起作用。你可以帮帮我吗?

<CardView *ngFor="let itinerario of itinerario" class="card" elevation="40" radius="10" ios:shadowRadius="3">
   <StackLayout class="card-layout text-center">
      <WebView [src]="itinerario.mEstructura" height="auto"></WebView>
   </StackLayout>
</CardView>
Run Code Online (Sandbox Code Playgroud)

ios nativescript angular

2
推荐指数
1
解决办法
1180
查看次数