/intercom-ios

:iphone: Intercom for iOS, for integrating Intercom into your iOS application.

Primary LanguageObjective-COtherNOASSERTION

Intercom

CocoaPods Languages CocoaPods carthage compatible Apache License CocoaPods

Installation

Intercom for iOS supports iOS 8, iOS 9 and iOS 10.

CocoaPods

Add the Intercom pod into your Podfile and run pod install.

target :YourTargetName do
  pod 'Intercom'
end

Carthage

  1. Add github "intercom/intercom-ios" to your Cartfile.
  2. Run carthage update.
  3. Go to your Xcode project's "General" settings. Drag Intercom.framework from Carthage/Build/iOS to the "Embedded Binaries" section. Make sure “Copy items if needed” is selected and click Finish.

Manual Installation

  1. Download Intercom for iOS and extract the zip.

  2. Go to your Xcode project's "General" settings. Drag Intercom.framework to the "Embedded Binaries" section. Make sure "Copy items if needed" is selected and click Finish.

  3. Create a new "Run Script Phase" in your app’s target’s "Build Phases" and paste the following snippet in the script text field:

     bash "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/Intercom.framework/strip-frameworks.sh"
    

This step is required to work around an App Store submission bug when archiving universal binaries.

Update Info.plist

When installing Intercom, you'll need to make sure that you have a NSPhotoLibraryUsageDescription entry in your Info.plist.

This is required by Apple for all apps that access the photo library. It is necessary when installing Intercom due to the image upload functionality. Users will be prompted for the photo library permission only when they tap the image upload button.

Example app

There is an example app provided here for both Objective-C and Swift.

Setup and Configuration

Cordova/Phonegap Support

Looking for Cordova/Phonegap support? We have a Cordova Plugin for Intercom 🎉

Upgrading to v3.0

Upgrading to the latest version of the iOS SDK is easy! 😉 Checkout out our upgrade guide for more info.

What about events, push notifications, company and user data?

Intercom for iOS has support for all these things. For full details please read our documentation.

Xcode Documentation

This documentation provides integrated help in Xcode for all public APIs in Intercom for iOS. Download the docset from the latest release and Copy the content into ~/Library/Developer/Shared/Documentation/DocSets.

Migrating from legacy version of the SDK

To upgrade from SDK versions older then version 2.2.4 there are some method changes that you may want to be aware of. See installation instructions at the top of this page for more information on how to install the new version of the SDK.

iOS Method Name Changes
Old NameTypeNew Name
From SDK version 2.0.x
beginSessionForUserWithUserIdName change. Dropped block parameter.registerUserWithUserId
beginSessionForUserWithEmailName change. Dropped block parameter.registerUserWithEmail
beginSessionForAnonymousUserWithCompletionName change. Dropped block parameter.registerUnidentifiedUser
updateUserWithAttributesDropped block parameter.n/a
logEventWithNameDropped block parameter.n/a
From SDK version 1.x.x
beginSessionForUserWithUserIdName change. Dropped block parameter.registerUserWithUserId
beginSessionForUserWithEmailName change. Dropped block parameter.registerUserWithEmail
updateAttributesName change. Dropped block parameter.updateUserWithAttributes