2017-05-09 9 views
7

के बाद मैं अपने ब्लूटूथ डिवाइस से डिस्कनेक्ट, यह देखकर कि वे didDisconnectPeripheral प्रतिनिधि में डिस्कनेक्ट कर दिया है समाप्त कर दिया है, मैं अपने ViewController खारिज करने का प्रयास पर अवैध।CoreBluetooth XPC कनेक्शन को खारिज ViewController

जब ऐसा होता है मैं संदेश दिखाई: "[CoreBlueooth] XPC कनेक्शन अवैध"

वहाँ विशिष्ट में कुछ है कि ब्लूटूथ से साफ किया जा करने के लिए इससे पहले कि ViewController को खारिज कर दिया है?

+1

यह दृश्य नियंत्रक से संबंधित होना प्रतीत नहीं होता। जब भी सीबीसीएन्ट्रल मैनेजर को हटा दिया जाता है तो मुझे यह संदेश मिलता है। बस स्थानीय चर के साथ परीक्षण करें, उदा। सीबीसीएन्ट्रल मैनेजर (प्रतिनिधि: शून्य, कतार: शून्य)। जैसे ही दायरा समाप्त होता है, वह त्रुटि संदेश पॉप अप हो जाता है। – bcause

उत्तर

1

मैंने CBCentralManager को सिंगलटन में रखा और त्रुटि संदेश हल हो गया।

(CBCentralManager पुनः आवंटित की जाती नहीं किया जाएगा)

+0

धन्यवाद। इससे मुझे मेरी समस्या हल करने में मदद मिली। आप स्थानीय चर के बजाय सीबीसीएन्ट्रल मैनेजर को कक्षा चर के रूप में (फ़ंक्शन के बाहर घोषित कर सकते हैं) के रूप में बना सकते हैं। –

0

इस प्रयास करें:

CBPeripheral *mConnectedPeripheral; 

-(void)viewDidDisappear:(BOOL)animated{ 
    [_centralManager cancelPeripheralConnection:mConnectedPeripheral]; 
} 
4

मैं निम्न संदेश हो रही थी:

[CoreBlueooth] XPC कनेक्शन अमान्य

और मैं बीएलई उपकरणों को स्कैन करने में सक्षम नहीं था निम्न में से एक काफी सरल कार्यान्वयन का उपयोग: - का वर्णन है कि मैं क्या ब्लूटूथ परिधीय के साथ क्या ब्लूटूथ परिधीय प्रयोग विवरणNSBluetoothPeripheralUsageDescription

NSObject<CBCentralManagerDelegate, CBPeripheralDelegate> 

मेरे लिए समाधान मेरी Info.plist के लिए गोपनीयता में एक मूल्य जोड़ने के लिए किया गया था।

info.plist में इस तरह लग रहा है: यहाँ में और अधिक सटीक कुछ

<key>NSBluetoothPeripheralUsageDescription</key> 
<string>Play with BLE Compatible devices<string> 

लिखें;)

+1

कोशिश की .. कोई भाग्य नहीं! –

+0

जब ऐसी चीजें होती हैं, तो ** अपनी समस्या को अलग करने का प्रयास करें ** ताकि आप यह पहचान सकें कि यह क्या विफल हो जाता है। आप यहां अधिक जानकारी के साथ टिप्पणी भी कर सकते हैं। वहां खुली स्रोत परियोजनाएं हैं जो उपकरणों के लिए स्कैन करती हैं और आपको 'विशेषताओं' आदि को भी लिखने देती हैं [चेनी/डार्कब्लू] (https://github.com/chenee/DarkBlue) मेरे लिए सहायक थी। तेजी से परियोजनाओं के लिए: [प्लूटो-वाई/स्विफ्ट-लाइटब्लू] (https://github.com/Pluto-Y/Swift-LightBlue)। मेरे मामले में, मैंने एक खाली परियोजना शुरू की और मेरे डिवाइस के साथ संवाद करने के लिए न्यूनतम कोड किया, उसे 'NSBluetoothPeripheralUsageDescription' जोड़ना पड़ा और यह – GabLeRoux

+0

मेरे लिए काम नहीं कर रहा था। –

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