Không thể chạy ứng dụng trong Trình mô phỏng: Đã xảy ra lỗi khi chạy (Tên miền = LaunchServicesError, Mã = 0)


91

Sau khi biên dịch thành công dự án trong Xcode 6, tôi không thể chạy nó trong trình mô phỏng với thông báo được đề cập ở trên. Tôi đã thực hiện tất cả các nghiên cứu có thể, thử mọi thứ và vẫn không có tiến bộ.

Tôi không làm việc với swift, tôi cũng không sử dụng widget hoặc tiện ích mở rộng, vì vậy vui lòng không đề xuất các giải pháp gây ra bởi những điều này như có thể thấy trong các câu hỏi tương tự.

Nếu ai đó tìm thấy nguyên nhân (hoặc giải pháp !!) có thể xảy ra ngoài những điều này , vui lòng giúp đỡ. Cảm ơn


sẽ rất hữu ích nếu bạn có thể liệt kê những gì bạn đã cố gắng loại trừ những đề xuất đó.
donmarkusi

Sự cố hiện đã được giải quyết, nhưng chỉ để biết thông tin mà tôi đã thử: - chạy sạch - xóa bộ nhớ cache của dự án / dữ liệu có nguồn gốc - khởi động lại cả Trình mô phỏng và Xcode - khởi động lại Mac - cài đặt lại Xcode - dọn dẹp và cài đặt lại CocoaPods - kiểm tra Cài đặt bản dựng để tìm bất kỳ trường hợp hiếm gặp nào xuất hiện Không có gì giúp đỡ. Không thử đặt tên cho tiện ích mở rộng ứng dụng vì tôi không sử dụng bất kỳ.
Miki

3
"Sản phẩm -> Sạch sẽ" phù hợp với tôi.
nshuman


Khởi động lại mô phỏng giải quyết vấn đề của tôi
Bhavesh

Câu trả lời:


175

"Đặt lại Nội dung và Cài đặt" từ các tùy chọn menu Trình mô phỏng iOS và khởi chạy trình mô phỏng sau khi Thoát đã giải quyết được sự cố của tôi.

Đặt lại Nội dung và Cài đặt


6
Cách tốt hơn câu trả lời ban đầu. Nên được đánh dấu là giải pháp.
denislexic

Sau đó, tôi cũng cần phải thoát và mở lại trình mô phỏng.
jfredsilva

Yêu cầu này đã được đề cập trong câu trả lời của tôi @jfredsilva.
Sauvik Dolui

1
Cũng xóa các ứng dụng nếu trước đó bạn đã cài đặt nó trên mô phỏng
danywarner

Làm việc cho tôi. Cảm ơn
Nikhil Chaurasiya

125

Làm sạch thư mục xây dựng đã giải quyết được vấn đề cho tôi. Tôi hi vọng nó giúp ích cho ai đó!

(Trong khi giữ phím Alt-: Sản phẩm> Thư mục bản dựng sạch )


1
YA YA YA, đã khắc phục sự cố: D
Abo3atef

1
Điều này có hiệu quả với tôi sau khi tôi cập nhật để sử dụng Cocoapods và .xcworkspace.
John the King,

3
Đây là việc phải làm sau khi cập nhật lên Cocoapods v1.0.0
Anconia

Chỉ cần nói thêm, đây là điều duy nhất đã khắc phục sự cố này cho tôi sau khi cập nhật lên Cocoapods v1.0.0. Không có câu trả lời SO nào khác hoạt động.
Andy Rice

Làm việc, tôi rất hạnh phúc
anavarroma

33

Tôi đã thử mọi giải pháp khác được liệt kê ở đây. Vâng, tôi đã chuyển dự án của mình từ Swift 1.2 sang Swift 2.0. Ứng dụng đã bị mắc kẹt ngay cả sau khi nhiều lần gỡ lỗi và khởi chạy dịch vụ lỗi 0 đã được báo cáo.

giải pháp: Nó xảy ra do quá trình biên dịch khung.

Mục tiêu ứng dụng -> Giai đoạn xây dựng -> Khung công tác nhúng.

Vì vậy, chỉ đánh dấu sao chép khi cài đặt trên. Làm sạch dự án và chạy nó!

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


Bạn có thể giải thích thêm về cách "Chỉ sao chép khi cài đặt" khắc phục sự cố không?
sethfri

@ sethfri: "Chỉ sao chép khi cài đặt" để chỉ định rằng giai đoạn xây dựng chỉ sao chép tệp trong các bản cài đặt của sản phẩm. developer.apple.com/library/mac/recipes/…
AG

3
Tôi hiểu những từ "Chỉ sao chép khi cài đặt" nghĩa là gì. Tôi đang hỏi cách này khắc phục sự cố mà tác giả câu hỏi đang gặp phải.
sethfri

28

Việc này giờ đã được giải quyết rồi. Sự cố do thư viện ShareKit do CocoaPods thêm vào vì lý do tương thích. Sau khi xóa thư viện và tất cả mã liên quan, ứng dụng đã khởi chạy thành công trong trình mô phỏng. Tôi khuyên bạn nên kiểm tra nhật ký hệ thống để biết thêm chi tiết về vấn đề vì nó đã chỉ cho tôi đi đúng hướng (nêu rõ tên của thư viện xung đột).


Tôi vừa thêm shareKit và tôi gặp vấn đề tương tự.
dirkoneill

24
Trong trường hợp điều này giúp ích cho bất kỳ ai: Bạn có thể truy cập nhật ký hệ thống bằng cách nhập Console trong Spotlight.
Nate Cook

Đối với tôi đó là MixpanelAppExtension
villy393

Cảm ơn, điều này đã giúp tôi ra ngoài. XCode 7.3.1 và nhật ký của tôi hiển thị "ErrorDescription = Không thể sao chép liên kết cứng". Tôi đang đặt một phiên bản nhưng không đặt số bản dựng trong Target -> General -> Identity. Khi tôi bao gồm một giá trị cho Xây dựng, vấn đề đã biến mất.
William Smith

Để kiểm tra nhật ký hệ thống, hãy thử lệnh này trong Terminal: tail -f /var/log/system.logiOS Simulator in trực tiếp vào stdout, vì vậy bạn có thể thấy nhật ký được trộn lẫn với nhật ký hệ thống.
vhong

16

Trong trường hợp có ai gặp sự cố này khi kết hợp với vỏ ca cao, các bước sau đã giúp tôi giải quyết lỗi này (sau vài giờ):

  • chạy pod cache clean
  • từ SRC_ROOT chạy rm -rf Pods(tùy chọn rm Podfile.lock)
  • Nhấp vào ứng dụng Trình mô phỏng , nhấp vào Trình mô phỏng -> Đặt lại Nội dung và Cài đặt ...
  • Vào Xcode, Trong thanh Menu, nhấp vào Sản phẩm -> Dọn dẹp (hoặc nhấp Shift + Command + K). Thao tác này sẽ làm sạch dự án Xcode của bạn.
  • Tạo một Terminal Shell mới (Từ thanh menu, nhấp vào Shell -> New Window)
  • chạy rm -rf ~/Library/Developer/Xcode/DerivedData/

... sau đó cố gắng Xây dựng & Chạy dự án của bạn.

Lưu ý: SRC_ROOT có thể được tìm thấy bằng cách vào Bộ điều hướng , nhấp vào dự án, nhấp lại vào dự án từ danh sách dự án và mục tiêu , đi vào Cài đặt bản dựng , cuộn xuống dưới cùng đến Phần do người dùng xác định và SRC_ROOT sẽ được gắn nhãn là PODS_ROOT. Lấy nó và sao chép nguyên văn vào Terminal và tiếp tục với bước 2 từ danh sách trên.

Hy vọng nó giúp.


2
Điều này đã làm được. Cảm ơn bạn! Thực sự nên là câu trả lời được chấp nhận.
Dan Loewenherz

Điều đó đã giải quyết vấn đề của tôi! Chắc chắn nó phải là câu trả lời được chấp nhận!
Victor Oliveira Antonino

15

Tôi thoát khỏi sự cố bằng các bước nhất định cho trình mô phỏng

1 chiều

  1. Đặt lại Nội dung và Cài đặt của Trình mô phỏng .
  2. Sạch dự án của bạn bằng cách Cmd + Shift + K .
  3. Xóa dữ liệu có nguồn gốc của bạn .
  4. Điều cuối cùng quan trọng hơn là thay đổi Số nhận dạng gói của bạn bằng "com.yourcompanyname.projectname" như "com.facebook.Facebook"

2 cách

Bạn chỉ có thể là dòng đã cho, nó phù hợp với tôi

Điều cuối cùng quan trọng hơn là thay đổi Số nhận dạng gói của bạn bằng "com.yourcompanyname.projectname" như "com.facebook.Facebook"

Cảm ơn và tận hưởng chương trình.


Bạn có nghĩa là cmdthay vì win? ;) (Hoặc có thể bạn sử dụng một bàn phím cửa sổ).
JeroenJK

@JeroenJK Có Cmd của nó.
Dharmbir Singh

Chà, thay đổi ID gói cuối cùng đã hiệu quả với tôi. Cảm ơn!
ArtSabintsev

6

Có thể liên quan đến vấn đề này: "Ứng dụng này chứa tiện ích mở rộng ứng dụng có số nhận dạng gói bất hợp pháp"

Tôi đã phải định dạng số nhận dạng gói cho ứng dụng và tiện ích của mình như sau:

com.company.AppName
com.company.AppName.Extension

Ở đây cũng vậy. Tôi đã thay đổi số nhận dạng gói vì tiện ích mở rộng (tiện ích con) không hiển thị và điều đó đã gây ra lỗi này. Đã phải hạ phiên bản mở rộng từ 9.2 xuống 8.2 và thay đổi gói như đã đề cập ở trên.

Cảm ơn, chính xác là vấn đề của tôi!
Andres

5
  1. Đầu tiên "Đặt lại nội dung và cài đặt"
  2. Nếu bạn không điền số bản dựng và hãy điền nó và Chạy.

Nó đã được giải quyết cho tôi.


4

Nếu bạn thay đổi tên của lớp được cung cấp được InterfaceControllerđặt theo mặc định khi bạn bắt đầu một dự án mới. Lớp này được tham chiếu trong khóa Info.plistdưới RemoteInterfacePrincipalClass. Trong trường hợp của tôi, tôi đã gặp lỗi được đề cập bởi OP cho đến khi tôi sửa tên của lớp trong đó (xem ảnh chụp màn hình).

Info.plist: đặt lớp chính


Điều đó thực sự hữu ích! Cảm ơn!
Lonkly

2

Nếu bạn đang ở đây sau khi gặp sự cố khi tích hợp với WatchOS 2.0, hãy truy cập - ~/Library/Logs/CoreSimulator/[Device UDID]/system.logvà nếu có nội dung tương tự, WatchKit 2 app has frameworks; that's not allowed.hãy nhấp vào liên kết bên dưới.

http://zyafa.me/blog/watchos-2-and-embedded-frameworks


1
Cảm ơn đã chỉ tôi đến tệp nhật ký giả lập. Trong trường hợp của tôi file log ở ~/Library/Logs/CoreSimulator/CoreSimulator.logtiết lộ rằng khuôn khổ liên kết của tôi không có CFBundleIdentifiertrong nó Info.plist
berbie

khung công tác không có CFBundleIdentifier trong Info.plist của nó: Tôi cũng nhận được giải pháp này là gì? không sử dụng trên watchkit hoặc watchOS
Abhishek Thapliyal

1

Tôi là người dùng adMob và tôi đã giải quyết được việc bật "Chỉ sao chép khi cài đặt" trong Mục tiêu ứng dụng -> Giai đoạn tạo -> Khung nhúng.


1

Gặp vấn đề tương tự sau khi bản địa hóa ứng dụng của tôi. Đặc biệt Info.plist. Có vẻ như tôi đã có sản phẩm nào CFBundleShortVersionStringtrong InfoPlist.strings, sau khi sửa chữa rằng trình mô phỏng bắt đầu làm việc đúng cách.


Đó cũng là vấn đề của tôi. Nếu bạn thấy điều đó, hãy thử xóa tất cả các khóa không yêu cầu bản địa hóa khỏi tệp InfoPlist.strings của bạn. Trong trường hợp của tôi, việc xóa các khóa bên dưới đã khắc phục mọi thứ: CFBundleName CFBundleShortVersionString CFBundleVersion
lazarev

1

Tôi gặp sự cố này bằng cách thêm tham chiếu thư mục có tên "Tài nguyên".

Nếu tôi đặt cho nó một cái tên khác, thì nó sẽ chạy!


1
Cái này đã giải quyết cho tôi một vấn đề tương tự! Tôi đang nhúng một dylib và nó gây ra lỗi khó hiểu "không có CFBundleIdentifier trong lỗi cài đặt Info.plist". Sau khi thay đổi thư mục Tài nguyên để cái gì khác nó bắt đầu hoạt động trở lại
Sagi Iltus

Hai con chim với một đá;)
Moose

1

Có một số điều có thể gây ra lỗi này. Câu trả lời chung tốt nhất là tìm kiếm nhật ký bảng điều khiển CoreSimulator, vì trình mô phỏng ghi lại vấn đề cơ bản khi nó hiển thị thông báo này.


1

Cảm ơn bạn đã chỉ ra điều này @Miki và kudos cho bạn. Tôi đã gặp vấn đề tương tự như bạn ngày hôm qua (và tôi đã thêm ShareKit 3.0.0 từ CocoaPods vào ứng dụng một vài ngày trước). Tôi nghi ngờ ShareKit gây ra sự cố này cho tôi, nhưng bây giờ tôi có thể tự tin về chính xác thư viện nào đang gây ra sự cố này. Đây là những gì tôi tìm thấy trong nhật ký của mình (nếu nó có thể mang lại lợi ích cho người khác):

Error Domain = LaunchServicesError Code = 0 "Không thể hoàn tất thao tác. (Lỗi LaunchServicesError 0)" UserInfo = 0x7fa836097aa0 {Error = PackageInspectionFailed, ErrorDescription = Không thể tải Info.plist từ gói tại đường dẫn / Users / {UserName} / Library / Developer / CoreSimulator / Devices / 99FEB34E-6F00-4EFA-861A-A6985AFE96D8 / data / Library / Caches / com.apple.mobile.installd.staging / temp.X7eead / extract / {AppName} .app / Frameworks / LiveSDK. khuôn khổ}


1
từ nhật ký của bạn, làm thế nào bạn có thể biết rằng ShareKit gây ra lỗi?
chipbk10

1
Tôi có điều tương tự trong nhật ký của mình nhưng xóa trình mô phỏng và thêm lại chúng không giúp được gì ... bạn đã sửa lỗi như thế nào?
Amitay

1

Nếu bạn đã cài đặt bất kỳ thư viện nào bằng cách sử dụng CocoaPodsXCode khi đang mở, tất cả những gì bạn phải làm là Đóng XCode và xóa thư viện khỏi Podtệp, chạy lệnh pod installnó sẽ gỡ cài đặt thư viện đó. sau đó cài đặt lại thư viện. Hãy đảm bảo rằng XCode luôn đóng trong khi cài đặt và gỡ cài đặt thư viện.


0

Tôi gặp chính xác vấn đề tương tự và đó là ShareKit.

Trên trình mô phỏng, tôi có "Error Domain = LaunchServicesError Code = 0".

Trên thiết bị iPhone6, tôi gặp lỗi "Cài đặt ứng dụng không thành công Không thể kiểm tra gói ứng dụng."

Khi tôi xóa ShareKit, nó đã hoạt động.


0

Tôi gặp sự cố này khi thêm mục tiêu Apple Watch vào ứng dụng của mình và vô tình xóa tệp InterfaceController.m. Thêm lại tệp trong mục tiêu đã khắc phục sự cố.


0

Có những thứ khác nhau có thể gây ra điều này. Nhìn vào bảng điều khiển cũng có thể cho bạn manh mối.

Trong trường hợp của tôi - vấn đề là phần mở rộng được tạo trước khi tôi thay đổi tên của sản phẩm. Xcode đã không xóa cái cũ, sau đó bị căng thẳng ở hai tiện ích mở rộng có cùng id gói.

(Xóa thư mục xây dựng đã khắc phục sự cố cụ thể của tôi).


0

Trong trường hợp của tôi, sự cố đến từ một bộ biểu tượng được thêm vào với một số hình ảnh bị thiếu. Sau khi tôi thay thế bộ biểu tượng bằng bộ biểu tượng khác và gỡ cài đặt ứng dụng trong trình mô phỏng; Tôi đã có thể chạy lại.


0

Tôi đã xóa tất cả các tệp nhóm của mình và thay thế tất cả chúng, có vẻ như vấn đề đối với tôi là khung bu lông đã cũ và gây ra lỗi này. Tôi đã làm sạch và đặt lại nội dung và bây giờ tất cả đều tốt.


0

Không thêm khung bản đồ google vào phần lib được nhúng, điều này đã giải quyết được lỗi xây dựng của tôi.


Loại bỏ các khuôn khổ nhúng rằng không cần thiết phải có mặt ở đó cố định vấn đề của tôi cũng
manman

0

Tôi đã gặp lỗi này khi phát triển ứng dụng cho Apple Watch sau khi thêm vào Info.plist: "Cài đặt bảo mật truyền tải ứng dụng" và "Cho phép tải Arbitry" = CÓ. (Trong Ứng dụng WatchKit, trong Tiện ích mở rộng WatchKit là tốt !!) Xóa hai hàng này, nó vẫn hoạt động.

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


0

Đối với tôi, sự cố xảy ra do tôi đã thêm khuôn khổ của mình ( GoogleMobileAds.frameworktrong trường hợp của tôi) vào Hội thảo nhúng , không phải Khung và Thư viện được liên kết .

Đối với thông tin của bạn, AdMob hướng dẫn bạn sử dụng Add Files to "Your Project"menu trên Xcode, nhưng tôi đã quá lười biếng để tuân theo hướng dẫn.


0

Tôi đã gặp sự cố này khi cố gắng chạy thử nghiệm giao diện người dùng trong một dự án có AWS Cognito.

Đây là cách tôi giải quyết nó.

  1. Chọn mục tiêu kiểm tra giao diện người dùng.
  2. Nhấp vào phần Xây dựng giai đoạn.
  3. Nhấp vào dấu cộng để thêm giai đoạn Sao chép Tệp Thêm bản sao tệp giai đoạn
  4. Trong giai đoạn Sao chép Tệp, thay đổi điểm đến thành Khung (xem hình ảnh cuối cùng)
  5. Nhấn dấu cộng bên dưới giai đoạn Sao chép tệp.
  6. Chọn khung mà bạn gặp lỗi và nhấn nút Thêm (khung của bạn có thể sẽ không phải là mục đầu tiên trong phân cấp dự án của bạn). Chọn Khung để sao chép Nó sẽ kết thúc như thế này. Kết quả cuối cùng
  7. Lặp lại các bước 5 và 6 cho tất cả các khung có lỗi.
  8. Chạy thử nghiệm của bạn.
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.