dyld`__abort_with_payload: Không có thông báo lỗi


85

Khi tôi khởi động ứng dụng của mình với XCode, tôi gặp sự cố nhưng không có lỗi

Ứng dụng chỉ dừng lại trên chuỗi này

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

Tôi có thể làm gì để có thêm thông tin về vấn đề này?

Câu trả lời:


107

Nếu bạn đang sử dụng các khuôn khổ tùy chỉnh, bạn cần đặt nó vào bên trong phần "Nhúng Binaries" nằm trong dự án Xcode dưới tab Target / General.


1
Tôi có một khuôn khổ tùy chỉnh và nó được liệt kê trong "Hội thảo nhúng" trong Dự án Xcode trong Mục tiêu> Chung. Tôi vẫn gặp sự cố này khi cố chạy các bài kiểm tra đơn vị của mình. Gần đây tôi đã nâng cấp các phần Swift trong mã của mình lên Swift 3 (từ 2). Nếu giúp ...
Mario Một Guzman

@MarioAGuzman Bạn đã khắc phục nó như thế nào? Tôi cũng gặp sự cố sau khi di chuyển Swift 3
iOS

@iOS Rất tiếc, tôi không có bản sửa lỗi thực sự nào. Sự cố đã tự giải quyết bằng Xcode 8.3 vừa được phát hành.
Mario A Guzman

Tại sao điều này cần phải có trong phần Embedded Binaries? Tôi đang cố gắng sử dụng ObjectiveDropboxOfficial.framework. Tôi đã gặp lỗi này, đặt nó vào Embedded và nó đã 'sửa' nó. Tuy nhiên, tôi đã lấy nó ra một lần nữa và nó vẫn 'cố định'. Tuy nhiên, các mục tiêu khác được định cấu hình cùng AFAICT thì nó không thành công. Tài liệu cài đặt hộp kéo thả không có nghĩa là đưa vào các Khung nhúng.
Jim Leask

Điều đó đã giúp. Ngoài ra, hãy đảm bảo rằng bạn không có các bản sao trong "Khung và Thư viện được Liên kết". Khi bạn thêm nó vào phần Nhúng, nó sẽ tự động thêm nó vào phần Liên kết.
milemeow

59

Đối với tôi một đơn giản CleanRebuildsắp xếp nó ra. Hy vọng nó giúp.


81
Dọn dẹp, làm sạch thư mục xây dựng, xóa nội dung của thư mục Dữ liệu gốc, cài đặt Pod (nếu thích hợp), khởi động lại Xcode, khởi động lại máy; sau đó bôi nhọ máu của một số con chiên trên cửa cho biện pháp tốt
johnnyclem

1
Đã giúp tôi quá !!
Dmitriy Greh

Xóa thư mục và nhận cam kết cuối cùng từ git không giúp được gì, nhưng dọn dẹp và xây dựng lại đã giúp lol
え る ま る

8
Trong trường hợp của tôi, tôi phải buộc ớt và chanh trên khung cửa của tôi.
Naresh

1
Tôi cũng phải hy sinh đứa con trai đầu lòng của mình nhưng nó đã thành công!
Andor Németh

25

nhập mô tả hình ảnh ở đâySự cố này xuất hiện sau khi cập nhật hệ thống lên macOS 10.15.2 beta. Vô hiệu hóa "Thread Sanitizer" đã giải quyết được sự cố (Xcode 11.2). Bây giờ tôi không thể sử dụng Thread Sanitizer và phải đợi bản cập nhật hệ điều hành tiếp theo.


6
Bài đăng này trả lời cho các câu hỏi ban đầu khi sự cố phát sinh trong trình mô phỏng Xcode 11.3 sau khi nâng cấp lên Mac 10.15.2. Có vẻ như lỗi của Apple, xem forums.developer.apple.com/thread/126891
Vadim Motorine

19

Việc thêm khung vào danh sách tài sản nhị phân được nhúng đã khắc phục điều này. Đây là cách thiết lập của một khuôn khổ nước ngoài trông như thế nào ở dạng cuối cùng trong Xcode GUI dưới dạng Khung nhúng (Xcode 9.2, cá nhân tôi thích một đường mòn bánh mì trực quan hơn ;-)): nhập mô tả hình ảnh ở đây

Có phải Apple cố tình phá vỡ thời gian chạy để bằng cách nào đó nói với nhà phát triển về vấn đề bạn không thể sử dụng các khung không phải của Apple như các khung được liên kết đơn giản trong phát triển iOS? Sẽ tốt hơn nếu nó xuất hiện như một lỗi xây dựng mà tôi nghĩ ... với một nút có nội dung "di chuyển nó!"

Việc sử dụng Hội thảo nhúng giúp người dùng cuối không phải thêm Khung độc lập với ứng dụng của bạn (hoặc bạn phải làm với trình cài đặt). Trong trường hợp của iPhone (iOS), điều đó là không thể, nhưng trên macOS, điều đó có thể xảy ra nhưng có thể bị lộn xộn nhanh chóng.

Đối với người dùng cuối, việc chỉ cần kéo và thả một ứng dụng để cài đặt ứng dụng đó trên macOS sẽ tốt hơn nhiều, đó là nơi mà việc nhúng trở thành một lợi ích. Nhúng cũng tránh được "xung đột DLL" cổ điển của việc quản lý các phiên bản bên ngoài của khuôn khổ. (không gian đĩa rẻ, thời gian của khách hàng của tôi là quý giá).


Cập nhật nhỏ. Giờ đây, Xcode 10.1 cho phép bạn kéo khung tùy chỉnh từ phần "Liên kết nhị phân với thư viện", nơi nó đi theo mặc định, đến phần "Tài nguyên gói sao chép" nơi nó cần ... Nó không còn chỉ sao chép tham chiếu nhưng cũng di chuyển nó. Ảnh chụp màn hình tại đây: stackoverflow.com/questions/24993752/…
William Cerniuk

13

Tôi đã sửa lỗi trong dự án của mình ngay bây giờ!
Nếu bạn đang sử dụng khung công tác nhanh trong dự án Object-C, tôi khuyên bạn nên thay đổi cài đặt xây dựng.
Tùy chọn Always Embed Swift Standard Libraries thành CÓ. như thế này:nhập mô tả hình ảnh ở đây

hy vọng điều này hữu ích cho bạn.


Điều này đã làm việc cho tôi ngay cả khi (dường như) không có mã nhanh trong dự án của tôi.
Jim75

XCode đã thay đổi thành giá trị trở lại No và tôi đã quên nó. Cảm ơn :)
SeikoTheWiz

13

Cuối cùng đã được giải quyết!

Điều hiệu quả đối với tôi là làm cho khuôn khổ trở thành "tùy chọn" thay vì "bắt buộc".

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


siêu nhân, tôi đã chiến đấu với vấn đề này 1,5 ngày. thậm chí tìm thấy đẹp này ma trận twitter.com/isupportmatrix thay đổi nó để yêu cầu giải quyết ở bên cạnh tôi quá
swift2geek

và cũng có thể nó làm việc chỉ cho với thiết lập trong File -> Dự án Settings-> Legacy xây dựng hệ thống
swift2geek

10

Xcode 11.1 , Tắt Do not Embed, Embed & Signlà một lựa chọn tốt.

0

222

Cảm ơn @mkonovalov, @William Cerniuk


1
Đã làm cho tôi. +1
abhimuralidharan

1
Bước này bắt buộc bạn đang cố gắng nhúng khung tùy chỉnh vào Ứng dụng của mình.
Akash Bhardwaj

6

1) Tiếp tục thực hiện để xem có thông báo nào hiển thị trong trình gỡ lỗi chẳng hạn như "MyFramework.framework" không. Nếu đúng như vậy, hãy làm theo cuộc thảo luận sau: Thư viện OS X Framework không được tải: 'Không tìm thấy hình ảnh' Đối với tôi, câu trả lời này đã hoạt động: https://stackoverflow.com/a/44796734/4060763

2) Đảm bảo rằng bạn đã thêm các mã nhị phân của mình thông qua phần "Nhúng Binaries".

3) Đảm bảo rằng bạn đã bật ký các khuôn khổ trong phần giai đoạn xây dựng.

4) Đảm bảo rằng các khung được nhúng không phải là liên kết tượng trưng.

5) Bạn có thể làm cho các khung được liên kết trở thành tùy chọn thay vì bắt buộc trong giai đoạn "Liên kết nhị phân với thư viện". Điều này sẽ thông báo cho iOS không tìm kiếm các khung này trong khi khởi chạy. Nhưng dù sao bạn cũng cần sửa lỗi để sử dụng các framework đó!

6) Kiểm tra xem tất cả các mục nhập info.plist có tốt không. Trong trường hợp của tôi, tôi đang sử dụng tệp info.plist Mac cho iOS. Nó đang tìm kiếm một số tệp xib không có trong dự án iOS.

7) Làm sạch và xây dựng sau bất kỳ thay đổi nào như vậy. Điều này là bắt buộc vì xcode không sao chép / thay đổi các tệp này nếu chúng đã tồn tại.

8) Xóa ứng dụng khỏi iPad và sau đó cài đặt. Lý do tương tự như 7.


6

Bỏ chọn "Guard Malloc" trong chẩn đoán phù hợp với tôi. Xem Hình ảnh để biết cài đặt


2
Guard Malloc, chính xác. Bất cứ ai biết tại sao nó sửa chữa được sự cố?
Mojo66

1
Bạn cũng có thể thử Làm sạch dự án rồi chạy lại hoặc chỉ cần khởi động lại Xcode. Những loại lỗi này chỉ gây phiền nhiễu và là loại giống như lỗi trong Xcode
Karanveer Singh

5

Để trả lời câu hỏi ban đầu "Tôi có thể làm gì để có thêm thông tin về sự cố?", Chuỗi diễn đàn của Apple này cung cấp một mẹo rất đơn giản: chỉ cần chạy ứng dụng bị lỗi của bạn bên ngoài XCode (tức là dừng ứng dụng khỏi XCode, sau đó chạy nó theo cách thủ công trên thiết bị). Điều này sẽ tạo ra một bản ghi sự cố chứa nhiều chi tiết hơn về những gì đã xảy ra. Sau đó, bạn có thể xem lại nhật ký này từ menu Cửa sổ XCode / Thiết bị và Trình mô phỏng -> Xem Nhật ký Thiết bị.


4

Tôi vừa bỏ lỡ việc áp dụng "Quyền riêng tư - Mô tả sử dụng máy ảnh" trong info.plist.

Không biết liệu thông tin này có giúp được ai khác không ...


4

Tôi gặp phải vấn đề tương tự với Xcode 11.3 và macOS Catalina 10.15.2. Ứng dụng đã chạy tốt trên thiết bị nhưng không chạy trên Simulator. Có vẻ như có sự cố với Trình mô phỏng và cách giải quyết là tắt Trình vệ sinh luồng.

Tham khảo: https://forums.developer.apple.com/message/397978#397978

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


3

Tôi đã gặp lỗi với cùng một chữ ký (dự án của tôi ở Obj-C) và phát hiện ra rằng tôi đã quên liên kết với khung thích hợp. Thông báo lỗi trong nhật ký gỡ lỗi dẫn đến việc tìm ra lỗi là:

dyld: Không tìm thấy ký hiệu: _OBJC_CLASS _ $ _ SFSafariViewController

Đối với lỗi cụ thể của tôi, việc thêm SafariServices.framework trong Mục tiêu -> Giai đoạn xây dựng -> "Liên kết nhị phân với thư viện" đã giải quyết được sự cố. Mặc dù bạn có thể không có cùng một lỗi cụ thể và cách giải quyết, nhưng việc kiểm tra nhật ký gỡ lỗi để tìm manh mối là hữu ích.


2

Tôi đã gặp trường hợp này sau khi cập nhật Xcode lên v10.2.1nhanh chóng lên v5.0 Nếu bạn đang sử dụng carthage + RxSwift thì RxSwift mới sử dụng RxRelay.framework. Bạn nên vào thư mục / Carthage / Build để tìm khung công tác đó và đưa nó vào dự án của bạn. Đừng quên thêm nó vào carthage copy-frameworksscript của bạn : $(SRCROOT)/Carthage/Build/iOS/RxRelay.framework

Được giải quyết nhờ: https://stackoverflow.com/a/52550148/2493555


1

Nếu bạn đang sử dụng một khuôn khổ được viết bằng Swift trong ứng dụng Objective-C, bạn cần đưa chuỗi công cụ Swift vào ứng dụng sử dụng khuôn khổ.

Cách tôi đã tìm thấy để làm điều này là tạo một tệp nhanh giả trong ứng dụng để XCode nhận ra nhanh chóng và thêm nó vào dự án một cách thích hợp. Sau đó, bạn có thể xóa tệp giả.

Tôi rất thích nếu ai đó biết cách tốt hơn để thêm nhanh chóng một cách rõ ràng vào dự án aim-c mà không cần thêm tệp nhanh.


1

nếu bạn sử dụng khung xây dựng Carthage, sau khi kéo khung vào chương trình của bạn, bạn nên thêm nó vào Chung / Nhúng Binaries.


1

Tôi tìm ra cách thích hợp để giải quyết nó.

Đảm bảo rằng AppleWWDRCA.cerchế độ mặc định của hệ thống được đặt, sau đó nó sẽ hoạt động:

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


Làm việc cho tôi là tốt.
dev_shanghai

1

Tôi đã phải đối mặt với cùng một vấn đề. Đặt 'Thư viện chuẩn Swift luôn nhúng' thành Có trong Cài đặt bản dựng của mục tiêu phù hợp với tôi.


1

Tôi đã gặp sự cố tương tự đã được giải quyết bằng cách thiếu đặc tả quyền trong plist (kỳ lạ như nó ..)

Tôi đã cố gắng sử dụng AVCaptureDevice và nó chỉ bị lỗi khi bắt đầu (ứng dụng của tôi rất nhỏ)

Đang thêm - Privacy - Camera Usage Description để info.plistgiải quyết nó cho tôi.


1

Để thêm vào danh sách dài các lần gặp phải lỗi này, lỗi này xảy ra khi tôi đang triển khai XCode12.2 Beta 2 cho máy Mac của tôi đang chạy MacOS 10.15.5 với mục tiêu triển khai được đặt thành MacOS 11.0. Tình huống này xảy ra vì tôi đang thử ứng dụng Hướng dẫn Mac Catalyst về cách thêm SideBar. Việc chuyển mục tiêu sang MacOS 10.15.5 đã loại bỏ lỗi và khởi chạy ứng dụng đúng cách.


0

Tôi đã sửa lỗi trong dự án của mình.
1. Kiểm tra các chủ đề khác khi lỗi xảy ra. Tôi thấy lỗi của tôi là về máy ảnh.

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

  1. Thêm quyền riêng tư của Máy ảnh trong tệp Info.plist.
    1) Mở tệp info.plist.
    2) Thêm khóa mới có tên "Quyền riêng tư - Mô tả sử dụng máy ảnh" và nhập một chuỗi mô tả lý do tại sao ứng dụng cần máy ảnh. Mô tả sẽ hiển thị khi ứng dụng của bạn cần sử dụng quyền riêng tư.

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


0

Tôi vừa gặp vấn đề tương tự và lý do tại sao là do tôi đã thu hồi Chứng chỉ nhà phát triển của mình và tạo chứng chỉ mới với Xcode 10, sau khi cập nhật macOS Mojave mới (đối với một số người, nó đã xóa tất cả thông tin đăng nhập và lỗi thời một số chứng chỉ keychain).

Vì vậy, tất cả những gì tôi phải làm là xóa các ứng dụng đã cài đặt khỏi thiết bị của mình và chạy lại chúng qua Xcode, để nó cài đặt đúng Hồ sơ cấp phép mới trong thiết bị của tôi :)


0

Đôi khi nó xảy ra khi bạn sử dụng các khung hệ thống chỉ có thể truy cập từ phiên bản iOS mới hơn mà phiên bản mục tiêu của bạn. Nó có thể được khắc phục bằng cách đánh dấu khung liên kết này là tùy chọn.

Ví dụ: một dự án được nhắm mục tiêu trên iOS 11 và đang sử dụng tính năng Tự động điền AuthenticationServices cho iOS 12 sẽ gặp sự cố trên iOS 11 theo cách được mô tả.


0

Trên thực tế, tôi đã gặp sự cố với 11.3.1 và Thread Sanitizer đã bị tắt như đã đề cập ở trên. Trong trường hợp của tôi, vấn đề là tôi đã sử dụng các phiên bản xCode khác nhau trong thư mục Ứng dụng của mình như vậy

/Applications/xcode11.3.1/Xcode.app
/Applications/xcode11.3/Xcode.app
/Applications/xcode10.1/Xcode.app

/Applications/Xcode.app - was 11.2

Tôi mất 2 ngày để hiểu rằng hệ thống xây dựng trông trên /Application/Xcode.app theo mặc định. Vì vậy, đưa 11.3.1 vào /Application/Xcode.app cuối cùng đã giải quyết được sự cố


0

Ngoài ra, nếu bạn đang sử dụng các khung tùy chỉnh, hãy đảm bảo rằng bạn đặt loại Mach-O thành thư viện tĩnh. Tôi đọc ở đâu đó rằng IOS không cho phép dylib. Dù sao điều này đã làm việc cho tôi.


0

Vấn đề tương tự đã xảy ra với tôi. Tôi đang sử dụng iOS 14 Beta và sự cố đã được khắc phục khi tôi cập nhật lên phiên bản chính thức.


-1

Tôi chỉ gặp sự cố đó khi chạy trên thiết bị thực (iPhone SE). Trên dự án giả lập hoạt động như mong đợi.

Tôi đã thử tất cả các bản sửa lỗi từ chính chuỗi này và từ đây: Thư viện khung OS X không được tải: 'Không tìm thấy hình ảnh' Không ai trong số đó làm việc cho tôi.

Đối với tôi, vấn đề đã được giải quyết sau khi khởi động lại iPhone (sic!).

Tôi đã làm:

  • thư mục xây dựng sạch,
  • dữ liệu có nguồn gốc sạch,
  • xóa ứng dụng khỏi thiết bị,
  • khởi động lại thiết bị

Và cuối cùng nó cũng hoạt động. :)

Nếu mọi giải pháp khác không thành công, đừng quên thử 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.