# CocoaPacketAnalyzer Plugin SDK 3.0.0

Build 564 · macOS deployment target 26.0 · packaged 2026-07-30

> **Quarantine note** — macOS adds a quarantine flag to anything you download
> from the internet. After unzipping, run:
>
> ```bash
> xattr -cr CPAPlugInSDK_300
> ```
>
> if Gatekeeper refuses to load the bundled xcframeworks. Each xcframework is
> signed with the Daubit & Francke GmbH Developer ID, but the zip itself is
> not notarized.

## What's in this download

- `xcframeworks/` — 9 binary frameworks for linking your `.cpaplugin` against
  the SDK. See `xcframeworks/README.md` for project setup.
- `SamplePlugIn/walkthrough.md` — step-by-step guide for writing your first
  CocoaPacketAnalyzer plugin.
- `SamplePlugIn/CPAPluginSDK.docc/` — full reference docs (Protocol Contract,
  Analyzer Settings, Threading Model, Distribution).
- `SamplePlugIn/NTPAnalyzer-XCF/` — complete, ready-to-build sample plugin.

## 30-second start

1. Open `SamplePlugIn/NTPAnalyzer-XCF/NTPAnalyzer.xcodeproj` in Xcode.
2. ⌘B to build.
3. Copy the resulting `NTPAnalyzer.cpaplugin` into
   `~/Library/Application Support/CocoaPacketAnalyzer/PlugIns/`.
4. Restart CocoaPacketAnalyzer. The plugin appears under
   **Settings ▸ Analyzers ▸ NTP Analyzer**, with the coloring row, timestamp
   toggle and ports table it declares.

## Writing your own plugin

Start with `SamplePlugIn/walkthrough.md`. When you need depth on a specific
topic, the DocC catalog at `SamplePlugIn/CPAPluginSDK.docc/` covers the
protocol contract, threading model, and distribution mechanics.

## Linking against the SDK in your own project

Follow `xcframeworks/README.md`. One `import CPAPluginSDK` is all your source
code ever needs.

## Compatibility

This SDK targets CocoaPacketAnalyzer ≥ 3.0.0 (build 564).
The host's `CFBundleVersion` must meet or exceed this build number. Older host
versions may refuse to load `.cpaplugin`s built against this SDK.

## Support

- Email: jens.francke@tastycocoabytes.com
- Web: https://tastycocoabytes.com
