2015-12-30 11 views
5

के लिए अद्वितीय पहचानकर्ता तो मेरे पास परिधीय BLE डिवाइस है और मुझे बाद में किसी अन्य आईफोन के साथ साझा करने के लिए कुछ पहचानकर्ता की आवश्यकता है। उदाहरण मैं iPhone 'ए' परिधीय से कनेक्ट करता हूं। iPhone 'ए' डेटाबेस के परिधीय पहचानकर्ता को बचाता है और बाद में मैं आसानी से iPhone 'बी' ले सकता हूं और इस पहचानकर्ता द्वारा प्राप्त परिधीय से कनेक्ट कर सकता हूं।परिधीय बीएलई डिवाइस

अब UUID प्रत्येक iPhone-peripheral कनेक्शन के लिए क्या परिवर्तन है, लेकिन MAC Address उपलब्ध नहीं है। आप क्या सुझाव दे सकते हैं?

+0

हाँ आईओएस 9.0 के साथ काम करते समय भी समस्या का सामना करना पड़ा। पहचानकर्ता आईओएस 8.0 तक सभी उपकरणों पर समान रहता था। अभी भी एक जवाब की तलाश है। –

+0

क्या आप परिधीय खोजने के लिए EAAccessoryManager का उपयोग करते हैं? यदि आप इनमें से किसी एक के साथ काम कर सकते हैं तो आप सभी EACccessory गुणों की जांच करते हैं। (modelNumber, serialNumber, name ....) – LoVo

+0

जब तक कि आपका परिधीय किसी GATT विशेषता के माध्यम से किसी प्रकार का अद्वितीय पहचानकर्ता प्रदान नहीं करता है, मुझे नहीं लगता कि कोई समाधान – Paulw11

उत्तर

0

मुझे एक ही समस्या है और this जैसे कई धागे कहते हैं कि आप CoreBluetooth द्वारा मैक पता नहीं प्राप्त कर सकते हैं। मैं एक बीएलई परिधीय (मेरा मतलब खुला और कनेक्ट करने योग्य परिधीय) से कनेक्ट करना चाहता हूं और डेटाबेस पर कुछ जानकारी संग्रहीत करना ताकि एक अलग आईफोन एक ही डेटाबेस को पढ़ सके और सूचनाओं का उपयोग उसी प्रकार के बीएलई परिधीय से कनेक्ट हो। अभी के लिए मैं डिवाइस नाम पर भरोसा करते हैं, इस तरह प्राप्त:

-(void)addDiscoveredDevice:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI 
{ 
    NSString * name = [peripheral name]; 
} 

क्योंकि NSString * uuid = [[peripheral identifier] UUIDString]; मुझे अलग iOS उपकरणों पर अलग अलग परिणाम देता है।

इसलिए, मान लीजिए कि मेरी पहली समस्या यह जानना है कि मेरे आईफोन के करीब कितने ऐप्पल वॉच हैं, दूसरी समस्या यह जानना है कि एक ऐप्पल वॉच (जैसे जॉन का ऐप्पल वॉच) मेरे आईफोन के करीब है या नहीं। दुर्भाग्य से यह विधि काम नहीं करती है क्योंकि उपयोगकर्ता (जैसे जॉन) या कंपनियां अपने परिधीय नाम बदल सकती हैं।

हाँ मैं नाम + सेवा uuid + विशेषता uuid के संयोजन पर भरोसा कर सकता हूं लेकिन इसी कारण से, यदि नाम बदलता है तो यह बेकार है। क्या किसी को कोई समाधान मिला है?

0

यदि आप परिधीय निर्माण नहीं करते हैं तो आप विशिष्ट आईओएस उपकरणों में परिधीय पहचान नहीं कर सकते हैं। यह ठीक है कि ऐप्पल यह कैसे चाहता है क्योंकि इसका मतलब है कि डेवलपर्स डिवाइस के पते के आधार पर उपयोगकर्ता के स्थान या आंदोलन पैटर्न को ट्रैक नहीं कर सकते हैं। यह एक गोपनीयता चिंता होगी।

यदि आप परिधीय निर्माण करते हैं तो आप जो कुछ भी चाहते हैं वह कर सकते हैं। उदाहरण के लिए: एक कस्टम सेवा uuid का उपयोग करें, विज्ञापन में निर्माता डेटा के लिए यूआईआईडी जोड़ें, अद्वितीय विज्ञापन नाम इत्यादि सेट करें .. लेकिन यदि इन सभी का मूल उद्देश्य आपके उपयोगकर्ता को ट्रैक करना है तो मुझे लगता है कि ऐप्पल आपके सबमिशन को अस्वीकार कर सकता है।

संबंधित मुद्दे