ios - चेतावनी "मैपिंग आर्म आर्म 64 से x86_64" का क्या अर्थ है?




swift xcode (6)

मेरे ढांचे को Xcode 10 बीटा (10L176w) में माइग्रेट करने के बाद मुझे चेतावनी मिलनी शुरू हुई:

मानचित्रण वास्तुकला arm64 से x86_64 तक। सुनिश्चित करें कि यह लक्ष्य आर्किटेक्चर और मान्य आर्किटेक्चर बिल्ड सेटिंग्स iOS सिम्युलेटर प्लेटफॉर्म के लिए सही तरीके से कॉन्फ़िगर किया गया है।

... तथा:

मानचित्रण वास्तुकला armv7 से i386 तक। सुनिश्चित करें कि यह लक्ष्य आर्किटेक्चर और मान्य आर्किटेक्चर बिल्ड सेटिंग्स iOS सिम्युलेटर प्लेटफॉर्म के लिए सही तरीके से कॉन्फ़िगर किया गया है।

इन चेतावनियों के बावजूद बिल्ड और यूनिट परीक्षण सभी पास ठीक हैं। मैं स्विफ्ट 4.2 का उपयोग कर रहा हूं।

फिर भी, इन चेतावनियों के बारे में क्या है?


अगर आपकी [निर्माण सेटिंग्स] armv7 armv7s arm64 है, तो कृपया armv7s हटाएं। चेतावनी रद्द कर दी जाएगी।


अन्य उत्तरों के समान, मैं $(VALID_ARCHS) (मान्य आर्किटेक्चर) को $(ARCHS_STANDARD) बदलकर चेतावनी को हटाने में सक्षम था। वहां से, मैंने सभी व्युत्पन्न डेटा को साफ़ कर दिया और Xcode 10.0 को पुनः आरंभ किया। इससे चेतावनी पूरी तरह से चली गई। मान्य आर्किटेक्चर से सब कुछ हटाने के लिए बस एक अलग चेतावनी दिखाई दी ("कोई वैध आर्किटेक्चर नहीं मिला")।


चेतावनी की रिपोर्ट करने वाले लक्ष्य के लिए, "मान्य आर्किटेक्चर" सेटिंग को इसमें बदलें:

$(VALID_ARCHS)
x86_64


मैं अपनी चेतावनी आर्किटेक्चर को $(ARCHS_STANDARD) बदलकर मौन रखने में सक्षम था जो मेरे आर्किटेक्चर सेटिंग से भी मेल खाता है।

अजीब तरह से, यह armv7 arm64 ( armv7 arm64 की डिफ़ॉल्ट सेटिंग की तुलना में) के रूप में प्रदर्शित होता है, लेकिन इसे उस मूल्य पर मैन्युअल रूप से सेट करना अभी भी चेतावनी का कारण बना। निश्चित नहीं है कि इसका क्या महत्व है, लेकिन मैंने अभी तक अपने परीक्षण में कोई समस्या नहीं देखी है।


समाधान सरल है: मान्य आर्किटेक्चर में केवल arm64 को x86_64 के साथ बदलें

मेरी परियोजना में इसी तरह की समस्या और निम्नलिखित तीन चेतावनियाँ थीं:

मूल रूप से मेरे मान्य आर्कटक्चर थे

की जगह:

  • i386 के साथ armv7,
  • i386 के साथ armv7s,
  • और, x86_64 के साथ arm64

(जैसा कि चेतावनी में उल्लेख किया गया है) मेरा समाधान था। मान्य वास्तुकला सेटिंग में परिणाम था:

प्रतिस्थापन के बाद ऊपर मेरी तीन चेतावनियाँ गायब हो गईं।

आर्किटेक्चर के बारे में अधिक गहन जानकारी यहां पाई जा सकती है: https://docs.elementscompiler.com/Platforms/Cocoa/CpuArchitectures/

मुझे लगता है कि Xcode में इस चेतावनी का सूत्रीकरण थोड़ा भ्रम है।

उम्मीद है की यह मदद करेगा


बिल्ड सेटिंग्स पर जाएं और नीचे दिखाए अनुसार करें





xcode10