Troubleshooting
Start by running a debug build and filtering the Xcode console by CIMKA (the SDK logs via os_log under that category).
| Symptom | Likely cause and fix |
|---|---|
| Nothing appears in the dashboard | Look for Invalid license, license check timed out or initialization failed in the console. Check the four validation fields, that baseUrl ends with /api/v1, and that the SDK is enabled for the application in the dashboard. |
cimka_config.json not found |
The file isn’t in the bundle. Select it in Xcode → Target Membership → check your app so it’s in Copy Bundle Resources. It must sit at the bundle root, not inside a folder reference. |
Could not resolve package |
The repository is private. Each developer/CI machine needs GitHub read access and authentication (SSH key, or a token under Xcode ▸ Settings ▸ Accounts). |
| Data shows under the wrong platform | Register a separate iOS application in the dashboard and use its applicationId/apiKey. Reusing another platform’s credentials attributes the data to that platform. |
| Can’t reach a local backend | Use http://localhost:…/api/v1 on the simulator, and allow the cleartext exception in your App Transport Security settings (debug only). |
| First network calls / screens are missing | The SDK starts capturing after the license check completes, a moment after launch. |
| Network calls aren’t logged | You must instrument the exact URLSessionConfiguration your app uses, before creating the session. Instrumenting .default then building a session from a different configuration won’t capture anything. The SDK’s own API traffic is never logged. |
| A crash didn’t appear | Crashes are delivered on the next launch, not at crash time — relaunch and wait a moment. In the debugger, Xcode may catch the signal first; test without the debugger attached. |
| Screens aren’t tracked (UIKit) | Ensure CimkaUIKit.register() runs after Cimka.initialize(). Container controllers are skipped by design. |
| App shows a “blocked” screen | The device was blocked from the dashboard. Unblock it under the device’s sessions. |