iOS ऐप सबमिशन: 64-बिट सपोर्ट गुम होना


91

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

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

warning_xcode

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

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

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

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

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


हमारा भी यह मुद्दा है। :(
अज़िक अब्दुल्ला

इसके अलावा कल से ही?
टिम ऑटिन

1) Xcode के लिए DerivedData को साफ़ करने का प्रयास करने के बाद आप इसे बदलते हैं; 2) हो सकता है कि आप एक पुराने बाहरी एपीआई, एसडीके, फ्रेमवर्क, आदि का उपयोग कर रहे हों
टोनीमेनू '

@ क्या आपने इसे ठीक करने का प्रबंधन किया? क्या आप इसके लिए समाधान पोस्ट कर सकते हैं?
user2056563

हाय, क्षमा करें मुझे समाधान नहीं मिला, और मैं अब इस परियोजना पर काम नहीं कर रहा हूं। अभी के लिए यह सिर्फ एक चेतावनी है, इसलिए मैं ऐप सबमिट करने में सक्षम हूं।
टिम ऑटिन

जवाबों:


106

Standard architecturesइस तरह से " " का प्रयोग करें:

  • वास्तुकला: "मानक आर्किटेक्चर" arm7, arm64
  • मान्य आर्किटेक्चर: " arm64 ", armv7 ...
  • केवल सक्रिय आर्किटेक्चर का निर्माण करें - NO (विशेषकर ... यदि आपका कनेक्टेड डिवाइस arm64 संगत नहीं है)

इस तरह:

यहां छवि विवरण दर्ज करें

  • इसके अतिरिक्त, मैक से आईफ़ोन और आईपैड को अनप्लग करना मदद के लिए जाना जाता है, खासकर यदि वे 32-बिट संस्करण हैं।

2
आपके उत्तर के लिए धन्यवाद, लेकिन जैसा कि मेरे प्रश्न में कहा गया है, मैंने पहले ही कोशिश की है, और परियोजना इस सेटिंग्स के साथ संकलन नहीं करती है: /
टिम ऑटिन

3
@ टिम, हाँ मुझे भी आर्चिटेक armv7 and arm64में मिला था । फिर भी, सबमिशन के लिए ऐप को वेरिफाई करते समय 64-बिट सपोर्ट चेतावनी गायब है।
अजीक अब्दुल्ला

@NAZIK क्या आपके पास दोनों लाइनों (आर्किटेक्चर और वैलिड आर्किटेक्चर) में arm64 है? मेरे पास एक ही त्रुटि थी और यह समाधान था
टोनीमेनू

@ अपने डेरीवेडडाटा को साफ करने की कोशिश करें और अपने नवीनतम बाहरी ढांचे या एसडीके की जांच करें यदि उनके पास 64 बिट समर्थन है
टोनीमुकु

3
यह भी सुनिश्चित करें कि अंतिम बिल्ड को संग्रहीत करते समय आपका डिवाइस कनेक्ट नहीं है। @Powertoold उत्तर बॉलो ( stackoverflow.com/a/26848865/1715004 ) देखें
फ़िलिप बोर्ग्स

68

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

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


4
सलाम! : D आपने मेरा समय बचा लिया है
वैभव लिम्बानी

1
बड़ी मदद !! मुझे इस पर बहुत समय बचाया। पुराने ऐप्स को अपग्रेड करने के लिए अच्छा टिप।
हैरी

मेरा मानना ​​है कि यदि आप बिल्ड सेटिंग Build Active Architecture Onlyको बदलते हैं तो आप अपने गैर-64 बिट उपकरणों को कनेक्ट रख सकते हैं No। यह xcode को 64 बिट बाइनरी के निर्माण के लिए बाध्य करेगा, चाहे जो भी उपकरण जुड़ा हो।
jxmallett

3
@Jxmallett के उत्तर के अलावा, सुनिश्चित करें कि आपका स्कीम कॉन्फ़िगरेशन पुरालेख रिलीज़ करने के लिए सेट है, जिसमें Build Active Architectureसेट किया गया है Noसेट पुरालेख योजना
करेनअन

1
FYI करें मुझे अपना डिवाइस अनप्लग करना था, सिम्युलेटर पर स्विच करना और फिर काम करने के लिए "iOS डिवाइस" पर वापस जाना।
nwkeeley

37

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

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

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

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

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

यहां छवि विवरण दर्ज करें


1
> "मान्य आर्किटेक्चर" में परिलक्षित नहीं, भले ही इसे मानक के रूप में दिखाया गया हो, यह मेरे लिए बिंदु था। धन्यवाद!
रोमेन

1
यदि यह दूसरों की मदद करता है, तो मुझे काम करने के लिए प्रोजेक्ट और टारगेट दोनों में बदलना होगा
djburdick

@djburdick साभार मेरे लिए तब काम किया जब कुछ और नहीं किया।
डेव चेम्बर्स

27

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


5

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

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

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

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

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

@ Timuçin। मेरे देर से जवाब के लिए क्षमा करें, आप सही हैं: armv7 armv7s arm64।
लियोनेल फोलमर

3

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

यहां छवि विवरण दर्ज करें


2% से कम लोग iOS 6 या उससे कम का उपयोग कर रहे हैं। developer.apple.com/support/appstore
किरीट वाघेला

2

ठीक है यह पागल था। मैंने हर एक जवाब की कोशिश की । लेकिन यह तभी काम किया जब मैंने arm64पहले armv7और armv7sवैध आर्किटेक्चर में रखा ।

पुनश्च: xcode version : 7.2


1
हाँ। केवल और केवल एक डिवाइस कनेक्ट करने के बाद त्रुटियों का वास्तविक लॉग दिखा। फिर कोड की कुछ पंक्तियाँ जिन्हें हटा दिया गया है और उन्हें (लाल) फिक्सिंग की आवश्यकता है और आरएसए परिवाद के साथ कुछ मुद्दों को दिखाया गया है।
मैक्सवेबर

1

मैंने समस्या को हल करके बदल दिया,

आर्किटेक्चर: arm7, arm64

वैध वास्तुकला: arm7, arm64

केवल सक्रिय वास्तुकला का निर्माण करें: हाँ


1

मैंने छवि के रूप में कॉन्फ़िगर करके सफलता प्रस्तुत की: यहां छवि विवरण दर्ज करें

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


1
रिलीज की विधा को सेट करना चाहिए
ZYiOS

1

हर चेतावनी से छुटकारा पा लिया। बार-बार सब कुछ करके भी गया। ऊपर एक शब्द का उत्तर मिला।

"केवल सक्रिय आर्किटेक्चर का निर्माण करें - NO (विशेष रूप से ... यदि आपका कनेक्टेड डिवाइस arm64 संगत नहीं है)"

मेरा iPad 64 बिट नहीं है। बिल्ड एक्टिव आर्किटेक्चर के लिए NO में रखो और मेरे सबमिशन ने काम किया!


0

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

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

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


आप वास्तव में 5.1.1 मतलब है? 5.1 हाल ही में पर्याप्त नहीं है?
डिर्क

बहुत लंबा समय गुजर गया। मैं इस तर्क को नहीं जानता या याद नहीं करता। बस कदम और कुछ वापस अपने उचित स्थान पर मिल सकता है। आर्किटेक्चर और सभी पृष्ठों के साथ उल्लिखित।
user1122069

0

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.