Lỗi Xcode 4: Lỗi khi bắt đầu thực thi


81

Tôi đã gặp sự cố khi kiểm tra ứng dụng của mình trên iOS và Xcode khi tải ứng dụng đó lên các thiết bị thực tế của mình (iPhone và iPad) và tôi tự hỏi liệu ai đó biết sự cố và có thể giúp tôi không:

Thông thường, khi tôi tạo ứng dụng trên thiết bị của mình, ứng dụng sẽ được cài đặt và khởi chạy trên thiết bị của tôi. Nhưng khi chuẩn bị gửi ứng dụng đầu tiên của mình, tôi đã thử nghiệm xung quanh và thay đổi Số nhận dạng gói, ID ứng dụng và Điều khoản phát triển (vì vậy vấn đề có thể liên quan đến nó) và bây giờ, khi tôi cố gắng xây dựng ứng dụng của mình thiết bị của tôi, mặc dù nó được cài đặt trên thiết bị của tôi tốt, Xcode sẽ không khởi chạy ứng dụng nữa. Thay vào đó, tôi nhận được thông báo lỗi này:

Lỗi khi bắt đầu thực thi. Lỗi khởi chạy chương trình từ xa: Không có tệp hoặc thư mục nào như vậy.

Có ai biết vấn đề là gì không? Và thư mục dữ liệu dẫn xuất này về cái gì?

Cảm ơn rất nhiều!


Câu trả lời:



88

Chạy ứng dụng từ Clean Slate

Đối với tôi, sự cố không giải quyết được cho đến khi tôi thực hiện những việc sau theo thứ tự này:

  1. Xóa ứng dụng khỏi thiết bị (Làm điều này trước khi cố gắng gỡ lỗi lại)
  2. Thoát XCode (Đừng chỉ đóng dự án)
  3. Xóa thư mục xây dựng ứng dụng (đường dẫn ví dụ: / Users / myusername / Library / Developer / Xcode / DerivedData / MyProject-fhkaamuyvqhubaezinqbmxbnaufd /)
  4. Khởi động lại XCode
  5. Cuối cùng - Thử gỡ lỗi một lần nữa trên thiết bị iOS

Thư mục xây dựng ứng dụng của bước 3 đề cập đến thư mục xây dựng ứng dụng của bạn là thư mục con của "DerivedData". Để tìm cái này, bạn có thể hiển thị ứng dụng của mình trong công cụ tìm, sau đó quay ngược lại cho đến khi bạn truy cập thư mục "DerivedData" và xóa thư mục phía trên như "MyApp-crazylongweirdletters". Nếu không có bước này (3), tôi không thể gỡ lỗi, vì vậy đây là bước quan trọng và bạn phải thoát XCode trước khi thực hiện bước này.

Đối với một số người, nó chỉ đơn giản là khởi động lại XCode thực hiện thủ thuật, nhưng với tôi thì không.

Tôi chỉ đăng câu trả lời này vì các câu trả lời trước đó KHÔNG phù hợp với tôi. Hy vọng rằng những người khác đập đầu sẽ phát hiện ra điều này và thở phào nhẹ nhõm. :)

Ghi chú:

  • Sự cố bắt đầu xảy ra với tôi khi tôi sửa đổi id gói của ứng dụng.
  • Việc ký mã của tôi là đúng. Hồ sơ cấp phép của tôi là "Hồ sơ cấp phép nhóm" sẽ hoạt động cho bất kỳ id ứng dụng nào (mặc định cho bộ chọn hồ sơ tự động "Nhà phát triển iPhone").
  • Tôi đang thực hiện bản dựng GỠ LỖI (không phải bản phát hành / phân phối).

5
Điều này đã làm việc cho tôi. Chỉ cần đảm bảo rằng bạn QUIT XCode thay vì chỉ đóng dự án.
Jorge Garcia

1
Điều này cũng bắt đầu xảy ra với tôi và điều này đã sửa chữa nó - có vẻ như điều gì đó liên quan đến việc tôi phải gia hạn chứng chỉ phân phối của mình
Simon East

1
Điều này cũng hoạt động đối với tôi khi thoát Xcode và xóa ứng dụng khỏi thiết bị. Tôi đã có thể chạy ứng dụng từ thiết bị, không phải với trình gỡ lỗi.
Wil Macaulay

2
Câu trả lời được đề xuất không phù hợp với tôi nhưng điều này đã thành công! Chỉ để làm rõ cho bất kỳ ai đọc nó, để tìm thư mục xây dựng trong Xcode, hãy nhấp vào ứng dụng của bạn trong chế độ xem danh sách tệp trong cửa sổ và 'hiển thị trong trình tìm kiếm'.
sradforth

1
Anh ấy không phải là anh hùng của ai .. - (chỉ là điệp khúc) câu trả lời này xứng đáng được đánh dấu!
bobobobo

10

Bạn không thể gỡ lỗi (bắt đầu từ Xcode) một ứng dụng được ký bằng hồ sơ phân phối nếu tôi nhớ rõ ... Và sau đó bạn nhận được những thông báo như vậy, gdb phải đính kèm để xử lý.


Xin chào vincent! Ngay cả khi tôi đã xây dựng ứng dụng của mình bằng cách sử dụng hồ sơ nhà phát triển, vẫn đang gặp phải vấn đề tương tự.
ravoorinandan

1
@ravoorinandan Hãy thử giải pháp của tôi (đóng XCode, xóa thư mục xây dựng ứng dụng của bạn, sau đó mở XCode và thử gỡ lỗi. Có lẽ cũng nên xóa ứng dụng của bạn trước khi chạy. Điều này khiến tôi phải đập đầu óc một lúc trước khi thử các bước này. Nếu cách này hiệu quả cho bạn, vui lòng bình chọn câu trả lời của tôi (không chỉ nhận xét này).
Sam

7

Cuối cùng tôi đã tìm ra lỗi của mình!

Tôi đang chơi với tệp info.plist của mình và tôi đã thay đổi Tên thực thi và Tên gói và tên Hiển thị gói! Ngay sau khi tôi thay đổi chúng trở lại Mặc định (tương ứng EXECUTABLE_NAME, PRODUCT_NAME, PRODUCT_NAME), nó đã hoạt động hoàn hảo.


3
Tôi đã gặp sự cố với plist của mình cũng gây ra vấn đề tương tự. Hãy chắc chắn rằng bạn đã kiểm tra kỹ plist của mình nhé các bạn! Cảm ơn vì tiền hỗ trợ!
Ethan Allen

4

Xóa ứng dụng khỏi thiết bị (chạm và giữ rồi xóa) và thử lại.


3

Đối với tôi, không ai trong số đó hiệu quả. Cùng một lỗi, nhưng giải pháp khác nhau.

Sự cố của tôi là do tôi vô tình thay đổi "Mục tiêu triển khai" (phiên bản ios) thành phiên bản cao hơn phiên bản trên điện thoại mà tôi đã cố gắng chạy mã trên đó.

Cách khắc phục rất đơn giản - giảm mục tiêu triển khai xuống dưới hoặc bằng phiên bản phần mềm ios trên điện thoại của tôi :)


2

Tôi gặp lỗi tương tự do không ký mã chính xác.

Đi tới dự án của bạn> Mục tiêu> Cài đặt bản dựng> Kiểm tra việc ký mã cho trạng thái gỡ lỗi.


1

Tôi tình cờ thấy đây là giải pháp cho một vấn đề khác, nhưng đó là một cảnh báo khi cố gắng tạo ứng dụng trên thiết bị 4.3.5 mới.

Nếu tôi đặt cấu hình thành phân phối, tôi không nhận được thông báo cảnh báo khi xây dựng ứng dụng, nhưng trình gỡ lỗi sẽ đính kèm vào thiết bị.

Nếu tôi đặt ký mã vào hồ sơ phân phối, tôi không nhận được cảnh báo nào trong quá trình xây dựng, nhưng trình gỡ lỗi sẽ không đính kèm. Vì vậy, câu trả lời ở trên về việc dựa trên ký kết có vẻ là đúng. Đây cũng có thể chỉ là vấn đề trên các thiết bị 4.3.5 mới hơn có xcode



1

Lỗi này đôi khi xảy ra do quá trình "Khôi phục" hoặc "Đồng bộ hóa" của thiết bị của bạn chưa hoàn thành khiến các tệp .app bị khóa.

Tôi đã làm gì Tôi phải bẻ khóa thiết bị của mình để tìm ứng dụng trong / Người dùng / Ứng dụng / XXXXX-XXXX-XXX / và xóa .app lừa đảo

Đối với một trong những ứng dụng, nó hoạt động và đối với một ứng dụng khác, tôi nhận ra rằng nó không tự động chạy GDB nên thông báo lỗi hoàn toàn gây hiểu nhầm, vì vậy tôi đã đặt GDB thành thủ công và nó đã hoạt động và không cho tôi lỗi đó, nhưng tất nhiên là tôi phải chạy ứng dụng theo cách thủ công để phiên gỡ lỗi bắt đầu.

Nó cũng có thể yêu cầu một số thứ khác mà tôi đã làm trước đây như kiểm tra hồ sơ cung cấp, nhưng đây là bước cuối cùng khiến nó hoạt động.

Trước đó, tôi đã thử tất cả các giải pháp đều không hiệu quả với tôi và rõ ràng là chỉ cần xóa ứng dụng bằng cách giữ ngón tay trên màn hình không hoạt động, vì nó đã xóa biểu tượng nhưng tất cả các tệp vẫn ở đó. (Vì nó là một ứng dụng phát triển không phải là một ứng dụng App Store đã tải xuống)


Bạn đã thử giải pháp của tôi và nó không hoạt động? Cá nhân tôi biết tôi sẽ không muốn bẻ khóa thiết bị của mình
Sam

Có, tôi đã thử giải pháp của bạn, và nhiều giải pháp khác nữa, vấn đề là do bản sao lưu không đầy đủ đã giết chết các biểu tượng ứng dụng phát triển trên bảng lò xo.
Rhm Akbari

1

gặp sự cố tương tự, thoát khỏi XCode ... xóa ứng dụng khỏi thiết bị ... chạy lại chương trình .. tôi đã giải quyết theo cách đó..một người bạn của tôi phải khởi động lại thiết bị.


1

Tôi có cùng một vấn đề. Tôi đã giải quyết nó bằng cách thay đổi tên thư mục của dự án và sau đó khởi chạy lại ứng dụng.


0

Tôi gặp sự cố này trên một thiết bị được khôi phục gần đây mà các ứng dụng đang phát triển của tôi chưa được cài đặt lại — các ứng dụng này đang hiển thị trên Springboard dưới dạng "Đang chờ" tải xuống từ App Store. Xóa ứng dụng khỏi Springboard đã khắc phục được sự cố.


0

Tôi đã gặp phải vấn đề này kể từ ngày hôm qua trên hai thiết bị khác nhau, cả iOS 4.x. Xóa thư mục DerivedData, xóa ứng dụng, khởi động lại Xcode và xóa mã KHÔNG hoạt động. Lặp lại tất cả các bước, ngoài việc khởi động lại thiết bị đã sửa nó cho tôi.


0

Ở đây tôi đang đăng một bản cập nhật cho vấn đề. Có thể hữu ích cho những người có cùng vấn đề. Tôi có Xcode 4.4 và đã khởi chạy nó trên thiết bị chạy iOS 5.0. Nếu Xcode không có trình mô phỏng 5.0

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.