ios - उनल - हम किस जगह पर है




Xcode 5 ने मेरे आर्किटेक्चर की स्थापना के बारे में चेतावनी दी है जब मैं Xcode 4 में बनाए गए मेरा Google मानचित्र प्रोजेक्ट खोलता हूं (2)

ओह - जैसा कि ऐसा हुआ, मैंने खुद को जवाब खोजने के लिए इस प्रश्न को पोस्ट करने के बाद केवल कुछ सेकंड्स का प्रयोग किया:

  1. समस्या नेविगेटर में 'मान्य परियोजना सेटिंग्स' चेतावनी पर क्लिक करें।
  2. 'स्वचालित रूप से चुनें आर्किटेक्चर' के बाईं ओर चेकबॉक्स को अनचेक करें, परिवर्तन का सुझाव दिया
  3. 'पूर्ण' पर क्लिक करें (या 'परिवर्तन करें' यदि सूची में अन्य बदलाव किए गए हैं जो आप वास्तव में करना चाहते हैं - मेरे मामले में, यह केवल एक ही था)।

अब आपकी सेटिंग्स पहले की तरह हैं, और आप आईफोन 5 के लिए बना सकते हैं, लेकिन चेतावनी खत्म हो गई है।

मुझे इस प्रश्न को पोस्ट करने के लिए अपना समय व्यतीत करने के लिए थोड़ी धीमी लग रहा है, लेकिन मैं इस प्रश्न को छोड़ रहा हूं और यहां इस उत्तर में यह भविष्य में किसी को मदद करता है।

मैंने अभी हाल में रिलीज किए गए Xcode 5 में अपडेट किया है। मेरे पास एक आईओएस ऐप है जो विकास के तहत है जो Google Maps iOS SDK का उपयोग करता है। पिछला जब मैं एक्सकोड 4 में विकसित हो रहा था, तो मैंने अपनी परियोजना सेटिंग्स में एसडीके को जोड़ने के लिए Google के निर्देशों के चरण 7 के अनुसार मेरी Architectures सेटिंग बदल दी थी:

7. किसी विशिष्ट लक्ष्य की बजाय अपनी प्रोजेक्ट चुनें, और बिल्ड सेटिंग टैब खोलें। Armv7 के साथ आर्किटेक्चर के डिफ़ॉल्ट मान को बदलें अन्य लिंकर ध्वज अनुभाग में, जोड़ें- ओबीजेसी यदि ये सेटिंग दिखाई नहीं दे रही हैं, तो बेसिक से सभी के लिए बिल्ड सेटिंग बार में फ़िल्टर को बदलें।

हर चीज Xcode 4 में ठीक थी। हालांकि, जब मैं अपना प्रोजेक्ट Xcode 5 में खोलता हूं, तो मुझे समस्या नेविगेटर में निम्नलिखित चेतावनी दिखाई देती है:

परियोजना सेटिंग्स मान्य करें

अनुशंसित सेटिंग्स को अपडेट करें

जब मैं चेतावनी पर क्लिक करता हूं, तो Xcode मुझे अपनी प्रोजेक्ट सेटिंग्स पर ले जाता है और 'रद्द करें' और 'परिवर्तन करें' बटन के साथ एक पॉपअप प्रदर्शित करता है, और यह परिवर्तन के निम्नलिखित वर्णन करना चाहता है

परियोजना 'आपकी परियोजना' - स्वचालित रूप से आर्किटेक्चर चुनें

परियोजना 'आपकी परियोजना' आर्किटेक्चर सेटिंग को ओवरराइड करती है। यह सेटिंग्स को निकाल देगा और सक्रिय प्लेटफ़ॉर्म और परिनियोजन लक्ष्य के लिए उपलब्ध हार्डवेयर के आधार पर एक्सकोड को स्वचालित रूप से आर्किटेक्चर चुनने की अनुमति देगा।

मैंने 'परिवर्तन करने' पर क्लिक करने की कोशिश की और Xcode को जो कुछ भी करना चाहते थे, उसे दे दिया और ऐप अभी भी सिमुलेटरों के लिए ठीक बनाया गया। हालांकि, जब मैंने एक iPhone 5 (जो कि एआरएमवी 7 एस का समर्थन करता है) में प्लगिंग करने की कोशिश करता है और उस पर चल रहा है, तो ऐप निम्न लिंकर त्रुटि के साथ निर्माण करने में विफल रहा है:

Ld /Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos/Your\ App.app/Your\ App normal armv7s
    cd "/Users/macmini/Documents/Your App"
    setenv IPHONEOS_DEPLOYMENT_TARGET 6.1
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -L/Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos -F/Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos -F/Users/macmini/Documents/Your\ App -filelist /Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Intermediates/Your\ App.build/Debug-iphoneos/Your\ App.build/Objects-normal/armv7s/Your\ App.LinkFileList -dead_strip -ObjC -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=6.1 -framework SystemConfiguration -framework MapKit -framework QuartzCore -framework OpenGLES -lz -licucore -lc++ -framework ImageIO -framework GLKit -framework CoreText -framework CoreLocation -framework AVFoundation -framework CoreData -framework UIKit -framework Foundation -framework CoreGraphics -framework GoogleMaps -Xlinker -dependency_info -Xlinker /Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Intermediates/Your\ App.build/Debug-iphoneos/Your\ App.build/Objects-normal/armv7s/Your\ App_dependency_info.dat -o /Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos/Your\ App.app/Your\ App

ld: file is universal (2 slices) but does not contain a(n) armv7s slice: /Users/macmini/Documents/Your App/GoogleMaps.framework/GoogleMaps file '/Users/macmini/Documents/Your App/GoogleMaps.framework/GoogleMaps' for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

एक बार जब मैंने अपने आप में जेकोड ने स्वचालित बदलाव किए थे, तो मेरे ऐप ने आईफोन 5 के लिए ठीक ठीक काम किया - लेकिन निश्चित तौर पर मुझे चेतावनी वापस मिल गई।

मैं अपने ऐप को आईफोन 5 के लिए सफलतापूर्वक बनाने की अनुमति दे रहा हूं, तो मैं कैसे Xcode को संतुष्ट और चेतावनी से छुटकारा पा सकता हूं?


लिंकर आपको एक त्रुटि दे रहा है क्योंकि GoogleMaps फ़्रेमवर्क जो आप उपयोग कर रहे हैं वह armv7s आर्किटेक्चर का समर्थन नहीं करता है। हो सकता है कि GoogleMaps फ़्रेमवर्क का नवीनतम संस्करण इस प्रकार का समर्थन करता है या शायद आपको Google के अपडेट के लिए इंतजार करना होगा।





google-maps-sdk-ios