Looking for older SDK 3.X docs? Click here →

Upgrading from 4.x to 5.x

The Helpshift SDK v5.x is a major update that lays the foundation for better API segregation. We have also restructured our APIs for ease of use. If you have questions or feedback, please contact us at support@helpshift.com

Prerequisites

Before using the new SDK with your app, you must download and install the latest Xcode 7.

The "libHelpshift-xcode6.a" file included in the zip is a Xcode 6 compatible version of the Helpshift library. This file is specially created to work with Xcode 6 only and should not be used with Xcode 7.

Upgrading

  1. Download the latest Helpshift SDK here.
  2. Unzip the SDK and drag-drop its contents into your Xcode project. Make sure you remove the old SDK files before putting in the new ones.
  3. You need to include both HelpshiftCore.h and HelpshiftSupport.h in your App's Delegate.
  4. Helpshift needs to be first initialised with the Support Provider before your install call. [HelpshiftCore initializeWithProvider:[HelpshiftSupport sharedInstance]];
  5. The install call is now made on HelpshiftCore: [HelpshiftCore installForApiKey:@"YOUR_API_KEY" domainName:@"YOUR_HELPSHIFT_DOMAIN" appID:@"YOUR_APP_ID"];
  6. Existing Helpshift APIs like showConversation:, showFAQs:, etc. are now made on HelpshiftSupport instead of Helpshift. Also, these APIs are not class methods instead of instance methods. So instead of making a showConversation call like this: [[Helpshift sharedInstance] showConversation:self withOptions:nil] you can now just do [HelpshiftSupport showConversation:self withOptions:nil]

What changed

  • Helpshift's APIs are now divided between HelpshiftCore and HelpshiftSupport. All APIs related to Helpshift's support product like (issue reporting, FAQs etc.) are now under HelpshiftSupport. Generic APIs that can be utilised for future Helpshift services are under HelpshiftCore. These include things like registering for notifications, login calls, etc.

  • The asset files used by Helpshift are now provided as a Xcode Asset Catalog. This will take advantage of the app slicing feature and make your final .app file leaner.

  • Helpshift SDK zip now includes a Xcode 6 compatible binary. This binary omits the iOS 9 specific features like Spotlight search.

  • You will need to include two new frameworks: CoreSpotlight and MobileCoreServices.

List of API changes

Deprecated API New API
[Helpshift installForApiKey:domainName:appID:(withOptions]] [HelpshiftCore installForApiKey:domainName:appID:(withOptions]]
[[Helpshift sharedInstance] showConversation:withOptions:] [HelpshiftSupport showConversation:withOptions:]
[[Helpshift sharedInstance] showFAQs:withOptions:] [HelpshiftSupport showFAQs:withOptions:]
[[Helpshift sharedInstance] showFAQSection:withController:withOptions:] [HelpshiftSupport showFAQSection:withController:withOptions:]
[[Helpshift sharedInstance] showSingleFAQ:withController:withOptions:] [HelpshiftSupport showSingleFAQ:withController:withOptions:]
[[Helpshift sharedInstance] registerDeviceToken:] [HelpshiftCore registerDeviceToken:]
[[HelpshiftsharedInstance] handleRemoteNotification:withController:] [HelpshiftCore handleRemoteNotification:withController:]
[[Helpshift sharedInstance] setDelegate:] [[HelpshiftSupport sharedInstance] setDelegate:]
[Helpshift setName:andEmail:] [HelpshiftCore setName:andEmail:]
[Helpshift setUserIdentifier:] [HelpshiftSupport setUserIdentifier:]
[Helpshift loginWithIdentifier:withName:andEmail:] [HelpshiftCore loginWithIdentifier:withName:andEmail:]
[Helpshift logout] [HelpshiftCore logout];
[Helpshift setMetadataBlock:] [HelpshiftSupport setMetadataBlock:]