Xcode 4 bị treo tại ngay khi đính kèm (tên ứng dụng)


206

Tôi vừa nâng cấp lên Xcode 4 và vì một số lý do, ứng dụng của tôi sẽ không chạy trong trình giả lập hoặc thiết bị iOS. Nó hoạt động hoàn hảo trong Xcode 3, nhưng thật bất ngờ khi tôi nhấn chạy chương trình dừng lại ở "Đính kèm ...". Dường như không có bất kỳ thông tin nào khác để giúp giải quyết vấn đề này.

Để biết tóm tắt, bạn có thể thử làm những điều sau đây để giải quyết vấn đề:

  1. Khởi động lại trình giả lập.
  2. Đảm bảo rằng bạn chưa bao gồm tệp Info.plist trong Giai đoạn xây dựng của mình -> Sao chép tài nguyên gói.
  3. Thư mục tài nguyên được thêm vào dự án dưới dạng tham chiếu thư mục (biểu tượng thư mục màu xanh). Điều đó gây ra rắc rối, sau khi thêm thư mục thành một nhóm, vấn đề đã biến mất.

Tôi cũng gặp vấn đề này, việc khởi động lại xcode thường khắc phục tạm thời, nhưng nó luôn quay trở lại.
NWCoder

5
Phải, tôi cũng đã có nó với ứng dụng khác của mình và có thể giải quyết nó bằng cách khởi động lại, nhưng ứng dụng này sẽ không chạy dù có chuyện gì. Đã thử khởi động lại, sim iphone, sim ipad, thiết bị ios ... không có gì hoạt động
Rob

4
Tôi đã nhận được điều này khi tôi thêm một thư mục vào dự án không phải là một nhóm mà là một thư mục thông thường. Cụ thể, khi có một thư mục được thêm vào có xung đột tên với một nhóm hoặc tệp trong dự án chính.
yeahdixon

4
Tôi gặp vấn đề này khi tôi kéo một resourcesthư mục vào dự án. Xóa nó không sửa nó.
Kit Sunde

4
Chỉ cần thay đổi tùy chọn gỡ lỗi từ LLDB sang GDB bằng cách chỉnh sửa lược đồ. (Làm việc cho tôi) stackoverflow.com/questions/10147356/ từ
Ansari

Câu trả lời:


104

Đã sửa nó !! Hy vọng rằng điều này sẽ giúp một số người tránh được một vài giờ rất bực bội. Tôi đã giải quyết điều này bằng cách:

  1. Nhấp vào tên dự án trong khung bên trái (ở trên cùng). Điều này sẽ đưa ra một menu mới ở bên phải, một cái gì đó giống như các trình soạn thảo dự án / đích trong XCode 3.
  2. Nhấp vào Build Settings lên ở trên cùng.
  3. Trong Bao bì, đảm bảo tên sản phẩm của bạn giống nhau cho mọi bản dựng và bằng với bất cứ thứ gì nó nói. Ví dụ: nếu XCode đang treo ở "Đính kèm myLCBO" nhưng tên sản phẩm của bạn là "Trình tìm LCBO" thì nó sẽ không được xây dựng. Đó chính xác là vấn đề của tôi vì tôi đã đổi tên ứng dụng của mình một nửa trong quá trình phát triển.

Hi vọng điêu nay co ich!


Vâng, tôi không nghĩ rằng nó luôn hoạt động, nhưng nó chắc chắn là một trong những vấn đề bạn có thể gặp phải
Rob

Điều này không sửa lỗi cho tôi. Sử dụng XCode 4.0.1, tôi bắt đầu một dự án mới, xây dựng và chạy nó mà không sửa đổi mẫu mặc định - hoạt động. Không thoát khỏi trình giả lập, tôi thực hiện một số thay đổi, chạy lại, vẫn hoạt động. Sau đó, tôi thoát XCode và trình giả lập, lần sau tôi chạy - bị treo tại "đính kèm vào <process>".
Tomas Andrle

Và làm sạch tất cả các mục tiêu (Xcode 3.x) hoặc Sản phẩm sạch (Xcode 4.x). Điều này giúp tôi khi tôi nghĩ giải pháp này không hiệu quả.
Lukasz

17
Hãy thử điều này: Đặt lại Trình mô phỏng, Xây dựng sạch, Thoát khỏi Trình mô phỏng, Chạy dự án. Nên làm việc.
Jordan

4
@Jordan: không giúp được gì, nhưng khởi động lại thì có. Lion lỗi lớn thời gian cho tôi và máy Mac mini của tôi.
Jonas Byström

72

Đây là cách khắc phục của chúng tôi:

Trong dự án> Chỉnh sửa lược đồ> Chạy.

Thay đổi Trình gỡ lỗi từ GDBthành None(ngay phía trên vòng tròn màu xanh lá cây trong hình trên).


Điều này cũng giúp cho tôi, nhưng rõ ràng, không có lỗi báo cáo về lỗi, chỉ cần hỗ trợ NSLog
oberbaum

13
Điều này sửa nó cho tôi, nhưng tôi thực sự muốn tôi biết tại sao / làm thế nào để thực sự sửa nó. Đó thực sự là LLDB đã gây ra nó. Chuyển sang GDB hoạt động tốt.
justinxreese

4
Cảm ơn, đã khắc phục sự cố nhưng không phải là vấn đề. Apple cần phải thử sử dụng crap của họ trước khi phát hành nó.
Stephen P.

Tôi đã thử tất cả các lời khuyên khác trên trang này. Sau đó, chuyển đổi trình gỡ lỗi từ LLDB sang không có mẹo nào. Cảm ơn!
thomax

Cảm ơn! Điều đó đã khắc phục sự cố :)
TimTastic

40

Một mẹo tôi tìm thấy tại Diễn đàn nhà phát triển của Apple :

Đi vào thư mục ProjectName.xcodeproj / của bạn và xóa bất cứ thứ gì có tên với userid của bạn. Mở lại dự án trong xcode và tất cả những gì sẽ được tạo lại và nó sẽ hoạt động. Ít nhất là nó đã làm cho tôi.

Một mẹo khác là tự xóa buildthư mục.

Tuy nhiên, một mẹo khác là điều hướng đến Trình tổ chức ( Shift ⇧ Command ⌘ 2trong xcode 4), chọn Dự án , chọn ứng dụng của bạn ở phía bên trái và sau đó xóa nút ... ở bên phải Dữ liệu được tạo .

Và đừng bao giờ quên mẹo hữu ích chung: khởi động lại máy tính của bạn và thử lại.

Chúc may mắn!


7
Tin hay không, tôi đã thử mọi thứ trên trang này và khởi động lại xcode nhiều lần mà không thành công. Cuối cùng tôi cũng khởi động lại máy, và sau đó nó hoạt động. Khùng. Tôi nghĩ rằng đó chỉ là một giải pháp Windows :)
dreyln

1
Tôi đã có chính xác cùng một vấn đề và xóa mọi thứ với userid của tôi và khởi động lại Xcode đã giải quyết nó.
Nikita Zhuk

Xóa dữ liệu dẫn xuất làm việc cho tôi (mẹo thứ 3). Vấn đề này xảy ra khi tôi thêm các tệp vào dự án XCode và điều này đã giải quyết nó.
Jonathon Horsman

28

Giải pháp được cung cấp đã không khắc phục vấn đề trong trường hợp của tôi.

Để giải quyết nó (chỉ XCode 4), tôi đã phải vào Product -> Edit Scheme. Sau đó chọn lược đồ "Chạy" và đánh dấu "Tự động" chưa được bật.

Hy vọng nó sẽ giúp được ai đó.

http://tinyurl.com/3ma9xv7


Thắng lợi! Cứu tôi một loạt những cơn đau đầu. Cảm ơn!
Jon

18

Đối với mọi người vẫn đang cố gắng giải quyết vấn đề này sau mọi thứ bạn đã thử từ trên xuống, hãy thử bắt đầu trình giả lập iphone, nhấp vào Trình mô phỏng iOS trong menu ở trên cùng, Đặt lại Nội dung và Cảnh báo . Điều này sẽ xóa tất cả các ứng dụng khỏi trình giả lập, nhưng bây giờ bạn cuối cùng cũng có thể sử dụng trình giả lập!


1
đã thử điều này - không làm gì cả. giải pháp của macnico ở trên đã làm việc cho tôi.
Kwexi


11

Ngoài ra: đảm bảo rằng bạn chưa bao gồm tệp Info.plst trong Giai đoạn xây dựng của mình -> Sao chép tài nguyên gói. Nếu vậy, loại bỏ nó khỏi danh sách đó! Tôi mắc một lỗi nhỏ có thể xảy ra, nhưng có một điều khiến mọi thứ rối tung lên khá khó chịu: S


Cảm ơn!! đó là vấn đề của tôi, không có câu trả lời nào khác làm việc cho tôi.
Damian

Sau khi thử mọi thứ, giải pháp của bạn là giải pháp hiệu quả. CẢM ƠN!
jcdmb

8

Một giải pháp khả thi nữa: Tôi đã thêm thư mục Tài nguyên của mình vào dự án dưới dạng tham chiếu thư mục (biểu tượng thư mục màu xanh). Điều đó gây ra rắc rối, sau khi thêm thư mục thành một nhóm, vấn đề đã biến mất.


Lạ nhưng đúng, Xcode4 dường như không thích tài liệu tham khảo. Giải quyết nó cho tôi.
Đến

Tương tự ở đây, Apple, thực sự?
Ege Akpinar

5

Tôi thực sự tìm thấy câu trả lời cho tôi :)

cho tôi,

cài đặt dự án -> mục tiêu của bạn -> xây dựng các giai đoạn -> xác thực cài đặt -> thực hiện

và bây giờ vấn đề đã biến mất

:)

Tôi hy vọng ai đó sẽ giúp


Cảm ơn! Điều đó đã sửa nó cho tôi. Tôi chưa bao giờ thấy nút 'xác thực cài đặt'.
Sunil Gowda

3

Giống như Rob đã nói, nhưng cũng kiểm tra "định danh" nên đọc theo mặc định "com.yourcompany.YourAppName" Tôi đã thay đổi "yourcompany" do nhầm lẫn và điều này gây ra vấn đề tương tự được ghi nhận ở trên.


Bạn đã giải quyết nó cho tôi! Tò mò muốn biết cách chính xác để thay đổi "công ty của bạn".
Andrew

kiểm tra liên kết này để thay đổi nó một cách chính xác. ( stackoverflow.com/questions/2956464/
Jason

Cảm ơn rất nhiều .. Tôi đã thử tất cả những điều trên nhưng không có gì hiệu quả !! ước gì tôi có thể cho bạn 100 phiếu bầu: P
Ahmed

3

Tôi đã giải quyết vấn đề này như thế nào:

1) Trình mô phỏng iOS-> Đặt lại nội dung và cài đặt ...

2) Chắc chắn tên dự án, tên chương trình và tên mục tiêu là giống hệt nhau. "AppName" và "Appname" không đúng. Phải là "AppName" và "AppName" hoặc "Appname" và "Appname".

3) Khởi động lại XCode và Thoát khỏi Trình mô phỏng.

Tên dự án tại Build Settings-> Tên sản phẩm.

Tên lược đồ tại Product-> Manage Scheme. Nhấp vào chương trình hiện tại một lần để đổi tên.

Tên mục tiêu tại Cột của Dự án với Mục tiêu. Nhấp một lần vào mục tiêu hiện tại để đổi tên.

Chúc may mắn =)


3

Điều này dường như cũng xảy ra với tôi khi tệp info.plist đang trong giai đoạn xây dựng bản sao. Có vẻ như đôi khi Xcode sẽ cảnh báo bạn về điều này và những lần khác thì không. Rất lạ. Nhưng nếu bạn đang gặp phải vấn đề này, hãy đảm bảo rằng info.plist KHÔNG ở trong giai đoạn xây dựng bản sao của bạn.


Tôi đã thiết lập cấu trúc thư mục bằng cách kéo và thả và Xcode đã thêm chúng vào giai đoạn xây dựng "Sao chép tài nguyên gói". Loại bỏ các thư mục từ giai đoạn đó đã sửa nó cho tôi.
fphilipe

3

Vấn đề của tôi cũng là một thư mục có tên "tài nguyên" trên thư mục nguồn gốc. Có vẻ như nó xung đột với một số đặt tên xây dựng nội bộ.

Đổi tên thư mục thành "res" đã giải quyết vấn đề cho tôi.


3

Tôi đã thử mọi thứ trong trang này và giải pháp "mới" phù hợp với tôi là vào trình giả lập và "Đặt lại nội dung và cài đặt" trong menu chính của trình giả lập iOS.


3

Giải pháp này không mang tính kỹ thuật nhưng nó hiệu quả với tôi.

Khi Đính kèm vào Quá trình hiển thị trong xcode và nó bị treo một lúc, chỉ cần giả lập iOS và khởi chạy lại ứng dụng bằng cách nhấn Command + R.

Nó sẽ khởi chạy ứng dụng mà không gặp vấn đề gì :)


2

Tôi đã thử tất cả mọi thứ và không có gì làm việc. Tôi có một dự án cũ từ XCode 3. Tôi chỉ cần đổi tên thông tin.plist trong dự án thành một tên khác, khởi động lại trình giả lập và mọi thứ đều hoạt động tốt kể từ đó.


+1 Đổi tên MyApp-Info.plist thành một thứ khác đã phá vỡ bản dựng của tôi, nhưng đổi tên lại một lần nữa đã sửa lỗi một cách kỳ diệu tại "Đính kèm ..." cho tôi.
Ergwun

2

Tôi thường gặp phải vấn đề này sau khi đổi tên một dự án trong Xcode 4.

Tôi đã có thể sửa nó bằng cách chỉnh sửa Định danh Gói trong tệp .plist.

Sau khi tôi đổi tên dự án, Mã định danh Bundle sẽ thay đổi thành thứ như thế này:

com.yourcompany.${PRODUCT_NAME:rfc1034identifier}

thay đổi nó trở lại này:

com.yourcompany.${PRODUCT_NAME}

sẽ ngăn Xcode treo và cho phép Ứng dụng chạy.


2

Đối với tôi, không ai trong số này đã làm việc. Tôi nhận ra rằng dự án của tôi có 2 tệp info.plist (với hai tên khác nhau, như info.plist và Project-info.plist), vì vậy XCode đã bị nhầm lẫn. Tôi chỉ loại bỏ các tập tin plist không chính xác, và nó đã làm việc!


Đây là nó cho tôi, tôi đã thử nhiều thứ khác được đề xuất bởi những người khác. Nếu bạn đã tạo một dự án Xcode4 mới và cố gắng thêm vào các tệp cũ của mình, đây có thể là thủ phạm của bạn.
zekel

2

Trong Sản phẩm> Chỉnh sửa lược đồ> Chạy> Thông tin, đã thay đổi Trình gỡ lỗi từ LLDB sang GDB hoạt động hoàn hảo với tôi!


1

Tôi đã từng gặp vấn đề tương tự. Vấn đề là có thêm một người dùng đã đăng nhập và chạy trình giả lập. Hãy nghĩ rằng chỉ có thể có một phiên bản giả lập iphone chạy trên máy ngay cả đối với những người dùng khác nhau. Hy vọng thông tin này sẽ hữu ích cho ai đó :)


1

Những gì làm việc cho tôi là như sau:

Trong XCode:

  • Bấm vào tên dự án
  • Bấm vào tên mục tiêu
  • Nhấp vào "Xây dựng cài đặt"
  • Tiết lộ nội dung "Tên sản phẩm" (nhấp vào hình tam giác)
  • Đảm bảo tên của tất cả các mục khớp với tên của dự án
    • Thí dụ
      • Tên sản phẩm myapp
        • Gỡ lỗi myapp
        • Phát hành myapp
  • Hiển thị nội dung "Triển khai" (nhấp vào hình tam giác)
  • Đảm bảo có mục "Mục tiêu triển khai IOS"
    • Thí dụ
      • Mục tiêu triển khai iOS IOS 3.0
        • Gỡ lỗi iOS 3.0
        • Phát hành iOS 3.0

Sau đó dọn dẹp và chạy.


1

Đây là những gì làm việc cho tôi:

Trong Xcode điều hướng đến menu Sản phẩm và chọn EDIT SCHEMES.

Trong danh sách bên trái, chọn Run YourAppName.app. Từ menu Thực thi, chọn KHÁC.

Điều hướng và chọn tệp .app của bạn trong thư mục dự án của bạn.

Bây giờ chạy và nó hoạt động :)


1

Tôi nhận thấy nó đã xảy ra với tôi khi tôi chỉnh sửa lược đồ từ Build Release sang Build Debug. Tôi đã thay đổi trở lại, và nó đã hoạt động :)


1
+1 Điều này không hiệu quả với tôi, nhưng ít nhất tôi có thể xác minh rằng bản dựng phát hành vẫn hoạt động ngay cả khi gỡ lỗi không.
Ergwun

1

Điều gì làm việc cho tôi:

  • Khởi chạy "Monitor" và tiêu diệt gdb-i386-apple-darwin được cho là treo
  • Khởi động lại trình giả lập iOS

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


1

Giải pháp của tôi là sửa tên ngòi. (Tôi đã thay đổi tên ngòi của mình trước đây cho một phiên bản iPad nhưng sau đó tôi đã xóa tệp ngòi iPad). Sau đó, nó hoạt động tốt trở lại.


1

Tất cả các đề xuất trên không giải quyết vấn đề của tôi. Sau khi tôi thêm thư mục Tài nguyên và biên dịch, nó sẽ bị treo khi gắn vào tên ứng dụng. Tôi gỡ bỏ thư mục Tài nguyên, vẫn bị treo. Tôi đã xóa dự án và tạo lại một dự án mới (có cùng tên) nhưng vẫn gặp sự cố. Nếu đó là tên khác thì không sao. Tôi đã khởi động lại hệ điều hành nhưng vẫn không giúp được gì.

Để giải quyết vấn đề, tôi đã làm như sau: 1. ps -ef | grep Xcode và hủy tất cả các quy trình "Xcode". 2. Đặt lại nội dung của Trình mô phỏng và thoát khỏi Trình mô phỏng. 3. Sản phẩm> Làm sạch để dọn dẹp bản dựng. 4. Biên dịch và chạy sản phẩm. Nó nên hoạt động vào thời điểm này.

Hy vọng nó sẽ giúp một số người khác có vấn đề tương tự.


1

Tôi đã gặp lỗi này sau khi kết hợp một dự án khác bên trong dự án mới của tôi. Hãy chắc chắn rằng bạn xóa dự án mà bạn đã thêm thông tin.plist và .app


1

Cũng gặp phải một vấn đề tương tự: khởi động lại trình giả lập và Xcode không hoạt động với tôi, trong khi khởi động lại máy mac của tôi hoạt động khá tốt!


Tương tự ở đây, khởi động lại các ứng dụng không hoạt động và khởi động lại mac đã làm. Ngoài ra, vấn đề này, đối với tôi, bị cắt đột ngột và bí ẩn vào giữa ngày làm việc, không phải là kết quả của việc nâng cấp xcode hoặc bất kỳ nhiệm vụ lớn hơn nào khác.
Joey

1

Lựa chọn tốt nhất sẽ là

  1. Thoát giả lập
  2. Mở một dự án khác
  3. Chạy Project (chỉ cho trình mô phỏng sake mở ra)
  4. Xóa dự án trước đó khỏi trình giả lập
  5. Làm sạch dự án chính
  6. Chạy lại

Thưởng thức!!!


0

Nếu ứng dụng của bạn vẫn không hoạt động sau khi thay đổi Tên sản phẩm, hãy thử thay đổi "Tệp thực thi". Tôi đã giải quyết vấn đề tương tự với phương pháp này.


2
nếu bạn cung cấp thêm một chút thông tin ở đây, bạn sẽ tiết kiệm cho tôi khoảng 4 giờ LOL :(
TheLearner
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.