पहली बार आईओएस ऐप लॉन्च होने पर मुझे कैसे पता चलेगा?पता लगाएं कि पहली बार आईओएस ऐप लॉन्च किया गया है?
उत्तर
सुंदर ज्यादा क्या मार्क और क्रिस ने कहा, हालांकि मैं मान बदलने के लिए पसंद करते हैं जब ऐप उस स्थिति के कई क्षेत्रों में निकलता है जो इसके बारे में जानना आवश्यक है। कोड में:
// -applicationDidFinishLaunching:
[[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES],@"firstLaunch",nil]];
// to check it:
[[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"];
// -applicationWillTerminate:
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"firstLaunch"];
आप इसे करने के लिए उपयोगकर्ता डिफ़ॉल्ट में एक बूलियन मान सेट कर सकते हैं। जब आप registerDefaults:
पर कॉल करते हैं तो झूठी कुंजी को सेट करें, और फिर अपनी प्रारंभिक सहायता स्क्रीन या जो कुछ भी आपको करने की आवश्यकता है, उसके बाद इसे सही में बदलने के लिए इसे सही पर सेट करें।
यदि आपके पास एक सतत डेटा फ़ाइल है जो ऐप बंद होने के बाद हमेशा सहेजी जाती है, तो यह देखने के लिए जांचें कि यह मौजूद है या नहीं।
...
मैं सामान्य रूप से एप्लिकेशन संस्करण संख्या के बजाय उपयोगकर्ता चूक में firstLaunch मूल्य के लिए एक बूलियन का उपयोग करें। इस तरह, आप एक नए इंस्टॉलेशन के पहले लॉन्च और अपग्रेड के पहले लॉन्च के बीच अंतर कर सकते हैं। भविष्य के संस्करणों में उपयोगी हो सकता है ...
मुझे पता है इस सवाल का काफी पुराना है, लेकिन मैं इसे इस्तेमाल किया एक "ताजा स्थापित" (बनाम पहले स्टार्टअप के बाद के बाद पहले स्टार्टअप का पता लगाने में एक विधि के साथ आने के लिए अपग्रेड/डाउनग्रेड) और सोचा कि अगर मैं सहायक हूं तो मैं भविष्य के दर्शकों के लिए यहां कोड साझा करूंगा।
// Get current version ("Bundle Version") from the default Info.plist file
NSString *currentVersion = (NSString*)[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
NSArray *prevStartupVersions = [[NSUserDefaults standardUserDefaults] arrayForKey:@"prevStartupVersions"];
if (prevStartupVersions == nil)
{
// Starting up for first time with NO pre-existing installs (e.g., fresh
// install of some version)
[self firstStartAfterFreshInstall];
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:currentVersion] forKey:@"prevStartupVersions"];
}
else
{
if (![prevStartupVersions containsObject:currentVersion])
{
// Starting up for first time with this version of the app. This
// means a different version of the app was alread installed once
// and started.
[self firstStartAfterUpgradeDowngrade];
NSMutableArray *updatedPrevStartVersions = [NSMutableArray arrayWithArray:prevStartupVersions];
[updatedPrevStartVersions addObject:currentVersion];
[[NSUserDefaults standardUserDefaults] setObject:updatedPrevStartVersions forKey:@"prevStartupVersions"];
}
}
// Save changes to disk
[[NSUserDefaults standardUserDefaults] synchronize];
मैं हमेशा "पहले लॉन्च के लिए जांच" कोड का उपयोग कर रहा हूं, इसलिए यह एक बढ़िया जोड़ा है! काम क्लिंट के लिए धन्यवाद! – nickthedude
मैंने कभी अपग्रेड और डाउनग्रेड का पता लगाने का सोचा नहीं। +1। – JoePasq
संस्करणों का ट्रैक रखने के लिए यह वास्तव में एक अच्छा तरीका है। – Ansari
यह ठीक से काम नहीं होगा यदि आप अपने पहले प्रक्षेपण करता है, तो कोड के अन्य स्थानों के दौरान पता लगाने के लिए चाहते हैं। Multitasking के कारण "applicationWillTerminate" आईओएस 4.0 से काम नहीं करेगा। http://mobiledevblog.metalcompass.com/?p=43
यह एक बहुत आसान शॉर्टकट है लेकिन मैंने पाया कि NSUserDefault कुंजी मान जोड़े के लिए पहली बार हमेशा शून्य हैं यदि आप किसी एप्लिकेशन तो
// Check to see if its the first time
if ([[NSUserDefaults standardUserDefaults] valueForKey:@"firstTime"] == NULL) {
[[NSUserDefaults standardUserDefaults] setValue:@"Not" forKey:@"firstTime"];
}
चलाने के लिए और यह कोड: इस लिंक एक अच्छा समाधान प्रदान करता है विज़ुअल नियंत्रक के जागने के FromNib में जो आपका एप्लिकेशन लॉन्च होने पर दिखाई देता है। मुझे नहीं पता कि कोई अन्य उत्तर आपकी समस्या के लिए काम करता है, लेकिन इस तरह मैंने इसे हल किया है।
- 1. पता लगाएं कि आईओएस ऐप हैक
- 2. जावा ऐप में पहली बार उपयोगकर्ता का पता लगाएं
- 3. iCloud पहली बार काम नहीं करता है ऐप लॉन्च किया गया है
- 4. कॉलिंग didReceiveRemoteNotification जब ऐप पहली बार लॉन्च हो रहा है
- 5. पहली लॉन्च
- 6. पता लगाएं कि आईओएस में (वर्तमान) ऐप हटा दिया गया है या नहीं?
- 7. पता लगाएं कि ऐप एंड्रॉइड मार्केट
- 8. पता लगाएं कि आउटगोइंग कॉल का उत्तर दिया गया है
- 9. पता लगाएं कि आईफोन ब्राउज़र में पता बार दिखाया गया है
- 10. पता लगाएं कि Django
- 11. पता लगाएं कि कोड
- 12. पता लगाएं कि पाइथन
- 13. IDataErrorInfo - पहली बार त्रुटियों को अनदेखा करें जब दृश्य पहली बार लोड किया गया है
- 14. जेट्टी: पता लगाएं कि वेबपैप
- 15. पता लगाएं कि क्या फ़ायरबेस कनेक्शन गुम हो गया है/वापस प्राप्त किया गया है
- 16. मेरा आईओएस ऐप केवल पहली बार ठीक से वर्तमान भाषा का पता क्यों लगाता है?
- 17. एंड्रॉइड: पता लगाएं कि क्या ऐप बाजार से डाउनलोड किया गया था
- 18. पता लगाएं कि क्या UILocalNotification
- 19. पता लगाएं कि लिनक्स
- 20. पता लगाएं कि एक ऐप पृष्ठभूमि स्थिति में लॉन्च हुआ है?
- 21. पता लगाएं कि आईओएस में ऐप का कौन सा संस्करण स्थापित है?
- 22. पता लगाएं कि फ़ाइल
- 23. कैसे पता चलेगा कि UITextView पहली प्रतिक्रियाकर्ता बन गया है
- 24. पता लगाएं कि यूटीएफ -8
- 25. पता लगाएं कि हेडसेट में माइक्रोफ़ोन है
- 26. दो प्रक्रियाओं को फोर्क करें और पहली बार किया जाता है जब पहली बार किया जाता है
- 27. पता लगाएं कि क्या बदला गया है और केवल
- 28. पता लगाएं कि UIScrollView
- 29. पता लगाएं कि सी #
- 30. क्या एक स्मार्ट ऐप बैनर एक्सकोड से इंस्टॉल किया गया ऐप लॉन्च कर सकता है?
क्या एप्लिकेशन को अनइंस्टॉल किया गया है जब अनुप्रयोग के साथ जुड़े डिफ़ॉल्ट डेटाबेस में प्रविष्टियां हैं? – xyzzycoder
@xyzzycoder: yes –
पृष्ठभूमि उपलब्ध होने के साथ, '-प्लिकेशंस विल्ट टर्मिनेट:' आमतौर पर उपयोगकर्ता को एप्लिकेशन छोड़ने पर कॉल नहीं किया जाता है। इसके बजाय '-plicationWillResignActive' कहा जाता है। तो पहले लॉन्च उन दोनों तरीकों से सेट किया जाना चाहिए। – memmons