Không thể khởi chạy ứng dụng của tôi trong Instruments: Ít nhất một mục tiêu không khởi chạy được


98

Tôi đã đặt đúng tất cả các quyền ký mã của mình. Chạy ứng dụng trên điện thoại của tôi là tốt, nhưng khởi chạy ứng dụng đó trong các thiết bị mang lại cho tôi thông báo lỗi:

Error Starting Recording
At least one target failed to launch; aborting run

Và sau đó:

Target failed to run. Permisson to debug [app name] was denied. The app must be signed with a development identity (i.e. iOS Developer)

Bất kỳ ý tưởng làm thế nào tôi có thể ngăn chặn điều này xảy ra? Không xảy ra trên iPad của tôi.

Câu trả lời:


217

Chỉnh sửa lược đồ cho mục tiêu của bạn và trong "Hồ sơ [Tên ứng dụng]", hãy đặt Cấu hình bản dựng thành Gỡ lỗi (thường là Bản phát hành theo mặc định).


6
+1, cảm ơn, điều này đã giúp tôi. Tôi muốn nói thêm rằng tôi phải xây dựng dự án sau khi thiết lập cấu hình thành Gỡ lỗi hoặc Dụng cụ vẫn không phát bóng.
Robert

4
Mặc dù tôi biết "thay đổi cấu hình thành Gỡ lỗi" này là sai nhưng tôi không có biện pháp khắc phục sự cố này. Nói chung, nó ít hữu ích / phổ biến hơn nhiều khi lập hồ sơ một bản dựng gỡ lỗi.
user501138

1
Đó là bởi vì Phát hành thường sử dụng chứng chỉ Sản xuất.
Evgeny Aleksandrov

Tôi đã đảm bảo rằng lược đồ hồ sơ đang sử dụng cấu hình gỡ lỗi (hồ sơ nhà phát triển) và tôi vẫn gặp sự cố này. Đây là chứng chỉ dành cho nhà phát triển doanh nghiệp, mặc dù tôi không mong đợi điều đó có ý nghĩa. Có suy nghĩ gì không?
Brody Robertson

3
Tôi đang gặp phải vấn đề tương tự. Việc tạo hồ sơ cho ứng dụng của bạn với cấu hình gỡ lỗi không phải là một bài kiểm tra hiệu suất hợp lệ vì trình biên dịch đã không tối ưu hóa mã như nó làm cho Adhoc. Có ai tìm ra vấn đề AdHoc không?
Fergal Rooney

34

Người ta nói rằng bạn cần ký ứng dụng bằng chứng chỉ nhà phát triển (không phải chứng chỉ phân phối ).

Trong Xcode 5, chỉ cần thay đổi "Provisioning Profile"trường cho bản "Release"dựng của bạn trong Cài đặt bản dựng thành chứng chỉ nhà phát triển thay vì chứng chỉ phân phối của bạn. Trong suốt thời gian thử nghiệm. Xcode không cho phép bạn xây dựng bằng chứng chỉ phân phối.

Đảm bảo rằng cài đặt xây dựng dự án không ghi đè cài đặt xây dựng mục tiêu hoặc thực hiện thay đổi trong cài đặt xây dựng dự án của bạn .

Đừng quên thiết lập lại cấu hình sau khi bạn hoàn tất quá trình kiểm tra.

Tôi không khuyên bạn nên sử dụng phương pháp của harrywynn, vì tốt hơn nên lập hồ sơ bản dựng phát hành vì khi đó bạn đang tính đến việc tối ưu hóa trình biên dịch và có trải nghiệm chính xác mà người dùng của bạn sẽ làm.


1
Đầu tiên, nó cần một hồ sơ phát triển, vì vậy nó có nghĩa là nó cần ở chế độ gỡ lỗi. Thứ hai, trừ khi Apple thay đổi nó thành hồ sơ phân phối, các nhà phát triển có thể sẽ đi với các bản dựng phát triển. Thứ ba, bạn đang lập hồ sơ, nó phải là một bản dựng phát triển (Gỡ lỗi). Thứ tư, tại sao bạn lại sử dụng hồ sơ phát triển cho một chương trình Phát hành?
Angelo

4
"Đầu tiên, nó cần một hồ sơ phát triển, vì vậy nó có nghĩa là nó cần ở chế độ gỡ lỗi." Bạn có thể chạy bất kỳ cấu hình nào với bất kỳ cấu hình nào. "Thứ ba, bạn đang lập hồ sơ, nó phải là một bản dựng phát triển (Gỡ lỗi)" Bạn nên lập hồ sơ với bản dựng phát hành để tính đến việc tối ưu hóa trình biên dịch. Bạn có thể nhận được các kết quả khác nhau. "Thứ tư, tại sao bạn lại sử dụng hồ sơ phát triển cho một chương trình Phát hành?" Bởi vì đó là giải pháp dễ dàng nhất cho vấn đề này. Và bạn nên thay đổi cấu hình trở lại khi bạn đã sẵn sàng thử nghiệm, như tôi đã viết trong câu trả lời của mình.
Zoltán Matók

9

Để thêm vào các câu trả lời trước.

  • Các cụ đang phàn nàn về danh tính người ký .
  • Tôi tin rằng nó là tốt hơn để hồ sơ ở chế độ phát hành, vì những lý do tương tự như Zolten đưa ra. (tính đến việc tối ưu hóa trình biên dịch và có trải nghiệm chính xác mà người dùng của bạn sẽ có, v.v.)
  • Để thay đổi nhận dạng ký mã của bạn cho Xcode 6 :
    • Nhấp vào Dự án của bạn, Chọn mục tiêu bạn đang lập hồ sơ.
    • Xây dựng Cài đặt -> Ký mã -> Nhận dạng ký mã -> Phát hành
    • Chọn hồ sơ nhà phát triển iOS của bạn.
  • Hồ sơ cấp phép: Hãy để Xcode chọn đúng Hồ sơ cấp phép cho bạn, ví dụ: chuyển sang Tự động
  • Khi bạn hoàn tất Hồ sơ, hãy chuyển về cài đặt bình thường của bạn .

Đây là một bức tranh dành cho những người rất tinh mắt;)

nhập mô tả hình ảnh ở đây


1

Tôi đang gặp sự cố tương tự: [INST STDERR] Lỗi theo dõi thiết bị: Không chạy được mục tiêu: Quyền gỡ lỗi bị từ chối. Ứng dụng phải được ký bằng danh tính phát triển (ví dụ: Nhà phát triển iOS).

Giải pháp: 1. Tôi đã lưu trữ ứng dụng với Hồ sơ nhà phát triển gỡ lỗi trong xcode cho thiết bị. 2. Vào Window -> Organizer -> để xem tất cả danh sách các kho lưu trữ 3. Bây giờ chọn kho lưu trữ muốn xuất và mở nó trong công cụ tìm kiếm 4. Nhấp chuột phải và hiển thị nội dung gói 5. Đi tới thư mục Sản phẩm / Ứng dụng Bạn sẽ thấy tệp .app.

Sử dụng cái này thay vì ipa.

Đảm bảo rằng thiết bị đã được thêm vào cổng dành cho nhà phát triển và tất cả các chứng chỉ được cài đặt trên thiết bị để các bước trên hoạt động.

Khi điều này đã được thực hiện. Ngoài ra, hãy đảm bảo rằng bạn nhận được ios-webkit-debug-proxy từ liên kết bên dưới:

https://github.com/appium/appium/blob/master/docs/en/advanced-concept/ios-webkit-debug-proxy.md

Ngoài ra, hãy bật các công cụ dành cho nhà phát triển trên cài đặt thiết bị. Ngoài ra, hãy chắc chắn rằng safari webins Inspector (safari -> Develop) -> Thanh tra đang bật Hy vọng nó sẽ giúp :-)

LƯU Ý: Khi bạn muốn appium cài đặt ứng dụng trên thiết bị cho mình, đừng cung cấp ID gói.


Các tập tin ứng dụng đang được Sản phẩm -> Ứng dụng dưới Gói nội dung
swathy valluri

0

Tôi đã giải quyết được vấn đề này trên máy của mình bằng cách thực hiện:

  • Tạo Hồ sơ cấp phép nhà phát triển mới với thiết bị của bạn trong danh sách hoặc ít nhất đảm bảo rằng máy của bạn nằm trong danh sách thiết bị của hồ sơ.
  • Trong Cài đặt dự án -> Ký mã -> Hồ sơ cấp phép -> Gỡ lỗi: Đặt hồ sơ mới tạo.
  • Trong cài đặt Mục tiêu -> Ký mã -> Cấu hình cấp phép -> Gỡ lỗi phát hành: Đặt cấu hình mới tạo.

Hy vọng rằng sẽ giúp.


0

Tôi nhận ra "Ít nhất một mục tiêu không thể khởi chạy" nghĩa là gì. Dường như cả kế hoạch phát triển và phát hành (nếu bạn có lược đồ gỡ lỗi và lược đồ phát hành) đều phải có danh tính phát triển.

Tôi đã chọn sơ đồ gỡ lỗi khi chạy trình biên dịch và thông báo ở đầu XCode cho biết "Đang chạy gỡ lỗi". Tuy nhiên, có vẻ như điều đó là chưa đủ.

Tôi đã thay đổi danh tính ký mã của lược đồ phát hành của mình giống với lược đồ gỡ lỗi (và cả hồ sơ cấp phép) và sự cố đã biến mất.


0

Thật đáng tiếc .. khi tôi thay đổi lược đồ hồ sơ của mình sang chế độ gỡ lỗi và cũng đảm bảo rằng, cấu hình xây dựng có chứng chỉ nhà phát triển trong đó. Cảm ơn


0

Không có giải pháp nào khác ở đây khắc phục được sự cố của tôi, nhưng tôi đã xác định rằng đó chỉ là vấn đề đối với tôi trên trình mô phỏng. Thiết bị hoạt động tốt. Có lẽ có vấn đề với trình mô phỏng.


0

Tôi đã gặp sự cố này với Xcode 9.1 cho cả trình mô phỏng và thiết bị và chương trình đang chạy của tôi đã được đặt thành cấu hình với "Gỡ lỗi". Cuối cùng, cuộc thảo luận trên diễn đàn Apple này rất hữu ích và đã giải quyết được sự cố. Tóm lại, giải pháp phù hợp với tôi là ... Khởi động lại máy Mac.

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.