dyld: Library not loaded: @rpath/libswiftAVFoundat

2019-01-17 09:43发布

问题:

I have just updated to Xcode 7 and swift 2 and finished fixing the errors that come with the transition. I finally got the project to build, but after the launch screen I get an error saying:

dyld: Library not loaded: @rpath/libswiftAVFoundation.dylib Referenced from: /var/mobile/Containers/Bundle/Application/... Reason: no suitable image found. Did find: /private/var/mobile/Containers/Bundle/Application/.../Frameworks/libswiftAVFoundation.dylib: mmap() errno=1 validating first page of '/private/var/mobile/Containers/Bundle/Application/.../Frameworks/libswiftAVFoundation.dylib'

I have seen this error before but with other frameworks, and can't solve my issue. Is there a way to bypass this by adding my framework somewhere?

Thanks.

回答1:

Try to do clean, build and then run the project. Worked for me.



回答2:

In Xcode 8 updating the Build Setting

Always Embed Swift Standard Libraries to Yes

worked for me.



回答3:

None of the above solutions worked for me. In the end the problem was my signing certificate's trust settings. They were set to "Always Trust" which seemed to cause this issue. Switching it back "Use System Defaults" fixed it for me.

In my case I originally changed the certs trust settings because I had issues building remotely. I was able to fix both issues by switching the trust settings to "Use System Defaults" globally and "Always Allow" for SSL.

Hope this helps someone.



回答4:

When the answer marked as correct didn't work for me I added the following to "Build Settings > Linking > Runpath Search Paths":

@executable_path/Frameworks


回答5:

Similar question below, the answers there may offer some help. dyld: Library not loaded: @rpath/libswiftCore.dylib

For me the only solution that worked was as @morten-holmgaard suggested in his comment.

I have also tried to change the "Embedded Content Contains Swift Code" flag to true in build settings, but it had no effect.



回答6:

I got this problem when trying to remove my provisioning profile and app certificate. Then all my swift projects have this problem. After almost an hour i found that just simply clean the project by:

Click on Product -> Clean (or CMD-Shift-K)

And the projects will run normally.



回答7:

Changing the Build Settings -> "Embedded Content Contains Swift Code" flag to true/yes worked for me.



回答8:

For the framework I am using on OSX (MailCore2) I had to set my target's

"Build Settings > Linking > Runpath Search Paths" to @loader_path

a solution I found here:

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



回答9:

I ran into this issue with Xcode 9. This did the trick for me:

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



回答10:

This can be a problem with certificates. Go to the Apple developer member center and make sure you have "Organizational Unit" set in your distribution profile.

Also take a look in the logs for the text deny-mmap, this will probably help you further.

I ran into this problem with a Xamarin application for the Apple Watch. The main application and the Mono framework were signed and working, but the Watchkit Extension did not load due to the dyld error.



回答11:

There are two solutions for this:

Solution 1:

  1. Quit Xcode (cmd + Q)
  2. Open and Clean Project (cmd + shift + k)
  3. Now, run the project which should work correctly

Solution 2:

The console log itself states that dynamic link editor (dyld) is not able to load library. In order to fix this use below steps :

  1. Select Project -> Build settings ->
  2. Go to Build options tab -> Select ‘Always Embed Swift Standard Libraries’ to ‘Yes
  3. Now, run the project which should work correctly