मैं आईओएस 5.0 में ब्लूटूथमैनेजर निजी ढांचे का उपयोग करके पास के ब्लूटूथ उपकरणों का पता लगाने के लिए एक न्यूनतम उदाहरण बना रहा हूं।न्यूनतम आईओएस ब्लूटूथ प्रबंधक उदाहरण
एक जवाब इस सवाल में पाया का उपयोग करना: Finding generic Bluetooth devices within reach
यहाँ BluetoothAvailabilityChangedNotification के लिए रजिस्टर करने के लिए मेरी viewDidLoad विधि है। मैं ब्लूटूथडिवाइस डिस्कवर नॉटिफिकेशन के लिए भी पंजीकरण करता हूं।
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(bluetoothAvailabilityChanged:)
name:@"BluetoothAvailabilityChangedNotification"
object:nil];
btCont = [BluetoothManager sharedInstance];
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(deviceDiscovered:)
name:@"BluetoothDeviceDiscoveredNotification"
object:nil];
जब मैं ब्लूटूथ उपलब्धता अधिसूचना बदला मिलता है, मैं उपकरण की स्कैनिंग, सक्षम के रूप में ऊपर उल्लिखित कड़ी में जवाब में से एक में उल्लिखित निर्धारित किया है।
- (void)bluetoothAvailabilityChanged:(NSNotification *)notification
{
NSLog(@"BT State: %d", [btCont enabled]);
[btCont setDeviceScanningEnabled:YES];
}
पूर्णता के लिए, यहां डिवाइस डिस्काउंट अधिसूचना विधि है।
- (void)deviceDiscovered:(NSNotification *) notification
{
NSLog(@"Discovered one!");
}
लॉग परीक्षण आवेदन चल द्वारा उत्पादित इस प्रकार हैं:
BTM: attaching to BTServer
BTM: posting notification BluetoothAvailabilityChangedNotification
BT State: 1
BTM: setting device scanning enabled
दुर्भाग्य से, फोन सब पर किसी भी ब्लूटूथ डिवाइस उठा नहीं है, भले ही मैं जानता हूँ कि आसन्न खोज योग्य उपकरणों देखते हैं (एक एंड्रॉइड डिवाइस का उपयोग कर सत्यापित)।
कुछ बातें मैं पहले से ही की कोशिश की है:
- Calling [btCont setPowered: हाँ]; और संबद्ध पावर स्थिति परिवर्तन सूचना के लिए पंजीकरण, setDeviceScanningEnabled पृष्ठ पर: हाँ कॉलबैक
- कॉलिंग में [btCont resetDeviceScanning] पहले setDeviceScanningEnabled कॉल
- scanForConnectableDevices कॉलिंग के लिए: (अहस्ताक्षरित int) ARG1; विधि, अनुमान है कि arg1 कुछ प्रकार का टाइमआउट मान हो सकता है। मैंने बिना किसी सफलता के विभिन्न मूल्यों की कोशिश की है।
किसी भी विचार की बहुत सराहना की जाएगी। धन्यवाद!
अपडेट? क्या आप समस्या को हल करने में सक्षम थे? क्या आपके पास scanForConnectableDevicesmethod के बारे में कोई जानकारी है? – Mahes