2012-09-20 7 views
7

मैंने armv7s arch समर्थन जोड़ने के लिए XCode 4.5 में अपग्रेड किया है, हालांकि, मैंने पाया कि आप XCode 4.5 के साथ armv6 binaries उत्पन्न नहीं कर सकते हैं।armv7s के लिए एक्सकोड 4.5 में अपग्रेड किया गया लेकिन एक्सकोड 4.5 armv6 को हटा देता है लेकिन आवश्यकताओं को प्रतिबंधित नहीं कर सकता

मैं पहले से ही armv6 का समर्थन करता हूं, लेकिन एक्सकोड 4.5 के साथ armv7s का समर्थन करना चाहता हूं मुझे लगता है कि यह खंड के विपरीत है: "आपको केवल अपनी डिवाइस आवश्यकताएं विस्तारित करने की अनुमति है। अपनी डिवाइस आवश्यकताओं को सीमित करने के लिए अपनी बाइनरी में अपडेट सबमिट करना अनुमति नहीं है। "

क्या किसी को पता है कि हमें armv6 ड्रॉप करने की अनुमति है, या यदि कोई कामकाज है?

शायद यह भी उल्लेखनीय है कि मैं एक ढांचा (लाइब्रेरी) बना रहा हूं, न कि ऐप। तो मैं ऐप डेवलपर्स का समर्थन करना चाहता हूं।

+1

यह सवाल गूगल पर पहले पृष्ठ में दिखाई देता है, इसलिए मैंने सोचा कि मैं इस सवाल का जवाब करने के लिए अन्य उपयोगकर्ताओं को इंगित चाहते हैं: http://stackoverflow.com/a/12678077/206520 – mmilo

उत्तर

2

armv6 मूल आईफोन और आईफोन 3 जी का सीपीयू आर्किटेक्चर है। यह देखते हुए कि आईओएस की दो पीढ़ियों के लिए दोनों अब समर्थित नहीं हैं, और इसे समर्थित लक्ष्यों से निकालना सुरक्षित है। वास्तव में, लक्ष्य armv7 को मौजूदा उपकरणों के लिए अधिक अनुकूलित बाइनरी का उत्पादन करना चाहिए।

यह देखते हुए कि आप पुस्तकालय कैसे विकसित कर रहे हैं, यह उपयोगकर्ताओं पर प्रतिबंध लगाएगा। आप या तो armv6 उपयोगकर्ता या armv7s उपयोगकर्ताओं को प्रतिबंधित करेंगे - पसंद मेरे लिए स्पष्ट प्रतीत होती है, लेकिन सुरक्षित होने के लिए, मैं आपकी armv7 और अप संस्करण को एक नई परियोजना ("v2" शायद) के रूप में ब्रांच करने की अनुशंसा करता हूं, इसलिए पुरानी लाइब्रेरी के उपयोगकर्ता जारी रख सकते हैं इसे तब तक सुरक्षित रूप से उपयोग करना जब तक कि वे अपनी परियोजनाओं को अपग्रेड नहीं कर पाते। तेजी से अपग्रेड को प्रोत्साहित करने के लिए मूल असमर्थित रखें।

+0

क्यों इस टिप्पणी downvoted किया गया था? हमने अभी हमारे उत्पाद के लिए यह किया है। –

+0

मुझे नहीं लगता कि मैंने इसे घटा दिया है। मुझे लगता है कि अगर हम कहते हैं कि हम केवल आईओएस 4.3 का समर्थन करते हैं और ऊपर हम armv6 को हटा सकते हैं। बिल्ड मशीन को एक्सकोड 4.5 मिलेगा और केवल armv7/armv7s/i386 का निर्माण करेगा। कोई भी व्यक्ति armv6 को पुरानी रिलीज का उपयोग करना होगा और अगर हमें इसका समर्थन करने की ज़रूरत है, तो हमें पुरानी लाइब्रेरी को मैन्युअल रूप से पैच करने के लिए एक्सकोड 4.4 को चारों ओर रखना होगा। पुस्तकालय के लिए मुझे एक नया नाम (उदा। "V2") का उपयोग नहीं करना पड़ेगा, अगर मैं इससे बच सकता हूं। – Christian

+0

आप इसका समर्थन नहीं कर सकते हैं, और पुरानी, ​​असमर्थित lib "विरासत" नाम दे सकते हैं। –

0

अपने प्रश्न को फिर से पढ़ने के बाद, मैं उलझन में हूं कि आपको किसी प्रकार की समस्या क्यों है। आप एक रूपरेखा का निर्माण कर रहे हैं, इसलिए यह प्रतिबंध आप पर लागू नहीं होता:

  • वाले उपयोगकर्ताओं ने पूर्व में अपने ढांचे, संस्करण है कि ARMv6 समर्थित करते थे, वैसे भी जब तक वे ARMv6 छोड़ अपने ऐप्स अपडेट करने में सक्षम नहीं होगा।

  • चूंकि नए ऐप डेवलपर्स को एक्सकोड 4.5 का उपयोग करने के लिए मजबूर किया जाएगा, इसलिए वे सभी Armv6 को छोड़ देंगे। यदि वे नए फ्रेम के साथ अपने ढांचे का उपयोग करना चाहते हैं तो वे किसी भी तरह से Armv6 का समर्थन नहीं कर पाएंगे।

तो मुझे ऐसा लगता है कि एक ढांचा डेवलपर के रूप में, यह दिशानिर्देश आपको बिल्कुल लागू नहीं करता है।

संपादित करें - इसके अलावा ... फेसबुक ऐप को केवल आईओएस 4.3 का समर्थन करने के लिए अपडेट किया गया है, Armv6 उपकरणों के लिए समर्थन छोड़ रहा है। http://itunes.apple.com/us/app/facebook/id284882215?mt=8

+0

मुझे लगता है कि आपको यह दिखाने के लिए कुछ सहायक सबूत चाहिए कि आप डिवाइस की आवश्यकताओं को सीमित कर सकते हैं। आप जो कह रहे हैं वह निम्न लिंक का खंडन करता है: https://developer.apple।कॉम/लाइब्रेरी/आईओएस/# दस्तावेज़ीकरण/भाषाएं क्षमताएं/संकल्पनात्मक/iTunesConnect_Guide/B_Device कॉम्पैबिलिटीमैटिक्स/डिवाइस कॉम्पैबिलिटीमैटिक्स.html – Christian

+0

मेरा जवाब बदल गया। –

+0

मुझे तकनीकी रूप से लगता है, लाइब्रेरी के मौजूदा उपयोगकर्ता एंटरप्राइज़ डेवलपर प्रोग्राम के उपयोगकर्ता हो सकते हैं और इस प्रकार armv6 बाइनरी विकसित और वितरित कर सकते हैं। हालांकि इसकी संभावनाएं छोटी हैं, और आप हमेशा उन्हें एक्सकोड 4.4 के साथ निर्मित बाइनरी दे सकते हैं। दूसरी बात, और मैंने अभी तक यह कोशिश नहीं की है, एक्सकोड 4.4 के कंपाइलर के साथ एक armv6 बाइनरी बनाना है और आईओएस 6 एसडीके के साथ निर्मित बाइनरी में इसे विभाजित करने के लिए 'लिपो' का उपयोग करना है। मुझे संदेह है कि ऐप्पल हालांकि इस तरह के एक ट्रिपल-आर्क बाइनरी को अस्वीकार कर सकता है। – pmdj

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