iOS Troubleshooting
Troubleshooting Guide
This guide will help you in troubleshooting the issues that you may face during the integration. To resolve the issue we need a few details so we can identify the problem and suggest the solution, following guide will help you in fetching those details.
How to report issues with logs?
Share all these details with our team support@kommunicate.io
we will debug and suggest the solution
- Kommunicate version: This can be found in
Podfile.lock
as explained in the following section. - COCOAPODS version: This is also available in the Podfile.lock file.
- Xcode version: Open Xcode tool and click on About Xcode from the top menu as shown below:
Another way to check the Xcode Version is by running the following command in the terminal:
xcodebuild -version
iOS version of the phone in which you are facing the issue
Logs
- Copy the logs from the Xcode console and share it in the .txt or .log file
- If there is a crash log, share it in separate file-crash logs and normal logs. Also you can download it from the Crashlytics.
How to check the current Kommunicate SDK version?
Locate your target Project directory(location of the Kommunicate SDK in your system) and search for the file called Podfile.lock(present in the same directory of the project).
Also, you can run the below command in terminal to know the version details
cat Podfile.lock
Push notification troubleshooting
If you are having problem in receiving notifications on your iOS device, follow these steps:
In your test device, get the User ID of the user which is logged in to Kommunicate.
Open our Push Notification Test Page and enter your APP_ID and User ID which is logged into the device.
Once you submit, the status of that push notification will show.
Status | Description |
---|---|
Key Store not Found | You have not uploaded your APNS certificate on the Kommunicate dashboard. Make sure you have uploaded it for both development and distribution. Also, check if the password that you have set is correct. Check this section on where to upload the certificates. |
Not Valid | APNS Device token is not coming from the device. Check here the code that you need to add to your project. |
Invalid token | This error comes when a development certificate has been uploaded in the distribution field or vice versa. So, check the type of certificates and upload them accordingly. |
Received Fatal Alert Internal_error | If the certificate is not correct like if you upload a normal development certificate rather than an APNS certificate then this error will come. |
Received Fatal Alert Certificate Revoked | It means that the certificates that you have uploaded have been revoked from your side. Create new certificates and upload them again. After that, you can test the notifications. |
Received Fatal Alert Certificate_expired | It means that the certificates that you have uploaded have been expired. Create new certificates and upload them again. After that, you can test the notifications.. |
For Xcode 15 and above
DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead
Fix :
- Upgrade your Cocoapods version to at least
v1.13.0
to resolve the issue. - For versions below
v1.13.0
, include the following code in your Podfile to resolve the issue.
post_install do |installer|
installer.aggregate_targets.each do |target|
target.xcconfigs.each do |variant, xcconfig|
xcconfig_path = target.client_root + target.xcconfig_relative_path(variant)
IO.write(xcconfig_path, IO.read(xcconfig_path).gsub("DT_TOOLCHAIN_DIR", "TOOLCHAIN_DIR"))
end
end
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
if config.base_configuration_reference.is_a? Xcodeproj::Project::Object::PBXFileReference
xcconfig_path = config.base_configuration_reference.real_path
IO.write(xcconfig_path, IO.read(xcconfig_path).gsub("DT_TOOLCHAIN_DIR", "TOOLCHAIN_DIR"))
end
end
end
end
From v7.0.1 and above
If you're experiencing an error during pod installation, add the following code to your Podfile.
use_frameworks!
platform :ios, '13.0'
Additionally, raise the minimum iOS deployment target to version 13.
Privacy Manifest (Issue in App Review)
If you encounter issues during the App Review process, add this to your Privacy Manifest file. Skip any key-value pairs already present in your file. If you don't have a Privacy Manifest file, create one.
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryActiveKeyboards</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>54BD.1</string>
</array>
</dict>
</array>
App Store Distribution Issue for Versions up to 7.2.0
If you're encountering issues when uploading the release build to App Store Connect, please take the following actions:
- Downgrade your Xcode version to 15.4, or
- Update Kommunicate to version 7.2.1 or later.