Getting Started

Getting started with integrating Helpshift in your app.

Requirements

  • Xcode 12.0 and above.
  • Cocoapods v1.10.0
  • Supported iOS versions:
    • iOS 16, 15, 14, 13, 12, 11, 10

Automated Integration using Cocoapods

To start using SDK X v10.2.1 in your project, add the following line to your Podfile

pod 'HelpshiftX', '10.2.1'

And run pod install or pod update to refresh your cocoapods dependencies.

You can now move on to Initializing Helpshift in your App.

Automated Integration using Swift Package Manager

To start using Helpshift v10.2.1 in your SPM project, add the following package URL to your project's "Package Dependencies" section

https://github.com/helpshift/HelpshiftX

For version rules, we recommend using either "Exact" or "Up to Next Minor" and manually updating the version number when a major version of Helpshift SDK X is released.

You can now move on to Initializing Helpshift in your App.

Manual Integration

Get the latest SDK zip

Download the latest for the Helpshift iOS SDK.

Download SDK 10.2.1

The zip file contains

HelpshiftX.xcframework
The HelpshiftX framework
NOTICE.txt/
License information about third-party code.

Add the latest stable SDK release to your project

  • Unzip the SDK and drag drop HelpshiftX.xcframework into your Xcode project
  • In the General section of your app target, verify that the HelpshiftX.xcframework is present in the Framework, Libraries, and Embedded Content section with the option Embed and Sign selected from the Embed options dropdown.    show me
  • After successful integration, Build Phases should look like this:    show me

Add NSPhotoLibraryUsageDescription key in your application info plist file

If your app does not use this permission, you would need to add this key as well as description for the same. Not adding this key-description pair might cause app rejection.

NSPhotoLibraryUsageDescription Description text: "We need to access photos library to allow users manually pick images meant to be sent as attachment for help and support reasons."

The following instructions apply to versions below SDK X 10.2.0.

Along with NSPhotoLibraryUsageDescription (as mentioned above), also add NSCameraUsageDescription and NSMicrophoneUsageDescription key in your application info plist file

If your app does not use this permission, you would need to add this key as well as description for the same. Not adding this key-description pair might cause app rejection.

NSCameraUsageDescription Description text: "We need to access the camera to allow users to click images meant to be sent as an attachment for help and support reasons."

NSMicrophoneUsageDescription Description text: "We need to access the microphone to allow users to record and send videos meant to be sent as an attachment for help and support reasons."

Note that this is just a suggested description. If you need localisations for the same, please Contact Us

End-users can attach files such as pdf, video, etc in their issues. For iOS 10 and below, to access files in the “Files” app of iOS, developers will need to add iCloud capability with iCloud Documents services enabled. For more info please refer the Prerequisites section here.    show me

Start using Helpshift

Helpshift is now integrated in your app and ready to collect meaningful data about your users.

Initializing Helpshift in your app

  1. First, create an app on the Helpshift Dashboard show me

  2. Create an app with iOS as a selected Platform show me

Helpshift uniquely identifies each registered App using a combination of 2 tokens:

Platform ID
This is your platform Id.
Domain Name
This is your Helpshift domain name e.g. happyapps.helpshift.com
Config
An NSDictionary representing the configuration parameters for the installation.

You can find these by navigating to Settings>SDK (for Developers) in your agent dashboard. Select your App and check iOS as a platform from the dropdowns and copy the 2 tokens to be passed when initializing Helpshift. show me

@import HelpshiftX;
...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    ...
    NSDictionary *config = @{} // Your config                 
    [Helpshift installWithPlatformId:@"YOUR_PLATFORM_ID"
                              domain:@"YOUR_DOMAIN"
                              config:config];
    ...
    return YES;
}

import HelpshiftX
...
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        ...
        let config = [String:String]() // Your config
        Helpshift.install(withPlatformId: "YOUR_PLATFORM_ID", domain: "YOUR_DOMAIN", config: config)
        ...
        return true
    }
...

Placing the install call

You should not place the install call anywhere other than application:didFinishLaunchingWithOptions: Placing it elsewhere might cause unexpected runtime problems. Helpshift install call will throw InstallException in case the validation of the SDK keys fail.

Next up

Helpshift APIs

Discover ways to do customer support via Helpshift.

Design

Theming and Skinning your SDK to look like your App.

Going International

Localizing & Internationalizing your in-app Support.

Notifications

Configure Push and In-app notifications.

Tracking

Track events and user actions. Attach custom metadata to every conversation.