dyld: Biblioteka nie została załadowana: @ rpath / libswiftAVFoundation.dylib


106

Właśnie zaktualizowałem do Xcode 7 i Swift 2 i skończyłem naprawiać błędy, które pojawiają się przy przejściu. W końcu udało mi się zbudować projekt, ale po ekranie startowym pojawia się komunikat o błędzie:

dyld: Biblioteka nie została załadowana: @ rpath / libswiftAVFoundation.dylib Odniesienie z: / var / mobile / Containers / Bundle / Application / ...
Przyczyna: nie znaleziono odpowiedniego obrazu. Znalazłem: /private/var/mobile/Containers/Bundle/Application/.../Frameworks/libswiftAVFoundation.dylib: mmap () errno = 1 weryfikacja pierwszej strony '/ private / var / mobile / Containers / Bundle / Application / ... / Frameworks / libswiftAVFoundation.dylib '

Widziałem ten błąd wcześniej, ale z innymi frameworkami i nie mogę rozwiązać mojego problemu. Czy istnieje sposób na obejście tego, dodając gdzieś mój framework?


Ok, więc po wielokrotnym wystąpieniu tego problemu jest to jedyna rzecz, która zadziałała. Nie jestem pewien, dlaczego inne rozwiązania nie, ale postępowałem zgodnie z instrukcjami tutaj: stackoverflow.com/a/32730393/3474814
coracora

6
Miałem ten problem po przejściu na nowy mac. Przyczyną był brak pośredniego certyfikatu Apple WWDR.
Morten Holmgaard


Po prostu wyczyść projekt i uruchom ponownie
onmyway133

Odpowiedzi:


191

Spróbuj wyczyścić, skompilować, a następnie uruchomić projekt. Pracował dla mnie.


2
Nie działało dla mnie, dla podobnego problemu z Swifty.json :(
Hatchmaster J

4
Pracował dla mnie. Miałem ten problem, ponieważ mój certyfikat został unieważniony. Teraz jest ok.
Adam Studenic

1
Bardzo dziękuję za pomoc! Właśnie odnowiłem mój certyfikat programistyczny iOS i napotkałem ten frustrujący błąd. Niesamowite, że błędy xcode NIE są intuicyjne do sprawdzenia ...
Gabcvit

1
Po kilku godzinach próbowania różnych rozwiązań w Xcode 10.2 żadne nie zadziałało. Ale uruchom projekt w Xcode 10.1 i zadziałał (zawsze osadzaj Swift Standard Libraries na Tak). Szukając rozwiązania przeczytałem, że ktoś mówi, że problem był w Swift Compiler, może w 10.2 jest problem.
Carlos Parada

54

W Xcode 8 aktualizacja ustawień kompilacji

Zawsze osadzaj Swift Standard Libraries na tak

pracował dla mnie.


Myślę, że to możliwa poprawna odpowiedź. Z dokumentów Apple. „Jeśli tworzysz aplikację, która nie korzysta ze Swift, ale zawiera treści, takie jak framework, który to robi, Xcode nie uwzględni tych bibliotek w Twojej aplikacji.” Źródło: developer.apple.com/library/content/qa/qa1881/_index .html
David Pettigrew

1
Próbuję przekonwertować stary projekt z celem C (częściowo) na szybki. Ustawienie „zawsze osadzaj szybkie standardowe biblioteki” na tak naprawiło to za mnie.
Darrell Root

29

Żadne z powyższych rozwiązań nie zadziałało. Ostatecznie problemem były ustawienia zaufania mojego certyfikatu podpisującego. Zostały ustawione na „Zawsze ufaj”, co wydawało się powodować ten problem. Przełączenie z powrotem „Użyj domyślnych ustawień systemu” naprawiło to za mnie.

W moim przypadku początkowo zmieniłem ustawienia zaufania certyfikatów, ponieważ miałem problemy z budowaniem zdalnym. Udało mi się rozwiązać oba problemy, przełączając ustawienia zaufania globalnie na „Użyj domyślnych ustawień systemu” i „Zawsze zezwalaj” dla SSL.

Mam nadzieję, że to komuś pomoże.


24

Gdy odpowiedź oznaczona jako poprawna nie zadziałała, dodałem następujące polecenie do „Ustawienia kompilacji> Łączenie> Ścieżki wyszukiwania ścieżek” :

@executable_path/Frameworks

7

Mam ten problem podczas próby usunięcia mojego profilu obsługi administracyjnej i certyfikatu aplikacji. Zatem wszystkie moje szybkie projekty mają ten problem. Po prawie godzinie stwierdziłem, że wystarczy wyczyścić projekt przez:

Kliknij Produkt -> Wyczyść (lub CMD- Shift- K)

A projekty będą działać normalnie.



2

Zmiana ustawień kompilacji -> „Treść osadzona zawiera Swift Code” na true / yes zadziałała.


2

W przypadku frameworka, którego używam na OSX (MailCore2), musiałem ustawić cele

„Build Settings> Linking> Runpath Search Paths” to @loader_path

rozwiązanie, które znalazłem tutaj:

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


Artykuł był pomocny, dzięki! Żadne z innych rozwiązań tutaj nie zrobiło tego za mnie, ale w końcu udało mi się to uruchomić, dodając @rpathdo Runpath Search Pathsustawienia linkera.
catchinflux

2

Napotkałem ten problem z Xcode 9. To załatwiło sprawę:

Project > Build Settings > Swift Compiler - Search Path: Setting "Import Paths"do $(PROJECT_DIR)(rekurencyjnie)


1
Wpadłem na to w xcode 10 i też zadziałało! Dobra robota!
petrosmm

1

Są na to dwa rozwiązania:

Rozwiązanie 1:

  1. Quit Xcode( cmd+ Q)
  2. Otwórz i Clean Project ( cmd+ shift+ k)
  3. Teraz uruchom projekt, który powinien działać poprawnie

Rozwiązanie 2:

Sam dziennik konsoli stwierdza, że edytor dołączania dynamicznego (dyld) nie jest w stanie załadować biblioteki. Aby to naprawić, wykonaj poniższe czynności:

  1. Wybierz Project-> Build settings->
  2. Przejdź do Build optionskarty -> Wybierz opcję „ Always Embed Swift Standard Libraries’do Yes
  3. Teraz uruchom projekt, który powinien działać poprawnie

Zrzut ekranu z krokami


0

Może to być problem z certyfikatami. Przejdź do centrum deweloperów Apple i upewnij się, że w swoim profilu dystrybucyjnym masz ustawioną „Jednostkę organizacyjną” .

Zajrzyj także do logów dla tekstu deny-mmap , prawdopodobnie pomoże ci to dalej.

Napotkałem ten problem z aplikacją Xamarin dla Apple Watch. Główna aplikacja i platforma Mono zostały podpisane i działały, ale rozszerzenie Watchkit nie zostało załadowane z powodu błędu dyld.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.