2016-04-13 12 views

cevap

0

Benim önerim mesaj göndermek istiyorum bireysel eş kullanıcı kimliği gibi ekstra bilgi taşıyabilir olmasıdır. Görünüşe göre, tüm bağlı akranlar iletiyi alacak, ancak, yalnızca kimliği olan bir kişi mesajdaki hedeflenen kullanıcı kimliği ile eşleşiyor.

+0

Sana efendim alamadım. Metin alanından "HI" yazdım ve şimdi bu cihazla bağlantılı 3 cihazım var ve mesajı 3 ve 1 ve 2 değil de göndermek istiyorum. o zaman bunu nasıl yaparım? Lütfen yardım edin? – user2902168

+0

Söylediğim, mesajınıza 3 cihaz gönderileceğidir, ancak mesajınıza özellikle mesajınızı iletmek istediğiniz cihaz kimlikleri listesini taşır. Örneğin, mesaj bir sözlük hakkından dönüştürülecek mi? böylece "targeted_id" = "3" ü ekleyebilirsiniz. İstemcide, mesajı alırsınız, sözlüğe dönüştürürsünüz, sonra aygıtın targeted_id ile eşleşiyorsa mesajın alması gerekip gerekmediğini kontrol edin, aksi halde – HDT

+0

mesajını dikkate almayın. Soruyu cevap bölümünde yanıtla oraya cevap verebilir misiniz? – user2902168

0
yöntemi kullanarak belirli bir eşe veri göndermeyi

MC desteği: https://developer.apple.com/library/ios/documentation/MultipeerConnectivity/Reference/MCSessionClassRef/index.html#//apple_ref/occ/instm/MCSession/sendData:toPeers:withMode:error: Burada belgelerinde belirtildiği gibi

- (BOOL)sendData:(NSData *)data toPeers:(NSArray<MCPeerID *> *)peerIDs withMode:(MCSessionSendDataMode)mode error:(NSError * _Nullable *)error 

yapmanız gerektiğini

işe almalısınız hangi MCPeer anlamaya edilir mesaj. (: MCPeer bir NSArray yani) size 1 değil birden fazla eş geçmek anlayacaktır yukarıdaki yöntemde peerIDs veri türü yana

tip NSArray<MCPeerID *> * taşımaktadır. Bu, hedeflemek istediğiniz eşin hangisi olduğunu bulmanız gerektiği anlamına gelir.

Geçerli Bağlı akran liste üzerinde yineleme tarafından bu anlamaya ve sizin gibi birini seçebilirsiniz:

__block MCPeer *myPeer; 

    [myMCSession.connectedPeers enumerateObjectsUsingBlock:^(MCPeer *aPeer, NSUInteger idx, BOOL *stop) { 
     if(/*aPeer is equal "the peer you want*/) { 
      myPeer = aPeer; 
      *stop = YES; 
     } 
    }]; 

[myMCSession sendData:yourdata toPeers:@[myPeer] withMode:yourMode error:yourErrorObject]; 
İlgili konular