Chilkat Mac OS X Objective-C / Swift Library Downloads
Using Chilkat in Swift Applications
Go to the TestChilkatSwift XCode Project on GitHub for a sample XCode Swift project with detailed instructions for getting started using Chilkat in a Swift application.
General Install Instructions
- Download and unzip to any directory. The unzipped directory structure is shown here:
- The Objective-C headers are contained in include directory.
- The static and dynamic libs are located in the lib directory.
- See these Important Notes for Compiling and Linking Objective-C Programs
- Go to the TestChilkatSwift XCode Project on GitHub for a sample XCode Swift project with detailed instructions for getting started using Chilkat in a Swift application.
- This download is both the trial and full version.
Chilkat libraries are fully functional for 30-day evaluations.
- Release Notes are available on the Chilkat blog.
Note: The libs in the Apple Silicon download are named libChilkatObjc.a and libChilkatObjcDyn.dylib
How to Distribute a dylib with your Application
(This information is general and applies to any dylib on Mac OS X.) On Mac OS X, a dynamic library (dylib) has an "install name". The install name is a path baked into the dynamic library that says where to find the library at runtime. When an application is linked against a dylib, the path is saved in the app's binary so that it can find the dylib at runtime.
The install name of a dylib can be viewed by using otool. For example:
$ otool -D libchilkatCocoaDyn.dylib libchilkatCocoaDyn.dylib: /usr/local/lib/libchilkatCocoaDyn.dylib
This means that unless the DYLD_LIBRARY_PATH environment variable is set to allow the runtime linker find the dylib, the dylib must be placed in the exact location as specified by the install name.
However, the install name of a dylib can be changed by using the install_name_tool utility. The @loader_path keyword can be used to make it relative to an install directory.
Chilkat recommends becoming familiar with the install_name_tool command and it's various options. For example, this command changes the install name of libchilkatCocoaDyn.dylib to be relative to the location of the binary using it:
$ install_name_tool -id "@loader_path/dylibs/libchilkatCocoaDyn.dylib" libchilkatCocoaDyn.dylib