2013-04-03 12 views
8

में विज्ञापन कुंजी 'निर्माता डेटा' की अनुमति नहीं है मैं मूल ब्लूटूथ ढांचे के साथ काम कर रहा हूं। मैं इस ढांचे का उपयोग करके परिधीय बनाने की कोशिश कर रहा हूं। मेरा सहायक उपकरण डेटा का उपयोग कर विज्ञापन:CoreBluetooth

manager=[[CBPeripheralManager alloc]initWithDelegate:self queue:nil]; 
[manager startAdvertising:dictionary]; 
यहाँ

शब्दकोश है कि मैं विज्ञापन के लिए गुजर रहा है: विज्ञापन कुंजी 'निर्माता:

NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys: 
            @"name", CBAdvertisementDataLocalNameKey,@"some other data",CBAdvertisementDataManufacturerDataKey,nil]; 

जब मैं आवेदन मैं चेतावनी हो रही चला रहा हूँ CoreBluetooth

में डेटा की अनुमति नहीं है और मुझे "कुछ अन्य डेटा" नहीं मिल रहा है जिसे मैंने केंद्रीय तरफ कुंजी CBAdvertisementDataManufacturerDataKey का उपयोग करके भेजा है। मुझे केंद्रीय पक्ष में नाम मिल रहा है। तो मैं विज्ञापन डेटा के साथ कुछ अन्य डेटा कैसे भेज सकता हूं?

+0

क्या आपको इस पर कोई समाधान मिला? – civiac

+0

@civiac: नहीं, वास्तव में आप निर्माता डेटा को बदल नहीं सकते हैं। मैं डेमो एप्लीकेशन कर रहा था इसलिए मैंने name_some डेटा (_ के साथ अंतर) का उपयोग किया है और केंद्रीय तरफ तदनुसार प्रसंस्करण किया है। आगे मेरे मामले में मुझे अपनी आवश्यकता के अनुसार बीएलई डिवाइस मिला। –

उत्तर

9

startAdvertising पर CBPeripheralManager प्रलेखन के रूप में कहा गया है:

एक वैकल्पिक शब्दकोश डेटा आप विज्ञापन करना चाहते हैं। एक विज्ञापनडेटा शब्दकोश की संभावित कुंजी सीबीसीएन्ट्रल मैनेजर डिलेगेट प्रोटोकॉल संदर्भ में विस्तृत हैं। ने कहा, परिधीय प्रबंधक ऑब्जेक्ट्स के लिए केवल दो चाबियाँ समर्थित हैं: CBAdvertisementDataLocalNameKey और CBAdvertisementDataServiceUUIDsKey

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

+1

वे परिधीय मोड में हैं क्योंकि डिवाइस एक ऐप्पल आईफोन है, जो भी आपका ऐप नहीं चाहता है। तो सभी निर्माता सामान ऐप्पल का डेटा है, और सभी डिवाइस सामान आईफोन है। आप जो भी संशोधित कर सकते हैं वह डिवाइस का नाम है, और आप अपने ऐप द्वारा प्रदान की जाने वाली सेवाओं को निर्दिष्ट करते हैं (जिसे आईओएस अन्य ऐप्स द्वारा प्रदान की जाने वाली सेवाओं के साथ जोड़ सकता है)। –

+0

ठीक है, समझ में आता है। स्पष्टीकरण देने के लिए धन्यवाद! – russbishop

+0

@russbishop अरे क्या आप मेरे प्रश्न देख सकते हैं? मुझे आपकी मदद चाहिए। https://stackoverflow.com/questions/46402904/is-there-any-way-access-manufacturer-data-from-ios-device – sorunluadam

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