तोड़ने के बिना आईओएस 5 सुविधाओं का उपयोग करना मेरा आवेदन वर्तमान में नवीनतम आईओएस 4.x एसडीके के खिलाफ संकलित है। एक बार आईओएस 5.0 एसडीके खत्म होने के बाद, मेरे आवेदन में नई आईओएस 5.0 एसडीके सुविधाओं का उपयोग करना संभव होगा और फिर भी यह आईओएस 4 उपकरणों पर चल रहा है (लेकिन नई सुविधाओं को अक्षम करने वाले हिस्सों के साथ)?पिछड़ा संगतता
उत्तर
आम तौर पर इस सवाल का जवाब करने के लिए, ऑब्जेक्टिव-सी क्रम पूरी तरह से प्रतिबिंबित करता है, जिसका अर्थ है कि आप जो प्रणालियां किसी ऑब्जेक्ट का समर्थन करता है क्वेरी कर सकता है (respondsToSelector:
माध्यम से) और से वर्गों में से काबू पाने रनटाइम पर नाम (NSClassFromString
के माध्यम से)। आईओएस बाइनरी फ्रेमवर्क के साथ कमजोर जुड़ाव की अवधारणा का भी समर्थन करते हैं, जिसका मतलब है कि फ्रेमवर्क लोड होने पर लोड किया जाएगा, लेकिन फ्रेमवर्क उपलब्ध नहीं होने पर आप इसे घातक त्रुटि नहीं मानते हैं (जैसा कि डिफ़ॉल्ट व्यवहार है)।
इसका मतलब है कि जब ऐप्पल ओएस के नए संस्करण जारी करता है तो आप ओएस के नवीनतम संस्करण पर नई सुविधाओं का उपयोग करने वाले कोड लिख सकते हैं लेकिन उनके बिना ठीक काम करता है यदि उन नई विशेषताएं एपीआई के नए बिट हैं।
ऐप्पल कभी-कभी नई एसडीके सुविधाओं की आपूर्ति करता है जो नए एपीआई नहीं हैं, जैसे क्लैंग स्थिर विश्लेषक को एक्सकोड में जोड़ा गया था। चूंकि उन विशेषताओं को आमतौर पर किसी रनटाइम समर्थन की आवश्यकता नहीं होती है, वे पूरी तरह से उपयोग योग्य होते हैं। आईओएस 5 थोड़ा अनोखा है क्योंकि ऐप्पल एलएलवीएम प्रोजेक्ट के लिए प्रतिबद्ध है, सुझाव देता है कि कुछ रनटाइम समर्थन पर निर्भर एआरसी सामानों में कुछ नई संकलन समय विशेषताएं हैं। तो वे अनुपलब्ध होंगे, अगर वास्तव में वे उपकरण में हैं क्योंकि ऐप्पल उन्हें वितरित करने का इरादा रखता है।
आप गीलेर की जांच कर सकते हैं कुछ फ़ंक्शन रनटाइम के दौरान उपलब्ध हैं या नहीं।
उदाहरण के लिए:
Class motionManagerClass = NSClassFromString(@"CMMotionManager");
if(motionManagerClass) {
CMMotionManager *motionManager = [[CMMotionManager alloc] init];
if([motionManager isGyroAvailable]) {
//iOS device with gyro
}else {
//right iOS but device has no gyro
}
}else{
//wrong iOS
}
- 1. एपीआई पिछड़ा संगतता
- 2. सिल्वरलाइट 5 पिछड़ा संगतता
- 3. गिट रिपोजिटरी पिछड़ा संगतता
- 4. एमएस ऑफिस पीआईए "पिछड़ा संगतता"
- 5. पिछड़ा-संगतता कितनी महत्वपूर्ण है?
- 6. डब्ल्यूसीएफ सेवा पिछड़ा संगतता जांच
- 7. उदारीकरण और .dll पिछड़ा संगतता
- 8. वेबसॉकेट संस्करण और पिछड़ा संगतता
- 9. डब्ल्यूसीएफ सेवा - पिछड़ा संगतता मुद्दा
- 10. पिछड़ा संगतता और वेब सेवाएं
- 11. इकाई फ्रेमवर्क में एसक्यूएल सर्वर पिछड़ा संगतता?
- 12. आईओएस 6 एपीआई और पिछड़ा संगतता
- 13. जावा 6 स्रोत पिछड़ा-संगतता और एसक्यूएल
- 14. पिछड़ा संगतता क्या असंभव बना देगा?
- 15. मैक ओएस एक्स ऐप पिछड़ा संगतता 10.6 और 10.7 एनएसपीओपीओवर
- 16. .NET कॉम्पैक्ट फ्रेमवर्क पिछड़ा संगतता 3.5 और 2.0
- 17. विरासत संगतता
- 18. क्या सी ++ में टाइपनाम कीवर्ड मौजूद है, "सी टेम्पलेट्स" के साथ पिछड़ा संगतता के लिए
- 19. Android API स्तर 15 का उपयोग करते समय पिछड़ा संगतता कैसे बनाए रखें?
- 20. gnu C++ 0x पिछड़ा संगतता स्थिति - क्या मैं इसे अभी चालू कर सकता हूं?
- 21. पिछड़ा-संगत डब्ल्यूसीएफ सेवाएं बनाना
- 22. पिछड़ा/आगे फ़ंक्शन
- 23. पिछड़ा संगत स्विच
- 24. match_parent संगतता
- 25. उल्का संगतता
- 26. अंतिम संगतता
- 27. पिछली संगतता
- 28. क्या सी ++ बूस्ट बाइनरी सीरियलाइजेशन लाइब्रेरी पिछड़ा/फवर्ड संगत है?
- 29. पिछली संगतता सुनिश्चित करने के लिए एपीआई डिज़ाइन
- 30. पाठ को पिछड़ा कैसे व्यवस्थित करें?
संभावित डुप्लिकेट [आप 2.0 अनुकूल संगत ऐप में वैकल्पिक रूप से आईफोन ओएस 3.0 सुविधाओं का उपयोग कैसे करते हैं?] (Http://stackoverflow.com/questions/986589/how-do-you-optionally-use-iphone-os- 3-0-फीचर्स-इन-ए-2-0-संगत-एप) –
यह भी देखें [आईफोन ऐप को कई एसडीके (फर्मवेयर) संस्करणों के साथ संगत कैसे करें] (http://stackoverflow.com/questions/3027120/how करने वाली मेकअप iphone-ऐप-संगत-साथ-कई-sdk-फर्मवेयर-संस्करण)। हालांकि उन प्रश्नों के संस्करण पुराने हैं, वही सामान्य सिद्धांत लागू होते हैं। –