2013-01-04 22 views
19

मैं डेटा भेजनेdidReceiveWriteRequests को सही ढंग से कार्यान्वित करने के लिए कैसे करें? iOS6 CoreBluetooth

client site 
[self.connectedPeripheral writeValue:mainData forCharacteristic:characteristic type:CBCharacteristicWriteWithResponse]; 

और

- (void)peripheral:(CBPeripheral *)peripheral didWriteValueForCharacteristic:(CBCharacteristic *)characteristic 
{ 
    NSString *s= [[NSString alloc] initWithData:characteristic.value encoding:NSUTF8StringEncoding]; 
    NSLog(@"didWriteValue characteristic.value: %@ ", s); 
} 

और सर्वर साइट

- (void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveWriteRequests:(NSArray *)requests 
{ 
    NSData *res= [[NSString stringWithFormat:@"Hello"] dataUsingEncoding:NSUTF8StringEncoding]; 
[self.peripheral updateValue:res 
         forCharacteristic:self.writeCharacteristic 
        onSubscribedCentrals:nil]; 
[peripheral respondToRequest:aReq withResult:CBATTErrorSuccess]; 
} 

हालांकि, ग्राहक किसी भी डेटा प्राप्त नहीं कर सकता के लिए आईओएस CoreBluetooth ग्राहक & सर्वर को लागू। कोई विचार? आपकी मदद के लिए धन्यवाद।

+1

प्राप्त आप अपनी समस्या के लिए किसी भी सवाल का जवाब मिला ? मेरे पास भी वही प्रश्न है :( – eter

उत्तर

-2

का उपयोग करें: ग्राहक की ओर से

- (void)setNotifyValue:(BOOL)enabled forCharacteristic:(CBCharacteristic *)characteristic; 

का उपयोग कर इसे की सदस्यता के लिए

- (BOOL)updateValue:(NSData *)value forCharacteristic:(CBMutableCharacteristic *)characteristic onSubscribedCentrals:(NSArray *)centrals; 

आप पहली जरूरत है।

2

CoreBluetooth पर एप्पल के दस्तावेज़ के अनुसार, आप का उपयोग करना चाहिए:

- (void)respondToRequest:(CBATTRequest *)request withResult:(CBATTError)result; 

central.This का जवाब देने के भी एक विकल्प है जब आप एक पढ़ने अनुरोध