ios - आईओएस ऐप सबमिशन: लापता 64-बिट समर्थन




architecture app-store (8)

अपने iOS विकास लक्ष्य को कम से कम 5.1.1 पर बदलें या मानक आर्किटेक्चर सेटिंग को वैकल्पिक रूप से हटा दें और इसे फिर से लागू करें। आपने एक चेतावनी देखी होगी कि arm64 आपके बिल्ड लक्ष्य के अनुकूल नहीं है। ओवरव्यू पृष्ठ पर, निर्माण और लक्ष्य "परिनियोजन लक्ष्य" दोनों सेटिंग्स की जाँच करें। मेरे मामले में, लक्ष्य 6.0 था, लेकिन परियोजना 5.0 थी।

इसके अलावा, अपने लक्ष्य और परियोजना दोनों में "मान्य आर्किटेक्चर" की जांच करें। मेरे पास प्रोजेक्ट पर सही सेटिंग्स थीं लेकिन लक्ष्य पर नहीं। इसके बाद, इसने मेरे लिए काम किया।

बॉक्स के ऊपरी बाएं कोने में अवलोकन पृष्ठ पर प्रोजेक्ट / लक्ष्य के बीच स्विच करें।

मैंने समीक्षा के लिए कल एक ऐप भेजा, जिसमें कोई समस्या नहीं है। मुझे तब एहसास हुआ कि मेरे पास करने के लिए बहुत कम फिक्स था (19 से 18 तक नक्शे के अधिकतम ज़ूम स्तर को बदलना, और कुछ नहीं), इसलिए मैंने आईट्यून्स कनेक्ट से बाइनरी को हटा दिया, और फिर से शुरू करने की कोशिश की।

अब मैं यह चेतावनी दे रहा हूँ:

मुझे समझ नहीं आ रहा है, क्योंकि मेरे आर्किटेक्चर हैं:

  • आर्किटेक्चर: armv7
  • वैध आर्किटेक्चर: armv6, armv7, armv7s, arm64

ऐप सिम्युलेटर में ठीक चलता है। अगर मैं चेतावनी में अनुशंसित मानक आर्किटेक्चर (armv7, arm64) का उपयोग करने की कोशिश करता हूं, तो ऐप नहीं बनेगा और मुझे पता चलेगा:

  • वास्तुकला के लिए अपरिभाषित प्रतीक x86_64
  • ld: आर्किटेक्चर x86_64 के लिए प्रतीक नहीं मिला

मैं लिबास रूट-मी का उपयोग कर रहा हूं, और मैंने वही आर्किटेक्चर सेटिंग्स सेट की हैं।


आज मैं निम्नलिखित चरणों के साथ उस समस्या को हल करता हूं:

बिल्डिंग सेटिंग्स:

आर्किटेक्चर: मानक आर्किटेक्चर (arm7, arm64) - $ (ARCH_STANDARD)

मान्य आर्किटेक्चर: armv7 armv7s arm64

  1. कनेक्ट किए गए iPhone के साथ अपने ऐप को क्लीन और बिल्ड करें
  2. अपने iPhone को डिस्कनेक्ट करें और "iOS डिवाइस" में शीर्ष पट्टी की जांच करें
  3. पुरालेख
  4. मान्य करें और सबमिट करें

कृपया चेक एक्टिव आर्किटेक्चर विकल्प का निर्माण करें। इसे NO पर सेट करें। इससे मेरा काम बनता है।


जैसा कि टोनी ने लिखा है, उन सेटिंग्स में दोनों लाइनों में होना महत्वपूर्ण है। चूंकि मेरे (और जाहिर तौर पर) प्रोजेक्ट को बनाया गया था, क्योंकि arm64 को मानक में जोड़े जाने से पहले, इसे "Valid Architectures" में नहीं दिखाया गया है, भले ही इसे मानक के रूप में दिखाया गया हो

मैंने क्या किया:

  • मैं प्रोजेक्ट (बनाम लक्ष्य) कॉन्फ़िगरेशन में गया
  • मान्य आर्किटेक्चर में "arm64" टाइप किया गया (यह स्वचालित रूप से लक्ष्य और स्कीमा में परिलक्षित होता है

साफ / निर्माण के बाद मुझे सीजीफ्लोट, आदि के फ्लोट के अनुचित रूपांतरण के बारे में भी कुछ चेतावनी मिलती है, इसलिए सेटिंग्स स्पष्ट रूप से लागू होती हैं।

सत्यापन की चेतावनी भी गायब हो गई!


बस नवीनतम एक्सकोड संस्करण का उपयोग करके एक नया प्रोजेक्ट बनाएं और बिल्ड सेटिंग्स ढूंढें। नवीनतम संस्करण का उपयोग करके बनाई गई नई परियोजना में डिफ़ॉल्ट रूप से 64 समर्थन हैं।


मैंने इमेज के रूप में कॉन्फिगर करके सफलता प्राप्त की:

(वास्तविक डिवाइस के साथ संग्रहीत)


मैक से अपने भौतिक उपकरण को अनप्लग करें। डिवाइस सूची में XCode में iOS डिवाइस चुनें और फिर से आर्काइव बनाएं। इसने मेरे लिए काम किया।


सही आर्किटेक्चर की पुष्टि करने के बाद, सुनिश्चित करें कि जब ऐप स्टोर में सबमिट करने के लिए अंतिम बिल्ड ARCHIVING कर रहा है, तो आपका डिवाइस आपके कंप्यूटर से कनेक्ट नहीं है।

यह चेतावनी प्रकट होने का कारण यह है कि आपके द्वारा कनेक्ट किया गया DEVICE संभवतः arm64 संगत नहीं है।





arm64