सिम्युलेटर में ऐप चलाने में असमर्थ: दौड़ते समय एक त्रुटि आई (डोमेन = LaunchServicesError, कोड = 0)


91

Xcode 6 में प्रोजेक्ट को सफलतापूर्वक संकलित करने के बाद, मैं उपर्युक्त संदेश के साथ सिम्युलेटर में इसे चलाने में असमर्थ हूं। मैंने हर संभव शोध किया, हर चीज की कोशिश की और फिर भी कोई प्रगति नहीं हुई।

मैं स्विफ्ट के साथ काम नहीं कर रहा हूं, न ही मैं विगेट्स या एक्सटेंशन का उपयोग करता हूं, इसलिए कृपया इनसे होने वाले समाधानों का सुझाव न दें जैसा कि इसी तरह के सवालों में देखा जा सकता है।

अगर किसी को इन के अलावा कोई संभावित कारण (या समाधान !!) मिला है , तो कृपया मदद करें। धन्यवाद


यह उपयोगी होगा यदि आप सूचीबद्ध कर सकते हैं कि आपने उन सिफारिशों को बाहर करने का क्या प्रयास किया है।
डोनमार्कसी

समस्या अब हल हो गई है, लेकिन सिर्फ मैंने जो जानकारी की कोशिश की है, उसके लिए: - एक क्लीन चल रहा है - प्रोजेक्ट कैश / व्युत्पन्न डेटा को हटाना - सिम्युलेटर और एक्सकोड दोनों को फिर से शुरू करना - मैक को पुनरारंभ करना - एक्सकोड को फिर से स्थापित करना - कोकोपीड को साफ करना और फिर से स्थापित करना - किसी भी दुर्लभ के लिए सेटिंग्स की जांच करना कुछ भी मदद नहीं की। ऐप एक्सटेंशन के साथ नामकरण करने का प्रयास न करें क्योंकि मैं किसी का उपयोग नहीं करता हूं।
मिकी

3
"उत्पाद -> स्वच्छ" ने मेरे लिए काम किया।
nshuman

मुझे यह समस्या थी: stackoverflow.com/questions/27037589/…
derpoliuk

सिम्युलेटर को फिर से शुरू करने से मेरी समस्या हल हो गई
भावेश

जवाबों:


175

IOS सिमटैलोर मेनू विकल्पों से "सामग्री और सेटिंग्स रीसेट करें" और छोड़ने के बाद सिम्युलेटर लॉन्च करने से मेरी समस्या हल हो गई।

सामग्री और सेटिंग रीसेट करें


6
प्रारंभिक उत्तर की तुलना में बेहतर है। समाधान के रूप में चिह्नित किया जाना चाहिए।
डेनिसलेक्सिक

उसके बाद मुझे सिम्युलेटर को छोड़ने और फिर से खोलने की भी आवश्यकता थी।
jfredsilva

यह आवश्यकता पहले से ही मेरे उत्तर @jfredsilva में उल्लिखित है।
सात्विक डोलुई

1
यदि आप पहले इसे सिम्युलेटर पर स्थापित कर चुके हैं, तो ऐप को डिलीट भी कर सकते हैं
डेनवरनर

मेरे लिए काम। धन्यवाद
निखिल चौरसिया

125

बिल्ड फ़ोल्डर की सफाई ने मेरे लिए समस्या हल कर दी। मुझे आशा है कि यह किसी की मदद करता है!

( Alt -key को दबाए रखते हुए : उत्पाद> क्लीन बिल्ड फोल्डर )


1
YA YA YA, ने इस मुद्दे को तय किया: D
Abo3atef

1
कोकोपोड्स और .xcworkspace का उपयोग करने के लिए अद्यतन करने के बाद मेरे लिए यह काम किया।
जॉन राजा

3
Cocoapods v1.0.0
एनकोनिया

बस जोड़ने के लिए, यह केवल एक चीज है जिसने Cocoapods v1.0.0 को अपडेट करने के बाद मेरे लिए यह मुद्दा तय किया है। अन्य एसओ जवाबों में से किसी ने भी काम नहीं किया।
एंडी राइस

काम किया, मैं बहुत खुश हूँ
anavarroma

33

मैंने यहां सूचीबद्ध हर दूसरे समाधान की कोशिश की। खैर, मैंने स्विफ्ट 1.2 से स्विफ्ट 2.0 में अपनी परियोजना को पोर्ट किया। बहुत सी डीबगिंग और लॉन्च सेवाओं में त्रुटि के बाद भी एप्लिकेशन अटक गया था।

समाधान: यह फ्रेमवर्क संकलन के कारण होता है।

ऐप लक्ष्य -> ​​बिल्ड चरणों -> एंबेड फ्रेमवर्क।

इसलिए कॉपी को केवल इंस्टॉल करते समय ही चिह्नित करें। प्रोजेक्ट को साफ़ करें और इसे चलाएं!

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


क्या आप इस बारे में अधिक बता सकते हैं कि "केवल इंस्टॉल करते समय" समस्या को कैसे ठीक करता है?
22 सितंबर को सेटिफ़ायर

@ sethfri: "केवल इंस्टॉल करते समय कॉपी करें" यह निर्दिष्ट करने के लिए कि बिल्ड चरण केवल उत्पाद के इंस्टॉल बिल्ड में फ़ाइलों की प्रतिलिपि बनाता है। डेवलपर
AG

3
मैं समझता हूं कि "इंस्टॉल करते समय केवल शब्द कॉपी करें" क्या मतलब है। मैं यह पूछ रहा हूं कि यह समस्या उस समस्या को कैसे ठीक करती है जो लेखक का सामना कर रहा है।
सेटिहॉ

28

यह अब हल हो गया है। समस्या संगतता कारणों से CocoaPods द्वारा जोड़ी गई ShareKit लाइब्रेरी के कारण हुई। लाइब्रेरी और सभी संबंधित कोड को हटाने के बाद, ऐप सफलतापूर्वक सिम्युलेटर में लॉन्च किया गया। मैं इस मुद्दे पर अधिक जानकारी के लिए सिस्टम लॉग की जांच करने की सलाह देता हूं क्योंकि इसने मुझे सही दिशा में बताया (परस्पर विरोधी पुस्तकालय का नाम बताते हुए)।


मैंने सिर्फ शेयर की है और मुझे भी यही समस्या है।
dirkoneill

24
मामले में यह किसी की मदद करता है: आप स्पॉटलाइट में कंसोल टाइप करके सिस्टम लॉग तक पहुंच सकते हैं।
नैट कुक


धन्यवाद, इससे मुझे मदद मिली। XCode 7.3.1 और मेरे लॉग ने "ErrorDescription = हार्डलिंक कॉपी नहीं कर सका" दिखाया। मैं एक संस्करण सेट कर रहा था, लेकिन लक्ष्य -> ​​सामान्य -> ​​पहचान में संख्या नहीं बना रहा था। एक बार जब मैंने बिल्ड के लिए एक मूल्य शामिल किया तो समस्या दूर हो गई।
विलियम स्मिथ

सिस्टम लॉग की जाँच करने के लिए टर्मिनल में इस कमांड को आज़माएँ: tail -f /var/log/system.logiOS सिम्युलेटर सीधे स्टडआउट पर प्रिंट करता है, ताकि आप सिस्टम लॉग के साथ मिश्रित लॉग देख सकें।
विहंग

16

यदि किसी को कोको फली के साथ संयोजन में यह समस्या है, तो इन चरणों ने मुझे इस त्रुटि को हल करने में मदद की (कुछ घंटों के बाद):

  • Daud pod cache clean
  • SRC_ROOT रन से rm -rf Pods(वैकल्पिक रूप से rm Podfile.lock)
  • सिम्युलेटर ऐप पर क्लिक करें, सिम्युलेटर पर क्लिक करें -> सामग्री और सेटिंग्स रीसेट करें ...
  • Xcode में जाएं, मेनू बार में उत्पाद पर क्लिक करें -> क्लीन (या Shift + Command + K) पर क्लिक करें। यह आपके पिनकोड प्रोजेक्ट को साफ करने के लिए होगा।
  • एक नया टर्मिनल शेल बनाएं (मेनू बार क्लिक शेल से -> नई विंडो)
  • Daud rm -rf ~/Library/Developer/Xcode/DerivedData/

... तो अपनी परियोजना बनाने और चलाने की कोशिश करें।

नोट: SRC_ROOT को नेविगेटर में प्रवेश करके, प्रोजेक्ट पर क्लिक करके, प्रोजेक्ट से फिर से प्रोजेक्ट पर क्लिक करके और टार्गेट लिस्ट पर जाकर, Build Settings में जाकर , User-Defined सेक्शन में नीचे तक सभी तरह से स्क्रॉल करके पाया जा सकता है , और SRC_ROOT PODS_ROOT के रूप में लेबल किया जाएगा। इसे लें और इसे वर्बेटम टर्मिनल में कॉपी करें और ऊपर की सूची से चरण 2 के साथ आगे बढ़ें।

आशा करता हूँ की ये काम करेगा।


2
इसने ऐसा किया। धन्यवाद! वास्तव में स्वीकृत उत्तर होना चाहिए।
दान लोवेनहर्ज़

इससे मेरी समस्या हल हो गई! निश्चित रूप से यह स्वीकृत उत्तर होना चाहिए!
विक्टर ओलिवेरा एंटोनिनो

15

मैं सिम्युलेटर के लिए दिए गए चरणों से इस मुद्दे से छुटकारा पा रहा हूं

1. रास्ता

  1. सिम्युलेटर की सामग्री और सेटिंग्स को रीसेट करें ।
  2. Cmd + Shift + K द्वारा अपने प्रोजेक्ट को साफ़ करें ।
  3. अपना व्युत्पन्न डेटा साफ़ करें ।
  4. अंतिम एक जो "com.yourcompanyname.projectname" जैसे "com.facebook.Facebook" द्वारा आपके बंडल पहचानकर्ता को और अधिक महत्वपूर्ण है।

2 रास्ते

आप केवल दी गई रेखा हो सकते हैं, यह मेरे लिए काम करता है

अंतिम एक जो "com.yourcompanyname.projectname" जैसे "com.facebook.Facebook" द्वारा आपके बंडल पहचानकर्ता को और अधिक महत्वपूर्ण है।

धन्यवाद और प्रोग्रामिंग का आनंद लें।


क्या आप cmdइसके बजाय मतलब है win? ;) (या शायद आप एक विंडोज़ कीबोर्ड का उपयोग करते हैं।)
JeroenJK

@JeroenJK हाँ इसके सीएमडी।
धर्मबीर सिंह

वाह, बंडल आईडी परिवर्तन वह है जो अंत में मेरे लिए काम करता है। धन्यवाद!
ArtSabintsev

6

इस मुद्दे से संबंधित हो सकता है: "इस ऐप में एक अवैध बंडल पहचानकर्ता के साथ एक ऐप एक्सटेंशन है" मुद्दा

मुझे अपने ऐप और एक्सटेंशन के लिए बंडल आइडेंटिफ़ायर को निम्नानुसार प्रारूपित करना था:

com.company.AppName
com.company.AppName.Extension

मुझे भी। मैंने बंडल पहचानकर्ता को बदल दिया क्योंकि एक्सटेंशन (विजेट) दिखाई नहीं दे रहा था, और इस वजह से। विस्तार संस्करण को 9.2 से घटाकर 8.2 करना था और ऊपर बताए अनुसार बंडल को बदलना था।

धन्यवाद, बिल्कुल मेरी समस्या!
एंड्रेस

5
  1. पहले "सामग्री और सेटिंग्स रीसेट करें"
  2. यदि आपने बिल्ड नंबर नहीं भरा है और इसे भरकर चलाएं।

यह मेरे लिए हल है।


4

यदि आप InterfaceControllerएक नया प्रोजेक्ट शुरू करते समय डिफ़ॉल्ट रूप से सेट किए गए आपूर्ति वर्ग का नाम बदलते हैं । इस वर्ग को Info.plistकुंजी के अंतर्गत संदर्भित किया जाता है RemoteInterfacePrincipalClass। मेरे मामले में, मुझे ओपी द्वारा उल्लिखित त्रुटि मिली जब तक कि मैंने वहां कक्षा का नाम तय नहीं किया (स्क्रीनशॉट देखें)।

Info.plist: प्रिंसिपल क्लास सेट करें


यह वास्तव में मदद की! धन्यवाद!
Lankly

2

यदि आप वॉचओएस 2.0 के साथ एकीकरण करने के मुद्दों के बाद यहां हैं, तो जाएं - ~/Library/Logs/CoreSimulator/[Device UDID]/system.logऔर अगर ऐसा कुछ कहते हैं WatchKit 2 app has frameworks; that's not allowed.तो नीचे दिए गए लिंक का पालन करें।

http://zyafa.me/blog/watchos-2-and-embedded-frameworks


1
मुझे सिम्युलेटर लॉग फ़ाइल की ओर इशारा करने के लिए धन्यवाद। मेरे मामले में लॉग फ़ाइल ने ~/Library/Logs/CoreSimulator/CoreSimulator.logखुलासा किया कि मेरे लिंक किए गए ढांचे CFBundleIdentifierमें इसकी Info.plist
berbie

इसकी जानकारी में फ्रेमवर्क का CFBundleIdentifier नहीं था। कलाकार: मैं भी इसे हल कर रहा हूं? वॉचकिट या वॉचओएस पर उपयोग नहीं करना
अभिषेक थपलियाल

1

मैं adMob उपयोगकर्ता हूं और मैंने App लक्ष्य में "कॉपी करते समय ही इंस्टॉल करें" को सक्षम करते हुए हल किया -> चरण बनाएँ -> एंबेड फ़्रेमवर्क।


1

मेरे ऐप को लोकल करने के बाद भी यही समस्या है। खासतौर पर Info.plist। लगता है कि मैं खाली CFBundleShortVersionStringथा InfoPlist.strings, ठीक करने के बाद कि सिम्युलेटर ने ठीक से काम करना शुरू कर दिया।


यही मेरी भी समस्या थी। यदि आप देखते हैं कि उन सभी कुंजियों को हटाने का प्रयास करें जिनके लिए आपकी InfoPlist.strings फ़ाइलों से स्थानीयकरण की आवश्यकता नहीं है। मेरे मामले में तय की गई सभी चीज़ों के नीचे कीज़ को हटाना: CFBundleName CFBundleShortVersionString CFBundleVersion
lazarev

1

"संसाधन" नामक एक फ़ोल्डर संदर्भ जोड़कर मुझे यह समस्या मिली।

अगर मैं इसे दूसरा नाम दूं, तो यह चलता है!


1
इस एक ने मुझे एक समान मुद्दा हल कर दिया! मैं एक dylib को एम्बेड कर रहा था, और यह एक गुप्त कारण था "इसकी Info.plist" स्थापना त्रुटि में CFBundleIdentifier नहीं था। संसाधन फ़ोल्डर को किसी और चीज़ में बदलने के बाद यह फिर से काम करना शुरू कर देता है
Sagi Iltus

एक पत्थर के साथ दो पक्षी;)
मूस

1

कई चीजें हैं जो इस त्रुटि का कारण बन सकती हैं। सबसे अच्छा सामान्य उत्तर कंसोल लॉग की खोज करना है CoreSimulator, क्योंकि सिम्युलेटर इस संदेश को प्रदर्शित करते समय अंतर्निहित समस्या को लॉग करता है।


1

@Miki और kudos को यह बताने के लिए धन्यवाद। मेरे पास कल जैसा ही मुद्दा था (और मैंने कुछ दिनों पहले ऐप में कोकोपॉड्स से शेयरकिट 3.0.0 जोड़ा था)। मुझे शक था कि ShareKit ने मुझे यह समस्या दी है, लेकिन अब मैं वास्तव में आश्वस्त हो सकता हूं कि यह किस लाइब्रेरी का कारण बन रहा है। यहाँ मैं अपने लॉग में पाया गया है (अगर यह दूसरों को फायदा हो सकता है):

त्रुटि डोमेन = LaunchServicesError कोड = 0 "ऑपरेशन पूरा नहीं किया जा सका। (LaunchServicesError त्रुटि 0.)" UserInfo = 0x7fa836097aa0 {त्रुटि = PackageInspectionFailed, ErrorDesire = पथ / उपयोगकर्ता / {UserName} से बंडल लोड करने में विफल रहा। लाइब्रेरी / डेवलपर / CoreSimulator / उपकरण / 99FEB34E-6F00-4EFA-861A-A6985AFE96D8 / डेटा / Library / Caches / com.apple.mobile.installd.staging / temp.X7eead / निकाले / {AppName} .app / Frameworks / LiveSDK। ढांचा}


1
आपके लॉग से, आप कैसे जान सकते हैं कि ShareKit त्रुटि का कारण बनता है?
चिपबेक

1
मैं अपने लॉग में एक ही बात है, लेकिन सिमुलेटर को हटाने और उन्हें वापस जोड़ने में मदद नहीं करता है ... आपने त्रुटि कैसे ठीक की?
अमिताय

1

यदि आपने CocoaPodsXCode को खोलने के दौरान कोई लाइब्रेरी स्थापित की है, तो आपको बस इतना करना है, XCode को बंद करें और लाइब्रेरी को Podफ़ाइल से हटा दें , कमांड को चलाएं pod installयह उस लाइब्रेरी की स्थापना रद्द कर देगा। फिर पुस्तकालय स्थापित करें। कृपया सुनिश्चित करें कि पुस्तकालयों की स्थापना और स्थापना रद्द करते समय XCode हमेशा बंद रहता है।


0

मैं वास्तव में एक ही समस्या थी और यह ShareKit था।

सिम्युलेटर पर मेरे पास "त्रुटि डोमेन = LaunchServicesError कोड = 0" था।

IPhone6 ​​डिवाइस पर मेरे पास "एप्लिकेशन इंस्टॉलेशन विफल रहा, एप्लिकेशन पैकेज का निरीक्षण नहीं कर सका।"

जब मैंने ShareKit को हटा दिया तो यह काम कर गया।


0

मुझे यह समस्या तब हुई जब मैंने अपने ऐप में Apple वॉच का टारगेट जोड़ा, और गलती से InterfaceController.m फाइल को हटा दिया। लक्ष्य में फ़ाइल को वापस जोड़ने से समस्या ठीक हो गई।


0

अलग-अलग चीजें हैं जो इसका कारण बन सकती हैं। कंसोल में देखना आपको एक संकेत दे सकता है।

मेरे मामले में - उत्पाद का नाम बदलने से पहले मुद्दा एक विस्तार था। Xcode ने पुराने को साफ नहीं किया, फिर उसी बंडल आईडी के साथ दो एक्सटेंशन पर जोर दिया।

(बिल्ड फ़ोल्डर को हटाने से मेरा विशेष मुद्दा तय हो गया)।


0

मेरे मामले में मुद्दा एक आइकन सेट से आया जिसमें कुछ चित्र गायब हैं। एक बार जब मैंने आइकन सेट को दूसरे के साथ बदल दिया, और ऐप को सिम्युलेटर में अनइंस्टॉल कर दिया; मैं इसे फिर से चला पा रहा था।


0

मैंने अपनी सभी पॉड फ़ाइलों को हटा दिया और उन सभी को बदल दिया, ऐसा लगता है कि मेरे लिए समस्या बोल्ट का ढांचा पुराना था, और इस त्रुटि का कारण था। मैंने एक स्वच्छ और रीसेट सामग्री की और अब यह सब अच्छा है।


0

एम्बेडेड मैप सेक्शन में Google मैप्स फ्रेमवर्क को न जोड़ें, इससे मेरा बिल्ड ब्रेक हल हो गया।


एम्बेडेड फ्रेमवर्क को हटाना जो वहां होना जरूरी नहीं था, मेरा मुद्दा भी तय कर दिया गया
मैन

0

मुझे Info.plist में जोड़ने के बाद ऐप्पल वॉच के लिए एप्लिकेशन विकसित करने में यह त्रुटि आई: "ऐप ट्रांसपोर्ट सिक्योरिटी सेटिंग्स" और "एबिट्री लोड्स" = YES। (WatchKit App में, WatchKit Extension में अच्छा है !!) इस दो पंक्तियों को हटाने से यह काम करता रहता है।

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


0

मेरे लिए, समस्या इसलिए होती है क्योंकि मैंने एंबेडेड बायनेरिज़GoogleMobileAds.framework में अपना फ्रेमवर्क ( मेरे मामले में) जोड़ा है , लिंक्ड फ़्रेमवर्क और लाइब्रेरी नहीं

आपकी जानकारी के लिए, AdMob आपको Add Files to "Your Project"Xcode पर मेनू का उपयोग करने का निर्देश देता है , लेकिन मैं निर्देश का पालन करने के लिए बहुत आलसी था।


0

AWS Cognito वाले प्रोजेक्ट में UI परीक्षण चलाने का प्रयास करने पर मुझे यह समस्या हुई।

यहां मैंने इसे हल किया है।

  1. UI परीक्षण लक्ष्य चुनें।
  2. बिल्ड चरण अनुभाग पर क्लिक करें।
  3. कॉपी फ़ाइलें चरण जोड़ने के लिए प्लस पर क्लिक करें कॉपी फ़ाइलें चरण जोड़ें
  4. प्रतिलिपि फ़ाइलों के चरण में, गंतव्य को चौखटे में बदलें (अंतिम छवि देखें)
  5. कॉपी फ़ाइलें चरण के नीचे प्लस हिट करें।
  6. उस फ़्रेमवर्क का चयन करें जिसके लिए आप एक त्रुटि प्राप्त कर रहे हैं और ऐड बटन दबाएं (आपकी परियोजना पदानुक्रम में शायद आपका पहला आइटम नहीं होगा)। कॉपी करने के लिए फ्रेमवर्क का चयन करें इसे इस तरह देखना चाहिए। अंतिम परिणाम
  7. आपको त्रुटि देने वाले सभी चौखटे के लिए चरण 5 और 6 दोहराएं।
  8. अपने परीक्षण चलाएं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.