나는빠른 언어로 XMPPStream XMPP 프레임 워크를 사용하여 이미지를 보내는 방법은 무엇입니까?
포드 내 데모 프로젝트에서 'XMPPFramework'
을 사용했다. 나는 연결을 만들고 대리자 메서드를 적절하게 배치했습니다.
는 내가 이미지를 전송하는
func xmppStream(sender: XMPPStream!, didReceiveMessage message: XMPPMessage!) {
messageStr = messageStr + message.body()
print("Did receive message \(messageStr)")
}
지금 내가 원하는 일을하고 내가 끝을 수신에
let msg = XMPPMessage(type: "chat", to: senderJID)
msg.addBody(message)
self.appDelegate.xmppStream.sendElement(msg)
를 사용하여 메시지를 전송하고, 여기서 간단한 채팅을했다. 나는 객관적으로 아래에서와 같이 첨부 파일을 사용하여 몇 가지 코드를 찾아 보았습니다.
NSData *dataF = UIImagePNGRepresentation(SendImage);
NSString *imgStr=[dataF base64Encoding];
NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
[body setStringValue:messageStr];
NSXMLElement *imgAttachement = [NSXMLElement elementWithName:@"attachment"];
[imgAttachement setStringValue:imgStr];
NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
[message addAttributeWithName:@"to" stringValue:chatWithUser];
[message addChild:body];
[message addChild:imgAttachement];
[self.xmppStream sendElement:message];
위의 Objective-C 코드에서 변환 한 내 Swift 코드입니다.
var dataF = UIImagePNGRepresentation(image)
var imgStr = dataF.base64Encoding()
let root = NSXMLElement(name: "find_sites")
var body = NSXMLElement.elementWithName("body")
body.stringValue = messageStr
var imgAttachement = NSXMLElement.elementWithName("attachment")
imgAttachement.stringValue = imgStr
var message = NSXMLElement.elementWithName("message")
message.addAttributeWithName("type", stringValue: "chat")
message.addAttributeWithName("to", stringValue: senderJID)
message.addChild(body)
message.addChild(imgAttachement)
self.xmppStream.sendElement(message)
내가 스위프트에이 코드를 변환하면, 나는 그것을 달성 할 수있는 방법, 내가 무엇을해야하는지, NSXMLElement에 오류가 발생하고있다.
나는 또한 XMPPStream class
을 읽었으며 아무 것도 생산적이라고 찾지 못했습니다.
감사합니다.
어떤 오류가 발생합니까? – Shubhank
해결되지 않은 식별자 'NSXMLElement'사용. 또한 Swift로 코드를 변경 했으므로 문제의 코드를 신속하게 추가 할 수있게되었습니다. –
'XMPPMessage' 클래스를 사용해보세요 – Shubhank