2015-07-29 7 views
7

वर्तमान में, जब मैं सेटिंग्स में अपने ऐप के लिए कैमरा अनुमतियां बदलता हूं, तो मेरे ऐप पर वापस नेविगेट करता है, ऐप रीफ्रेश को मजबूर करेगा और मैं ऐप में अपना स्थान खो दूंगा।कैमरा अनुमतियों को बदलने के बाद मैं आईओएस ऐप्स को रीसेट करने से कैसे रोक सकता हूं?

  1. ओपन कोई एप्लिकेशन कैमरा अनुमति का उपयोग करता है: मैं इन चरणों का वास्तव में पालन करें।
  2. नेविगेट अनुप्रयोग के भीतर कुछ स्क्रीन करने के लिए (ताकि आप दिख ताज़ा बाद में देख सकते हैं),
  3. सेटिंग एप्लिकेशन पर जाएं एप्लिकेशन की सेटिंग पर जाएं और कैमरा अनुमति
  4. डबल क्लिक करें घर को चालू करने और वापस जाने ऐप के लिए। कुछ सेकंड के बाद, यह ताज़ा होगी, तो आप वापस पहले स्क्रीन को

नोट लाने: मैं एक iPhone 6 आईओएस 8.4

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

उपयोगकर्ता परिदृश्य: एक उपयोगकर्ता आपके ऐप्स में डीप पर जाता है तो उसके बाद (क्योंकि कहते हैं कि वे गलती से कोई पिछली बार क्लिक किया) कैमरा अनुमति को बदलने की जरूरत है, वे वापस कि स्क्रीन पर नेविगेट करने के लिए जब वे लौट मजबूर किया जाएगा। यह आपको कुछ बेचने की कोशिश करने वाले ऐप के लिए विशेष रूप से हानिकारक है, या आपको नए खाते के लिए साइन अप करता है। वे एक नई सुविधा पेश करने का प्रयास कर सकते हैं जहां आप प्रोफ़ाइल चित्र लेने या अपने क्रेडिट कार्ड को स्कैन करने के लिए कैमरे का उपयोग कर सकते हैं। चूंकि उपयोगकर्ता को इस सुविधा के बारे में पता नहीं था, इसलिए उन्होंने पहले कैमरा एक्सेस से इंकार कर दिया था, लेकिन अब इसे सक्षम करना चाहते हैं। पुन: प्रयोज्य करने की कोशिश करने के बाद, वे आपके ऐप पर वापस आते हैं ताकि उन्हें यह पता चल सके कि उन्हें 5+ मिनट साइन अप/खरीदारी करना है, फिर से! उसके बाद भी, मैं शायद हार मानूंगा।

उत्तर

7

मुझे यकीन है कि ऐप को पुनरारंभ करने से रोकने के अन्य कोई अन्य तरीके नहीं हैं। असल में आपको सिगकिल संदेश मिलेगा लेकिन सेटिंग्स को टॉगल करते समय कोई क्रैश लॉग नहीं होगा। links-

नीचे देखें इस परिदृश्य को रोकने के लिए एक ही रास्ता है, जबकि समाप्त आप आवेदन के पहले वाली स्थिति को बचाने के लिए है।

  • स्टोर एप्लिकेशन एक json/plist/NSUserDefaults/संग्रह उपयोगकर्ता मॉडल applicationWillTerminate पर में अपने वर्तमान डेटा: विधि और
  • applicationWillEnterForeground सहेजे गए डेटा को बहाल:

उदाहरण @SignUpViewController UIApplicationWillTerminateNotification के लिए रजिस्टर करने के लिए जब ऐप समाप्त होने वाला है तो आग लग जाएगी। वहां उपयोगकर्ता की जानकारी स्टोर करें।

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
[[NSNotificationCenter defaultCenter] addObserver:self 
    selector:@selector(applicationWillTerminate:) 
    name: UIApplicationWillTerminateNotification object:nil]; 
} 

- (void)applicationWillTerminate:(NSNotification *)notification 
{ 
// store your data here 
} 

आशा यह आप में मदद मिलेगी :)

+1

applicationWillTerminate बुलाया भी अधिसूचना viewDidLoad में जोड़ने है तो आप इस के लिए तो किसी भी विचार का सुझाव के रूप में नहीं? क्रिप्या मेरि सहायता करे। –

1

स्वीकार किए जाते हैं जवाब है सही, हालांकि वैकल्पिक हल आईओएस के वर्तमान संस्करण में काम करने के लिए प्रकट नहीं होता है (9.2) - आवेदन को समाप्त करने से पहले UIApplicationWillTerminateNotification है लगता है निकाल दिया। हालांकि UIAplplicationDidEnterBackgroundNotification को सुनकर, वही हासिल किया जा सकता है। उदाहरण के लिए: स्विफ्ट में, viewDidLoad()

NSNotificationCenter.defaultCenter().addObserver(self, selector: "enteringBackground:", name: UIApplicationDidEnterBackgroundNotification, object: nil) 

में इस डाल दिया और इस तरह एक समारोह है:

func enteringBackground(sender:AnyObject){ 
    // Save application state here 
} 
+0

यह सहायक है। क्या आप उस उत्तर में राज्य कोड को सहेजने/पुनर्स्थापित कर सकते हैं? –

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

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