การแก้จุดบกพร่อง 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 ล่าสุดสำหรับ Snow Leopard นี่เป็นข้อบกพร่องที่รู้จักของ XCode รุ่นนี้หรือฉันกำลังทำอะไรผิดหรือเปล่า?

แก้ไข: มันทำงานได้ดีกับการกระจายการปล่อยโดยใช้โปรไฟล์การจัดสรรการพัฒนา ฉันได้ตรวจสอบโปรไฟล์การจัดสรรเฉพาะกิจอีกครั้งเพื่อให้แน่ใจว่ามีอุปกรณ์ที่ฉันใช้อยู่


สิ่งนี้อาจช่วยได้: ไปที่ Organizer -> Projects -> DerivedData ลบและทำความสะอาด ตรวจสอบให้แน่ใจว่าการเซ็นสัญญาทั้งหมดในโครงการและเป้าหมายถูกตั้งอย่างสม่ำเสมอและถูกต้อง - สิ่งนี้ช่วยในกรณีของฉัน ....
user387184

คำตอบ:


110

ฉันมีปัญหาในการดีบักไบนารีบนอุปกรณ์ผ่าน XCode เมื่อแอพรวมไฟล์ Entitlements.plist ซึ่งไม่จำเป็นต้องติดตั้งลงในอุปกรณ์เพื่อการดีบัก โดยทั่วไปแล้วฉันได้รวมไฟล์นี้สำหรับรุ่นบิลด์ (ซึ่งเป็นสิ่งจำเป็นสำหรับ App Store) และลบออกเพื่อแก้ไขข้อบกพร่อง (เพื่อให้ฉันสามารถดีบักแอปจาก XCode) นั่นอาจเป็นปัญหาของคุณที่นี่

อัปเดต : ตั้งแต่ (อย่างน้อย) สิงหาคม 2010 (iPhone 4.1 SDK) Entitlements.plist ไม่จำเป็นต้องรวมในแอปพลิเคชันของคุณอีกต่อไปในหลาย ๆ กรณี (เช่นจำหน่ายผ่าน App Store) ดูที่นี่สำหรับข้อมูลเพิ่มเติมเกี่ยวกับกรณีที่ ต้องใช้ Entitlements.plist:

สำคัญ: โดยทั่วไปไฟล์ Entitlements จะต้องใช้เฉพาะเมื่อสร้าง Ad Hoc Distribution หรือเปิดใช้งานการแชร์ข้อมูล Keychain หากสิ่งเหล่านี้ไม่เป็นจริงให้ลบรายการในการให้สิทธิ์การเซ็นชื่อโค้ด (เน้นที่เหมือง)


คุณถูกต้องฉันได้ตรวจสอบแล้วว่ามันเป็นค่าบูลีน get-task-allow ที่ตั้งเป็น false ใน Entitlements.plist ที่ป้องกันการดีบัก ขอบคุณ.
Massimo Cafaro

1
FYI ฉันมีปัญหาเดียวกันที่แน่นอนและสิ่งที่แก้ไขปัญหาได้คือการเพิ่มไฟล์การให้สิทธิ์ด้วย get-task-allow ตั้งเป็น YES ... ดังนั้นหากคุณมีปัญหาเดียวกันและคุณไม่มีไฟล์การให้สิทธิ์ ลองเพิ่ม ... : P
Alex Zak

ในฐานะที่เป็นของ iOS 8.1.3 entitelments.plist เป็นสิ่งจำเป็นสำหรับแอพที่ลงนามโดยองค์กร
รอย K

289

โปรไฟล์แบบเฉพาะกิจไม่สนับสนุนการแก้ไขข้อบกพร่อง คุณต้องแก้จุดบกพร่องด้วยโปรไฟล์การพัฒนาและใช้โปรไฟล์ Ad-Hoc เฉพาะสำหรับการเผยแพร่สำเนาที่ไม่สามารถแก้ไขได้


เพื่อความรู้ที่ดีที่สุดของฉันฉันไม่ได้เห็นข้อมูลนี้ในพอร์ทัลโปรแกรม developr แต่ความคิดเห็นของฉันที่มีต่อ fbrereto อธิบายว่าทำไมจึงเป็นเช่นนี้: เราไม่มีไฟล์ Entitlements.plist ไม่ว่าจะเป็นการดีบักหรือในการกำหนดค่ารีลีส
Massimo Cafaro

5
ฉันมีปัญหาเดียวกันหลังจากฉันตั้งรหัสประจำตัวการเซ็นชื่อเป็น iPhone โดยไม่ได้ตั้งใจใน XCode 4
cpungaliya

1
ฉันจะสลับโปรไฟล์กลับไปเป็นการดีบั๊กได้อย่างไรถ้าฉันคลิก "เริ่มต้น"
spankmaster79

อีกหนึ่งข้อผิดพลาดเล็ก ๆ น้อย ๆ ที่ Apple เตรียมไว้ให้คุณ เพิ่งเกิดเหตุการณ์นี้ขึ้นหลังจากทำโปรไฟล์และใบรับรองทั้งหมดของฉันอีกครั้งด้วยข้อผิดพลาดของพอร์ทัล ... ถอนหายใจ ขอบคุณสำหรับข้อมูลแก้ไขปัญหาของฉัน
n13

นี่คือคำตอบสำหรับปัญหาของฉัน ไม่มีอะไรจะทำด้วยสิทธิ
DOOManiac

37

ฉันมีปัญหาเดียวกัน แต่แก้ไขได้โดยทำตามขั้นตอนง่าย ๆ ดังต่อไปนี้:

  1. ตรวจสอบให้แน่ใจว่าคุณได้เลือก debug แทนที่จะปล่อย
  2. ในการกำหนดค่า Debug ในการตั้งค่าโครงการคุณควรเลือกโปรไฟล์ของนักพัฒนาและไม่จำเป็นต้องระบุ Plist plit
  3. นอกจากนี้ยังมีการตั้งค่าเดียวกันภายใต้: เป้าหมาย: หากไม่เปลี่ยนด้วยตนเองจะเปลี่ยนเป็นค่าด้านบนสำหรับการตั้งค่าการดีบัก มันจะทำงาน.

ทั้งหมดที่ดีที่สุด


เหตุผลที่การทำงานนี้เกือบจะแน่นอนว่าการตั้งค่าการดีบักของคุณได้รับอนุญาตให้ตั้งค่าใน Entitlements.plist ในขณะที่ Release Release ไม่ได้ - นี่คือการหยุดให้ผู้คนแนบ debugger ไปที่พวกเขาคัดลอกที่พวกเขาได้รับจาก App Store คำตอบของ Kai ยังด้านล่างเกี่ยวกับการตั้งค่าเป็นใช่เพื่อให้มันทำงานได้ .. )
dsmudger

ทำเพื่อฉัน ยังไงก็ตามการสร้างถูกตั้งค่าเป็น 'ปล่อย' และโปรไฟล์การวางจำหน่ายไม่ได้ติดตั้งอย่างถูกต้อง
KPK

19

นี่ใช้เวลาสักครู่กว่าจะคิดออก

หากคุณใช้การกระจาย / เฉพาะกิจ / โปรไฟล์คุณไม่สามารถทดสอบผ่าน xcode คุณจะได้รับข้อผิดพลาด: โปรแกรมที่กำลังดีบั๊กไม่ทำงาน

คุณสามารถสร้างแอพไปที่โฟลเดอร์ผลิตภัณฑ์ในแอพของคุณใน xcode คลิกที่ไฟล์พร้อมชื่อโครงการของคุณและเลือกเปิดเผยในตัวค้นหา คุณสามารถลากแอพนี้ลงใน iTunes และเชื่อมข้อมูลและจุดนั้นคุณสามารถทดสอบแอพของคุณบนอุปกรณ์ของคุณ


ใช่นี่เป็นปัญหาของฉัน ฉันไม่มีไฟล์ Entitlements แต่ฉันได้สลับการกำหนดค่าโครงสร้างการดีบักเป็นโปรไฟล์การกระจาย การเปลี่ยนไปใช้โปรไฟล์การพัฒนาแก้ไขทุกอย่าง
vocaro

1
ฉันหวังว่า XCode จะตรงไปตรงมามากขึ้นเกี่ยวกับเรื่องนี้ ไม่ชัดเจนเลยว่าคุณไม่สามารถทดสอบบิวด์การแจกจ่ายบนอุปกรณ์ในขณะที่เชื่อมต่อกับ XCode มันเป็นกรณีการใช้งานทั่วไป
user798719

13

หากคุณได้รับข้อผิดพลาดเหตุผลเพียงอย่างเดียวอาจเป็นเพราะคุณใช้โปรไฟล์การกระจายแทนที่จะเป็นโปรไฟล์การพัฒนาใน Xcode หรือคุณสมบัติการให้สิทธิ์ที่ขาดหายไป หากคุณไม่ได้ใช้ Entitlements.plist ข้อผิดพลาดที่เป็นไปได้เพียงอย่างเดียวอาจเป็นเพราะแอพกำลังรับการบรรจุด้วยโปรไฟล์การกระจาย คุณสามารถตรวจสอบสิ่งนี้ยืนยันการสร้างบันทึก หากต้องการเปลี่ยนแปลงสิ่งนี้ไปที่การตั้งค่าการสร้างของโครงการและตรวจสอบการตั้งค่ารหัสการเซ็นชื่อเอนทิตี สำหรับการแก้ไขข้อบกพร่องในการทำงานการตั้งค่านี้ควรเป็นโปรไฟล์ผู้พัฒนาสำหรับการกำหนดค่าที่คุณใช้อยู่ในปัจจุบัน

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

เพื่อผลลัพธ์ทันทีลบโปรไฟล์การจัดสรรมือถือทั้งหมดจาก xcode และติดตั้งโปรไฟล์นักพัฒนาซอฟต์แวร์ที่คุณตั้งใจจะใช้


13

เกือบ 2 ชั่วโมงกับปัญหานี้! และในที่สุดฉันก็แก้มันโดยแทนที่

นักพัฒนา iPhone

ถึง

นักพัฒนา iPhone: ชื่อบัญชี Dev ของฉัน

สำหรับ Debug's CODE_SIGN_IDENTITY:

  1. เลือกเป้าหมายโครงการ
  2. การตั้งค่าการสร้าง
  3. ค้นหาโดย"รหัสสัญลักษณ์"
  4. ปรับเปลี่ยนCODE_SIGN_IDENTITYส่วนแถว Debug กับ"iPhone Developer: My Dev ชื่อบัญชี"ไม่ใช่แค่"iPhone Developer"

ฉันไม่รู้เลยว่าทำไมมันถึงใช้ได้ แต่มันก็ใช้ได้! อย่างน้อยสำหรับฉัน!


สภาพแวดล้อม: Xcode 5.0 (5A1412)


มันก็ใช้ได้กับฉันเช่นกันขอบคุณ ต้องเล่นซอกับตัวตนที่จะใช้ แต่ในที่สุดมันก็ชอบคอมโบที่แน่นอน Xcode 6 ต้องการคุณสมบัติ "แก้ไขอัตโนมัติ" จริงๆสำหรับสิ่งนี้การดูแลทำความสะอาดมากมายฉันไม่มีเวลา !!
John Contarino

1
เพียงเพิ่มสิ่งนี้สิ่งที่ฉันทำคล้ายกัน แต่แตกต่างกัน - ฉันเปลี่ยนโปรไฟล์เป็นโปรไฟล์ทีม (ซึ่งใช้สำหรับการแก้ไขข้อบกพร่อง) ซึ่งตั้งค่าผู้ลงนามรหัสให้เป็น "อัตโนมัติ" - ใน XCode 5+ คุณควรจะเป็นจริง เลือกโปรไฟล์สำหรับบิลด์และปล่อยให้ตัดสินใจว่าผู้ลงนามใดจะใช้ตามนั้น
Kendall Helmstetter Gelner

@KendallHelmstetterGelner ขอบคุณนี่อาจเป็นประโยชน์กับคนอื่น ๆ ! : D
Kjuly

นอกจากนี้ควรเพิ่มฉันเปลี่ยนโปรไฟล์ทีมสำหรับบิลด์ "Debug" ซึ่งใช้เพื่อเรียกใช้บนอุปกรณ์จากใน XCode (เว้นแต่คุณจะเปลี่ยนการตั้งค่าแบบแผน)
Kendall Helmstetter Gelner

1
วิธีนี้ช่วยแก้ไขปัญหาของฉันเมื่อเกิดปัญหานี้โดยไม่ต้องทำอะไรนอกจากสร้างรหัสประจำตัวที่แตกต่างออกไป ขอบคุณ! ในกรณีของฉันฉันใช้รหัสประจำตัวการแจกจ่ายแบบเฉพาะกิจ
Sean Michael Dorian

12

ตรวจสอบส่วนการเซ็นชื่อของคุณตรวจสอบให้แน่ใจว่าการเซ็นชื่อโค้ดนั้นเป็นรหัสผู้พัฒนา iPhoneDeveloper


สิ่งนี้เป็นของฉัน - ด้วยเหตุผลบางอย่างในเป้าหมายของฉัน 'ทีม' ได้เปลี่ยนเป็น 'ไม่มี' - เปลี่ยนมันกลับเรียงมัน ไชโย
Ralpharoo

9

เปิด Entitlements.plist และตั้งค่าบูลีน get-task-allow เป็น YES - ตัวดีบักสามารถแนบได้ทันที!


ยาฉันลองมาหลายครั้งแล้วและไม่เข้าใจว่าทำไมมันถึงไม่สามารถแก้ไขปัญหาได้ นี่จะเป็นวิธีที่ดีที่สุดถ้าคุณยังต้องการรวม testflightapp ด้วย
owen gerig

ฉันเรียกใช้รูปแบบการทำงานของฉันถูกตั้งค่าให้แก้ปัญหา วิธีแก้ปัญหานี้เท่านั้นที่แก้ไขได้สำหรับฉัน! ขอบคุณ.
ปีเตอร์

ขอบคุณจริงๆช่วยฉันด้วย !!
Amir Hudani


1

อาจเป็นเพราะคุณมีโปรไฟล์การพัฒนาที่หมดอายุในโทรศัพท์ของคุณ

โปรไฟล์การจัดสรรการพัฒนาของฉันหมดอายุเมื่อหลายวันก่อนและฉันต้องต่ออายุ ฉันติดตั้งโปรไฟล์ใหม่ในโทรศัพท์ของฉันและมีข้อความแสดงข้อผิดพลาดเดียวกันเมื่อฉันพยายามเรียกใช้แอพ เมื่อฉันดูการตั้งค่าโปรไฟล์ในโทรศัพท์ของฉันฉันสังเกตเห็นโปรไฟล์ที่หมดอายุและลบออก นั่นเป็นการลบข้อผิดพลาดสำหรับฉัน


1

ฉันได้รับข้อผิดพลาดนี้เมื่อฉันพยายามเปิดแอพจาก Xcode เมื่อฉันคิดว่าฉันได้เลือกโปรไฟล์การกระจายเท่านั้น สร้างสำเร็จดังนั้นฉันจึงสร้างไฟล์. ipa ฉันใช้ testflightapp.com เพื่อเรียกใช้แอพ คุณสามารถใช้ iTunes ได้เช่นกัน


1

ตามที่ระบุไว้โดย Buffernet คุณจะไม่สามารถใช้โปรไฟล์การจัดสรรการกระจายเพื่อดีบักได้ เมื่อฉันเปลี่ยนไปใช้โปรไฟล์การจัดสรรนักพัฒนาฉันได้รับข้อผิดพลาด "ไม่พบโปรไฟล์การจัดสรรที่ถูกต้องสำหรับการดำเนินการนี้"

Google ด่วนสำหรับสิ่งนี้นำฉันไปสู่บทความด้านล่าง จากที่นั่นฉันรู้ว่าฉันไม่ได้รับโปรไฟล์การจัดสรรการพัฒนาที่ถูกต้องเนื่องจาก iPhone ของฉันไม่ได้ถูกเพิ่มใน Provisioning Portal และสิ่งอื่น ๆ ที่เกี่ยวข้อง

ตรวจสอบให้แน่ใจว่าคุณใช้งานโปรไฟล์การจัดสรรนักพัฒนา iPhone และอุปกรณ์ของคุณได้รับการเพิ่มในพอร์ทัลการจัดสรร!

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


0

ใช่โปรไฟล์การจัดเตรียมซึ่งมีวัตถุประสงค์เพื่อการจัดจำหน่ายเช่นโปรไฟล์การจัดเตรียม Distrutions ไม่สนับสนุนการดีบักและให้ข้อผิดพลาดนี้ เพียงสร้างและใช้โปรไฟล์การจัดสรรการดีบัก (ดูแลสิ่งนี้เมื่อสร้างโปรไฟล์การจัดสรรจากบัญชี developer.apple.com)



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.