ios - यह जांचने के लिए कि क्या 64-बिट के लिए एक स्थिर लाइब्रेरी बनाई गई है?




objective-c static-libraries (2)

अच्छी पुरानी file चाल भी कर सकती है:

$ file libTestFlight.a

libTestFlight.a: Mach-O universal binary with 5 architectures
libTestFlight.a (for architecture armv7):   current ar archive random library
libTestFlight.a (for architecture armv7s):  current ar archive random library
libTestFlight.a (for architecture i386):    current ar archive random library
libTestFlight.a (for architecture x86_64):  current ar archive random library
libTestFlight.a (for architecture cputype (16777228) cpusubtype (0)):   current ar archive random library

ऐसा लगता है कि ऐप्पल में किसी ने भी arm64 cputype को file जोड़ने की परवाह नहीं की थी।

दिलचस्प बात यह है कि आईओएस 7 टेक टॉक वीडियो ("आर्किटेक्टिंग मॉडर्न एप्स, पार्ट 2", पीडीएफ पेज 35) में वे एक वर्किंग फाइल टूल का आउटपुट दिखाते हैं:

मैंने अभी तक आर्किटेक्चर के लिए बिल्ड सेटिंग $(ARCHS_STANDARD_INCLUDING_64_BIT) के निर्माण के साथ आईओएस के लिए एक स्थिर लाइब्रेरी बनाई है।

मैं यह सुनिश्चित करना चाहता हूं कि .a लाइब्रेरी ठीक उसी आर्किटेक्चर समेत है, लेकिन जब मैं उस पर lipo -info चलाता हूं, तो मैं देखता हूं:

वसा फ़ाइल में आर्किटेक्चर: लाइब्रेरी.ए हैं: armv7 armv7s (cputype (16777228) cpusubtype (0))

क्या इसका मतलब है कि arm64 शामिल नहीं है? यदि लिपो कमांड मुझे नहीं बता सकता है, तो क्या बताने का दूसरा तरीका है?

मैं नवीनतम कमांड लाइन टूल्स के साथ एक्सकोड 5 चला रहा हूं।


एक। .framework

lipo -info myFramework.framework/MyFramework







lipo