Chilkat iOS Library — Downloads
Native static libraries for iOS, usable from Objective-C, Swift (via a bridging header), and C / C++. The downloads below are the full-version product downloads — fully functional for a 30-day evaluation.
Jump to: Downloads What's in the download Architectures Install Build a universal lib Compiling & linking
Downloads
Choose the package for your target platform:
What's in the download
Each download is a .zip archive. Unzip it to any directory —
there is no installer. The layout is:
chilkat-ios/ ├─ lib/ static libraries, one per architecture slice │ ├─ arm64/ libchilkatIos.a — device │ ├─ arm64e/ libchilkatIos.a — device (A12 and later) │ ├─ armv7/ libchilkatIos.a — device (older 32-bit) │ ├─ armv7s/ libchilkatIos.a — device (older 32-bit) │ ├─ arm64-sim/ libchilkatIos.a — simulator (Apple Silicon) │ └─ x86_64/ libchilkatIos.a — simulator (Intel) ├─ include/ Objective-C headers (Cko*.h) ├─ cpp_include/ C / C++ headers (Ck*.h, plus Ck*W.h Unicode variants) ├─ makeUniversalLib.sh script to combine slices into one lib ├─ license.pdf ├─ pcre2-license.pdf └─ quickjs-license.pdf
The two header directories let you program in whichever style you prefer:
include/— the Objective-C interface (classes prefixedCko, e.g.CkoJsonObject). Swift code uses these through a bridging header.cpp_include/— the C/C++ interface (classes prefixedCk, e.g.CkJsonObject). The*W.hheaders are the Unicode (wide-char) variants of each class.
Architecture slices
Chilkat ships a separate static lib for each architecture. Each falls into one of two groups — device or simulator — and this distinction matters when you combine them (see below).
| Slice | Group | Where it runs |
|---|---|---|
arm64 | Device | All modern iOS devices |
arm64e | Device | iOS devices with A12 chips and later |
armv7 | Device | Older 32-bit iOS devices |
armv7s | Device | Older 32-bit iOS devices (iPhone 5/5c era) |
arm64-sim | Simulator | iOS Simulator on Apple Silicon Macs |
x86_64 | Simulator | iOS Simulator on Intel Macs |
Install instructions
-
Unzip the download
Extract the archive to any directory. There is no “install” — the layout shown above is what you get.
-
Add the headers to your project
Use
include/for Objective-C / Swift, orcpp_include/for C / C++. Add the directory to your Header Search Paths in Xcode. -
Build the static library you need
Either link a single architecture slice directly, or combine the slices you target into one universal
libchilkatIos.a(next section). -
Link your app
Add
libchilkatIos.ato your target and follow the compiling & linking notes below.
Building a universal static library or XCFramework
Because the download ships a separate static library for each architecture slice, you'll combine the slices you target into one of two forms before linking:
- Two universal static libraries — one for device and one for the
simulator, built from the slices with Apple's
libtool(amakeUniversalLib.shscript is included to get you started). - An XCFramework — the preferred format for modern Xcode projects. It bundles the device and simulator libraries together and lets Xcode pick the correct binary for each build automatically.
.a file. Combine device slices with device slices, simulator slices with
simulator slices, and keep the two binaries separate (an XCFramework does this for
you).
Full instructions, scripts, and examples — including the exact
libtool and xcodebuild -create-xcframework commands —
are on the dedicated page:
Building an iOS Universal Static
Library or XCFramework.
Compiling & linking
For step-by-step instructions on adding Chilkat to your Xcode project — header search paths, linking the static library or XCFramework, the required linker flags, and notes for Objective-C, Swift, and C/C++ — see:
Adding Chilkat to an Xcode Project: Compiling & Linking Guide
Release notes & resources
- Release notes: on the Chilkat blog.
- Reference documentation: Chilkat Documentation.
- Sample code: Chilkat Example Code.