सिम्युलेटर पर Xcode त्रुटि: MGIsDeviceOneOfType इस प्लेटफ़ॉर्म पर समर्थित नहीं है


99

मेरे पास एक एकल दृश्य के साथ एक बहुत ही सरल अनुप्रयोग है, जिसमें कई UILabels हैं। सिम्युलेटर में चलने पर, Xcode कंसोल त्रुटि देता है:

libMobileGestalt MobileGestalt.c: 875: MGIsDeviceOneOfType इस प्लेटफ़ॉर्म पर समर्थित नहीं है।

सिम्युलेटर अपने आप में केवल एक सफेद स्क्रीन दिखाता है। मैंने इसे उसी स्क्रीन के साथ डेवलपर डिवाइस पर चलाने की भी कोशिश की है। मैंने प्रलेखन खोजा है, लेकिन इसका कोई संदर्भ नहीं मिल रहा है MGIsDeviceOneOfType। आवेदन MacOS 10.14 पर Xcode 10 बीटा में स्विफ्ट में लिखा गया है। मैं इसे iPhone 7-X सिमुलेटर पर चलाने का प्रयास कर रहा हूं, साथ ही एक विकास iPhone 7, सभी लक्ष्य सॉफ़्टवेयर (12.0) चला रहा हूं।


1
आपको उल्लेख करना चाहिए कि आप XCode 10 बीटा का उपयोग कर रहे हैं। btw एक ही मुद्दा रहा है
kironet

क्या आप AWS MobileHub का उपयोग करने की कोशिश कर रहे हैं?
विक्टर 'क्रिस' कैब्रल

2
प्रशिक्षक की प्रमुख MVC डिज़ाइन ऐप को चलाते समय डिबग कंसोल में इस त्रुटि के कारण भाग गया। मैं Xcode 10 (बीटा नहीं) चला रहा हूं। वास्तविक डिवाइस पर चलते समय त्रुटि नहीं हुई।
स्टीव रॉबर्टसन

4
Xcode 10 अपडेट (बीटा नहीं)
MUH मोबाइल इंक।

1
समस्या सिम्युलेटर में चल रहे प्लेटफ़ॉर्म से संबंधित प्रतीत होती है। मैंने एक खाली प्रोजेक्ट बनाया, संकलित किया, और iPhone X, XR, XS, और XS-Max पर चला और कोई समस्या नहीं थी। 8 प्लस से शुरू होने से पहले, और त्रुटि होने पर, इसे कुछ भी चलाएं। Mac OS X: 10.13.6, Xcode: 10.0
wbl2745

जवाबों:


25

MobileGestalt

LibMobileGestalt.dylib आईओएस के गुणों का के लिए एक केंद्रीय भंडार प्रदान करता है। यह ओएस एक्स के गेस्टाल्ट के अनुरूप हो सकता है, जो इसका हिस्सा है CoreServices। ओएस एक्स के गेस्टाल्ट को उदाहरण के लिए गेस्टाल्ट मैनेजर के रूप में प्रलेखित किया गया है और 10.8 के रूप में चित्रित किया गया है। MobileGestalt पूरी तरह से Apple द्वारा अप्रकाशित है क्योंकि यह एक निजी पुस्तकालय है।

MobileGestalt सिस्टम संपत्तियों के परीक्षण की अनुमति देता है जो विभिन्न सिमुलेटरों पर संगत हो सकते हैं या नहीं।

आईओएस में कुछ सिस्टम प्रोसेस और ऐप काफी हद तक MobileGestalt पर निर्भर करते हैं, जो /usr/lib/libMobileGestalt.dylib पर स्थित है। यह एक मूल पुस्तकालय से अधिक है, लेकिन इसके उजागर एपीआई एप्पल फ्रेमवर्क सम्मेलनों का अनुसरण करते हैं और MGउदाहरण के लिए एपीआई उपसर्ग का उपयोग करते हैंMGIsDeviceOneOfType

यदि आप iOS फाइल सिस्टम पर MobileGestalt की तलाश करते हैं, तो आपको यह नहीं मिलेगा - सभी निजी फ्रेमवर्क और लाइब्रेरी की तरह, इसे /System/Library/Caches/..etc में प्रीलिंक किया गया है। अगर आपको हैकिंग और पेन-टेस्टिंग पसंद है तो आप इसे निकालने के लिए टूल्स का इस्तेमाल कर सकते हैं।

MobileGestalt सिस्टम के विभिन्न पहलुओं पर बहुत सारी जानकारी - लगभग 200 या इतने ही प्रश्न प्रदान करता है। यहाँ कुछ है।

libMobileGestalt.dylib
//Answers to MG queries

MGCopyAnswer(@"5MSZn7w3nnJp22VbpqaxLQ");
MGCopyAnswer(@"7mV26K/1a+wTtqiunvHMUQ");
MGCopyAnswer(@"BasebandAPTimeSync");
MGCopyAnswer(@"BasebandPostponementStatus");
MGCopyAnswer(@"BasebandPostponementStatusBlob");
MGCopyAnswer(@"BasebandSecurityInfoBlob");
MGCopyAnswer(@"BasebandStatus");
MGCopyAnswer(@"BuildVersion");
MGCopyAnswer(@"CoreRoutineCapability");
MGCopyAnswer(@"DeviceClass");
MGCopyAnswer(@"DeviceClassNumber");
MGCopyAnswer(@"DeviceName");
MGCopyAnswer(@"DeviceSupports1080p");
MGCopyAnswer(@"DeviceSupports720p");
MGCopyAnswer(@"DiskUsage");
MGCopyAnswer(@"GSDeviceName");
MGCopyAnswer(@"HWModelStr");
MGCopyAnswer(@"HasBaseband");
MGCopyAnswer(@"InternalBuild");
MGCopyAnswer(@"InverseDeviceID");
MGCopyAnswer(@"IsSimulator");
MGCopyAnswer(@"MLBSerialNumber");
MGCopyAnswer(@"MaxH264PlaybackLevel");
MGCopyAnswer(@"MinimumSupportediTunesVersion");
MGCopyAnswer(@"PasswordConfigured");
MGCopyAnswer(@"PasswordProtected");
MGCopyAnswer(@"ProductType");
MGCopyAnswer(@"ProductVersion");
MGCopyAnswer(@"RegionCode");
MGCopyAnswer(@"RegionalBehaviorNTSC");
MGCopyAnswer(@"RegionalBehaviorNoPasscodeLocationTiles");
MGCopyAnswer(@"ReleaseType");
MGCopyAnswer(@"SIMStatus");

सैकड़ों और उदाहरण हैं AirplaneMode,MobileEquipmentIdentifier आदि

MobileGestalt OSType चयनकर्ता कोड की एक तालिका रखता है। उदाहरण के लिए c: 890 इस संदेश में: libMobileGestalt MobileGestalt.c: 890: MGIsDeviceOneOfType इस प्लेटफ़ॉर्म पर समर्थित नहीं है। इस मामले MGIsDeviceOneOfTypeमें MobileGestalt पुस्तकालय की एक विधि है

सिम्युलेटर संस्करण की जांच करने के बजाय सीधे सिम्युलेटर की क्षमताओं को क्वेरी करने के लिए एक अलग चयनकर्ता है। सबसे अधिक संभावना है कि संदेश सिम्युलेटर संस्करणों और एक्सकोड संस्करणों और / या सिम्युलेटर पर असमर्थित एपीआई के बीच असंगतता का संकेत देते हैं।


3
यह समस्या का तार्किक कारण लगता है। आपने समस्या को ठीक करने के लिए क्या किया?
ब्रायन सचेटा

1
जैसा कि बहुत अंतिम वाक्य बताता है। सुनिश्चित करें कि सिम संस्करण और Xcode संस्करण संगत हैं या केवल एक वास्तविक डिवाइस का उपयोग करें।
एडिसन

आपने 200 या इतने ही प्रश्न लिखे हैं , लेकिन जाहिर है कि 673 ज्ञात अस्पष्ट कुंजी हैं । [संपादित करें: ओह ठीक है, आपका नाम "tymac" है और ब्लॉग "timac" से है ... शायद यह संयोग नहीं है]
Cidenceur

17

मैंने प्रोजेक्ट कचरा को अक्षम करने के साथ इसे सफलतापूर्वक गिरा दिया है।

< अपने प्रोजेक्ट का नाम > -> स्कीम -> एडिट स्कीम पर जाएं फिर रन पर जाएं (मेन्यू बाईं ओर) पर जाएं और निम्नलिखित पर्यावरण पैटर्न जोड़ें:

नाम : OS_ACTIVITY_MODE, मान : अक्षम

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


1
यह मेट काम कर रहा है। कोई स्पष्टीकरण क्यों यह काम कर रहा है?
आदित्य एस।

1
यह कोई उत्तर नहीं है, लेकिन यह संबंधित और महत्वपूर्ण है: stackoverflow.com/questions/52410471/…
dlpolanco

मुझे खेद है कि इस दृष्टिकोण की कोशिश करते हुए, मेरा सिम्युलेटर नहीं खुल रहा है और कंसोल पर कोई आउटपुट नहीं है।
नीरज शुक्ला

इस तरह के अल्पविराम कुछ डिबग संदेशों को छोड़ देते हैं, यह बहुत उपयोगी है और इसका सिम्युलेटर और कंसोल के सही काम से कोई लेना-देना नहीं है: शायद आपके पास एक और मुद्दा है जो इस तर्क से संबंधित नहीं है।
एलेसैंड्रो ऑर्नानो

मुझे इस त्रुटि का सामना करना पड़ा: libMobileGestalt MobileGestalt.c: 890: MGIsDeviceOneOfType इस प्लेटफ़ॉर्म पर समर्थित नहीं है। इसके लिए जब मैंने उपरोक्त दृष्टिकोण की कोशिश की, यह काम नहीं किया। लेकिन जब मैंने बस सिम्युलेटर छोड़ दिया और अपने कोड को साफ कर दिया, तो यह ठीक काम कर रहा था।
नीरज शुक्ला

9

मेरे मामले में: विधि के लिए अपने एप्लिकेशन प्रतिनिधि की जाँच करें - didFishishLaunching। मेरे पास निजी थे और मुझे त्रुटि मिली। "निजी" को हटाने के बाद सब कुछ ठीक काम करता है


6
मेरा निजी नहीं था।
स्कॉट्टीब्लाड्स

8

मैं सिर्फ Xcode 10 बीटा स्थापित और एक ही समस्या थी। रान Xcode 9.4.1 और समस्या चली गई।


10
यह एक व्यवहार्य जवाब नहीं है IMO, विशेष रूप से अब जब कि xcode 10 जंगली में है और अभी भी यह मुद्दा है। समस्या 9.4.1 पर "चली गई" नहीं थी - यह कभी भी शुरू करने के लिए अस्तित्व में नहीं थी। यह एक बात है "दुर्भाग्य से यह एक xcode 10 मुद्दा है और हमें धैर्य रखना होगा।" इसे पूरी तरह से नजरअंदाज करना एक और बात है।
ब्रायन सचेटा

6

यह त्रुटि केवल तब होगी जब सिमुलेटरों पर परीक्षण / डिबगिंग।

नए सिम्युलेटर बेहतर है।

मामला: मैं सिम्युलेटर iPhone 8 प्लस चलाता हूं मुझे यह संदेश डीबगर में मिला है।

समाधान: मैं डीबगर में एक नए सिम्युलेटर नो एरर मैसेज में बदल गया।


5

Xcode 10.0 पर GitHub से कुछ प्रोजेक्ट खोलने पर इसमें भाग गया।

व्यावहारिक समाधान यह था: कई बार 'प्रोग्राम जारी रखें' को हिट करें और संभवत: अपने अपवाद को तोड़ दें । जाहिरा तौर पर अपवाद वसूली योग्य था।

यह एक वास्तविक समाधान नहीं है लेकिन यह मेरे लिए उस बिंदु पर काफी अच्छा था।


मेरे मामले में, Xcode 10.1 में एक पुरानी परियोजना को खोलने, बस 'जारी रखें कार्यक्रम निष्पादन' कई बार मुझे वास्तविक मुद्दे पर हल के साथ यहां ले गया है stackoverflow.com/a/12398777/4221299
zeeawan

5

मेरे मामले में, टारगेट परिनियोजन लक्ष्य iOS 8 पर था। जब मैंने इसे iOS 10.3 तक धकेल दिया, तो यह सिम्युलेटर और डिवाइस दोनों पर ठीक चला।

LibMobileGestalt त्रुटि को ठीक करने के लिए परिनियोजन लक्ष्य बदलना


1
मेरा 12.2 पर सेट है और संदेश iPhone SE सिम्युलेटर के साथ मुद्रित किया गया है लेकिन iPhone XR एक के साथ नहीं। तो, कम से कम मेरे लिए, @anorskdev सही है।
नेफा

5

इस समस्या को देखते हुए। Xcode 10.1 का उपयोग करना। बिल्कुल नया प्रोजेक्ट बनाया गया - एक सफेद स्क्रीन दिखाने के अलावा कुछ नहीं करता। पता चला कि यह पुराने उपकरणों के लिए सिम्युलेटर पर दिखाई दे रहा था। उदाहरण के लिए, आईपैड प्रो (12.9 इंच) और आईपैड प्रो (12.9 इंच) (दूसरी पीढ़ी) समस्या दिखाते हैं, लेकिन समस्या आईपैड प्रो (12.9 इंच) (तीसरी पीढ़ी) के लिए चली गई है। IPhone XR सिम्युलेटर के लिए दिखाई नहीं देता है।

मूल रूप से कष्टप्रद लगता है।


मेरे लिए भी यही कारण था। मुझे यकीन नहीं है कि यह एक मुद्दा क्यों है। मेरा iPad iOS 12 चलाने में सक्षम है, इसलिए सिबलिंग सिम्युलेटर को एक असमर्थित डिवाइस नहीं माना जाना चाहिए।
अभय जैक्सन

यहाँ एक ही बात (स्क्रीन केवल एक InputField और एक बटन मिला)। IOS 12 प्रोजेक्ट के साथ Xcode 10: iPhone SE सिम्युलेटर का उपयोग करने से यह संदेश लॉग हो जाता है लेकिन यह iPhone XR के साथ दिखाई नहीं देता है।
नेफा

2

यदि आपके पास ऐप द्वारा प्रदान किए गए फोंट हैं, तो आपको Info.plist में जोड़ना होगा और जांचना होगा कि फ़ाइल में लक्ष्य सदस्यता चयनित है या नहीं


1

जब अजीब त्रुटियां होती हैं तो नियमित तरीका मदद करता है:

1) स्वच्छ परियोजना;
2) शट डाउन सिम्युलेटर;
3) फली की स्थापना रद्द करें।

Xcode 10।


मेरे लिए भी यही काम किया। बहुत बहुत धन्यवाद। 'नेटिवस्क्रिप्ट' प्लेटफ़ॉर्म पर iOS के उपयोगकर्ता, आप कर सकते हैं (1) 'प्लेटफ़ॉर्म / आईओएस' फ़ोल्डर को हटाकर प्रोजेक्ट को साफ़ करें, (2) शटडाउन करें और "सभी सामग्री और सेटिंग्स मिटा दें" से सिम्युलेटर को रीसेट करें, और (3) पुनर्निर्माण करें रनिंग के द्वारा प्रोजेक्ट 'tns तैयार ios --release' और फिर 'tns build ios --bundle'। फिर, आप .xcworkspace फ़ाइल खोलकर सिम्युलेटर में ऐप चला सकते हैं, एक सिम्युलेटर चुन सकते हैं और वहां से प्रोजेक्ट चला सकते हैं। इसने मेरे लिए पूरी तरह से काम किया।
मिक मोरीली

1

मेरे लिए, फोकस में सिम्युलेटर के साथ, मैंने हार्डवेयर का चयन किया-> सभी सामग्री और सेटिंग्स मिटा दें।

सिम्युलेटर फिर से शुरू होने के बाद, मेरे ऐप को फिर से लॉन्च करना, उम्मीद के मुताबिक काम किया।


1
अब इसे कहा जाता है Device->Erase All Content and Settings...
ब्रूनो बीरी

1

मैं XCode -> प्राथमिकताएं -> घटक सभी सिमुलेटरों और चेक बॉक्स को अद्यतन स्वचालित रूप से स्थापित करने के लिए ले गया, और फिर "अब जांचें और स्थापित करें" और कुछ घंटों तक चले गए, जब वे सभी अपडेट किए गए थे।

अब समस्या दूर हो गई है - इसलिए वास्तव में, यह वर्णित है। पुराने - गैर-अद्यतन सिमुलेटर के साथ नया एक्सकोड।


है कि स्मृति का एक बहुत खाने के लिए नहीं जा रहा है?
यूरिडाइसिस 01

0

मैं एक ही मुद्दा था, लेकिन MapKit के साथ, जहां एक MapView नहीं दिखा, बस सफेद स्क्रीन और एक ही त्रुटि, MGIsDeviceOneOfType इस मंच पर समर्थित नहीं है।

MapView ऑब्जेक्ट से बंधा "अस्पष्ट लेआउट" चेतावनी को ठीक करके इसे हल किया। अब यह पूरी तरह से ठीक काम कर रहा है, और त्रुटियां दूर हो गईं।


0

मेरे लिए जो काम किया गया था वह general > Deployment Info > Main InterfaceCDVLaunchScreen के भीतर बदलना था और CDVLaunchScreen के भीतर general > App Icons and Launch Images > Launch Screen Fileभी करना था।

मैं आयनिक से आता हूं, इसलिए जो लोग स्विफ्ट / ऑब्जेक्टिव-सी में विकसित होते हैं उनके लिए यह समस्या नहीं हो सकती है।


1
आपने इसे कैसे तय किया? मुझे भी यही समस्या हो रही थी। लेकिन ऐसा केवल तब होता है जब आयनिक में और बाद उत्पादन पर इसे चलाने कि मैं स्प्लैश स्क्रीन लोडर में फंस
KnowledgeSeeker

0

मैंने हाल ही में Xcode में अपडेट किया है 10.2 और जब मैंने पहले के संस्करण में बनाई गई परियोजना को चलाने की कोशिश की, तो वही त्रुटि हुई।

समस्या यह थी कि एक्सकोड को अपडेट करने से पहले सिम्युलेटर चल रहा था।

मेरे लिए सिम्युलेटर छोड़ना और पुनः आरंभ करना बहुत आसान था, ताकि इसे नए बदलाव मिल सकें। मुझे नहीं लगता कि सिम्युलेटर का मॉडल (iPhone SE या iPhone X) मायने रखता है। नए अपडेट के प्रभावी होने के लिए आपको बस अपने सिम्युलेटर को फिर से शुरू करना होगा।

मैं एक्सकोड और सिम्युलेटर दोनों को छोड़ने और अपने मैक को पुनरारंभ करने की सिफारिश करूंगा।


0

मुझे यह त्रुटि .syncमुख्य कतार पर कॉल करके मिली, जिसके कारण गतिरोध ( DispatchQueue.main.sync {}) हुआ। मुझे बुलाने का मतलब था .async


0

मुझे यह त्रुटि मिली, जब एक json फ़ाइल को पढ़ने की कोशिश की जा रही है जो कि मेरी परियोजना के अंदर है और यह शून्य वापस आ गई है, इस वजह से मुझे यह त्रुटि मिली।

फॉन्ट नाम में कुछ स्पेलिंग मिस्टेक की वजह से मुझे एनआईएल मिला, उस जोंस फाइल ने फॉन्ट नेम पकड़े हुए थे, फॉन्ट नाम कॉपी करने के बाद मुझे डेटा मिला और एरर फिक्स हो गया।

मैंने ऊपर दिए गए सभी समाधानों की पूरी कोशिश की, कुछ भी काम नहीं किया, इसलिए धैर्य के साथ बहस करें, आपको पता चल जाएगा कि यह त्रुटि किस कारण से है और कुछ बुरे समय में xcode हमारे जीवन में खेलेगा :)


0

मैं एक ही समस्या का सामना कर रहा था, लेकिन मैंने इसे सफलतापूर्वक नीचे की चीजों के साथ छोड़ दिया है:

  1. शटडाउन सिम्युलेटर,
  2. शटडाउन Xcode,
  3. Xcode और सिम्युलेटर को फिर से खोलें

मुझे उम्मीद है इससे मदद मिलेगी।

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