1
votes

I'm stuck with including a 3rd party framework (written in Objective-C) into my Swift application. I did the following (which should be sufficient):

  • Include the framework into the project
  • Add the framework to the "Link Binary with Libraries" build phase
  • Add the framework to the "Copy Files" build phase (destination: "Frameworks")
  • Import the main header of the framework into the bridging header

Compiling the project succeeds. But as soon as I try to run it I receive the following error:

dyld: Library not loaded: /Library/Frameworks/ZipKit.framework/Versions/A/ZipKit

Additionally I set the following settings:

  • Runpath Search Paths: @executable_path/../Frameworks
  • Framework Search Paths: @executable_path/../Frameworks (in addition to the source location of the framework)
  • Library Search Paths: @executable_path/../Frameworks

Nothing seems to work and I don't have any clue why the runtime keeps looking in the /Library folder.

I'm currently using Xcode 6 Beta 6 (as the GM does not support Swift on OS X).

Edit Just to clarify: The app bundle contains the linked framework after compilation (I've checked that).

1

1 Answers

1
votes

Found it.

Fortunately I have the source code of the framework I want to include. I stumbled upon the install path setting of the framework project which was set to /Library/Frameworks.

I changed this to @executable_path/../Frameworks re-compiled it, re-compiled my project and now it works.