Did this resolve your issue?
No, I still need help Yes, this helpedMake sure you have entered a valid link to the Apple Store on the app's settings page

If you have, the certificate might be invalid. Try regenerating the certificate and re-uploading it.
Did this resolve your issue?
No, I still need help Yes, this helpedChrome is the officially supported browser for Helpshift. To learn more, see our FAQ Why doesn’t the Dashboard work as well on Firefox, Safari, and Internet Explorer compared to Chrome?
Dashboard performance issues (slowness loading or performing actions on issues, frequent refreshes needed, etc) are usually caused by network connection problems.
Please confirm:
- That your network speed is at least 10MB download speed and 2MB upload by checking this link:http://www.speedtest.net/
- Whether other Agents or team members of your Dashboard are experiencing the same issue (it may be a computer-/device- specific issue if it’s only affecting you)
- That you don’t have lots of other tabs/browser windows open while working in Helpshift
- Whether you have any browser extensions enabled, e.g. AutoTextExpander or Grammarly. If so, please try disabling all extensions (all at once, or one by one) to check whether this resolves the issue.
Did this resolve your issue?
No, I still need help Yes, this helpedEmergency DisclaimerPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
If you’re using Custom Data to add tags or populate Custom Issue Fields, and it’s not working on some or all Issues, confirm whether there is a check in your code causing the metadata dict not to be added to the Helpshift config dict when it’s null. This would cause the metadata dict passed to CreateDictionary method to be null, and not appear on the Issue.
If HS-Tags are not appearing on Issues, make sure that that the tags exist under the "active tags" area in your Dashboard, and that you’ve followed the instructions in the FAQ What are HS-Tags?
Note:
- The tags in the code need to be all lowercase to match the tags in the Dashboard.
- Some values (like Country Code) are derived from the device's SIM. A device without a SIM card won't be able to pass Country Code as Metadata or HS-Tags.
For iOS Issues specifically, it's possible that the affected Issue(s) were filed from a jailbroken device with a configuration that conflicts with data collection.
Review this FAQ: When does device info and other Metadata get refreshed/updated?
Did this resolve your issue? If you need to connect with our Support team, be sure to provide any relevant code snippets where you’ve implemented Custom Data, HS-Tags and Custom Issue Fields.
No, I still need help Yes, this helpedIf FAQs aren’t loading for a particular language, make sure that you either have translations published for that language, or have a fallback language for iOS or Android enabled.

Did this resolve your issue?
No, I still need help Yes, this helpedIf this is happening in iOS, please review this FAQ: Why am I seeing Helpshift's UI in English, despite the SDK language being set to something else in my iOS app?
If this is not happening in iOS, please use the options below to contact our support team. When you reach out, let us know if this issue is occurring in iOS, Android, or both platforms.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review this FAQ: How are notifications handled by the Mac SDK?
Did this resolve your issue?
No, I still need help Yes, this helpedHelpshift no longer supports the Windows SDK. This means we are no longer making maintenance improvements or fixing bugs. To offer a Helpshift support experience in Windows, we recommend using our REST APIs or embedding web support in your app.Note: migrating from GCM to Firebase for notifications? Helpshift doesn’t support using both GCM and FCM in a single app. Follow the instructions in our developer documentation on migrating to FCM (Android) to migrate and ensure your users will continue to receive notifications!Review this FAQ: Why are my Android push notifications not working?
Did this resolve your issue?
No, I still need help Yes, this helpedReview this FAQ: Why are my Android push notifications not working?
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Android push notifications not working
Please review our FAQ Why are my Android push notifications not working?
Issues with notifications
Please see our developer documentation on troubleshooting notification issues for Unity with Android
Issues implementing Firebase (FCM) with Unity
Check what version of the Android Support Libraries you’re using. If they’re v24+, review the following:
The latest Firebase library expects the Android support library to be version 24+, but there is a reported build change in Android that needs to be done in order to make the app work with the latest support libraries. Check out this blog post on
the age of the vectors.
The Android support library runs a test on vectors on initialization which checks for correct loading and parsing of a test XML file. If the mentioned build changes are not done, then the test fails to parse the XML and the app crashes with an exception. The app crashes on start, if these build changes are not done, with this Unity error.
Unity does not allow modification of the Android build process unless the project is exported to Android Studio. Therefore, the Helpshift SDK uses 23.4.0 version of the Android support libraries by default. So, either you can make the build change as recommended in the above link, or you can move to a previous version of Firebase that works with 23.x.x android support library version in order to avoid the app crash.
If you have the option to move to Android Studio, then you can use the AAR file of the Helpshift plugin. You can create the Helpshift AAR from the Unity plugin by referring to our developer documentation on fixing the inbuilt gradle build.
This way, you will be able to use the Helpshift plugin with your latest support libraries.
App crash when receiving a push notification on Android 8 devices (error: "java.lang.IllegalStateException: Not allowed to start service Intent”
If you're using the built-in push notification support that the SDK provides, as opposed to your own push notification library, please check which version of the Android Support libs you're on.
For context, the built-in support for push notification uses GCM. This requires using GCMIntentService, which causes a crash if you target API 26, because of a limit on starting intents. If you are using this method, we recommend integrating the FCM library into your project and using the 2nd method provided in our developer documentation on manual push support.
Did this resolve your issue?
No, I still need help Yes, this helpedIf you're having issues with push notifications, try reviewing this FAQ: Why are my Android push notifications not working? and our developer documentation on troubleshooting push notifications.
Did this resolve your issue?
No, I still need help Yes, this helpedFor issues with iOS push notifications for Xamarin, please review our FAQ
Why are my iOS push notifications not working? as well as our developer documentation on
troubleshooting iOS notifications for Xamarin.
Did this resolve your issue?
No, I still need help Yes, this helpedFor issues with iOS push notifications for Cocos2d-x, please review our FAQ Why are my iOS push notifications not working? as well as our developer documentation on troubleshooting iOS notifications for Cocos2d-x.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Push notifications on iOS not working:
Please review our FAQ
Why are my iOS push notifications not working?
Helpshift not loading after the app is killed
Review our developer documentation on Push notification behavior when the app is killed.
If you’re having trouble receiving in-app notifications when enabled:
If you are using Unity v5.5.x, the callback for remote notifications will be received in the application(_:didReceiveRemoteNotification:fetchCompletionHandler:) method.
This is because, in iOS, we receive callbacks via 2 different methods:
(_:didReceiveRemoteNotification:fetchCompletionHandler:) and didReceiveRemoteNotification.
If
(_:didReceiveRemoteNotification:fetchCompletionHandler: is present, the other will not send a callback.
After Unity v5.5.x, Unity itself implements (_:didReceiveRemoteNotification:fetchCompletionHandler: in its code, so developers are required to implement this by default.
For more information on setting up notifications for your Unity iOS project, see our developer documentation on adding to Unity for iOS projects.
Did this resolve your issue?
No, I still need help Yes, this helpedReview this FAQ: Why are my iOS push notifications not working?
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the explanations of our FAQ search functionality below. If you need additional assistance, let us know and we will provide options for you to reach out to our support team.
Unable to search FAQs by keywords
Searching by keywords is only supported for in-app (SDK) search, not web. The logic is that this is meant to help refine app-users' search results, since screen space is precious and we don't wish for too many results to overwhelm the users, which isn't an issue on the web.
Searching keywords with punctuation doesn’t work
Our search function is set up to only allow searches using a-z, A-Z and 0-9 characters. A search with punctuation (such as a period or comma) will turn up no results.
In-app search brings up results that don’t contain the search term
Our FAQ search indexes both results containing the actual search term, and results with similar-sounding words. Those "metaphone" results will be prioritized lower down in the result list than exact matches. Also note that the metaphone algorithm we use isn't language specific.
Some examples:
- Searching for "buddy" can also bring up FAQ results that contain terms like "bud," "but," "putty" etc.
- Searching for "pr" on a Spanish-language device would be expected bring up results containing the word "para."
Did this resolve your issue?
No, I still need help Yes, this helped
Helpshift no longer supports the Windows SDK. This means we are no longer making maintenance improvements or fixing bugs. To offer a Helpshift support experience in Windows, we recommend using our REST APIs or embedding web support in your app.If you are seeing the message Error: “Network Connection”, please review this FAQ: Why is my iOS app throwing a network connection error message when users try to load FAQs?
Did this resolve your issue?
No, I still need help Yes, this helpedHelpshift no longer supports the Windows SDK. This means we are no longer making maintenance improvements or fixing bugs. To offer a Helpshift support experience in Windows, we recommend using our REST APIs or embedding web support in your app.Translations are incorrect or need improvements
The translated strings in our SDKs are provided by a localization company that partners with us. If you disagree with any of the translations you see, please let us know and we will provide that feedback to our partners! In the meantime, you can customize any strings in order to change the translation.
Did this resolve your issue?
No, I still need help Yes, this helpedHelpshift no longer supports the Windows SDK. This means we are no longer making maintenance improvements or fixing bugs. To offer a Helpshift support experience in Windows, we recommend using our REST APIs or embedding web support in your app.The following is a list of known issues with the Mac OS that will be fixed in future releases:- Bullet points appear incorrectly rendered as “022” in Mac FAQs
- “Resolution question” sometimes appears twice
- When Agents use the “request a screenshot” feature on Mac SDK issues, modifying the text before sending it causes the “attach” button not to appear
No, I still need help Yes, this helpedHelpshift no longer supports the Windows SDK. This means we are no longer making maintenance improvements or fixing bugs. To offer a Helpshift support experience in Windows, we recommend using our REST APIs or embedding web support in your app.Please review the solution in this FAQ: Why do I get a popup asking for keychain permissions when I open my mac app?Please review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
“Permission required” error when user attempts to attach screenshot
The Helpshift Android SDK requires WRITE_EXTERNAL_PERMISSION. In recent SDK versions this permission is optional, and you can choose to not include this permission in your app’s manifest file. If storage permission is removed, the user experience will be as follows:
- The “attach a file” icon will still display for the user, but the user will not be able to attach a file when they tap it.
- Downloading Agent attachments will not show the download progress in the conversation, but can be downloaded.
- Larger images in FAQs will be slower to download - the download speed will depend on the device’s network speed at the time of viewing.
- If a user uninstalls and reinstalls the app, they will only be able to start a new conversation and not resume an open one.
For the best user experience, you’ll want to remove the “attach a file” icon because the user will not be able to use it after this code is added to the manifest. Currently, the only way to remove this icon is to implement the EnableFullPrivacy configuration we offer to make all Issues Anonymous and disable attachments.
App won't load, "HSRetryService" error
The error is due to HSRetryService class, which was removed in our most recent SDK versions. To avoid the error, do a clean reinstall of the SDK in case traces of a previous build are causing this issue.
Crash with “java.lang.SecurityException: You need MANAGE_USERS permission to: [some function]” in stack trace
Check whether the devices experiencing this issue have the option "Do not keep activities" enabled in Developer Settings. If so, unchecking that will resolve it.
Some images from device can't be attached in SDK chat
On Android, occasionally there will be certain images that end users won't be able to attach via the SDK, while other images work fine.
This is due to a known issue where there are issues attaching Google photos from the cloud. This usually occurs when the file is not present in the device and is downloaded by the Google Photos app.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
“Permission required” error when user attempts to attach screenshot
The Helpshift Android SDK requires WRITE_EXTERNAL_PERMISSION. In recent SDK versions, this permission is optional, and you can choose to not include this permission in your app’s manifest file. If storage permission is removed, the user experience will be as follows:
- The “attach a file” icon will still display for the user, but the user will not be able to attach a file when they tap it.
- Downloading Agent attachments will not show the download progress in the conversation, but can be downloaded.
- Larger images in FAQs will be slower to download and will depend on the device’s network speed at the time of viewing.
- If a user uninstalls and reinstalls the app, they will only be able to start a new conversation and not resume an open one.
For the best user experience, you’ll want to remove the “attach a file” icon because the user will not be able to use it after this code is added to the manifest. Currently, the only way to remove this icon is to implement the EnableFullPrivacy configuration we offer to make all issues Anonymous and disable attachments.
App won't load, "HSRetryService" error
The error is due to HSRetryService class, which was removed in our most recent SDK versions). To avoid the error, do a clean reinstall of the SDK in case traces of a previous build are causing this issue.
Crash with “java.lang.SecurityException: You need MANAGE_USERS permission to: [some function]” in stack trace
Check whether the devices experiencing this issue have the option "Do not keep activities" enabled in Developer Settings. If so, unchecking that will resolve it.
Some images from device can't be attached in SDK chat
On Android, occasionally there will be certain images that end users won't be able to attach via the SDK, while other images work fine.
This is due to a known issue where there are issues attaching Google photos from the cloud. This usually occurs when the file is not present in the device and is downloaded by the Google Photos app. This has also been reported by other image picking libraries and seems to be a common issue faced by many Android developers.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
“Permission required” error when user attempts to attach screenshot
The Helpshift Android SDK requires WRITE_EXTERNAL_PERMISSION. For recent SDK versions, this permission is optional, and you can choose to not include this permission in your app’s manifest file. If storage permission is removed, the user experience will be as follows:
- The “attach a file” icon will still display for the user, but the user will not be able to attach a file when they tap it.
- Downloading Agent attachments will not show the download progress in the conversation, but can be downloaded.
- Larger images in FAQs will be slower to download and will depend on the device’s network speed at the time of viewing.
- If a user uninstalls and reinstalls the app, they will only be able to start a new conversation and not resume an open one.
For the best user experience, you’ll want to remove the “attach a file” icon because the user will not be able to use it after this code is added to the manifest. Currently, the only way to remove this icon is to implement the EnableFullPrivacy configuration we offer to make all issues Anonymous and disable attachments.
App won't load, "HSRetryService" error
The error is due to HSRetryService class, which was removed in our most recent SDK versions. To avoid the error, do a clean reinstall of the SDK in case traces of a previous build are causing this issue.
Crash with “java.lang.SecurityException: You need MANAGE_USERS permission to: [some function]” in stack trace
Check whether the devices experiencing this issue have the option "Do not keep activities" enabled in their developer settings. If so, unchecking that will resolve it.<
Some images from device can't be attached in SDK chat
On Android, occasionally there will be certain images that end users won't be able to attach via the SDK, while other images work fine.
This is due to a known issue where there are issues attaching Google photos from the cloud. This usually occurs when the file is not present in the device and is downloaded by the google photos app. This has also been reported by other image picking libraries and seems to be a common issue faced by other android developers too.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
“Permission required” error when user attempts to attach screenshot
The Helpshift Android SDK requires WRITE_EXTERNAL_PERMISSION. For SDK v6.2.0 and above this permission is optional, and you can choose to not include this permission in your app’s manifest file. If storage permission is removed, the user experience will be as follows:
- The “attach a file” icon will still display for the user, but the user will not be able to attach a file when they tap it.
- Downloading Agent attachments will not show the download progress in the conversation, but can be downloaded.
- Larger images in FAQs will be slower to download and will depend on the device’s network speed at the time of viewing.
- If a user uninstalls and reinstalls the app, they will only be able to start a new conversation and not resume an open one.
For the best user experience, you’ll want to remove the “attach a file” icon because the user will not be able to use it after this code is added to the manifest. Currently, the only way to remove this icon is to implement the EnableFullPrivacy configuration we offer to make all issues Anonymous and disable attachments.
App won't load, "HSRetryService" error
The error is due to HSRetryService class, which was removed in our most recent SDK versions. To avoid the error, do a clean reinstall of the SDK in case traces of a previous build are causing this issue.
Crash with “java.lang.SecurityException: You need MANAGE_USERS permission to: [some function]” in stack trace
Check whether the devices experiencing this issue have the option "Do not keep activities" enabled in Developer Settings. If so, unchecking that will resolve it.
App crash when receiving a push notification on Android 8 devices (error: "java.lang.IllegalStateException: Not allowed to start service Intent"
If you're using the built-in push notification support that the SDK provides (https://developers.helpshift.com/unity/notifications-android/#inbuilt-push-support), as opposed to your own push notification library, please check which version of the Android Support libs you're on.
For context, the built-in support for push notification uses GCM. This requires using GCMIntentService, which causes a crash if you target API 26, because of a limit on starting intents. If you are using this method, we recommend integrating FCM library into your project and using the 2nd method provided in our developer documentation on manual push support for Unity for Android notifications.
Crash with “Error inflating class” in stack trace
If an Android app crashes with a stack trace line like:
‘android.view.InflateException: Binary XML file line #27: Error inflating class TextView’
or
‘android.view.InflateException: Binary XML file line #0: Error inflating class com.helpshift.views.HSTabLayout’
Then please confirm:
- Have you made any customizations to our themes/styles? For example, are you overriding our Helpshift theme style and using fontFamily like in:
- sans-serif-light
If so, you will need to implement it like this Stackoverflow solution. (Use the fontFamily attribute on a TextView or Button and then use that in the theme.)
- Are you using the third party library 'Calligraphy'? Someone has reported a similar crash in this Github request.
Some images from device can't be attached in SDK chat
On Android, occasionally there will be certain images that end users won't be able to attach via the SDK, while other images work fine.
This is due to a known issue where there are issues attaching Google Photos from the cloud. This usually occurs when the file is not present in the device and is downloaded by the google photos app. This has also been reported by other image picking libraries and seems to be a common issue faced by other android developers too.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the list of common errors and known issues below. If none of them match the exceptions or logs you’re seeing during integration, click the 'No, I still need help' button below to reach out to our Support team.
Also, if you’re not currently collecting logs, please enable logging or crash logs here so we can help you debug!
(Note: If possible, please attach a sample/debug app or project for our developers to analyze.)
hs_setContentInsetAdjustmentBehaviorToAutomaticWithParent crash
If you are seeing this app crash message:
*** Terminating app due to uncaught exception
reason: '-[UITableView hs_setContentInsetAdjustmentBehaviorToAutomaticWithParent:]: unrecognized selector sent to instance 0x7fafe8837c00'
Review our developer documentation on troubleshooting this error.
App crashes just after launching the app
Review our developer documentation on CFBundleShortVersionString.
readLocalConfig crash
Review our developer documentation on troubleshooting this type of
initialization crash.
App crashes when selecting a screenshot
The Helpshift SDK uses the UIImagePickerController, which supports portrait mode only. This means if the interface orientations supported by your application do not include portrait mask, then while choosing a screenshot the application will crash.
With this in mind, please make sure that your application's list of supported interface orientations does not exclude portrait. You can learn more about how to avoid this crash by reviewing our developer documentation on
fixing orientation issues.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Also, if you’re not currently collecting logs, please enable logging here so we can help you debug!
If you are seeing app crashes just after launching the app, review our developer documentation on
setting a CFBundleShortVersionString.
Incorrect iOS initialization code crash
If the app gets stuck just after launch and you get a readLocalConfig crash code, review our developer documentation on
troubleshooting iOS configuration crashes.
App crash when Helpshift is not initialized
If your app crashes before Helpshift is initialized, review our developer documentation on
troubleshooting iOS for Unity issues on initialization.
PNG crush compilation errors
If you are experiencing PNG crush compilation errors, review our developer documentation on the
PNG crush compilation problem.
App crashing when screenshot button is selected
If you are seeing the app crash while trying to take a screenshot, review our developer documentation on
troubleshooting app crashes for the screenshot button.
Note: if the app crashes on image attachment with the stack trace “Uncaught exception: UIApplicationInvalidInterfaceOrientation: Supported orientations has no common orientation with the application,” this is caused by a known Unity bug. You can view it in the Unity issue tracker.
It will be fixed in Unity 2018.2. In the meantime, if you follow the steps in our developer documentation on troubleshooting the Unity orientation fix in the UnityAppController, then the issue is fixed. This must be done in Xcode; it can't be done in Unity directly.
App crashing with Unity 5.4
If your app is crashing when built with Unity 5.4, see our developer documentation on
app crashing on launching support session.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Also, if you’re not currently collecting logs, please enable logging here so we can help you debug!
If you are seeing app crashes just after launching the app, review our developer documentation on
setting a CFBundleShortVersionString.
Incorrect iOS initialization code crash
If the app gets stuck just after launch and you get a readLocalConfig crash code, review our developer documentation on
troubleshooting iOS configuration crashes.
App crash when Helpshift is not initialized
If your app crashes before Helpshift is initialized, review our developer documentation on
troubleshooting iOS for Unity issues on initialization.
PNG crush compilation errors
If you are experiencing PNG crush compilation errors, review our developer documentation on the
PNG crush compilation problem.
App crashing when screenshot button is selected
If you are seeing the app crash while trying to take a screenshot, review our developer documentation on
troubleshooting app crashes for the screenshot button.
Note: if the app crashes on image attachment with the stack trace “Uncaught exception: UIApplicationInvalidInterfaceOrientation: Supported orientations has no common orientation with the application,” this is caused by a known Unity bug. You can view it in the Unity issue tracker.
It will be fixed in Unity 2018.2. In the meantime, if you follow the steps in our developer documentation on troubleshooting the Unity orientation fix in the UnityAppController, then the issue is fixed. This must be done in Xcode; it can't be done in Unity directly.
App crashing with Unity 5.4
If your app is crashing when built with Unity 5.4, see our developer documentation on
app crashing on launching support session.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Also, if you’re not currently collecting logs, please enable logging here so we can help you debug!
If you are seeing app crashes just after launching the app, review our developer documentation on
setting a CFBundleShortVersionString.
Incorrect iOS initialization code crash
If the app gets stuck just after launch and you get a readLocalConfig crash code, review our developer documentation on
troubleshooting iOS configuration crashes.
App crash when Helpshift is not initialized
If your app crashes before Helpshift is initialized, review our developer documentation on
troubleshooting iOS for Unity issues on initialization.
PNG crush compilation errors
If you are experiencing PNG crush compilation errors, review our developer documentation on the
PNG crush compilation problem.
App crashing when screenshot button is selected
If you are seeing the app crash while trying to take a screenshot, review our developer documentation on
troubleshooting app crashes for the screenshot button.
Note: if the app crashes on image attachment with the stack trace “Uncaught exception: UIApplicationInvalidInterfaceOrientation: Supported orientations has no common orientation with the application,” this is caused by a known Unity bug. You can view it in the Unity issue tracker.
It will be fixed in Unity 2018.2. In the meantime, if you follow the steps in our developer documentation on troubleshooting the Unity orientation fix in the UnityAppController, then the issue is fixed. This must be done in Xcode; it can't be done in Unity directly.
App crashing with Unity 5.4
If your app is crashing when built with Unity 5.4, see our developer documentation on
app crashing on launching support session.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review: Why do I get a popup asking for keychain permissions when I open my Mac app?
Did this resolve your issue?
No, I still need helpHelpshift no longer supports the Windows SDK. This means we are no longer making maintenance improvements or fixing bugs. To offer a Helpshift support experience in Windows, we recommend using our REST APIs or embedding web support in your app.If you are seeing the message 'Error: “Network Connection"', please review the following FAQ: Why is my iOS app throwing a network connection error message when users try to load FAQs?
Did this resolve your issue?
No, I still need help Yes, this helpedIf you are seeing the message 'Error: “Network Connection"', please review the following FAQ: Why is my iOS app throwing a network connection error message when users try to load FAQs?
Did this resolve your issue?
No, I still need help Yes, this helpedIf you are seeing the message 'Error: “Network Connection"', please review the following FAQ: Why is my iOS app throwing a network connection error message when users try to load FAQs?
If you are seeing the message Error: "Could not fetch FAQ's." with the following error in the console: "SendMessage: object not found!":
Confirm whether you have multiple UnityAppController files when initializing the app, for example, from another plugin like AppsFlyer. The app can only support one UnityAppController, so you will have to merge both the files into one file and keep only one UnityAppController file. To combine the app controllers, you will just need to copy all the methods and headers from one of the files to another. If there are any common methods, you can combine them. This will make sure that there is only one file with contents of both the files.
Did this resolve your issue?
No, I still need help Yes, this helpedTranslations are incorrect or need improvement
The translated strings in our SDKs are provided by a localization company that’s a partner of ours. If you disagree with any of the translations you see, please let us know and we’ll provide that feedback to our partners! In the meantime, you can customize any strings in order to change the translation.
Did this resolve your issue?
No, I still need help Yes, this helpedTranslations are incorrect or need improvement
The translated strings in our SDKs are provided by a localization company that’s a partner of ours. If you disagree with any of the translations you see, please let us know and we’ll provide that feedback to our partners! In the meantime, you can customize any strings in order to change the translation.
Did this resolve your issue?
No, I still need help Yes, this helpedTranslations are incorrect or need improvement
The translated strings in our SDKs are provided by a localization company that’s a partner of ours. If you disagree with any of the translations you see, please let us know and we’ll provide that feedback to our partners! In the meantime, you can customize any strings in order to change the translation.
Did this resolve your issue?
No, I still need help Yes, this helpedTranslations are incorrect or need improvement
The translated strings in our SDKs are provided by a localization company that’s a partner of ours. If you disagree with any of the translations you see, please let us know and we’ll provide that feedback to our partners! In the meantime, you can customize any strings in order to change the translation.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
App store says more languages are available for the app than actually are
Review this FAQ:
Why does the iOS app store say my app supports more languages than it does?
Implemented localizations not showing up in the app
Review this FAQ:
Why am I seeing Helpshift's UI in English despite the SDK language being set to something else in my iOS app?
Problems adding a language not officially supported by Helpshift
You may want to localize your app in a language that isn’t included in Helpshift’s official list of supported languages. Let’s use Estonian as an example.
Check whether the language is officially supported for iOS; if not, you will need to use Helpshift's setSDKLanguage API. Estonian isn’t an official device language for iOS, so you’d use the following call: [HelpshiftCore setLanguage:@"et_EE"]. Make sure you are calling this API before launching Helpshift screen. Ideally it should be called just after the install call.
Next, for any custom language not supported out-of-the-box by Helpshift SDK, we expect the app developer to provide the localization to Helpshift so we can display the SDK strings in correct language. This ensures that the user gets end to end localization (SDK strings + FAQs). To do so, add the custom translations to Helpshift's localization bundle. Follow this guide on how to create a custom bundle and pick the languages you wish to support. For the Estonian example, you’d need to add a folder called et_EE.lproj to the localization folder. We recommend duplicating a folder for any existing language, rename it to et_EE.lproj and then editing the HelpshiftLocalizable.strings file to provide the actual localization. After you complete the process stated in the link above, the SDK should successfully pick up the custom language.
Translations are incorrect or need improvement
The translated strings in our SDKs are provided by a localization company that’s a partner of ours. If you disagree with any of the translations you see, please let us know and we’ll provide that feedback to our partners! In the meantime, you can customize any strings in order to change the translation.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
App store says more languages are available for the app than actually are
Review this FAQ:
Why does the iOS app store say my app supports more languages than it does?
Implemented localizations not showing up in the app
Review this FAQ:
Why am I seeing Helpshift's UI in English despite the SDK language being set to something else in my iOS app?
Problems adding a language not officially supported by Helpshift
You may want to localize your app in a language that isn’t included in Helpshift’s official list of supported languages. Let’s use Estonian as an example.
Check whether the language is officially supported for iOS; if not, you will need to use Helpshift's setSDKLanguage API. Estonian isn’t an official device language for iOS, so you’d use the following call: [HelpshiftCore setLanguage:@"et_EE"]. Make sure you are calling this API before launching Helpshift screen. Ideally it should be called just after the install call.
Next, for any custom language not supported out-of-the-box by Helpshift SDK, we expect the app developer to provide the localization to Helpshift so we can display the SDK strings in correct language. This ensures that the user gets end to end localization (SDK strings + FAQs). To do so, add the custom translations to Helpshift's localization bundle. Follow this guide on how to create a custom bundle and pick the languages you wish to support. For the Estonian example, you’d need to add a folder called et_EE.lproj to the localization folder. We recommend duplicating a folder for any existing language, rename it to et_EE.lproj and then editing the HelpshiftLocalizable.strings file to provide the actual localizations. After you complete the process stated in the link above, the SDK should successfully pick up the custom language.
Translations are incorrect or need improvement
The translated strings in our SDKs are provided by a localization company that’s a partner of ours. If you disagree with any of the translations you see, please let us know and we’ll provide that feedback to our partners! In the meantime, you can customize any strings in order to change the translation.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
App store says more languages are available for the app than actually are
Review this FAQ:
Why does the iOS app store say my app supports more languages than it does?
Implemented localizations not showing up in the app
Review our developer documentation on troubleshooting the
localization bundle not being automatically added.
Helpshift UI appears in English but my app's language is set to something else
Review this FAQ: Why am I seeing Helpshift's UI in English despite the SDK language being set to something else in my iOS app?
Problems adding a language not officially supported by Helpshift
You may want to localize your app in a language that isn’t included in Helpshift’s official list of supported languages. Let’s use Estonian as an example.
Check whether the language is officially supported for iOS; if not, you will need to use Helpshift's setSDKLanguage API. Estonian isn’t an official device language for iOS, so you’d use the following call: [HelpshiftCore setLanguage:@"et_EE"]. Make sure you are calling this API before launching Helpshift screen. Ideally it should be called just after the install call.
Next, for any custom language not supported out-of-the-box by Helpshift SDK, we expect the app developer to provide the localization to Helpshift so we can display the SDK strings in correct language. This ensures that the user gets end to end localization (SDK strings + FAQs). To do so, add the custom translations to Helpshift's localization bundle. Follow this guide (https://developers.helpshift.com/unity/string-customization-ios/) on how to create a custom bundle and pick the languages you wish to support. For the Estonian example, you’d need to add a folder called et_EE.lproj to the localization folder. We recommend duplicating a folder for any existing language, rename it to et_EE.lproj and then editing the HelpshiftLocalizable.strings file to provide the actual localizations. After you complete the process stated in the link above, the SDK should successfully pick up the custom language.
Translations are incorrect or need improvement
The translated strings in our SDKs are provided by a localization company that’s a partner of ours. If you disagree with any of the translations you see, please let us know and we’ll provide that feedback to our partners! In the meantime, you can customize any strings in order to change the translation.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
App store says more languages are available for the app than actually are
Review this FAQ:
Why does the iOS app store say my app supports more languages than it does?
Implemented localizations not showing up in the app
Review this FAQ: Why am I seeing Helpshift's UI in English despite the SDK language being set to something else in my iOS app?
Problems adding a language not officially supported by Helpshift
You may want to localize your app in a language that isn’t included in Helpshift’s official list of supported languages. Let’s use Estonian as an example.
Check whether the language is officially supported for iOS; if not, you will need to use Helpshift's setSDKLanguage API. Estonian isn’t an official device language for iOS, so you’d use the following call: [HelpshiftCore setLanguage:@"et_EE"]. Make sure you are calling this API before launching Helpshift screen. Ideally it should be called just after the install call.
Next, for any custom language not supported out-of-the-box by Helpshift SDK, we expect the app developer to provide the localization to Helpshift so we can display the SDK strings in correct language. This ensures that the user gets end to end localization (SDK strings + FAQs). To do so, add the custom translations to Helpshift's localizations bundle. Follow this guide on how to create a custom bundle and pick the languages you wish to support. For the Estonian example, you’d need to add a folder called et_EE.lproj to the localization folder. We recommend duplicating a folder for any existing language, rename it to et_EE.lproj and then editing the HelpshiftLocalizable.strings file to provide the actual localizations. After you complete the process stated in the link above, the SDK should successfully pick up the custom language.
Translations are incorrect or need improvement
The translated strings in our SDKs are provided by a localization company that’s a partner of ours. If you disagree with any of the translations you see, please let us know and we’ll provide that feedback to our partners! In the meantime, you can customize any strings in order to change the translation.
Please note: If you’re using Cocoapods, you can find the HelpshiftLocalizable.strings file in the Helpshift Pod resources (For version 5.7.0 and above, HsLocalization.bundle will be used). If you customize the strings in that file, those strings will be overwritten the next time you upgrade your Helpshift SDK version. We recommend:
- Making sure you back-up any customized strings or translations, so you can migrate the values back into the new string files.
- Adding these customizations in the version control system. That way when you upgrade Helpshift, you can see what changes have been made and revert them if needed.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Cannot scroll FAQ list, cannot switch FAQ tabs, keyboard input not working when creating a new conversation etc.
These UI issues are caused when hardware acceleration is turned off for Helpshift's activities. To ensure that hardware acceleration is turned on, review our developer documentation on troubleshooting Android for Unity UI issues.
Push notifications don’t include app icon
First, confirm whether you’re calling "Core.install()" from Application.onCreate() - review our developer documentation on configuring the Unity SDK. Otherwise, "Core.handePush()" is called before "Core.install()" (since this call is not in Application.onCreate()), leaving the SDK in an undefined state.
If the issue is occurring specifically for Android OS version 5 (Lollipop) and above, it may be due to the guidelines for notification icons, which have changed since Lollipop (the app icon needs to be provided as a monochrome icon with transparency). More information can be found in these links:
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Push notifications don’t include the app icon
Confirm whether you’re calling "Core.install()" from Application.onCreate() by reviewing our developer documentation on configuring the Helpshift Android SDK.
Otherwise, "Core.handePush()" is called before "Core.install()" (since this call is not in Application.onCreate()), leaving the SDK in an undefined state.
If the issue is occurring specifically for Android OS version 5 (Lollipop) and above, it may be due to the guidelines for notification icons, which have changed since Lollipop (the app icon needs to be provided as a monochrome icon with transparency). More information can be found in these links:
If that turns out to be the problem, once you have changed the solid color icon to an icon with transparency, you can set it in the Helpshift SDK install call and it should work as expected.
Scrolling isn’t working in FAQs
This sort of UI glitch can occur when hardware acceleration is turned off for the app. For more information, see our developer documentation on troubleshooting UI issues in Android..
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Missing Chat Bubbles
Review our developer documentation on troubleshooting
missing chat bubbles in iOS.
Strings missing from interface (e.g., "close" button)
Review our developer documentation on
troubleshooting missing strings in the iOS SDK
Images not loading in conversations on iOS 9
Review our developer documentation on troubleshooting iOS9 issues
Search bar/background color behavior; visual problems with FAQ ViewController on iOS 11
With the release of iOS 11, we've changed the way visual design works for the FAQ ViewController (top part of the UI when viewing FAQ sections/articles; for example, the search bar).
As a result, you may notice the following issues when using Xcode 8:
- Search bar background color looks off
- Top section is "misaligned"/has weird padding
Using Xcode 9 will resolve this on our latest iOS builds.
Also, note that starting from iOS 11, the search bar is part of the navigation bar. So attributes like search bar background color have no effect on iOS 11 and later. The color of the whole navigation bar, including the search bar, can be changed using the "Background color" attribute of navigation bar. You can read more about this in our developer documentation on design attributes in the search bar.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Missing Chat Bubbles
Review our developer documentation on troubleshooting
missing chat bubbles in iOS.
Strings missing from interface (e.g., "close" button)
Review our developer documentation on
troubleshooting missing strings in the iOS SDK
Images not loading in conversations on iOS 9
Review our developer documentation on troubleshooting iOS9 issues
Search bar/background color behavior; visual problems with FAQ ViewController on iOS 11
With the release of iOS 11, we've changed the way visual design works for the FAQ ViewController (top part of the UI when viewing FAQ sections/articles; for example, the search bar).
As a result, you may notice the following issues when using Xcode 8:
- Search bar background color looks off
- Top section is "misaligned"/has weird padding
Using Xcode 9 will resolve this on our latest iOS builds.
Also, note that starting from iOS 11, the search bar is part of the navigation bar. So attributes like search bar background color have no effect on iOS 11 and later. The color of the whole navigation bar, including the search bar, can be changed using the "Background color" attribute of navigation bar. You can read more about this in our developer documentation on design attributes in the search bar.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Missing Chat Bubbles
Review our developer documentation on troubleshooting
missing chat bubbles in iOS.
Strings missing from interface (e.g., "close" button)
Review our developer documentation on
troubleshooting missing strings in the iOS SDK
Images not loading in conversations on iOS 9
Review our developer documentation on
troubleshooting the iOS9 Issue
Search bar/background color behavior; visual problems with FAQ ViewController on iOS 11
With the release of iOS 11, we've changed the way visual design works for the FAQ ViewController (top part of the UI when viewing FAQ sections/articles; for example, the search bar).
As a result, you may notice the following issues when using Xcode 8:
- Search bar background color looks off
- Top section is "misaligned"/has weird padding
Using Xcode 9 will resolve this on our latest iOS builds.
Also, note that starting from iOS 11, the search bar is part of the navigation bar. So attributes like search bar background color have no effect on iOS 11 and later. The color of the whole navigation bar, including the search bar, can be changed using the "Background color" attribute of navigation bar. You can read more about this in our developer documentation on design attributes in the search bar.
Did this resolve your issue? If not, click the button below.
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Missing Chat Bubbles
Review our developer documentation on troubleshooting
missing chat bubbles in iOS.
Strings missing from interface (e.g., "close" button)
Review our developer documentation on
troubleshooting missing strings in the iOS SDK
Images not loading in conversations on iOS 9
Review our developer documentation on
troubleshooting the iOS9 Issue
Search bar/background color behavior; visual problems with FAQ ViewController on iOS 11
With the release of iOS 11, we've changed the way visual design works for the FAQ ViewController (top part of the UI when viewing FAQ sections/articles; for example, the search bar).
As a result, you may notice the following issues when using Xcode 8:
- Search bar background color looks off
- Top section is "misaligned"/has weird padding
Using Xcode 9 will resolve this on our latest iOS builds.
Also, note that starting from iOS 11, the search bar is part of the navigation bar. So attributes like search bar background color have no effect on iOS 11 and later. The color of the whole navigation bar, including the search bar, can be changed using the "Background color" attribute of navigation bar. You can read more about this in our developer documentation on design attributes in the search bar.
Did this resolve your issue? If not, click the button below.
No, I still need help Yes, this helpedHelpshift no longer supports the Windows SDK. This means we are no longer making maintenance improvements or fixing bugs. To offer a Helpshift support experience in Windows, we recommend using our REST APIs or embedding web support in your app.Please review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
“Permission required” error when user attempts to attach screenshot
The Helpshift Android SDK requires WRITE_EXTERNAL_PERMISSION. In recent SDK versions this permission is optional, and you can choose to not include this permission in your app’s manifest file. If storage permission is removed, the user experience will be as follows:
- The “attach a file” icon will still display for the user, but the user will not be able to attach a file when they tap it.
- Downloading Agent attachments will not show the download progress in the Conversation, but can be downloaded.
- Larger images in FAQs will be slower to download and will depend on the device’s network speed at the time of viewing.
- If a user uninstalls and reinstalls the app, they will only be able to start a new Conversation and not resume an open one.
For the best user experience, you’ll want to remove the “attach a file” icon because the user will not be able to use it after this code is added to the manifest. Currently, the only way to remove this icon is to implement the EnableFullPrivacy configuration we offer to make all issues Anonymous and disable attachments.
App won't load, "HSRetryService" error
This error is due to HSRetryService class, which was removed in our most recent SDK versions. To avoid the error, do a clean reinstall of the SDK in case traces of a previous build are causing this issue.
Some images from the user's device can't be attached during an in-app conversation
On Android, occasionally there will be certain images that end users won't be able to attach via the SDK, while other images work fine.
This is due to a known issue where there are issues attaching Google photos from the cloud. This usually occurs when the file is not present in the device and is downloaded by the google photos app.
Did this resolve your issue?
No, I still need helpPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
“Permission required” error when user attempts to attach screenshot
The Helpshift Android SDK requires WRITE_EXTERNAL_PERMISSION. In recent SDK versions, this permission is optional, and you can choose to not include this permission in your app’s manifest file. If storage permission is removed, the user experience will be as follows:
- The “attach a file” icon will still display for the user, but the user will not be able to attach a file when they tap it.
- Downloading Agent attachments will not show the download progress in the Conversation, but can be downloaded.
- Larger images in FAQs will be slower to download and will depend on the device’s network speed at the time of viewing.
- If a user uninstalls and reinstalls the app, they will only be able to start a new Conversation and not resume an open one.
For the best user experience, you’ll want to remove the “attach a file” icon because the user will not be able to use it after this code is added to the manifest. Currently, the only way to remove this icon is to implement the EnableFullPrivacy configuration we offer to make all issues Anonymous and disable attachments.
App won't load, "HSRetryService" error
The error is due to HSRetryService class, which was removed in our most recent SDK versions. To avoid the error, do a clean reinstall of the SDK in case traces of a previous build are causing this issue.
Some images from device can't be attached during an in-app conversation
On Android, occasionally there will be certain images that end users won't be able to attach via the SDK, while other images work fine.
This is due to a known issue where there are issues attaching Google photos from the cloud. This usually occurs when the file is not present in the device and is downloaded by the google photos app. This has also been reported by other image picking libraries and seems to be a common issue faced by other Android developers too.
Did this resolve your issue?
No, I still need helpPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
“Permission required” error when user attempts to attach screenshot
The Helpshift Android SDK requires WRITE_EXTERNAL_PERMISSION. For recent SDK versions, this permission is optional, and you can choose to not include this permission in your app’s manifest file. If storage permission is removed, the user experience will be as follows:
- The “attach a file” icon will still display for the user, but the user will not be able to attach a file when they tap it.
- Downloading Agent attachments will not show the download progress in the Conversation, but can be downloaded.
- Larger images in FAQs will be slower to download and will depend on the device’s network speed at the time of viewing.
- If a user uninstalls and reinstalls the app, they will only be able to start a new Conversation and not resume an open one.
For the best user experience, you’ll want to remove the “attach a file” icon because the user will not be able to use it after this code is added to the manifest. Currently, the only way to remove this icon is to implement the EnableFullPrivacy configuration we offer to make all issues Anonymous and disable attachments.
App won't load, "HSRetryService" error
The error is due to HSRetryService class, which was removed in our most recent SDK versions. To avoid the error, do a clean reinstall of the SDK in case traces of a previous build are causing this issue.
Some images from device can't be attached in an in-app conversation
On Android, occasionally there will be certain images that end users won't be able to attach via the SDK, while other images work fine.
This is due to a known issue where there are issues attaching Google photos from the cloud. This usually occurs when the file is not present in the device and is downloaded by the google photos app. This has also been reported by other image picking libraries and seems to be a common issue faced by other android developers too.
Did this resolve your issue?
No, I still need helpPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
“Permission required” error when user attempts to attach screenshot
The Helpshift Android SDK requires WRITE_EXTERNAL_PERMISSION. For SDK v6.2.0 and above this permission is optional, and you can choose to not include this permission in your app’s manifest file. If storage permission is removed, the user experience will be as follows:
- The “attach a file” icon will still display for the user, but the user will not be able to attach a file when they tap it.
- Downloading Agent attachments will not show the download progress in the Conversation, but can be downloaded.
- Larger images in FAQs will be slower to download and will depend on the device’s network speed at the time of viewing.
- If a user uninstalls and reinstalls the app, they will only be able to start a new Conversation and not resume an open one.
For the best user experience, you’ll want to remove the “attach a file” icon because the user will not be able to use it after this code is added to the manifest. Currently, the only way to remove this icon is to implement the EnableFullPrivacy configuration we offer to make all issues Anonymous and disable attachments.
App won't load, "HSRetryService" error
The error is due to HSRetryService class, which was removed in our most recent SDK versions. To avoid the error, do a clean reinstall of the SDK in case traces of a previous build are causing this issue.
Some images from device can't be attached in SDK chat
On Android, occasionally there will be certain images that end users won't be able to attach via the SDK, while other images work fine.
This is due to a known issue where there are issues attaching Google photos from the cloud. This usually occurs when the file is not present in the device and is downloaded by the google photos app. This has also been reported by other image picking libraries and seems to be a common issue faced by other Android developers too..
Did this resolve your issue?
No, I still need helpPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Also, if you’re not currently collecting logs, please enable logging by following these steps so we can help you debug! Once you've enabled debugging, review the solutions below against what appears in your logs.
java.lang.NullPointerException / Attempt to invoke virtual method on a null object reference
Please confirm where you've placed the Core#install call in your app. This error can sometimes arise if the Core#install happens after the ParentActivity is launched from the notification. It can be prevented by placing the install call in the onCreate() method of the overridden Application class, per our developer documentation on
Initializing your Android app.
Here's an example of a proper initialization code in case you'd like to reference it for comparison:
Github: HelpshiftMainApplication.java.
Multiple dex files define Lcom/helpshift/BuildConfig
Review our developer documentation on troubleshooting integration issues for Android.
“HSRetryService” error
The error is due to HSRetryService class, which was removed in our most recent SDK versions. Try to do a clean reinstall of the SDK in case traces of a previous build are causing this issue.
LeakCanary “memory leak” error
Confirm where you’ve added the install call -- The Helpshift install call should be in Application.onCreate() method. If this isn’t the problem and you contact the Helpshift support team, please include a snippet of the Helpshift code from your Application.java file in the report!
Fatal Exception: java.lang.IllegalStateException: Cannot perform this operation because there is no current transaction
Is your app multi-process? If so, review the following developer documentation:
Can't create handler inside thread that has not called Looper.prepare()
If you want to call registerDeviceToken on a worker thread, you can use the following code snippet. This will ensure that your worker thread is associated with a looper and it won’t crash.
private static class RegisterDeviceTokenHandler extends Handler {
public RegisterDeviceTokenHandler(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
Core.registerDeviceToken(...);
}
}
HandlerThread workerThread = new HandlerThread("worker-thread");
workerThread.start();
Handler registerDeviceTokenHandler = new
RegisterDeviceTokenHandler(workerThread.getLooper());
registerDeviceTokenHandler.sendEmptyMessage(0);
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Also, if you’re not currently collecting logs, please enable logging following these steps so we can help you debug! Once you've enabled debugging, review the solutions below against what appears in your logs.
Crash on "HSSearchDisplayController" with error "Terminating app due to uncaught exception 'NSUnknownKeyException', reason: this class is not key value coding-compliant for the key searchBar."
We have made some optimizations in our latest SDK packages involving utilizing the latest APIs and UI changes provided by Apple. This particular crash happens when developers make changes to the library without updating the rest of the contents of the package. As a result, the SDK attempts to use the outdated/deprecated resources (HSSearchDisplayController) rather than the updated UI resources, which causes a crash.
The solution to this is to use all of the latest resources shipped with the package, rather than only replacing the library. Let us know if this doesn't resolve your problem!
built without full bitcode
Make sure the SDK is configured to support bitcode, per our developer documentation on Cocoapods.
"warning: 'UILocalNotification' is deprecated"
This warning shouldn't cause any issues building the iOS project. In a future release, we will be moving to a newer UserNotifications framework to prevent this error. For now, it can safely be ignored!
"Location Manager has created on a dispatch queue executing on a thread other than the main thread"
This error is just a warning and can safely be ignored: it won't cause any performance issues in your app.
For context:
Helpshift uses the location manager to get the current location of the device. The location property of the CLLocationManger class gives us the last updated location. It does not wait for the location to be available. If not available, it returns nil. We do not listen to any events from the location manager. The warning is about the possibility of losing events if there is no run loop on the queue on which the CLLocationManager was instantiated. Since we are not listening to any events, this is a non-issue and the warning can be ignored.
"Unknown class HSSearchDisplayController" error
The class “HSSearchDisplayController,” was removed from our SDK in recent builds.
It’s possible that some reference to that file was still left in your project when you upgraded to this version; a *clean build* should fix it.
NSInvalidArgumentException: unrecognized selector sent to instance
Review our developer documentation on troubleshooting this initialization crash in iOS.
'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'hsSupportMain' in bundle NSBundle
This crash log indicates that the storyboard is not added to the project. This usually happens when the bundle named "HsUIResourceBundle", found in the zipped folder you download with our SDK, is not added to the Xcode project. Please check that the file was added by reviewing our developer documentation on getting the SDK.
linker command failed with exit code 1
This "linker command failed" error is a generic error that the linker can throw for all kinds of issues. Here are a few of the most common ones:
- Android App ID is being used for an iOS app (to check, go to your Dashboard and verify that you are indeed using the iOS app's install credentials for your iOS platform).
- Project contains both libHelpshift.a and libSupport.a (if so, please try removing libHelpshift.a and see if this resolves the crash).
- If you're seeing this after an SDK upgrade, please try removing the Helpshift SDK entirely and doing a fresh install.
If those don't seem to resolve the problem, we will need a more detailed error report from your side to help us debug this. You can pull this by archiving the app, which will fail. Then:
- Go to Report Navigator in Xcode (the default shortcut is Cmd + 9).
- Here, you will see an entry like “Archive helpShiftTest”. Click that and Xcode should a display a long list of all the steps it performed as part of archiving.
- Find the line, or lines, that failed, select them all and right click. This should reveal a “Copy Transcripts…” option.
- Copy the transcripts and send them over to us so that we can have a look at what failed.
Did this resolve your issue? If not, click the button below.
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Also, if you’re not currently collecting logs, please enable logging by following these steps so we can help you debug!
CommandInvokationFailure: Failed to re-package resources
This issue can happen if the ${applicationId} string is not replaced in Assets/Plugins/Android/helpshift/AndroidManifest.xml file.
Confirm that Assets/Plugins/Android/helpshift/AndroidManifest.xml does not contain any "${applicationId}" string. This placeholder is automatically replaced with the application bundle identifier if the build system used is gradle or if you are using Helpshift configurator for setting up the Helpshift SDK configuration. Review our developer documentation on adding a package name to the AndroidManifest.xml file.
No Resource found that matches the given name
Review our developer documentation on troubleshooting this compilation error for Unity for Android.
“No package identifier when getting value for resource number / Resources$NotFoundException”
Please review our developer documentation for an explanation of this error: Resource not found error
Also make sure that, when using the Helpshift GUI to enter the SDK credentials, you are clicking the "Save Config" on the Edit Config page. Clicking on save config will generate JSON files for API and install config inside the helpshift/res/raw folder like this:
Assets/Plugins/Android/helpshift/res/raw/helpshiftapiconfig.json
Assets/Plugins/Android/helpshift/res/raw/helpshiftinstallconfig.json
If these files are not been being generated then it means "Save" config was not clicked resulting in the resource not found exception.
If you see this error message:
Error on Install: “Exception : com.helpshift.exceptions.InstallException: The api key used in the Core.install(application, apiKey, domain, appId) is not valid!
Or this one:
Exception: com.helpshift.exceptions.InstallException: The domain name used in the
Core.install(application, apiKey, domain, appId) is not valid!
It indicates that the domain name, app ID, or API key for your app is incorrect in your initialization code. Double-check your initialization code and make sure there are no errors, for example using the iOS API key instead of Android; typos in the domain name; etc.

java.lang.NullPointerException” / Attempt to invoke virtual method on a null object reference
Please confirm where you've placed the Core#install call in your app. This error can sometimes arise if the Core#install happens after the ParentActivity is launched from the notification. It can be prevented by placing the install call in the onCreate() method of the overridden Application class, per our developer documentation on
initializing the Unity SDK for Android.
Build issues when using AppsFlyer SDK, or error where 'HsUnityAppController::didFinishLaunchingWithOptions' is not properly called
Having 2 appControllers in the same project can cause this issue (we often see this issue with AppsFlyer, for example). The solution is to implement one single appController, which takes all relevant/important code from both of the other appControllers. In the end, this common appController should be present in the project and the other appControllers should be removed. To do this, you can copy the contents of HsUnityAppController to the for the other SDK. This has resolved the issue whenever we run into it.
Multiple dex files define Lcom/helpshift/BuildConfig
Review our developer documentation on troubleshooting integration issues for Android.
“HSRetryService” error
The error is due to HSRetryService class, which was removed in our most recent SDK versions (Unity 2.7.0, Xamarin 2.3+, etc). We recommend doing a clean reinstall of the SDK in case traces of a previous build are causing this issue.
LeakCanary “memory leak” error
Confirm where you’ve added the install call -- The Helpshift install call should be in Application.onCreate() method. If this isn’t the problem and you contact the Helpshift support team, please include a snippet of the Helpshift code from your Application.java file in the report!
Fatal Exception: java.lang.IllegalStateException: Cannot perform this operation because there is no current transaction
Is your app multi-process? If so, review the following developer documentation:
Can't create handler inside thread that has not called Looper.prepare()
If you want to call registerDeviceToken on a worker thread, you can use the following code snippet. This will ensure that your worker thread is associated with a looper and it won’t crash.
private static class RegisterDeviceTokenHandler extends Handler {
public RegisterDeviceTokenHandler(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
Core.registerDeviceToken(...);
}
}
HandlerThread workerThread = new HandlerThread("worker-thread");
workerThread.start();
Handler registerDeviceTokenHandler = new
RegisterDeviceTokenHandler(workerThread.getLooper());
registerDeviceTokenHandler.sendEmptyMessage(0);
Dex Count/Method Count issues
Review our developer documentation on troubleshooting the dex 64k issue in Unity for Android.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Also, if you’re not currently collecting logs, please enable logging by following these steps so we can help you debug!
Crash on "HSSearchDisplayController" with error "Terminating app due to uncaught exception 'NSUnknownKeyException', reason: this class is not key value coding-compliant for the key searchBar."
We have made some optimizations in our latest SDK packages involving utilizing the latest APIs and UI changes provided by Apple. This particular crash happens when developers make changes to the library without updating the rest of the contents of the package. As a result, the SDK attempts to use the outdated/deprecated resources (HSSearchDisplayController) rather than the updated UI resources, which causes a crash.
The solution to this is to use all of the latest resources shipped with the package, rather than only replacing the library. Let us know if this doesn't resolve your problem!
Warning: 'UILocalNotification' is deprecated'
This warning shouldn't cause any issues building the iOS project. In a future release, we will be moving to a newer UserNotifications framework to prevent this error. For now, it can safely be ignored!
built without full bitcode
Make sure the SDK is configured to support bitcode, per our developer documentation on bitcode support for iOS.
Location Manager has created on a dispatch queue executing on a thread other than the main thread
This error is just a warning and can safely be ignored: it won't cause any performance issues in your app.
For context:
Helpshift uses the location manager to get the current location of the device. The location property of the CLLocationManger class gives us the last updated location. It does not wait for the location to be available. If not available, it returns nil. We do not listen to any events from the location manager. The warning is about the possibility of losing events if there is no run loop on the queue on which the CLLocationManager was instantiated. Since we are not listening to any events, this is a non-issue and the warning can be ignored.
“Not a PNG file"/pngcrush error
Unity sometimes adds Android resources to an xcode project. This will cause compilation issues for the PNG crush tool. This issue occurs when Apple converts traditional PNG images to an optimized CgBI format using a proprietary version of the public domain pngcrush tool making the file different from the PNG standards. This optimization reduces the size of the PNG image by almost half, making our asset folder very small in size. When Android resources are added into xcode project, the PNG crush tool is not able to read the format of the files.
The solution for this issue is to unselect iOS from the file inspector for assets which are used by Android. For more details on the root issue, please refer to this Stackoverflow solution on this PNG crush error.
The class “HSSearchDisplayController,” was removed from our SDK in recent builds.
It’s possible that some reference to that file was still left in your project when you upgraded to this version; a *clean build* should fix it.
NSInvalidArgumentException: unrecognized selector sent to instance
Review our developer documentation on troubleshooting this initialization crash in Unity for iOS.
'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'hsSupportMain' in bundle NSBundle
This crash log indicates the storyboard is not added to the project. This happens because the bundle named HsUIResourceBundle found in our plugin is not added to the Xcode project. This is due to the fact that Unity 5.4 does not have the platform set to iOS for bundles. For details, you can also refer to our developer documentation on this error.
linker command failed with exit code 1
This "linker command failed" error is a generic error that the linker can throw for all kinds of issues. Here are a few of the most common ones:
- Android App ID is being used for an iOS app (to check, go to your dashboard and verify that you are indeed using the iOS app's install credentials for your iOS platform)
- Project contains both libHelpshift.a and libSupport.a (if so, please try removing libHelpshift.a and see if this resolves the crash)
- If you're seeing this after an SDK upgrade, please try removing the Helpshift SDK entirely and doing a fresh install.
If those don't seem to resolve the problem, we will need a more detailed error report from your side to help us debug this. You can pull this by archiving the app, which will fail. Then:
- Go to Report Navigator in Xcode (Default shortcut is Cmd + 9).
- Here, you will see an entry like “Archive helpShiftTest”. Click that and Xcode should a display a long list of all the steps it performed as part of archiving.
- Find the line, or lines, that failed, select them all and right click. This should reveal a “Copy Transcripts…” option.
- Copy the transcripts and send them over to us so that we can have a look at what failed.
'Nothing to import' message
Review our developer documentation on troubleshooting the 'nothing to import' message in Unity as well as our developer documentation on troubleshooting PNG crush compilation errors in Unity for iOS.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
Also, if you’re not currently collecting logs, please enable logging by following these steps so we can help you debug!
java.lang.NullPointerException” / Attempt to invoke virtual method on a null object reference
Please confirm where you've placed the Core#install call in your app. This error can sometimes arise if the Core#install happens after the ParentActivity is launched from the notification. It can be prevented by placing the install call in the onCreate() method of the overridden Application class, per our developer documentation on
Initializing Xamarin for Android.
Multiple dex files define Lcom/helpshift/BuildConfig
Review our developer documentation on the Duplicate class error
LeakCanary “memory leak” error
Confirm where you’ve added the install call -- The Helpshift install call should be in Application.onCreate() method. If this isn’t the problem and you contact the Helpshift support team, please include a snippet of the Helpshift code from your Application.java file in the report!
Fatal Exception: java.lang.IllegalStateException: Cannot perform this operation because there is no current transaction
Is your app multi-process? If so, review the following developer documentation:
Can't create handler inside thread that has not called Looper.prepare()
If you want to call registerDeviceToken on a worker thread, you can use the following code snippet. This will ensure that your worker thread is associated with a looper and it won’t crash.
private static class RegisterDeviceTokenHandler extends Handler {
public RegisterDeviceTokenHandler(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
Core.registerDeviceToken(...);
}
}
HandlerThread workerThread = new HandlerThread("worker-thread");
workerThread.start();
Handler registerDeviceTokenHandler = new
RegisterDeviceTokenHandler(workerThread.getLooper());
registerDeviceTokenHandler.sendEmptyMessage(0);
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the list of common errors and known issues below. If none of them match the exceptions/logs you’re seeing during integration, let us know and we will provide options for you to reach out to our support team.
Also, if you’re not currently collecting logs, please enable logging by following these steps so we can help you debug!
Crash on "HSSearchDisplayController" with error "Terminating app due to uncaught exception 'NSUnknownKeyException', reason: this class is not key value coding-compliant for the key searchBar."
We have made some optimizations in our latest SDK packages involving utilizing the latest APIs and UI changes provided by Apple. This particular crash happens when developers make changes to the library without updating the rest of the contents of the package. As a result, the SDK attempts to use the outdated/deprecated resources (HSSearchDisplayController) rather than the updated UI resources, which causes a crash.
The solution to this is to use all of the latest resources shipped with the package, rather than only replacing the library. Let us know if this doesn't resolve your problem!
built without full bitcode
Make sure the SDK is configured to support bitcode, per our developer documentation on adding bitcode support.
"warning: 'UILocalNotification' is deprecated"
This warning shouldn't cause any issues building the iOS project. In a future release, we will be moving to a newer UserNotifications framework to prevent this error. For now, it can safely be ignored!
"Location Manager has created on a dispatch queue executing on a thread other than the main thread"
This error is just a warning and can safely be ignored: it won't cause any performance issues in your app.
For context:
Helpshift uses the location manager to get the current location of the device. The location property of the CLLocationManger class gives us the last updated location. It does not wait for the location to be available. If not available, it returns nil. We do not listen to any events from the location manager. The warning is about the possibility of losing events if there is no run loop on the queue on which the CLLocationManager was instantiated. Since we are not listening to any events, this is a non-issue and the warning can be ignored.
"Unknown class HSSearchDisplayController" error
The class “HSSearchDisplayController,” was removed from our SDK in recent builds.
It’s possible that some reference to that file was still left in your project when you upgraded to this version; a *clean build* should fix it.
NSInvalidArgumentException: unrecognized selector sent to instance
Review our developer documentation on troubleshooting this initialization crash in iOS.
'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'hsSupportMain' in bundle NSBundle
This crash log indicates that the storyboard is not added to the project. This usually happens when the bundle named "HsUIResourceBundle", found in the zipped folder you download with our SDK, is not added to the Xcode project. Please check that the file was added by reviewing our developer documentation.
linker command failed with exit code 1
This "linker command failed" error is a generic error that the linker can throw for all kinds of issues. Here are a few of the most common ones:
- Android App ID is being used for an iOS app (to check, go to your dashboard and verify that you are indeed using the iOS app's install credentials for your iOS platform)
- Project contains both libHelpshift.a and libSupport.a (if so, please try removing libHelpshift.a and see if this resolves the crash)
- If you're seeing this after an SDK upgrade, please try removing the Helpshift SDK entirely and doing a fresh install.
If those don't seem to resolve the problem, we will need a more detailed error report from your side to help us debug this. You can pull this by archiving the app, which will fail. Then:
- Go to Report Navigator in Xcode (Default shortcut is Cmd + 9).
- Here, you will see an entry like “Archive helpShiftTest”. Click that and Xcode should a display a long list of all the steps it performed as part of archiving.
- Find the line, or lines, that failed, select them all and right click. This should reveal a “Copy Transcripts…” option.
- Copy the transcripts and send them over to us so that we can have a look at what failed.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the list of common errors and known issues below. If none of them match the exceptions/logs you’re seeing during integration, let us know and we will provide options for you to reach out to our support team.
Also, if you’re not currently collecting logs, please enable logging by following these steps so we can help you debug!
java.lang.NullPointerException” / Attempt to invoke virtual method on a null object reference
Please confirm where you've placed the Core#install call in your app. This error can sometimes arise if the Core#install happens after the ParentActivity is launched from the notification. It can be prevented by placing the install call in the onCreate() method of the overridden Application class, per our developer documentation on
Initializing Cocos2d-x for Android.
Multiple dex files define Lcom/helpshift/BuildConfig
Review our developer documentation on troubleshooting integration issues for Android.
“HSRetryService” error
The error is due to HSRetryService class, which was removed in our most recent SDK versions. We recommend that you try doing a clean reinstall of the SDK.
LeakCanary “memory leak” error
Confirm where you’ve added the install call -- The Helpshift install call should be in Application.onCreate() method. If this isn’t the problem and you contact the Helpshift support team, please include a snippet of the Helpshift code from your Application.java file in the report!
Fatal Exception: java.lang.IllegalStateException: Cannot perform this operation because there is no current transaction
Is your app multi-process? If so, review the following developer documentation:
Can't create handler inside thread that has not called Looper.prepare()
If you want to call registerDeviceToken on a worker thread, you can use the following code snippet. This will ensure that your worker thread is associated with a looper and it won’t crash.
private static class RegisterDeviceTokenHandler extends Handler {
public RegisterDeviceTokenHandler(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
Core.registerDeviceToken(...);
}
}
HandlerThread workerThread = new HandlerThread("worker-thread");
workerThread.start();
Handler registerDeviceTokenHandler = new
RegisterDeviceTokenHandler(workerThread.getLooper());
registerDeviceTokenHandler.sendEmptyMessage(0);
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the list of common errors and known issues below. If none of them match the exceptions/logs you’re seeing during integration, let us know and we will provide options for you to reach out to our support team.
Also, if you’re not currently collecting logs, please enable logging by following these steps so we can help you debug!
Crash on "HSSearchDisplayController" with error "Terminating app due to uncaught exception 'NSUnknownKeyException', reason: this class is not key value coding-compliant for the key searchBar."
We have made some optimizations in our latest SDK packages involving utilizing the latest APIs and UI changes provided by Apple. This particular crash happens when developers make changes to the library without updating the rest of the contents of the package. As a result, the SDK attempts to use the outdated/deprecated resources (HSSearchDisplayController) rather than the updated UI resources, which causes a crash.
The solution to this is to use all of the latest resources shipped with the package, rather than only replacing the library. Let us know if this doesn't resolve your problem!
built without full bitcode
Make sure the SDK is configured to support bitcode, per our developer documentation on iOS bitcode support.
"warning: 'UILocalNotification' is deprecated"
This warning shouldn't cause any issues building the iOS project. In a future release, we will be moving to a newer UserNotifications framework to prevent this error. For now, it can safely be ignored!
"Location Manager has created on a dispatch queue executing on a thread other than the main thread"
This error is just a warning and can safely be ignored: it won't cause any performance issues in your app.
For context:
Helpshift uses the location manager to get the current location of the device. The location property of the CLLocationManger class gives us the last updated location. It does not wait for the location to be available. If not available, it returns nil. We do not listen to any events from the location manager. The warning is about the possibility of losing events if there is no run loop on the queue on which the CLLocationManager was instantiated. Since we are not listening to any events, this is a non-issue and the warning can be ignored.
"Unknown class HSSearchDisplayController" error
The class “HSSearchDisplayController,” was removed from our SDK in recent builds.
It’s possible that some reference to that file was still left in your project when you upgraded to this version; a *clean build* should fix it.
NSInvalidArgumentException: unrecognized selector sent to instance
Review our developer documentation on troubleshooting this initialization crash in iOS.
Terminating app due to uncaught exception NSInvalidArgumentException, reason: *** setObjectForKey: object cannot be nil
If you are seeing app crashes just after launching the app, please make sure to set the CFBundleShortVersionString (Bundle versions string, short) in the -Info.plist file of your XCode project. See our developer documentation on troubleshooting the CFBundleShortVersionString crash for more details.
'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'hsSupportMain' in bundle NSBundle
This crash log indicates that the storyboard is not added to the project. This usually happens when the bundle named "HsUIResourceBundle", found in the zipped folder you download with our SDK, is not added to the Xcode project. Please check that the file was added by reviewing our developer documentation.
linker command failed with exit code 1
This "linker command failed" error is a generic error that the linker can throw for all kinds of issues. Here are a few of the most common ones:
- Android App ID is being used for an iOS app (to check, go to your dashboard and verify that you are indeed using the iOS app's install credentials for your iOS platform)
- Project contains both libHelpshift.a and libSupport.a (if so, please try removing libHelpshift.a and see if this resolves the crash)
- If you're seeing this after an SDK upgrade, please try removing the Helpshift SDK entirely and doing a fresh install.
If those don't seem to resolve the problem, we will need a more detailed error report from your side to help us debug this. You can pull this by archiving the app, which will fail. Then:
- Go to Report Navigator in Xcode (Default shortcut is Cmd + 9).
- Here, you will see an entry like “Archive helpShiftTest”. Click that and Xcode should a display a long list of all the steps it performed as part of archiving.
- Find the line, or lines, that failed, select them all and right click. This should reveal a “Copy Transcripts…” option.
- Copy the transcripts and send them over to us so that we can have a look at what failed.
Did this resolve your issue?
No, I still need help Yes, this helpedPlease review the list of common errors and known issues below. If none of them match the exceptions/logs you’re seeing during integration, let us know and we will provide options for you to reach out to our support team.
(Review w/Eva - Barry didn't add options here!)
Did this resolve your issue?
No, I still need helpPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
hs_setContentInsetAdjustmentBehaviorToAutomaticWithParent crash
Review our developer documentation on troubleshooting the hs_setContentInsetAdjustmentBehaviorToAutomaticWithParent crash.
CFBundleShortVersionString crash
Review our developer documentation on
troubleshooting the CFBundleShortVersionString crash.
initialization-crash
Review our developer documentation on
troubleshooting the initialization crash.
App crashes when selecting a screenshot
The Helpshift SDK uses UIImagePickerController, which supports portrait mode only. This means if the interface orientations supported by your application do not include portrait mask, then while choosing a screenshot the application will crash.
So please make sure that your application's list of supported interface orientations does not exclude portrait out. You can learn more about how to avoid this crash in our developer documentation on the
Orientation fix.
Did this resolve your issue?
No, I still need helpPlease review the solutions below. If they don’t work, let us know and we will provide options for you to reach out to our support team.
CFBundleShortVersionString
initialization-crash
Review our developer documentation on troubleshooting the initialization crash.
helpshift-not-init
Review our developer documentation on troubleshooting the helpshift-not-init error.
png-crush-compilation-problem
Review our developer documentation on troubleshooting the crush compilation problem.
app-crashes-on-screenshot-button
Review our developer documentation on troubleshooting the app crashing on screenshot button click.
ui-bundle-not-automatically-added
Review our developer documentation on troubleshooting the ui-bundle not being automatically added.
Did this resolve your issue?
No, I still need help
Enter email address (separate multiple addresses with a comma, no spaces) If the email address separator is other than comma {,} - ticket submission will FAIL.
Eg: user1@domain.com,user2@domain.com
(note: if possible, please attach a sample/debug app or project for our developers to analyze)
ThanksThis field is for validation purposes and should be left unchanged.