dyld: Thư viện không được tải: @ rpath / libswiftAVFoundation.dylib


106

Tôi vừa cập nhật lên Xcode 7 và swift 2 và đã sửa xong các lỗi đi kèm với quá trình chuyển đổi. Cuối cùng tôi cũng có dự án để xây dựng, nhưng sau màn hình khởi chạy, tôi gặp lỗi nói:

dyld: Thư viện không được tải: @ rpath / libswiftAVFoundation.dylib Được tham chiếu từ: / var / mobile / Containers / Bundle / Application / ...
Lý do: không tìm thấy hình ảnh phù hợp. Đã tìm thấy: /private/var/mobile/Containers/Bundle/Application/.../Frameworks/libswiftAVFoundation.dylib: mmap () errno = 1 xác thực trang đầu tiên của '/ private / var / mobile / Containers / Bundle / Application / ... / Frameworks / libswiftAVFoundation.dylib '

Tôi đã gặp lỗi này trước đây nhưng với các khuôn khổ khác và không thể giải quyết được sự cố của tôi. Có cách nào để vượt qua điều này bằng cách thêm khuôn khổ của tôi vào đâu đó không?


Ok vì vậy sau khi gặp sự cố này nhiều lần, đây là điều duy nhất có hiệu quả với tôi. Bạn không chắc chắn lý do tại sao các giải pháp còn lại thì không, nhưng tôi theo các hướng dẫn ở đây: stackoverflow.com/a/32730393/3474814
coracora

6
Tôi đã gặp sự cố này sau khi chuyển sang một máy mac mới. Nguyên nhân là do thiếu chứng chỉ trung gian WWDR của apple.
Morten Holmgaard,

Có thể có lý do
trojanfoe

Chỉ cần làm sạch dự án và chạy lại
onmyway133

Câu trả lời:


191

Cố gắng làm sạch, xây dựng và sau đó chạy dự án. Đã làm cho tôi.


2
Không hiệu quả với tôi, vì sự cố tương tự với Swifty.json :(
Hatchmaster J

4
Đã làm cho tôi. Tôi đã gặp sự cố này vì chứng chỉ của tôi đã bị thu hồi. Bây giờ ổn rồi.
Adam Studenic

1
Cảm ơn bạn rất nhiều vì sự giúp đỡ! Tôi vừa gia hạn chứng chỉ phát triển iOS của mình và tôi gặp phải lỗi khó chịu này. Thật khó tin như thế nào lỗi xcode của KHÔNG trực quan để kiểm tra ...
Gabcvit

1
Sau vài giờ thử các giải pháp khác nhau trong Xcode 10.2, không giải pháp nào hoạt động. Nhưng hãy chạy dự án trong Xcode 10.1 và nó đã hoạt động (Luôn nhúng Thư viện chuẩn Swift thành Có). Trong quá trình tìm kiếm giải pháp, tôi đã đọc được một người nói rằng vấn đề là trong Trình biên dịch Swift, có thể trong 10.2 có vấn đề.
Carlos Parada

54

Trong Xcode 8, cập nhật Cài đặt bản dựng

Luôn nhúng Thư viện tiêu chuẩn Swift vào

đã làm cho tôi.


Tôi nghĩ rằng đây là một câu trả lời chính xác có thể. Từ tài liệu của Apple. "Nếu bạn đang xây dựng một ứng dụng không sử dụng Swift nhưng nhúng nội dung chẳng hạn như một khung làm việc, Xcode sẽ không bao gồm các thư viện này trong ứng dụng của bạn." Tham khảo: developer.apple.com/library/content/qa/qa1881/_index .html
David Pettigrew

1
Tôi đang cố gắng chuyển đổi một dự án mục tiêu C cũ (một phần) thành nhanh chóng. Cài đặt "luôn nhúng thư viện tiêu chuẩn nhanh" thành có đã sửa nó cho tôi.
Darrell Root

29

Không có giải pháp nào ở trên phù hợp với tôi. Cuối cùng, vấn đề là cài đặt tin cậy chứng chỉ ký của tôi. Chúng được đặt thành "Luôn tin cậy", điều này dường như gây ra sự cố này. Chuyển về "Sử dụng mặc định hệ thống" đã sửa lỗi cho tôi.

Trong trường hợp của tôi, ban đầu tôi đã thay đổi cài đặt tin cậy chứng chỉ vì tôi gặp sự cố khi xây dựng từ xa. Tôi đã có thể khắc phục cả hai sự cố bằng cách chuyển cài đặt tin cậy thành "Sử dụng mặc định hệ thống" trên toàn cầu và "Luôn cho phép" đối với SSL.

Hy vọng điều này sẽ giúp ai đó.


24

Khi câu trả lời được đánh dấu là đúng không phù hợp với tôi, tôi đã thêm phần sau vào "Cài đặt xây dựng> Liên kết> Đường dẫn tìm kiếm Runpath" :

@executable_path/Frameworks

7

Tôi gặp sự cố này khi cố gắng xóa hồ sơ cấp phép và chứng chỉ ứng dụng của mình. Sau đó, tất cả các dự án nhanh chóng của tôi có vấn đề này. Sau gần một giờ, tôi thấy rằng chỉ cần làm sạch dự án bằng cách:

Nhấp vào Sản phẩm -> Làm sạch (hoặc CMD- Shift- K)

Và các dự án sẽ chạy bình thường.


6

Câu hỏi tương tự bên dưới, câu trả lời có thể cung cấp một số trợ giúp. dyld: Thư viện không được tải: @ rpath / libswiftCore.dylib

Đối với tôi, giải pháp duy nhất hoạt động như @ morten-holmgaard đã đề xuất trong bình luận của anh ấy.

Tôi cũng đã cố gắng thay đổi cờ "Nội dung nhúng chứa mã Swift" thành true trong cài đặt xây dựng, nhưng không có tác dụng.


2

Thay đổi Cài đặt bản dựng -> cờ "Nội dung nhúng chứa mã Swift" thành true / yes đã phù hợp với tôi.


2

Đối với khuôn khổ mà tôi đang sử dụng trên OSX (MailCore2), tôi đã phải đặt mục tiêu của mình

"Xây dựng Cài đặt> Liên kết> Đường dẫn Tìm kiếm Runpath" thành @loader_path

một giải pháp tôi tìm thấy ở đây:

http://www.dribin.org/dave/blog/archives/2009/11/15/rpath/


Bài viết rất hữu ích, cảm ơn! Không có giải pháp nào khác ở đây làm được điều đó cho tôi, nhưng cuối cùng tôi đã có thể làm cho nó hoạt động bằng cách thêm @rpathvào Runpath Search Pathscài đặt trình liên kết.
caughtinflux

2

Tôi gặp sự cố này với Xcode 9. Điều này đã giải quyết vấn đề cho tôi:

Project > Build Settings > Swift Compiler - Search Path: Setting "Import Paths"đến $(PROJECT_DIR)(đệ quy)


1
Chạy vào điều này trong xcode 10 và nó cũng hoạt động! Bạn đã làm rất tốt!
petrosmm

1

Có hai giải pháp cho điều này:

Giải pháp 1:

  1. Quit Xcode( cmd+ Q)
  2. Mở và Clean Project ( cmd+ shift+ k)
  3. Bây giờ, hãy chạy dự án sẽ hoạt động chính xác

Giải pháp 2:

Bản thân nhật ký giao diện điều khiển nói rằng trình soạn thảo liên kết động (dyld) không thể tải thư viện. Để khắc phục sự cố này, hãy làm theo các bước sau:

  1. Chọn Project-> Build settings->
  2. Đi tới Build optionstab -> Chọn ' Always Embed Swift Standard Libraries’đến' Yes'
  3. Bây giờ, hãy chạy dự án sẽ hoạt động chính xác

Ảnh chụp màn hình với các bước


0

Đây có thể là một vấn đề với chứng chỉ. Đi tới trung tâm thành viên dành cho nhà phát triển của Apple và đảm bảo rằng bạn đã đặt "Đơn vị tổ chức" trong hồ sơ phân phối của mình.

Ngoài ra, hãy xem nhật ký cho văn bản từ chối-mmap , điều này có thể sẽ giúp bạn thêm.

Tôi đã gặp sự cố này với một ứng dụng Xamarin cho Apple Watch. Ứng dụng chính và khung Mono đã được ký kết và hoạt động, nhưng Phần mở rộng Watchkit không tải do lỗi dyld.

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.