106
votes

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?

11
Ok so after having this issue multiple times, this is the only thing that has worked for me. Not sure why the other solutions didn't, but I followed the instructions here: stackoverflow.com/a/32730393/3474814coracora
I had this problem after moving to a new mac. The cause was a missing apple WWDR intermediate certificate.Morten Holmgaard
Possible duplicate of Reason: no suitable image found.trojanfoe
Just clean the project and run againonmyway133

11 Answers

190
votes

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

54
votes

In Xcode 8 updating the Build Setting

Always Embed Swift Standard Libraries to Yes

worked for me.

29
votes

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.

25
votes

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
7
votes

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.

6
votes

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.

2
votes

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

2
votes

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/

2
votes

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)

1
votes

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

Screenshot with steps

0
votes

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.