iPhone डिबगिंग: कैसे हल करने के लिए 'प्रक्रिया के लिए काम पाने में विफल'?


158

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

एप्लिकेशन इंस्टॉल किया गया है, लेकिन यह शुरू नहीं होता है। कंसोल पर, मुझे निम्न संदेश दिखाई देता है:

Error launching remote program: failed to get the task for process 82.
Error launching remote program: failed to get the task for process 82.
The program being debugged is not being run.
The program being debugged is not being run.

हालांकि, यदि मैं डिवाइस पर मैन्युअल रूप से एप्लिकेशन शुरू करता हूं, तो यह अपेक्षित रूप से काम करता है। मैंने हाल ही में स्नो लेपर्ड के लिए नवीनतम XCode 3.2 स्थापित किया है। क्या यह एक्सकोड के इस संस्करण का एक ज्ञात बग है या मैं कुछ गलत कर रहा हूं?

संपादित करें: यह विकास प्रावधान प्रोफ़ाइल का उपयोग करके रिलीज वितरण के साथ ठीक काम करता है। मैंने यह सुनिश्चित करने के लिए फिर से तदर्थ प्रोविज़निंग प्रोफाइल की जाँच की है कि इसमें वह डिवाइस शामिल है जिसका मैं उपयोग कर रहा हूँ।


यह भी मदद कर सकता है: आयोजक -> परियोजनाओं -> DerivedData को हटाएं और साफ करें। सुनिश्चित करें कि परियोजना और लक्ष्य में सभी हस्ताक्षर लगातार और सही ढंग से सेट किए गए हैं - इससे मेरे मामले में मदद मिली ....
user387184

जवाबों:


110

मुझे डिवाइस पर XCode के माध्यम से बायनेरिज़ को डीबग करने में समस्याएँ होती हैं, जब ऐप में एंटाइटेलस.प्लेस्ट फ़ाइल शामिल होती है, जो डीबगिंग के लिए डिवाइस पर इंस्टॉल करना आवश्यक नहीं है। सामान्य तौर पर, मैंने इस फ़ाइल को रिलीज़ बिल्ड (जहाँ यह ऐप स्टोर के लिए आवश्यक है) के लिए शामिल किया है और इसे डीबगिंग के लिए हटा दिया है (इसलिए मैं XCode से ऐप को डीबग कर सकता हूं)। यह आपकी समस्या हो सकती है।

अद्यतन : (कम से कम) अगस्त २०१० (iPhone ४.१ एसडीके) एंटिटेलस.प्लास्ट के लिए अब आपके आवेदन को कई मामलों में शामिल करने की आवश्यकता नहीं है (उदाहरण के लिए, ऐप स्टोर के माध्यम से वितरण।) मामलों की अधिक जानकारी के लिए यहां देखें Entitlements.plist आवश्यक है:

महत्वपूर्ण: एक एंटाइटेलमेंट फ़ाइल आम तौर पर केवल तब आवश्यक होती है जब Ad Hoc डिस्ट्रीब्यूशन के लिए बिल्डिंग या किचेन डेटा शेयरिंग को सक्षम करता है। यदि इनमें से कोई भी सत्य नहीं है, तो कोड हस्ताक्षर एंटाइटेलमेंट में प्रविष्टि को हटा दें । (जोर मेरा)


आप सही हैं, मैंने सत्यापित किया है कि यह वास्तव में एंटाइटेलमेंट्स में झूठी-सेट की गई बूलियन वैल्यू है जो एंटिटेलमेंट्स पर आधारित है। धन्यवाद।
मासिमो कागारो

1
FYI करें, मुझे ठीक वैसी ही समस्या थी और समस्या को हल करने वाली चीज ADES को एंटाइटेलमेंट फाइल को ADES के साथ मिला रही थी। इसे जोड़ने का प्रयास करें ...: P
एलेक्स जक

IOS 8.1.3 एंटाइटेलमेंट्स के रूप में। एंटरप्राइज़ साइन किए गए ऐप्स के लिए भी आवश्यक है।
रॉय के

289

तदर्थ प्रोफ़ाइल डिबगिंग का समर्थन नहीं करता है। आपको एक विकास प्रोफ़ाइल के साथ डीबग करना होगा, और केवल गैर-डीबग करने योग्य प्रतियाँ वितरित करने के लिए Ad-Hoc प्रोफ़ाइल का उपयोग करना होगा।


अपने सर्वश्रेष्ठ ज्ञान के लिए, मैंने यह जानकारी विकसित प्रोग्राम पोर्टल पर नहीं देखी है। लेकिन fbrereto के लिए मेरी टिप्पणी बताती है कि ऐसा क्यों है: हमारे पास Entitlements.plist फ़ाइल न तो डिबग में है और न ही रिलीज़ कॉन्फ़िगरेशन में।
मासिमो कागारो सेप

5
मेरे पास एक ही मुद्दा था जब मैंने गलती से कोड को XCode 4 में iPhone वितरण के लिए पहचान पर हस्ताक्षर कर दिया था
cpungaliya

1
यदि मैं सिर्फ "स्टार्ट" पर क्लिक करता हूं तो मैं प्रोफाइल को डिबगिंग पर वापस कैसे
लाऊंगा

उन छोटे नुकसानों में से एक और Apple ने आपके लिए रखा। बस एक पोर्टल बग ... आह के लिए धन्यवाद मेरे सभी प्रोफाइल और समारोहों को फिर से करने के बाद ऐसा हुआ था। जानकारी के लिए धन्यवाद, मेरा मुद्दा ठीक किया।
n13

यह मेरी समस्या का जवाब था। W / एंटाइटेलमेंट करने के लिए कुछ भी नहीं था।
प्रातः

37

मेरे पास एक ही मुद्दा था, लेकिन सरल निम्नलिखित चरणों का पालन करके इसे हल किया:

  1. सुनिश्चित करें कि आपने रिलीज़ के बजाय डिबग का चयन किया है।
  2. डीबग कॉन्फ़िगरेशन में, प्रोजेक्ट सेटिंग्स में, आपको डेवलपर की प्रोफ़ाइल का चयन करना चाहिए और एंटाइटेलमेंट प्लिस्ट को निर्दिष्ट करने की कोई आवश्यकता नहीं है।
  3. इसके अलावा एक ही सेटिंग के तहत कर रहे हैं: लक्ष्य:, अगर नहीं manuall उन्हें डीबग कॉन्फ़िगरेशन के लिए ऊपर करने के लिए परिवर्तित करें। यह काम करेगा।

शुभकामनाएं।


यह काम करने का कारण लगभग निश्चित रूप से यह है कि आपके डिबग कॉन्फ़िगर को एंटाइटेलमेंट्स .plist में सेट-टास्क-अनुमति सेट है, जबकि रिलीज़ एक नहीं - यह डिबगर से जुड़े लोगों को रोकने के लिए है कि वे ऐप स्टोर से प्राप्त कॉपी करें (देखें- यह भी काई के जवाब के बारे में नीचे यह काम करने के लिए हाँ करने के लिए स्थापित करने के बारे में ..)
dsmudger

मेरे लिए किया। किसी तरह बिल्ड को 'रिलीज़' के लिए सेट किया गया था, और रिलीज़ प्रोफाइल को सही तरीके से सेटअप नहीं किया गया था।
KPK

19

मुझे यह पता लगाने में थोड़ा समय लगा।

यदि आप एक वितरण / तदर्थ / प्रोफ़ाइल का उपयोग कर रहे हैं, तो आप इसे xcode के माध्यम से नहीं देख सकते हैं। आपको त्रुटि मिलेगी: डिबग किया जा रहा प्रोग्राम नहीं चलाया जा रहा है।

आप ऐप का निर्माण कर सकते हैं, एक्सकोड में अपने ऐप में उत्पाद फ़ोल्डर में जा सकते हैं, अपने प्रोजेक्ट नाम के साथ फ़ाइल पर क्लिक कर सकते हैं और खोजक में प्रकट कर सकते हैं। आप इस ऐप को आईट्यून्स और सिंक में खींच सकते हैं और उस बिंदु पर आप अपने डिवाइस पर अपने ऐप का परीक्षण कर सकते हैं।


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

1
काश XCode इस बारे में अधिक अग्रिम होगा। यह बिल्कुल स्पष्ट नहीं है कि आप XCode से कनेक्ट होने के दौरान डिवाइस पर वितरण बिल्ड का परीक्षण नहीं कर सकते। यह एक सामान्य उपयोग का मामला है।
user798719

13

यदि आपको ऐसी त्रुटि मिल रही है, तो एकमात्र कारण आप Xcode में विकास प्रोफ़ाइल के बजाय वितरण प्रोफ़ाइल का उपयोग कर सकते हैं या एक अनुपलब्ध प्रविष्टि गुण हो सकते हैं। यदि आप Entitlements.plist का उपयोग नहीं कर रहे हैं, तो केवल संभावित त्रुटि हो सकती है ऐप को वितरण प्रोफ़ाइल के साथ पैक किया जा रहा है। आप बिल्ड लॉग की पुष्टि करते हुए इसे सत्यापित कर सकते हैं। इसे बदलने के लिए, प्रोजेक्ट की बिल्ड सेटिंग पर जाएं और कोड साइनिंग एंटिटी सेटिंग को सत्यापित करें। काम करने के लिए डिबगिंग के लिए, यह सेटिंग उस कॉन्फ़िगरेशन के लिए एक डेवलपर प्रोफ़ाइल होनी चाहिए जिसे आप वर्तमान में उपयोग कर रहे हैं।

https://developer.apple.com/library/ios/#qa/qa1682/_index.html

त्वरित परिणामों के लिए, सभी मोबाइल प्रोविजनिंग प्रोफाइल को xcode से हटा दें और डेवलपर प्रोफाइल को स्थापित करें जिसे आप उपयोग करने का इरादा रखते हैं।


13

इस मुद्दे पर लगभग 2 घंटे! और अंत में मैंने इसे बदलकर हल कर दिया

iPhone डेवलपर

सेवा

iPhone डेवलपर: मेरा देव खाता नाम

डिबग के लिए CODE_SIGN_IDENTITY:

  1. प्रोजेक्ट लक्ष्य का चयन करें
  2. सेटिंग्स बनाएँ
  3. "कोड साइन" द्वारा खोजें
  4. CODE_SIGN_IDENTITY अनुभाग को "iPhone डेवलपर: मेरा देव खाता नाम" के साथ बदलें , न कि केवल "iPhone डेवलपर"

मुझे नहीं पता कि यह क्यों काम करता है, लेकिन यह करता है! कम से कम मेरे लिए!


पर्यावरण: Xcode 5.0 (5A1412)।


यह मेरे लिए भी काम किया, धन्यवाद। वास्तव में क्या पहचान का उपयोग करने के साथ बेला था, लेकिन यह अंततः एक निश्चित कॉम्बो पसंद आया। Xcode 6 को वास्तव में इस तरह के सामान के लिए एक "ऑटो सही" सुविधा की आवश्यकता है, बहुत सारे हाउसकीपिंग के लिए मेरे पास समय नहीं है !!
जॉन कॉन्टेरिनो

1
बस इसे जोड़ने के लिए जो मैंने किया था वह समान था, लेकिन अलग - मैंने प्रोफ़ाइल को टीम प्रोफ़ाइल के रूप में बदल दिया (जिसका उपयोग डिबगिंग के लिए किया जाता है), जिसने कोड साइनर को "स्वचालित" सेट किया - XCode 5+ में आपको वास्तव में होना चाहिए किसी बिल्ड के लिए प्रोफ़ाइल का चयन करना और यह तय करना कि हस्ताक्षरकर्ता को उसके आधार पर क्या उपयोग करना है।
केंडल हेल्मसटेटर गेलनर

@KendallHelmstetterGelner thx, यह दूसरों के लिए मददगार हो सकता है! : डी
काजुल

मुझे "डिबग" बिल्ड के लिए टीम प्रोफाइल को भी जोड़ना चाहिए, जो कि XCode (जब तक आप स्कीम सेटिंग में बदलाव नहीं करते हैं) से डिवाइस पर चलाने के लिए उपयोग किया जाता है
केंडल हेल्मसटेटर गेलर

1
इसने एक अलग कोड हस्ताक्षर पहचान के साथ पुनर्निर्माण के अलावा कुछ भी किए बिना इस समस्या के साथ मेरी समस्या को हल किया। धन्यवाद! मेरे मामले में, मैं एक तदर्थ वितरण पहचान का उपयोग कर रहा था।
सीन माइकल डोरियन

12

Ur.m साइनिंग सेक्शन की जाँच करें। सुनिश्चित करें कि कोड साइनिंग iPhoneDeveloper कोड सिग्न है


इसने मेरा - मेरे लक्ष्य पर किसी कारण से 'टीम' को 'कोई नहीं' में बदल दिया था - इसे वापस बदलकर इसे हल कर दिया। चीयर्स
राल्फारो

9

Entitlements.plist खोलें और बूलियन मान प्राप्त करें-कार्य-यस को सेट करें - डीबगर अब संलग्न कर सकता है!


फिर मैंने कई बार यह कोशिश की है और न ही यह समझ में आया कि यह समस्या को ठीक क्यों करता है। इस का सबसे अच्छा तरीका हो सकता है अगर आप अभी भी testflightapp शामिल करना चाहा
ओवेन Gerig

मेरी रन स्कीम डीबग करने के लिए सेट है। केवल इस समाधान ने इसे मेरे लिए तय किया! धन्यवाद।
पीटर

धन्यवाद इट्स रियली हेल्प मी !!
अमीर हुदानी

4

एडिट स्कीम्स पर जाएं और रन के तहत -> जानकारी -> कॉन्फ़िगरेशन बनाएं, एड-हॉक से डीबग में बदलें। बचाने के लिए ठीक क्लिक करें।


1

हो सकता है कि आपके फोन पर एक्सपायर डेवेलपमेंट प्रोफाइल हो।

मेरा विकास प्रावधान प्रोफ़ाइल कई दिनों पहले समाप्त हो गया और मुझे इसे नवीनीकृत करना पड़ा। मैंने अपने फ़ोन पर नई प्रोफ़ाइल स्थापित की और उसी त्रुटि संदेश के साथ आया जब मैंने अपना ऐप चलाने का प्रयास किया। जब मैंने अपने फ़ोन पर प्रोफ़ाइल सेटिंग देखी तो मैंने समय सीमा समाप्त प्रोफ़ाइल पर ध्यान दिया और उसे हटा दिया। यह मेरे लिए त्रुटि को मंजूरी दे दी।


1

मुझे यह त्रुटि तब मिली जब मैंने Xcode से ऐप लॉन्च करने की कोशिश की क्योंकि मुझे लगा कि मैंने केवल वितरण प्रोफ़ाइल का चयन किया है। बिल्ड सफल था इसलिए मैंने .ipa फ़ाइल बनाई। मैंने ऐप चलाने के लिए testflightapp.com का इस्तेमाल किया। आप iTunes का भी उपयोग कर सकते हैं।


1

बफ़रनेट द्वारा कहा गया है, आप डिबग करने के लिए वितरण प्रावधान प्रोफ़ाइल का उपयोग नहीं कर सकते। जब मैंने एक डेवलपर प्रोविज़निंग प्रोफ़ाइल पर स्विच किया, तो मुझे "A Valid Provisioning Profile For This Executable Was Not Found" की त्रुटि मिली।

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

सुनिश्चित करें कि आप एक iPhone डेवलपर प्रोविज़निंग प्रोफ़ाइल चलाते हैं और आपका डिवाइस प्रोविज़निंग पोर्टल में जोड़ दिया गया है!

http://iosdevelopertips.com/xcode/a-valid-provisioning-profile-for-this-executable-was-not-found.html


0

हां, प्रोविजनिंग प्रोफाइल जो वितरण उद्देश्य के लिए है, यानी डिस्ट्रिक्टिंग प्रोविजनिंग प्रोफाइल डिबगिंग का समर्थन नहीं करती है और यह त्रुटि देती है। बस डिबग प्रोविज़निंग प्रोफ़ाइल बनाएं और उसका उपयोग करें (डेवलपर.apple.com अकाउंट से प्रोविज़निंग प्रोफ़ाइल बनाते समय इस बात का ध्यान रखें)।


0

मैंने सिर्फ अपना बंडल नाम बदल दिया, जो कि चाल करने के लिए लग रहा था।


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