Release notes and known issues

This is the developer guide for the Support SDK v1 for iOS. For Support SDK v2, see Support SDK v2 iOS.

On this page

Read Follow for updates to find out how to be notified of new releases.

Release Notes

Version Status Notes Current GA patch
  • Fixed iPhone X compatibility issues.
  • Dropped compatibility for iOS 8 GA patch
  • Fixed a bug where the SDK was making unnecessary authentication requests to the server.
  • Included device identifiers for new Apple products. Current GA
  • Removed the Rate My App feature. See here for more details.
  • Deprecated COPPA support. See here for more details.
  • Fixed known issues with iOS 11.
  • Fixed issue with ZDKHelpCenterConversationsUIDelegate not being respected by the Help Center article view UI when entered via Help Center search. Previous GA Patch
  • Fixed issue with the ZDKHelpCenterOverviewContentModel class being a member of the incorrect target.
  • Disabled end-users from being able to enter whitespace into the email text field in the ZDKCreateRequestViewController.
  • Fixed bug where some network requests were crashing.
  • Fixed issue where ZDKHelpCenterConversationUIDelegate wasn't being applied correctly to the Help Center article view when an end-user entered via the Help Center Search feature. Previous GA
  • Added support for the Pathfinder Application in the SDK, showing agents previous Help Center searches and viewed articles by an end-user.
  • Added a configurable navigation bar button to the Help Center article view to open the "Ticket Creation" view.
  • Added UI for up-voting and down-voting Help Center articles.
  • Added new provider method to get unseen updates on requests.
  • priorityType, ticketType, statusType and multiSelectType ticket fields types are supported in the SDK.
  • Deprecated the "Rate My App" feature of the SDK. Consider migrating to our open source alternative.
  • Help Center in the Support SDK is now optimised to allow caching.
  • Fixed issue with SDK reporting incorrect battery level remaining in submitted tickets.
  • Removed deprecated externalId property from the ZDKAnonymousIdentity class. Previous GA Patch
  • Fixed build issue affecting integrations via Fabric. Previous GA Patch
  • Prevent duplicate network calls for push notification registration. Previous GA Patch
  • Added -[ZDKTicketForm displayName] and -[ZDKTicketField titleInPortal] for getting the end-user display name and title in portal Unsupported
  • Added an API provider to fetch the contents of ticket forms. Unsupported
  • Support for Fabric and the Answers kit
  • Fixed issue with the "Rate My App" dialog box, clearing an application's view hierarchy.
  • Made Help Center Overview View Model classes public.
  • Fixed VoiceOver description for Description text field in the Create Request View.
  • Deprecated external ID for Anonymous identification. Unsupported
  • Fixed issue with Help Center URLs not being encoded.
  • Layout issue in Help Center Overview UI fixed. Unsupported
  • Patch for issue where some article attachments would not load. Unsupported
  • Patch for issue with Help Center on iOS 10. Unsupported
  • Fixed issue with translation in Help Center UI. Unsupported
  • Fixed a crash associated with an Apple bug in UITableView when using the deprecated Help Center UI.
  • Fixed an issue where the first network request in Help Center would fail.
  • We renamed a private method as it was causing some apps to be rejected from the app store.
  • The ordering of Help Center articles has been updated to more closely match the web experience. Find out more about this known issue here.
  • Updated the SDK to correctly recognize iPhone 7 devices in metadata when creating a ticket. Unsupported
  • Known issues with iOS 10 have been patched.
  • Fix an issue which could result in section titles being partially obscured in the new Help Center UI. Unsupported
  • New Help Center Component
    • The Help Center UI has changed. In this version you can still use the old Help Center hierarchical design, but this will be removed in a future release. The new Help Center provides a one-screen overview of categories, sections, and articles in the Help Center.
    • The new Help Center lets you open the Help Center with a selection of categories, a selection of sections, or a selection of articles filtered by article labels. The search is scoped to these particular sections or categories.
  • Other Changes
    • The ZDKRequestListViewController refreshes its list of tickets after dismissing the ZDKCreateRequestViewController.
    • All deprecated appearance selectors have been removed. Integrators must use the ZDKTheme component to style the SDK.
    • Placeholders in the ZDKCreateRequestViewController and ZDKCommentsViewController now allow multiline text.
    • Property type added to ZDKRequest model.

Known issues

Attachments disabled in landscape-only apps

A bug in the iOS image picker results in a hard crash when used with apps that only work in landscape. The ability to add attachments using the Support SDK's default UI has been disabled for those apps. Update: This has been fixed by Apple in iOS 11. This limitation now only applies to the SDK on iOS 10 and below.

Passing Swift optionals

In Swift 3 passing an optional to an Objective C function that takes Any causes the optional to be passed as SwiftValue. As the SDK does not know how to handle values wrapped in this type, they must be explicitly unwrapped by you.

This applies to all types that are passed into SDK functions without specific type information, i.e. functions expecting Any and collections of Any.


Specifying custom fields

let customField = ZDKCustomField(fieldId: 12345678, andValue: "value")
ZDKConfig.instance().customTicketFields = [customField!]

Notice customField is force unwrapped on the second line.

App transport security

If you are hosting Help Center content externally you may need to whitelist the URLs in your apps info.plist for it to display on iOS9. This is because of App Transport Security.

Requestor can have no email address when conversations is disabled and external IDs are specified

If the conversations option in your app's settings is disabled, you may face an issue where ticket requestors have no email address if they have been identified by their external ID. This will mean that you have no way to respond to your customer because conversations is disabled. If you have this configuration, you must ensure that your users with external IDs also have valid email addresses when you set them up.

Apple API clash

After Apple's release of iOS 10, a clash with their API in the Support SDK may result in issues when submitting to the App Store on all versions previous to

Help Center appearance issues

ZDKSupportArticleTableViewCell mistakingly takes some appearance values from ZDKSupportTableViewCell. If you run into problems trying to style ZDKSupportArticleTableViewCell try setting the following properties on ZDKSuportTableViewCell:

[[ZDKSupportTableViewCell appearance] setBackgroundColor:[UIColor blackColor]];
[[ZDKSupportTableViewCell appearance] setTitleLabelBackground:[UIColor blackColor]];
[[ZDKSupportTableViewCell appearance] setTitleLabelColor:[UIColor blackColor]];
[[ZDKSupportTableViewCell appearance] setTitleLabelFont:[UIFont systemFontOfSize:18.0f]];
Moving from anonymous authentication to JWT authentication

If your app uses anonymous authentication and later you change the authentication method to JWT, users of the app may experience a crash after the update. Reinstalling the app resolves the issue.

Rich text is rendered as plain text

The Support SDK does not currently support markdown/rich text. If your messages contain hyperlinks they will not be tappable.

Maximum number of Help Center articles in HelpCenterOverviewController

A maximum of 250 Help Center articles can be fetched and displayed in the HelpCenterOverviewController. This limit may result in missing articles, sections, and categories if your Help Center contains more than 250 articles. Until this issue is fixed, the best way to guarantee consistent, reproducible results is to ensure that no more than 250 articles are returned. To do this, you can use the ZDKHelpCenterOverviewContentModel to filter by labels, categories, or sections.

Version specific issues
  • The search field in Help Center is always the default style on iOS 11. This can make text hard to see with dark colored navigation bars. It is because of an issue in iOS A workaround can be found here.
  • ZDKHelpCenterConversationsUIDelegate is not applied to the ZDKHelpCenterArticleViewController when entered via the Help Center Search feature.
  • A deprecation notice inadvertently causes a build warning in integrator's projects due to a reference in our public headers.
  • Ticket fields of type Priority are not recognized and will be returned as unknown.
  • Ticket fields of type Priority are not recognized and will be returned as unknown.
  • Help Center URLs are not being encoded.
  • Section headers in Help Center overview do not display in iOS 10
  • This version contains an untranslated string in the Help Center UI.

  • Section headers in Help Center overview do not display in iOS 10
  • This version contains an untranslated string in the Help Center UI.

  • Section headers in Help Center overview do not display in iOS 10

  • Crash in Help Center UI due to Apple bug in UITableView.

  • Help Center articles do not appear in the same order as on the web. In v1.7.2.1 we forced the ordering to be based on article creation date (descending) to bring it closer to the web experience for most scenarios. If you have manually ordered articles, or chosen a different sort order, articles may not order correctly in the Support SDK. This is a limitation of the API that we use, and we are working on a fix.
  • This version contains an untranslated string in the Help Center UI.

  • Help Center articles do not appear in the same order as on the web. In v1.7.2.1 we forced the ordering to be based on article creation date (descending) to bring it closer to the web experience for most scenarios. If you have manually ordered articles, or chosen a different sort order, articles may not order correctly in the Support SDK. This is a limitation of the API that we use, and we are working on a fix.

Migrating to

  • If you previously used [ZDKConfig instance].coppaEnabled = YES, consider moving away from this method and setting an empty anonymous identity instead, using [ZDKConfig instance].userIdentity = ZDKAnonymous(), since COPPA support has been deprecated.
  • If you previously used the Rate My App feature, this is no longer available in the SDK. Consider using our open source alternative instead.

Migrating to

  • externalId property on the ZDKAnonymousIdentity has been removed. If you require more advanced user management than AnonymousIdentity allows, consider migrating to JwtIdentity instead.

  • Deprecated the "Rate My App" feature of the SDK. Consider migrating to our open source alternative.

  • In the ZDKHelpCenterProvider, the submitRecordArticleView: method has been changed to take a ZDKHelpCenterArticle object, instead of a NSString of a Help Center article ID.

Migrating to

  • If using externalId with AnonymousIdentity, consider switching to JWT authentication instead, as externalId is now deprecated.

Migrating to

  • initializeWithAppId:zendeskUrl:ClientId:onSuccess:onError: and initializeWithAppId:zendeskUrl:andClientId: have been replaced with initializeWithAppId:zendeskUrl:clientId:. The callbacks are no longer required because we load resources on-demand now.
  • showHelpCenterWithNavController: has been replaced with pushHelpCenterWithNavigationController:.
  • presentHelpCenterWithNavController: has been replaced with presentHelpCenterWithViewController:.
  • showHelpCenterWithNavController:layoutGuide: has been replaced with pushHelpCenterWithNavigationController:layoutGuide:.
  • showHelpCenterWithNavController:layoutGuide:filterByArticleLabels has been replaced by pushHelpCenterWithNavigationController:filterByArticleLabels:.
  • presentHelpCenterWithNavController:filterByArticleLabels: has been replaced by presentHelpCenterWithViewController:filterByArticleLabels:.
  • showHelpCenterWithNavController:filterByArticleLabels:layoutGuide has been replaced by pushHelpCenterWithNavController:filterByArticleLabels:layoutGuide:.
  • presentHelpCenterWithNavController:filterByCategoryId:categoryName:layoutGuide: has been replaced by presentHelpCenterWithViewController:filterByCategoryId:categoryName:layoutGuide:.
  • presentHelpCenterWithNavController:filterBySectionId:sectionName:layoutGuide: has been replaced by presentHelpCenterWithViewController:filterBySectionId:sectionName:layoutGuide:.
  • showHelpCenterWithNavController:filterByCategoryId:categoryName:layoutGuide: has been replaced by pushHelpCenterWithNavController:filterBySectionId:sectionName:layoutGuide:.
  • showHelpCenterWithNavController:filterBySectionId:sectionName:layoutGuide: has been replaced by pushHelpCenterWithNavController:filterBySectionId:sectionName:layoutGuide:.
  • showRequestCreationWithNavController:withSuccess:andError: has been replaced by presentRequestCreationWithViewController:.
  • showRequestCreationWithNavController has been replaced by presentRequestCreationWithViewController:.
  • showRequestListWithNavController:layoutGuide: has been replaced by pushRequestListWithNavigationController.
  • presentRequestListWithNavController has been replaced by presentRequestListWithViewController.
  • showRequestListWithNavController has been replaced by pushRequestListWithNavigationController.
  • categoryId has been replaced with categoryIds.
  • sectionId has been replaced with sectionIds.
  • initWithSuccess:andError has been replaced with init. If you require a callback, then use ZDKCreateRequestViewControllerDelegate.
  • deviceInfoString has been removed.
  • submitRecordArticleView:articleId:locale:withCallback: has been replaced by submitRecordArticleView:withCallback:.
  • settingsStorage has been removed.
ZDKSettingsStorage class
  • The ZDKSettingsStorage class is now private.
ZDKTheme and styling

The ZDKTheme class has replaced the previous way that the SDK was styled. Here are the properties that have been changed to ZDKTheme:

  • articleLoadSpinner in ZDKArticleView.h
  • backgroundColor, and closeButtonBackgroundColor in ZDKAttachmentView.h
  • topBorderColor, textEntryFont, textEntryColor, textEntryPlaceHolderColor, textEntryBackgroundColor, textEntryBorderColor, sendButtonFont, sendButtonColor, areaBackgroundColor, and attachmentButtonBackgroundColor in ZDKCommentInputView.h
  • viewBackGroundColor in ZDKCommentsTableViewController.h
  • placeholderTextColor, textEntryColor, textEntryBackgroundColor, viewBackgroundColor, textEntryFont, emailFieldFont, attachmentButtonImage, attachmentButtonBorderColor, attachmentButtonCornerRadius, attachmentButtonBorderWidth, attachmentButtonBackground, attachmentActionSheetStyle, spinner, and automaticallyHideNavBarOnLandscape in ZDKCoreCreateRequestView.h
  • avatarSize, agentNameFont, agentNameColor, bodyFont, bodyColor, timestampFont, timestampColor, and cellBackground in ZDKAgentCommentTableCell,
  • bodyFont, bodyColor, timestampFont, timestampColor, and cellBackground in ZDKEndUserCommentTableCell
  • leftInset, spinner, and cellBackground in ZDKCommentsListLoadingTableCell
  • cellSeparatorColor, and tableBackgroundColor in ZDKRequestListTable.h
  • descriptionFont, updatedAtFont, descriptionColor, updatedAtColor, verticalMargin, descriptionTimestampMargin, leftInset, cellBackgroundColor in ZDKRequestListTableCell
  • messageFont, and messageColor in ZDRequestListEmptyTableCell
  • spinner in ZDRequestListLoadingTableCell
  • headerBackgroundColor, headerColor, separatorLineColor, buttonBackgroundColor, buttonSelectedBackgroundColor, buttonColor, and buttonFont in ZDKRMADialogView.h
  • buttonColor, buttonSelectedColor, buttonBackgroundColor, separatorLineColor, headerFont, subheaderFont, textEntryFont, buttonFont, spinner, viewBackgroundColor, headerColor, subHeaderColor, textEntryColor, textEntryBackgroundColor, and placeHolderColor in ZDKRMAFeedbackView.h
  • viewBackgroundColor, articleParentsLabelFont, articleParentsLabelColor, articleParnetsLabelBackground, titleLabelFont, titleLabelColor, and titleLabelBackground in ZDKSupportTableViewCell.h
  • viewBackgroundColor, fileSizeLabelFont, fileSizeLabelColor, fileSizeLabelBackground, titleLabelFont, titleLabelColor, and titleLabelBackground in ZDKHelpCenterAttachmentCell.h
  • viewBackgroundColor, titleLabelFont, titleLabelColor, titleLabelBackground, and selectionColor in ZDKSupportTableViewCell.h
  • spinner, viewBackgroundColor, tableBackgroundColor, searchBarStyle, separatorColor, noResultsFoundLabelFont, noResultsFoundLabelColor, noResultsFoundLabelBackground, noResultsContactButtonBackground, noResultsContactButtonBorderColor, noResultsContactButtonBorderWidth, noResultsContactButtonCornerRadius, noResultsContactButtonFont, noResultsContactButtonEdgeInsets, noResultsContactButtonTitleColorNormal, noResultsContactButtonTitleColorHighlighted, noResultsContactButtonTitleColorDisabled, and automaticallyHideNavBarOnLandscape in ZDKSupportView.h