2014-12-15 8 views
13

प्रश्नमैं एक आईफोन पर प्रोग्रामेटिक रूप से मार्गदर्शित एक्सेस (कियोस्क मोड) कैसे सक्षम कर सकता हूं?

मैं कैसे Guided Access मोड एक iPhone पर स्वचालित रूप से करते हैं? मैं सक्षम करने और इस सुविधा

पृष्ठभूमि This application from the State of Iowa अपने चालक लाइसेंस प्रदर्शित करने के लिए किसी iOS एप्लिकेशन का उपयोग करता है को हटाने को स्वचालित करने की आवश्यकता होगी। मुद्दा यह है कि अपने फोन को अधिकारियों को सौंपने के बाद, उनके पास डिवाइस तक पूर्ण पहुंच है।

यदि मेरे पास इस के लिए स्रोत कोड है, या एक समान अनुप्रयोग है, तो अस्थायी "कियोस्क मोड" से बाहर निकलने पर मुझे पासवर्ड की आवश्यकता कैसे हो सकती है, ताकि फ़ोटो, ईमेल या टेक्स्ट संदेश फोन से उपलब्ध न हों, या (आदर्श) यूएसबी से।

मैं इस समान solution for Android पाया है, लेकिन अब एक iOS समाधान

+1

में घोषित इलिनोइस = आयोवा –

+0

@AaronBrager फिक्स्ड - धन्यवाद! – LamonteCristo

उत्तर

29

आप अपने ऐप के भीतर से निर्देशित एक्सेस मोड में प्रवेश और बाहर निकलें। हालांकि, ऐसा करने के लिए डिवाइस की निगरानी की जानी चाहिए, और एक एमडीएम प्रोफ़ाइल स्थापित है जिसमें ऐप की बंडल आईडी है जो निर्देशित एक्सेस मोड का अनुरोध कर सकती है (कुंजी autonomousSingleAppModePermittedAppIDs है।

एक बार यह हो जाता है, निर्देशित पहुँच दर्ज करने के लिए आप यह करते हैं:

UIAccessibilityRequestGuidedAccessSession(true){ 
    success in 
    println("Request guided access success \(success)") 
} 
+4

सुधार के लिए धन्यवाद। मैंने सोचा कि मैं सभी एक्सेसिबिलिटी एपीआई जानता था! :) –

+0

जब तक एक सहयोगी ने मुझे हालिया परियोजना के लिए नहीं बताया, तब तक मैंने कभी इसके बारे में नहीं सुना होगा। सभी पर्यवेक्षित डिवाइस और एमडीएम सामान के साथ, यह थोड़ा अस्पष्ट है ... – jrturton

+0

@jrturon: पर्यवेक्षण प्रतिबंध बीओओडी पर कंपनियों द्वारा दुर्व्यवहार होने से रोकता है। ऐप्पल नहीं चाहता कि हर कोई ऐसे उपकरणों पर ऐसा करने में सक्षम हो जो उनके पास नहीं है और उनका प्रबंधन नहीं है। – Nobosi

0

मैं क्या समझ इस कोड का उपयोग नहीं किया जा सकता से देख रहा हूँ। एक गैर जेलब्रोकन डिवाइस पर और फिर आपको एक डेमॉन बनाना होगा जो श्रोता के रूप में चलता है।

सबसे नज़दीकी चीज जो आप कर सकते हैं वह है अपने डिवाइस पर "निर्देशित एक्सेस" सेट करें और इसे ट्रिपल होम बटन प्रेस से लिंक करें।

अधिक निर्देशित पहुँच के बारे में जानकारी here

+0

धन्यवाद। मैंने प्रोग्राम किए गए समाधानों पर ध्यान केंद्रित करने के लिए प्रश्न अपडेट किया, शायद मार्गदर्शित एक्सेस – LamonteCristo

-2

इस प्रोग्राम के रूप में नहीं किया जा सकता पाया जा सकता है। "मार्गदर्शित पहुंच" एकमात्र समाधान है।

स्क्रीनशॉट आधारित उदाहरण के लिए http://voice4uaac.com/tips/guided-access-ios6/ का संदर्भ लें।

+0

को स्वचालित करके यह कर सकता है। मेरा जवाब देखें – jrturton

6
iOS 7 नीचे

आप नहीं प्रोग्राम के रूप में कियोस्क मोड में IOS डिवाइस डाल सकते हैं, यह भी आप इसे एक कियोस्क ऐप बनाने के लिए अपने ऐप्लिकेशन पर कुछ नहीं कर सकते (आप होम बटन घटनाओं प्रोग्राम के रूप में अक्षम नहीं कर सकता और आप अपने ऐप में ईवेंट नहीं प्राप्त कर सकते हैं)

डिवाइस को कियोस्क मोड पर काम करने के लिए, आप ऐप्पल के Guided Access का उपयोग कर सकते हैं। लेकिन आप इसे प्रोग्रामेटिक रूप से सक्षम नहीं कर सकते हैं। अधिक जानकारी के लिए जाँच here


iOS 7 और 7+

आप उपयोग कर सकते हैं:

void UIAccessibilityRequestGuidedAccessSession(BOOL enable, void(^completionHandler)(BOOL didSucceed)) 

संदर्भ UIAccessibilityRequestGuidedAccessSession

UIAccessibilityRequestGuidedAccessSession

ऐप को अतुल्यकालिक रूप से ऐप में या उससे ऐप में संक्रमण करता है। घोषणा

स्विफ्ट

समारोह UIAccessibilityRequestGuidedAccessSession (_ सक्षम: बूल, _ completionHandler: ((Bool) -> शून्य)!)

ऑब्जेक्टिव-सी

शून्य UIAccessibilityRequestGuidedAccessSession (BOOL सक्षम, शून्य (^ समापन हैंडलर) (बूल सफल हुआ)); पैरामीटर

एकल ऐप मोड से बाहर निकलने के लिए डिवाइस को इस ऐप के लिए सिंगल ऐप मोड में रखने के लिए या को निर्दिष्ट करने के लिए हाँ निर्दिष्ट करें।

completionHandler

ब्लॉक है कि सफलता या आपरेशन की विफलता के अपने अनुप्रयोग सूचित करता है। यह ब्लॉक निम्न पैरामीटर लेता है:

यदि हां, तो ऐप एकल ऐप मोड से या उससे सफलतापूर्वक परिवर्तित हो गया। यदि नहीं, तो ऐप या डिवाइस एकल ऐप मोड के लिए योग्य नहीं है या कुछ अन्य त्रुटि थी। चर्चा

आप अपने ऐप को एकल ऐप मोड में लॉक करने के लिए इस विधि का उपयोग कर सकते हैं और इसे बाद में उस मोड से रिलीज़ कर सकते हैं। उदाहरण के लिए, एक परीक्षण लेने वाला ऐप परीक्षण की शुरुआत में इस मोड को दर्ज कर सकता है और जब उपयोगकर्ता परीक्षण पूरा करता है तो उससे बाहर निकलें। एकल ऐप मोड दर्ज करना केवल डिवाइसों के लिए समर्थित है जो मोबाइल डिवाइस प्रबंधन (एमडीएम) का उपयोग करके पर्यवेक्षित किए जाते हैं, और ऐप को एमडीएम द्वारा इस मोड के लिए स्वयं सक्षम होना चाहिए। उस मोड से बाहर निकलने के लिए कॉल के साथ सिंगल ऐप मोड में प्रवेश करने के लिए आपको प्रत्येक कॉल को शेष करना होगा।

क्योंकि प्रवेश करने या एकल ऐप्स मोड से बाहर निकल कुछ समय लग सकता है, इस विधि एसिंक्रोनस रूप से निष्पादित और completionHandler ब्लॉक का उपयोग परिणामों की सूचना देता है। आयात वक्तव्य

आयात UIKit उपलब्धता

आईओएस 7.0 में उपलब्ध है और बाद में।

यह भी जांचने के लिए कि आप मार्गदर्शित एक्सेस सक्षम हैं या नहीं, UIAccessibilityIsGuidedAccessEnabled का उपयोग कर सकते हैं।

+0

आप इसे प्रोग्रामेटिक रूप से कर सकते हैं। मेरा जवाब देखें – jrturton

+0

@jrturton: जानकारी के लिए धन्यवाद, मैंने अपना जवाब संपादित किया –

+0

डाउनवोट हटा दिया गया :) – jrturton

3

प्रति प्रलेखन के रूप में, There are two ways of enabling your iOS app to run in kiosk mode.

विन्यास प्रोफाइल: मोबाइल डिवाइस प्रबंधन की मदद (एमडीएम) के साथ, हम एक एंटरप्राइज़ कॉन्फ़िगरेशन प्रोफ़ाइल बना सकते हैं और इसे किसी भी एमडीएम का उपयोग करके डिवाइस पर धक्का दे सकते हैं, उदाहरण के लिए लोकप्रिय आईफोन कॉन्फ़िगरेशन या किसी भी आईफोन कॉन्फ़िगरेशन उपयोगिता की सहायता से। एक बार यह प्रोफ़ाइल इंस्टॉल हो जाने पर पहला ऐप इंस्टॉल किया जाता है जो डिवाइस रीबूट होने पर लॉन्च किया जाता है, वह एकमात्र ऐप होगा जो तब तक चलाएगा जब तक आप डिवाइस को रीबूट नहीं करते।

गाइडेड एक्सेस (iOS 6 और अधिक): IOS 6 बाद से, हम प्राप्त कर सकते हैं इस का उपयोग करते हुए दो तरीकों अर्थात् पहुँच & पर्यवेक्षित पहुँच गाइड। ये दोनों विधियां एक्सेसिबिलिटी कंट्रोल फीचर्स से संबंधित हैं जैसे उपयोगकर्ता को अपने डिवाइस तक सीमित पहुंच की अनुमति देना। यह केवल तब प्राप्त किया जा सकता है जब हमारे पास डिवाइस तक पूर्ण पहुंच हो।

हम आईओएस 7 में प्रोग्रामिंग के लिए आईओएस ऐप में कियोस्क मोड स्थापित करने के लिए एक UIKit विधि UIAccessibilityRequestGuidedAccessSession का उपयोग कर प्राप्त कर सकते हैं। सेब डेवलपर प्रलेखन के अनुसार, 'UIAccessibilityRequestGuidedAccessSession ऐप को सिंगल ऐप मोड से या अतुल्यकालिक रूप से बदल देगा।

सेब डेवलपर दस्तावेज़ में दी गई के रूप में:

UIAccessibilityRequestGuidedAccessSession 

संक्रमण करने या एसिंक्रोनस एकल ऐप्स मोड से अनुप्रयोग।

void UIAccessibilityRequestGuidedAccessSession(BOOL enable, void(^completionHandler)(BOOL didSucceed)) 

पैरामीटर

enable 

इस एप्लिकेशन या एकल ऐप्स मोड से बाहर निकलने के लिए नहीं के लिए एकल ऐप्स मोड में डिवाइस डाल करने के लिए हाँ निर्दिष्ट करें।

completionHandler 

वह ब्लॉक जो ऑपरेशन की सफलता या विफलता के आपके ऐप को सूचित करता है। यह ब्लॉक निम्न पैरामीटर लेता है:

didSucceed 

यदि हां, तो ऐप एकल ऐप मोड में या उससे सफलतापूर्वक परिवर्तित हो गया है। यदि नहीं, ऐप या डिवाइस सिंगल ऐप मोड के लिए योग्य नहीं है या कुछ और त्रुटि हुई है। चर्चा आप अपने ऐप को सिंगल ऐप मोड में लॉक करने और बाद में उस मोड से रिलीज़ करने के लिए इस विधि का उपयोग कर सकते हैं। उदाहरण के लिए, परीक्षण लेने की शुरुआत में एक परीक्षण लेने वाला ऐप इस मोड में प्रवेश कर सकता है और जब उपयोगकर्ता परीक्षण पूरा करता है तो उससे बाहर निकल सकता है। एकल ऐप मोड दर्ज करना केवल उन डिवाइसों के लिए समर्थित है जिन्हें मोबाइल डिवाइस प्रबंधन (एमडीएम) का उपयोग करके पर्यवेक्षित किया जाता है, और ऐप को एमडीएम द्वारा इस मोड के लिए स्वयं सक्षम होना चाहिए। उस मोड से बाहर निकलने के लिए कॉल के साथ सिंगल ऐप मोड में प्रवेश करने के लिए आपको प्रत्येक कॉल को संतुलित करना होगा। क्योंकि एकल ऐप मोड में प्रवेश करने या बाहर निकलने में कुछ समय लग सकता है, यह विधि असीमित रूप से निष्पादित होती है और completionHandlerblock का उपयोग करके परिणामों के बारे में आपको सूचित करती है।

Availability 
Available in iOS 7.0 and later. 

देखें इसके अलावा

UIAccessibilityIsGuidedAccessEnabled 

UIAccessibility.h 
संबंधित मुद्दे

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