CNContact
nesnelerini Çok Veri Bağlantısı üzerinden başka bir aygıta gönderilmek üzere NSData'ya dönüştürmeye çalışıyorum.CNContact'ı NSData'ya dönüştürme ve tersi
func sendContactsToPeer(peerId: MCPeerID, contacts: [CNContact]) {
let contactsData: NSData = NSKeyedArchiver.archivedDataWithRootObject(contacts)
do {
try self.session.sendData(NSKeyedArchiver.archivedDataWithRootObject(contactsData), toPeers: self.session.connectedPeers, withMode: MCSessionSendDataMode.Reliable)
} catch {
print("Unable to send contacts data to \(peerId.displayName)")
}
}
Ve bu alan kişiler için ise: İşte benim kod rehber verilerini göndermek için var
func session(session: MCSession, didReceiveData data: NSData, fromPeer peerID: MCPeerID) {
print("Received data: \(data) From Peer: \(peerID)")
if let contacts: [CNContact] = NSKeyedUnarchiver.unarchiveObjectWithData(data) as? [CNContact] {
self.delegate?.didReceiveContacts(contacts, fromPeer: peerID)
}
}
veri sıfır olmadığını belirtir NSData
için baskı açıklamada, için çıkış yoktur. Ancak nesneyi CNContacts dizisine arşivlemeyi denediğimde, nil döndürür. Herhangi bir fikir neden?
Ayrıca, bir dizi yerine yalnızca bir CNContact
nesnesi göndermeyi denedim, ancak sonuçlar aynı.