2015-10-28 3 views

उत्तर

16

अद्यतन के नीचे उल्लेख स्क्रीन के किसी भी करने के लिए सीधे जा सकते हैं से प्रोग्राम के रूप में आईओएस के सेटिंग ऐप में स्क्रीन

चूंकि अन्य उपयोगकर्ताओं ने इंगित किया है कि यह समाधान आईओएस 10 के साथ काम नहीं करता है। अगर किसी को यह पता है कि इसे आईओएस 10 में कैसे काम करना है, तो कृपया हमें बताएं। आईओएस < 10 के लिए

समाधान:

if let settingsURL = NSURL(string: UIApplicationOpenSettingsURLString) { 
    UIApplication.sharedApplication().openURL(settingsURL) 
} 

यह iOS 8 में पेश किया गया था तो आप कर सकते हैं:

(अपने स्वयं के अनुप्रयोग के) सेटिंग खोलने के लिए आप UIApplicationOpenSettingsURLString निरंतर उपयोग कर सकते हैं आईओएस 8 या बाद में चलाने वाले उपकरणों पर इसका इस्तेमाल करें। लेकिन यह केवल आपके ऐप की सेटिंग्स खोलता है। कीबोर्ड सेटिंग्स नहीं। और यदि आपके ऐप की अपनी सेटिंग्स नहीं है तो यह केवल सेटिंग ऐप को अपने मुख्य पृष्ठ पर खुलती है।

पुराने दिनों में (आईओएस 5.1 से पहले) आप एक सेटिंग यूआरएल खोल सकते हैं और सेटिंग ऐप में लगभग किसी भी उपपृष्ठ पर जा सकते हैं। ऐप्पल ने आईओएस 5.1 में इस सुविधा को हटा दिया।

हालांकि यह आईओएस 8 और 9 में फिर से काम करता प्रतीत होता है। यह आधिकारिक तौर पर ऐप्पल द्वारा दस्तावेज नहीं किया गया है लेकिन ऐसा लगता है कि यह काम करता है, हालांकि मुझे यकीन नहीं है कि यह कितना विश्वसनीय है। यह मेरे आईओएस 9.1 आईफोन पर काम करता है लेकिन सिम्युलेटर में नहीं।

तो, सावधानी के साथ, तो आप इस कीबोर्ड सेटिंग को खोलने का प्रयास कर सकते हैं:

if let settingsURL = NSURL(string: "prefs:root=General&path=Keyboard") { 
    UIApplication.sharedApplication().openURL(settingsURL) 
} 

या जाना भी गहरी:

if let settingsURL = NSURL(string: "prefs:root=General&path=Keyboard/KEYBOARDS") { 
    UIApplication.sharedApplication().openURL(settingsURL) 
} 

संपादित करें: iHulk टिप्पणी में उल्लेख किया है आप इस काम को करने के लिए अपनी परियोजना की Info.plist फ़ाइल में URL योजनाओं में prefs जोड़ना पड़ सकता है।

+0

वैसे भी iOS 8 Fleksy के रूप में करता है कि कि iOS 8 के साथ ही में आईओएस में 9. – iHulk

+0

आप इसे iOS8 पर की कोशिश की है करना है? मेरे पास परीक्षण करने के लिए आईओएस 8 डिवाइस नहीं है। शायद यह आईओएस 8 – joern

+0

ठीक पर भी काम करता है ..मैं इसे सिम्युलेटर करने की कोशिश कर रहा था और यह काम नहीं कर रहा था, सिर्फ आईओएस 9 डिवाइस पर परीक्षण किया गया था और यह काम कर रहा है। मैं इसे आईओएस 8 डिवाइस पर देखूंगा और मैं आपको बता दूंगा कि यह काम कर रहा है या नहीं .. धन्यवाद .. – iHulk

1

ऐप्पल समीक्षकों से मिला नवीनतम संदेश: आपका ऐप एक्सटेंशन होस्ट करता है लेकिन यह ऐप एक्सटेंशन प्रोग्रामिंग गाइड का पालन नहीं करता है।

विशेष रूप से, आपका ऐप उपयोगकर्ताओं को सीधे आपके ऐप के विशिष्ट सेटिंग पृष्ठ पर ले जाने के बजाय कीबोर्ड सेटिंग पृष्ठ पर लाता है। कृपया सुनिश्चित करें कि आपका ऐप केवल उपयोगकर्ताओं को आपके ऐप सेटिंग्स पृष्ठ पर लाता है।

जब मैं के लिए पुनः निर्देशित किया गया था: वरीयता: जड़ = जनरल & पथ = कीबोर्ड/कीबोर्ड

+0

ओह .. ऐसा लगता है जैसे उन्होंने इस हैक को अवरुद्ध करना शुरू कर दिया है .. – iHulk

+0

@mamba, क्या आपने अंधेरे रिलीज जैसी चीज़ों के बारे में कुछ भी नहीं किया? – kelin

+0

यह अजीब है क्योंकि Flesky कीबोर्ड इस – Roymunson

9

आईओएस 10 के रूप में "App-Prefs: जड़" ": जड़ वरीयता" के बजाय इस्तेमाल किया जाना चाहिए। उद्देश्य सी कोड नीचे देखें। इसका परीक्षण किया गया, कोड ठीक काम करता है लेकिन ऐप्पल इस वजह से ऐप को अस्वीकार कर सकता है।

NSString *settingsUrl= @"App-Prefs:root=General&path=Keyboard"; 

if ([[UIApplication sharedApplication] respondsToSelector:@selector(openURL:options:completionHandler:)]) { 

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:settingsUrl] options:@{} completionHandler:^(BOOL success) { 
    NSLog(@"URL opened"); 
    }]; 
} 
+1

को अनुमति देता है ध्यान दें कि यह अब आईओएस 11 में काम नहीं करता है – Joey

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