Troubleshooting
Quick Troubleshooting Checklist
- Is your channel key and configuration correct?
- Are you using the latest version of the SDK?
- Have you enabled logging to capture errors?
- Are all required permissions and entitlements set in your Info.plist?
- Is your JWT token valid and not expired?
Common Issues & Solutions
Initialization Failure
- Symptom: SDK fails to initialize.
- Possible Causes: Incorrect channel key, missing permissions, network issues.
- Solution: Double-check your channel key, ensure all required permissions and entitlements are set, and check your network connection.
Authentication Errors
- Symptom: Users cannot authenticate or are logged out unexpectedly.
- Possible Causes: Expired or invalid JWT token.
- Solution: Ensure your backend generates valid JWTs and handles token refresh.
Logging Best Practices
-
Enable logging during development and troubleshooting:
Swift
import ZendeskSDKLogger
Logger.enabled = true
Logger.level = .default
Objective-C
#import <ZendeskSDKLogger/ZendeskSDKLogger.h>
ZDKLogger.enabled = YES;
ZDKLogger.level = ZDKLogLevelDefault;
-
Adjust the log level as needed (
.info
,.debug
,.error
,.fault
). -
Collect logs and include them when contacting Zendesk support.
Reporting Issues
When contacting Zendesk support, please include:
- SDK version
- iOS version and device model
- Steps to reproduce the issue
- Relevant logs (with logging enabled)
- Screenshots or screen recordings if possible
- A demo app that reproduces the issue, if applicable
Note: We recommend tracking the cause of any initialization failures in your crash reporting dashboard. This will help in troubleshooting your integration once deployed in production.
Demo Apps
Zendesk provides multiple demo apps to showcase SDK features such as basic implementation and JWT authentication. Each app contains a README with setup instructions.
You can find them in our Zendesk SDK Demo app GitHub.