- Corrected display of certain characters (e.g. "&") in Surveys
- Fixed several keyboard navigation issues in Surveys
- Fixed several cosmetic issues in Surveys
- Restored ability for an app to override Prompt/Love Dialog fonts
- Adjusted default font weight of Prompt and Love Dialog title label to match system alert
- Added support for Alchemer Workflow initiation from the SDK
- Fix an issue where the SDK could fail to resume after the device is unlocked
- Improve button layout in Prompts with long button labels
- Mitigate possibility of a crash when uploading a photo or video to an Alchemer Survey
- Ensure links in Alchemer Surveys shown on mobile are opened in the system browser
- Allow Alchemer Surveys to follow device orientation
- Improve accessibility with Prompts and Surveys containing rich content images and text
- The privacy manifest is now included in the resource bundle for CocoaPods integrations
- Fixed an issue where button labels could appear blank when increased contrast was enabled
- Advanced Customer Research support to show Alchemer long-form surveys through prompts
- Added rich text support through dashboard for Prompts and Surveys
- Fixed a concurrency issue that could lead to a crash when an HTTP request is retried
- Fixed an issue where the background of a Prompt or Love Dialog remained responsive to taps in Flutter
- Restored the ability to set a Prompt or Love Dialog header image via UIAppearance
- Added image support through dashboard for Prompts (previously called Notes)
- Fixed some layout issues in paged Surveys
- Privacy manifest is now included in Package.swift
- Added a Privacy Manifest to declare information on data collected by the SDK
- Incremented the deployment target to iOS 13.0
- Message Center now checks if it is already visible when opening in response to a push notification.
- The close confirmation alert is now shown if an "Other" choice has been selected in Surveys.
- Fixed a layout issue that sometimes appeared in Message Center.
- The compose field in Message Center now clears after a message is sent, even when an autocorrect suggestion is accepted.
- Enhancements and fixes to Message Center focused on accessibility and keyboard navigation
- Log category is now "Apptentive" rather than "PointsOfInterest"
- Logs now show without any redaction, even when not using a debugger
- Context messages in Message Center now have clickable URLs, emails, and phone numbers
- Fixed an issue that broke VoiceOver navigation in surveys when not using a full-screen modal presentation style
- Fixed an issue that could prevent engaging the (internal) launch event in SceneDelegate apps written in Objective-C
- Added a new
apptentiveTint
property to theUIColor
extension to set the default accent color for Apptentive interaction UI
- Fixed an issue where the (internal) exit event was sent twice
- Implemented Customer Authentication features from the legacy SDK in the new SDK (See iOS Integration Reference - Apptentive Customer Learning Center )
- Added async versions of Apptentive methods with a completion handler argument
- Added a canShowMessageCenter() method
- Added an error when a event with an empty name is engaged
- Added the ability to work with multiple app key/signature pairs without deleting and reinstalling
- Fixed button placement issues in Notes and the Love Dialog
- Improved handling of long “Terms and Conditions” text in Surveys
- Fixed a potential name collision between the ApptentiveKit framework and its resource bundle in CocoaPods, Flutter, React Native, and Cordova integrations
- Love Dialog and Notes interaction UI can now be customized
- The lower limit on selection count for checkbox questions is now enforced even when a response is not required
- The minimum and maximum labels for range and NPS questions will now hyphenate words to fit the available space with large Dynamic Type sizes
- Fixed an issue where the completion handler passed to
register(with:completion:)
could be called twice, resulting in an error in React Native apps.
- Add support for Malay, Thai, and Indonesian localizations
- A dark mode update across interactions for our out of box theme
- Fixed an issue causing some react native builds to fail
- Added finer-grained customization options for Message Center
- Fixed the data migration from version 5 or earlier of the SDK to version 6.0.5 or 6.0.6
Note: v6.0.5 contains a bug that only affects those using CocoaPods or a framework that uses CocoaPods internally (React Native, Flutter, and mParticle). There is no need for those not affected to update from v6.0.5 to v6.0.6.
- Added a missing file to the resource bundle for CocoaPods integrations that was causing an assertion failure.
- Removed the status label from the Edit Profile view in Message Center
- Fixed an issue where encountering an assertion failure in a release build causes a crash
- Fixed an issue where calling register before protected data is available could cause an error
- Fixed an issue where the SDK version could be reported incorrectly
- Fixed a spurious error message on first app launch
- Improved VoiceOver navigation in Surveys
- Fixed some issues with large Dynamic Type sizes in Surveys
- Improved contrast ratios in Surveys and Message Center
- Enabled URLs, email addresses, dates, and physical addresses to be opened in Message Center
- Range questions in surveys now use localized numerals
- Added
apptentiveAssertionHandler
to allow changing behavior in case of a critical error (e.g. during testing)
- Fixed an issue with selection and deselection of choice questions in Surveys
- Fixed an issue where the Message Center configuration could fail to decode due to missing required fields
- Added additional customization properties:
CGFloat.apptentiveButtonBorderWidth
UIColor.apptentiveSubmitButtonBorder
- Renamed the
UIColor
andUIFont
extension properties fromapptentiveSubmitLabel
toapptentiveSubmitStatusLabel
(the old name is still present but deprecated) - Marked the
key
andsignature
properties onApptentive.AppCredentials
aspublic
(to facilitate testing code that creates a credentials object) - Added
@objc
annotations to interaction UI customization parameters - Added appropriate guards to allow the SDK to compile for Mac Catalyst targets*
*We recommend that your code avoid any calls to ApptentiveKit methods when running in a Mac Catalyst app, since some interactions are not currently usable in a desktop environment.
- Fixed a layout issue in Message Center
- Corrected Objective-C method signatures for better backward compatibility with previous iOS SDK versions
- Fixed an issue with using non-integer parameters in targeting criteria
- Fixed a bug where a branding setting could cause a Message Center interaction to fail to decode
- Adjusted the text size in range controls to allow them to display properly on smaller devices
- Fixed an issue where setting a value for
Apptentive.interactionPresenter
did not set its (internal)interactionDelegate
property
- Increased the contrast between the numbers and background for NPS/range inputs in Surveys
- Increased the available space the “Thank You” message in Surveys
- Increased the reliability of parsing interaction configurations
- Fixed the layout of extremely long messages/conversations in Message Center
- Automated messages available in Message Center
- New method available to dismiss all interactions
- Allow custom data to be passed with events
- Send a notification (
apptentiveEventEngaged
) when an event is engaged - Increased the contrast for survey buttons
- Added method to determine whether an event may trigger an interaction
- Fixed an issue with localized strings when integrating with Swift Package Manager
- Fixed an issue where API requests were sent on every keystroke
- Fixed an issue with CocoaPods integrations on iOS 11
- Fixed a potential crash when setting custom person or device data
- Fixed a crash when closing a partially-completed survey on iPad
- Fixed a potential crash when using a swipe gesture to dismiss a partially-completed survey
- Fixed a layout issue in Message Center when profile view is visible
- Other miscellaneous user experience improvements
Initial release of the ApptentiveKit SDK for iOS and iPadOS
- Add Message Center
- The
register(credentials:completion:)
method has been renamed toregister(with:completion:)
- The
register(with:completion:)
method's completion handler parameter has changed from aResult<Bool, Error>
to aResult<Void, Error>
- Push notification support is not yet implemented
- Custom data passed via the
engage(event:from:completion:)
method is not yet implemented - The
dismissAllInteractions()
method is not yet implemented - The
logIn(token:completion:)
andlogOut()
methods are not yet implemented
You can find versions 5 and earlier in our legacy SDK repository.
For a limited time, you can find beta relases of version 6 in our beta repository.