मैं एक iPhone और मैक ओएस एक्स आवेदन है, जो आप ताला और निकटता के माध्यम से अपने मैक अनलॉक करने के लिए अनुमति देता है पर काम कर रहा हूँ में iPhone विज्ञापन। इसका मतलब है कि अगर आप सिग्नल शक्ति निर्धारित सीमा के नीचे हैं या कनेक्शन खो जाता है तो यह मैक को लॉक कर देगा।CoreBluetooth - backgrund मोड
मैं BTLE के लिए सेब CoreBluetooth ढांचे के साथ काम कर रहा हूँ, यदि कोई सहायक उपकरण और एक केंद्रीय रूप में मैक के रूप में iPhone का उपयोग कर। अब तक सब ठीक है। यह भी बहुत अच्छा है लेकिन जब मैं आईफोन पर पृष्ठभूमि में ऐप भेजता हूं तो विज्ञापन बदलना प्रतीत होता है। आईफोन अभी भी विज्ञापित करता है लेकिन ऐप में उपयोग की जाने वाली सेवा प्रोफ़ाइल और विशेषताओं के बिना। हालांकि यह कोई समस्या नहीं है जब आईफोन अभी भी मैक की सीमा में है, क्योंकि यह अभी भी जुड़ा हुआ है और विशेषताओं का उपयोग केंद्र में नहीं किया जाता है, यह आईफोन को सीमा से बाहर ले जाने के बाद एक समस्या बन जाती है। जैसा कि मैक लॉक करता है और आईफोन को फिर से कनेक्ट करने की खोज शुरू करता है और सफल होने पर अनलॉक करता है।
लेकिन इस खोज मैं करने के लिए निर्दिष्ट सेवा प्रोफ़ाइल और विशेषताओं का उपयोग केवल अपने एप्लिकेशन चलाने वाले उपकरण भी अनलॉक करने के लिए एक की पहचान करने के लिए मिलता है।
मैं एक सेवा प्रोफ़ाइल के बिना की खोज और उसके UUID है, जो मैं बचाया, जब मैं लॉक करने और अनलॉक करने के लिए इस iPhone का उपयोग शुरू कर के माध्यम से सही उपकरण की पहचान करके एक समाधान की कोशिश की। यह कामकाज एक छोटे से दायरे में भी काम करता है, क्योंकि जब मैं आईफोन पर ब्लूटूथ बंद करता हूं और इसे फिर से चालू करता हूं, तो यह एक अन्य यूयूआईडी प्राप्त करता है। एक बाधा है जिसके साथ मैं रह सकता हूं, लेकिन यह कुछ घंटों के बाद यूयूआईडी को भी बदलता है और फिर अनलॉकिंग काम नहीं करता है।
हो सकता है कि कोई पहले से ही है कि जैसे ऐप्लिकेशन पर काम किया और जानते हैं कि कैसे इस तरह के एक समस्या को ठीक करने? या आप एक स्थिर मूल्य जानते हैं जिसका उपयोग मैं डिवाइस की पहचान के लिए कर सकता हूं?