Xcode: không nhận được tác vụ cho quá trình


242

Đây là một ứng dụng hiện có được biên dịch và phân phối nhiều lần. Kể từ khi cập nhật lên Xcode 5, tôi gặp lỗi này.

  1. Tôi có hồ sơ nhà phát triển của mình được chọn trong Ký mã để gỡ lỗi.
  2. Đã xóa dữ liệu phái sinh một vài lần.
  3. Bỏ một vài lần
  4. Đã tải xuống và cố gắng thêm lại chứng chỉ Nhà phát triển của tôi.
  5. Đặt lại máy tính của tôi! Và kiểm tra cập nhật
  6. Đã thử sử dụng ma thuật đen!
  7. Lược đồ> Cấu hình bản dựng được đặt thành Gỡ lỗi

Các trường hợp kỳ lạ tôi đang biên dịch để biên dịch sang iOS 6.1 để tôi có thể chạy trên iPhone 3GS của mình - cơ sở là SDK iOS 7? Điều này có thể là một vấn đề? Tôi chỉ cần kiểm tra nó trước khi tìm một chiếc điện thoại mới hơn trước khi đổi nó thành iOS 7.


2
Kiểm tra sơ đồ của bạn để đảm bảo rằng bạn thực sự đang chạy trong chế độ gỡ lỗi.
borrrden

Tôi quên đề cập đến
Lược đồ

Tôi cũng đang gặp vấn đề này. Trong Xcode 4.x không có vấn đề. Tất cả các cài đặt dường như là giống nhau. Các biểu tượng gỡ lỗi không nên bị tước trong "gỡ lỗi" và lược đồ chạy "gỡ lỗi" cho "Chạy". Đây là mã duy nhất của tôi có vấn đề này. Tôi đang sử dụng thông báo đẩy và chia sẻ khóa trong mã này.
DBD

Tôi sẽ xây dựng lại dự án trong xcode5 chỉ sắp xếp các công cụ repo
elliotrock

Câu trả lời:


490

Lỗi này có xu hướng xuất hiện khi bạn chọn một hồ sơ cung cấp đặc biệt. Hãy chắc chắn rằng ký mã của bạn là để phát triển.


2
Tôi đề nghị hơn là bạn tạo một hồ sơ cung cấp mới trong trung tâm dev bao gồm thiết bị của bạn. sau đó tải về và sử dụng nó. Tôi khá chắc chắn rằng nó sẽ làm việc.
hasan

7
Xây dựng Cài đặt> Cấu hình cung cấp được đặt thành 'Không' hoạt động để gỡ lỗi cho thiết bị.
David Douglas

7
Nhân tiện, hãy kiểm tra xem việc này được thực hiện trong cả cài đặt xây dựng Dự án và Mục tiêu (đặc biệt là Target có mức ưu tiên cao nhất, vì vậy nếu bạn thích tôi dành 30 phút bằng cách thay đổi Dự án và bạn không nhận ra Target khác, bạn sẽ tìm hiểu điều này ...)
viggio24

1
Với XCode 6, tôi đã phải làm mới hồ sơ cung cấp của mình bằng tài khoản nhà phát triển để tôi có thể thấy hồ sơ Cung cấp nhóm của iOS trong Cài đặt bản dựng. Để làm mới: XCode> Tùy chọn> Tài khoản> ID Apple> Xem chi tiết> Nút làm mới ở phía dưới.
kalana

1
Đôi khi giải pháp này không hoạt động nếu bạn không khởi động lại xcode. @ hasan83 điều này vẫn đang xảy ra
albanx 5/2/2016

90

Lỗi này xảy ra nếu bạn đã sử dụng Hồ sơ cung cấp phân phối để gỡ lỗi cho thiết bị.

Đi đến

Build Settings> Provisioning Profileset to 'None' for Debugging.


2
Đây là câu trả lời đúng cho hầu hết mọi người, tôi đoán vậy.
Giăng

39

Cuối cùng tôi đã giải quyết điều này bằng cách nhớ đặt các tham số ký và cung cấp mã trong các tab dự án và mục tiêu BÓNG ...


6
Vâng. Điều đó là vậy đó. 30 phút lãng phí nữa nhờ giao diện người dùng thẳng thắn của Xcode. Cảm ơn sự tiết kiệm đó!
n13

Điều đó cứu tôi! Cảm ơn bạn rất nhiều!
Evgeniy Kleban

31

Khi thiết bị của bạn được kết nối với máy tính bằng cáp và bạn Build + Chạy ứng dụng của bạn, thiết bị của bạn sẽ cố gắng gỡ lỗi. Gỡ lỗi chỉ được phép cho hồ sơ phát triển.

  1. Nếu bạn xây dựng + chạy với Hồ sơ phát triển + Mã ký phát triển, mọi thứ sẽ ổn

  2. Nếu bạn xây dựng + chạy với cấu hình Phân phối AppStore + Mã ký phân phối, ứng dụng thậm chí sẽ không đến được thiết bị của bạn. Bản dựng này chỉ để tải lên AppStore

  3. Nếu bạn xây dựng + chạy với cấu hình Phân phối AdHoc + Mã ký phân phối, bạn sẽ gặp lỗi "không thể thực hiện tác vụ cho quá trình ...", nhưng ứng dụng sẽ được cài đặt trong thiết bị của bạn. Rút phích cắm thiết bị và chạy ứng dụng khỏi thiết bị của bạn. Nó đang chạy trong môi trường phân phối. Thưởng thức :)


14

CẬP NHẬT:

Xcode 5.1 xuất hiện để sửa lỗi thả xuống để bây giờ nó hiển thị "(blah blah)" bất cứ khi nào hai cấu hình có cùng tên. Điều này cho phép bạn chọn đúng. Cái nào tốt hơn nhiều :)


Bị cắn bởi điều này một vài lần. Xcode5 hiển thị "Hồ sơ cung cấp" dưới dạng một trường duy nhất, MÀ CÒN TUYỆT VỜI và Apple KHÔNG NÊN mã hóa GUI của họ như thế này (lỗi người mới bắt đầu từ Apple).

Trong Xcode5 (không có phiên bản trước), bạn có hai giá trị "Hồ sơ cung cấp". Điều này PHẢI được đặt TRƯỚC KHI bạn đặt "Nhận dạng ký mã". Rõ ràng, vì nó phải được đặt ĐẦU TIÊN ... Apple đã đặt nó THỨ HAI trong danh sách, 3 mục DƯỚI ĐÂY là điều nó phải được đặt "trước".

(điểm thưởng cho thiết kế GUI khủng khiếp ở đó ...)

Nó cũng bị hỏng: nếu bạn có hai Hồ sơ cung cấp cho cùng một tên, Xcode5 sẽ chỉ cho phép bạn chọn một trong số chúng. Để giải quyết vấn đề này, bạn phải sử dụng Tiện ích cấu hình iPhone để tìm Hồ sơ bạn muốn, tìm "Định danh hồ sơ" 30 chữ số và sao chép / dán vào giá trị "Khác" của danh sách thả xuống Hồ sơ cung cấp.

Hồ sơ cung cấp của bạn PHẢI có một giá trị cho "Gỡ lỗi" và một giá trị khác cho "Phát hành" (trừ khi bạn xây dựng một hồ sơ lớn tùy chỉnh bằng tay, Apple giữ hai phần riêng biệt).

Cấu hình gỡ lỗi thường sẽ có lỗi cùng tên được mô tả ở trên - hầu hết mọi người sẽ sử dụng Hồ sơ cung cấp nhóm được tạo tự động của Apple, mà Apple luôn đặt tên không giống nhau, cho tất cả các Mục tiêu, trong tất cả các Dự án. (một lỗi khác trong Xcode5).

Khi bạn đã đặt cả hai giá trị, trường "Nhận dạng ký mã" của bạn cuối cùng sẽ bắt đầu hoạt động chính xác. Trên thực tế, nó hoạt động độc đáo: trong hầu hết các phiên bản Xcode trước đây, trường này đã bị hỏng và lựa chọn "tự động" hiếm khi hoạt động. Trong Xcode5, nó chỉ có thể sử dụng các giá trị ký mã được tìm thấy trong Hồ sơ cung cấp mà bạn đã chọn trước - và do đó dường như nó đã chính xác 100% thời gian hte.

(tức là bạn có thể đặt nó thành "Tự động" một cách an toàn. Trong các phiên bản Xcode trước, Xcode thường sẽ "Tự động" sử dụng cấu hình Phân phối cho bản dựng Nhà phát triển và ngược lại, gây ra nhiều vấn đề)


NB sử dụng v7.3 của Xcode và đôi khi vẫn chọn cấu hình cung cấp sai khi được đặt thành 'Tự động' dẫn đến lỗi này.
Tro

12

Dựa trên tìm kiếm hiện tại của tôi, lỗi "Không thể nhận tác vụ cho quá trình" tại xcode 5 có thể xảy ra vì nhiều lý do:

  1. Một là chúng tôi đang gỡ lỗi một ứng dụng được ký với hồ sơ cung cấp đặc biệt phân phối.
  2. Một lý do khác là bằng cách nào đó xcode5 không thể tìm thấy hồ sơ cung cấp phát triển chính xác mặc dù danh tính ký mã hóa có nhận dạng ký của nhà phát triển ở đó.

Đối với tôi, đây là trường hợp thứ hai cũng giống như câu hỏi này.

Tôi có thể khắc phục điều này bằng cách thay đổi thả xuống hồ sơ cung cấp gỡ lỗi thành hồ sơ cung cấp phát triển chính xác và sau đó cố gắng tải ứng dụng vào thiết bị thực. Xcode sẽ đưa ra lỗi dưới đây: nhập mô tả hình ảnh ở đây

nhấp vào "Khắc phục sự cố" để tiếp tục, xcode 5 sẽ khắc phục sự cố. Sau khi sự cố được khắc phục, hồ sơ cung cấp để gỡ lỗi được đặt lại thành "Không", không biết tại sao xcode sẽ làm điều đó mặc dù.


Tôi đang bị kẹt trong một vòng lặp ở đây - nhấp vào 'Khắc phục sự cố' sẽ mất khoảng 15 giây để nói chuyện với máy chủ và sau đó xây dựng ứng dụng, ngay lập tức theo dấu nhắc chính xác để khắc phục sự cố.
Chris

không chắc tại sao lại như vậy trong trường hợp của bạn, tôi mới thử điều tương tự vài ngày trước, nó đã hoạt động trở lại.
Windfly2006

+1 cho: Gỡ lỗi một ứng dụng được ký với hồ sơ cung cấp đặc biệt phân phối. Đó là vấn đề của tôi.
John Erck

4

Tôi đã gặp vấn đề này và như đã từng đặt cả CODE_SIGN_IDENTITYPROVISIONING_PROFILE thì mọi thứ đều hoạt động tốt,

Xin lưu ý rằng điều này đã thay đổi trong Xcode 5, phiên bản trước đó không có mục nào cho PROVISIONING_PROFILE trong cài đặt bản dựng

//:configuration = Adhoc
CODE_SIGN_IDENTITY = iPhone Distribution: orgname
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution: orgname

Lưu ý rằng ở đây tôi phải viết thủ công nhà phát triển iphone vào mục thứ hai vì lựa chọn tự động dường như không hoạt động

//:configuration = Debug
CODE_SIGN_IDENTITY = iPhone Developer: Joe Bloggs (0A0AA00A00)
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer: Joe Bloggs (0A0AA00A00)

//:configuration = Release
CODE_SIGN_IDENTITY = iPhone Distribution: orgname
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution: orgname

Sau đó cập nhật và cài đặt hồ sơ cung cấp

thêm bạn id hồ sơ 0000 chỉ để bảo mật

//:configuration = Adhoc 
PROVISIONING_PROFILE = 11111111-1111-1111-1111-111111111111
PROVISIONING_PROFILE[sdk=iphoneos*] = 11111111-1111-1111-1111-111111111111

//:configuration = Debug
PROVISIONING_PROFILE = 00000000-0000-0000-0000-000000000000
PROVISIONING_PROFILE[sdk=iphoneos*] = 00000000-0000-0000-0000-000000000000

//:configuration = Release
PROVISIONING_PROFILE = 22222222-2222-2222-2222-222222222222
PROVISIONING_PROFILE[sdk=iphoneos*] = 22222222-2222-2222-2222-222222222222

4

Hãy thử khởi động lại XCode

Sau khi cài đặt Cài đặt cấp phép và ký mã từ tất cả các đề xuất này, khởi động lại là thứ cuối cùng đã cho phép nó chạy với Cấp phép được đặt thành không và Mã ký được đặt thành Nhà phát triển iOS (Tự động)


4

Nó có thể được cung cấp bởi hồ sơ cung cấp. Đối với trường hợp của tôi, tôi đã cố chạy ứng dụng trên điện thoại của mình và hồ sơ cung cấp được đặt thành hồ sơ adhoc (XC Ad Hoc), do đó xảy ra lỗi. Tôi cần thay đổi nó thành hồ sơ Nhóm iOS được quản lý bởi xcode (để tránh làm việc thủ công trên trung tâm dev).


3

thực ra, đó là Hồ sơ cung cấp của bạn --Debug không chính xác


2

Câu trả lời của hasan83 làm việc cho tôi. Việc cung cấp Adhoc đã đưa ra lỗi này và thiết bị của tôi cũng không được bao gồm trong tệp cung cấp đó. Tôi đặt tự động để cung cấp và xây dựng. Xcode đã nhắc khắc phục sự cố và do đó đã khắc phục sự cố bằng cách tải xuống và đặt tệp cung cấp cho nhà phát triển.


2

Trong trường hợp của tôi, đó là vì lược đồ được chọn Run actiontrỏ đến một lược đồ khác Target, Code Signing Identityđược đặt thànhiPhone Ditributor


Thật là một thông báo lỗi không mô tả khủng khiếp cho một vấn đề đơn giản. Tiết kiệm cho tôi một loạt thời gian, cảm ơn bạn.
jungledev

1

Tôi chưa chấp nhận câu trả lời ở trên vì có một chuỗi vấn đề mà tôi cần giải quyết:

  1. SDK của bên thứ ba không được đặt làm phân phối.
  2. SDK của bên thứ ba không được đặt thành arm64, mà tôi nghĩ rằng tôi đã gây ra vì vô ích để khắc phục sự cố được biên dịch thành arm64.
  3. Cần hoàn thành xóa mọi chứng chỉ cũ và thêm chứng chỉ mới từ Apple. Điều tốt để làm.
  4. Tôi nghĩ rằng Xcode 5 ẩn các certs và hồ sơ trong các tùy chọn, điều này làm tăng thêm sự thất vọng.
  5. Sau đó, đảm bảo các cấu hình cung cấp chính xác được chọn trong các cài đặt gỡ lỗi và phát hành trong cài đặt Build của bạn.

Như mọi khi cảm ơn sự giúp đỡ của mọi người.


1

Vì vậy, sau khi thử nghiệm tất cả các tùy chọn này theo cách tôi nghĩ là chính xác là bây giờ bạn phải tạo một hồ sơ cung cấp để phát triển, không chỉ phân phối. đi đến ngăn tùy chọn và trong hồ sơ cung cấp, nhấp vào tạo mới, chọn phát triển và sau đó đi đến cài đặt xây dựng và đặt ký thành tự động (điều này sẽ chọn cung cấp chính xác) điều này giúp tôi.

Tôi đã mong đợi Apple sẽ có nhiều thông tin hơn khi họ thực hiện các thay đổi như mặc định này

chúc mừng

G.


1

Nhờ tất cả sự giúp đỡ trong các câu trả lời khác, tôi đã giải quyết nó như thế này:

  • Tạo dự án mới, trống
  • Chạy nó trên thiết bị - nó hoạt động tốt
  • Trong dự án cũ, mở tab "Dự án, Mục tiêu".
  • Trong Dự án, đặt Tất cả các thuộc tính ký mã thành giống như dự án trống mới (tất cả đều tắt trong trường hợp của tôi)
  • Trong Target, làm tương tự cho mục tiêu của bạn.

Tại thời điểm này, thật khó để biết cài đặt nào dành cho chế độ hoạt động nào vì vậy tôi mới bắt đầu từ một dự án nơi mọi thứ hoạt động.


1

Cũng gặp vấn đề tương tự - ứng dụng đã được cài đặt OK, nhưng sẽ không chạy từ Xcode với "khởi chạy quy trình không thành công: không nhận được tác vụ cho quy trình".

Hóa ra chứng chỉ phát triển của tôi đã hết hạn trong đêm. Tái tạo chứng chỉ và hồ sơ cung cấp đã giải quyết vấn đề.


1

Vấn đề này xảy ra với tôi vì tôi đã xóa 'Cấu hình' trong Dự án => Thông tin.

Để giải quyết vấn đề này, hãy truy cập 'Sản phẩm' => 'Lược đồ' => 'Quản lý lược đồ'. Chỉnh sửa sơ đồ hoạt động và kiểm tra xem 'Cấu hình bản dựng' không chỉ định bất kỳ cấu hình đã xóa nào cho mỗi quy trình (Chạy, Kiểm tra, v.v.).


1

Trong trường hợp của tôi, Xcode không thể tự động đặt Cấu hình Nhà phát triển iOS phù hợp cho cấu hình bản dựng Gỡ lỗi. Tôi đã đặt nó bằng tayiPhone Developer: My Name (XXXXXX) :

Cài đặt mục tiêu xây dựng → Ký mã → Nhận dạng ký mã → Gỡ lỗi.


1

Trong trường hợp của tôi, tôi không thể đặt hồ sơ cung cấp thành 'không' vì tôi cần hồ sơ cung cấp cho thông báo đẩy. Vì vậy, những gì tôi đã làm là tôi chỉ cần tạo một hồ sơ cung cấp khác cho nhà phát triển Apple, một hồ sơ cung cấp cho nhà phát triển iOS (không phải phân phối iOS), gắn với cùng một ID ứng dụng. Sau đó sử dụng hồ sơ cung cấp cho ứng dụng của bạn trong tab Cài đặt bản dựng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.