Skip to content

Commit f812e4e

Browse files
committed
Release 3.0.17
- Removed a reference to the UserNotifications Framework in the podspec to ensure iOS 8 & 9 compatibility
1 parent 7b3f4e1 commit f812e4e

File tree

7 files changed

+65
-61
lines changed

7 files changed

+65
-61
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Intercom
22

3+
## 3.0.17 (2016-10-19)
4+
5+
* Removed a reference to the UserNotifications Framework in the podspec to ensure iOS 8 & 9 compatibility
6+
37
## 3.0.16 (2016-10-18)
48

59
* Reinstated push notification improvements for iOS 10 from 3.0.14.

Intercom.framework.dSYM/Contents/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<key>CFBundleSignature</key>
1414
<string>????</string>
1515
<key>CFBundleShortVersionString</key>
16-
<string>3.0.16</string>
16+
<string>3.0.17</string>
1717
<key>CFBundleVersion</key>
1818
<string>1</string>
1919
</dict>
0 Bytes
Binary file not shown.

Intercom.framework/Headers/Intercom.h

Lines changed: 58 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//
22
// Intercom.h
3-
// Intercom for iOS - Version 3.0.16
3+
// Intercom for iOS - Version 3.0.17
44
//
55
// Created by Intercom on 8/01/2015.
66
// Copyright (c) 2014 Intercom. All rights reserved.
@@ -10,7 +10,7 @@
1010
#import <UIKit/UIKit.h>
1111

1212
#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_8_0
13-
#error This version (3.0.16) of Intercom for iOS supports iOS 8.0 upwards.
13+
#error This version (3.0.17) of Intercom for iOS supports iOS 8.0 upwards.
1414
#endif
1515

1616
NS_ASSUME_NONNULL_BEGIN
@@ -25,57 +25,57 @@ typedef NS_ENUM(NSUInteger, ICMPreviewPosition){
2525
/**
2626
Intercom is your direct line of communication to every user, right inside your app. Intercom’s in-app messages
2727
are up to 10 times more effective than email too! Send the right messages, to the right users, at exactly the right time.
28-
28+
2929
## How do I track my users?
30-
30+
3131
In order to see your users in Intercom's user list, you must first register them via your iOS application. If you have a
3232
place in your application where you become aware of the user's identity such as a log in view controller, call one of the
3333
following depending on the information you have available for that user:
34-
34+
3535
If you have both a unique user identifier and an email for your users::
36-
36+
3737
[Intercom registerUserWithUserId:@"123456" email:@"[email protected]"];
38-
38+
3939
If you only have a unique identifier for your users:
40-
40+
4141
[Intercom registerUserWithUserId:@"123456"];
42-
42+
4343
Finally, if you only have an email address for your users:
44-
44+
4545
[Intercom registerUserWithEmail:@"[email protected]"];
46-
46+
4747
## Can I track unidentified users?
48-
48+
4949
Yes, absolutely. If you have an application that doesn't require users to log in, you can call:
50-
50+
5151
[Intercom registerUnidentifiedUser];
52-
52+
5353
If the user subsequently logs in or you learn additional information about them (e.g. get an email address),
5454
calling any of the other user registration methods will update that user's identity in Intercom and contain
5555
all user data tracked previously.
5656
5757
## How do push notifications work?
58-
58+
5959
Intercom for iOS enables your users to receive push notifications for new messages. Simply call:
60-
60+
6161
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
6262
[Intercom setDeviceToken:deviceToken];
6363
}
64-
64+
6565
in your `didRegisterForRemoteNotificationsWithDeviceToken:` method once you have registered your app for
6666
push notifications with the `UIApplicationDelegate`.
67-
67+
6868
When your app receives a push notification Intercom for iOS checks to see if it is an Intercom push notification
6969
and opens the message. You do not need to implement any additional code in order to launch the message window.
70-
70+
7171
To do this we [safely swizzle](http://blog.newrelic.com/2014/04/16/right-way-to-swizzle/) the public methods
7272
in `UIApplicationDelegate` that handle receiving push notifications. We do not use any private APIs to do this.
73-
73+
7474
## More information
75-
75+
7676
Full documentation is available [here](https://docs.intercom.io/install-on-your-product-or-site/quick-install/install-intercom-on-your-ios-app) and please contact
7777
us directly via Intercom for any support or questions you may have.
78-
78+
7979
*/
8080
@interface Intercom : NSObject
8181

@@ -85,7 +85,7 @@ typedef NS_ENUM(NSUInteger, ICMPreviewPosition){
8585
/*!
8686
Initialize Intercom with your iOS API key and App ID. This will allow your app to connect with Intercom.
8787
This is best done in the application delegate's didFinishLaunchingWithOptions: method.
88-
88+
8989
@param apiKey The iOS API key found on the API Key settings page.
9090
@param appId The App ID of your Intercom app.
9191
*/
@@ -99,7 +99,7 @@ typedef NS_ENUM(NSUInteger, ICMPreviewPosition){
9999
user can't impersonate another. In Secure Mode Intercom for iOS will sign all requests going to the Intercom servers
100100
with tokens. It requires your mobile application to have its own server which authenticates the app's users,
101101
and which can store a secret. More information on secure mode can be found [here](http://docs.intercom.io/Install-on-your-mobile-product/enabling-secure-mode-in-intercom-for-ios)
102-
102+
103103
@note This should be called before any user registration takes place.
104104
@param hmac A HMAC digest of data.
105105
@param data A piece of user data.
@@ -113,9 +113,9 @@ typedef NS_ENUM(NSUInteger, ICMPreviewPosition){
113113
If you call registerUnidentifiedUser, all activity will be tracked anonymously. If you choose to subsequently
114114
identify that user, all that anonymous activity will be merged into the identified user. This means that you
115115
will no longer see the anonymous user in Intercom, but rather the identified one.
116-
116+
117117
We recommend this is called from within the application delegate's didFinishLaunchingWithOptions: method.
118-
118+
119119
@note You must call one of the user registration methods in order to start communicating with Intercom.
120120
*/
121121
+ (void)registerUnidentifiedUser;
@@ -128,12 +128,12 @@ typedef NS_ENUM(NSUInteger, ICMPreviewPosition){
128128
address, or both. By supplying information like this Intercom provides richer user profiles for your users.
129129
This is a userId, supplied by you (e.g. from an existing web service for your product) to represent your
130130
user in Intercom, once set it cannot be changed.
131-
131+
132132
If you are putting Intercom for iOS into an app that has persisted an authentication token or equivalent
133133
so your users don't have to log in repeatedly (like most apps) then we advise putting the user registration
134134
call in the `didBecomeActive:` method in your application delegate. This won't have any negative impact if
135135
you also add it to your authentication success method elsewhere in your app.
136-
136+
137137
@param userId A unique identifier for your user.
138138
@param email Your user's email address.
139139
@note You must call one of the user registration methods in order to start communicating with Intercom.
@@ -142,15 +142,15 @@ typedef NS_ENUM(NSUInteger, ICMPreviewPosition){
142142

143143
/*!
144144
Register a user just with their userId.
145-
145+
146146
@param userId A unique identifier for your user.
147147
@note You must call one of the user registration methods in order to start communicating with Intercom.
148148
*/
149149
+ (void)registerUserWithUserId:(NSString *)userId;
150150

151151
/*!
152152
Register a user with just their email address.
153-
153+
154154
@param email Your user's email address.
155155
@note You must call one of the user registration methods in order to start communicating with Intercom.
156156
*/
@@ -160,7 +160,7 @@ typedef NS_ENUM(NSUInteger, ICMPreviewPosition){
160160
/*! @name Resetting user data */
161161
//=========================================================================================================
162162
/*!
163-
reset is used to reset all local caches and user data Intercom has created. Reset will also close any active
163+
reset is used to reset all local caches and user data Intercom has created. Reset will also close any active
164164
UI that is on screen. Use this at a time when you wish to log a user out of your app or change a user.
165165
Once called, Intercom for iOS will no longer communicate with Intercom until a further registration is made.
166166
*/
@@ -173,69 +173,69 @@ typedef NS_ENUM(NSUInteger, ICMPreviewPosition){
173173
You can send any data you like to Intercom. Typically our customers see a lot of value in sending data that
174174
relates to customer development, such as price plan, value of purchases, etc. Once these have been sent to
175175
Intercom you can then apply filters based on these attributes.
176-
176+
177177
A detailed list of the fields you can use to [update a user is available here](https://developers.intercom.io/reference/#user-model )
178-
178+
179179
Attributes such as the user email or name can be updated by calling
180-
180+
181181
[Intercom updateUserWithAttributes:@{
182182
@"email" : @"[email protected]",
183183
@"name" : @"Admin Name"
184184
}];
185-
185+
186186
Custom user attributes can be created and modified by passing a custom_attributes dictionary
187187
You do not have to create attributes in Intercom beforehand. If one hasn't been seen before, it will be
188188
created for you automatically.
189-
189+
190190
[Intercom updateUserWithAttributes:@{
191191
@"custom_attributes": @{
192192
@"paid_subscriber" : @YES,
193193
@"monthly_spend": @155.5,
194194
@"team_mates": @3
195195
}
196196
}];
197-
197+
198198
You can also set company data via this call by submitting an attribute dictionary like
199-
199+
200200
[Intercom updateUserWithAttributes:@{
201201
@"companies": @[ @{
202202
@"name" : @"My Company",
203203
@"id" : @"abcd1234"
204204
}
205205
]}];
206-
206+
207207
id is a required field for adding or modifying a company. A detailed description of the
208208
[company model is available here](https://developers.intercom.io/reference/#companies-and--users)
209-
209+
210210
@param attributes This is a dictionary containing key/value pairs for multiple attributes.
211211
@note Attributes may be either a `string`, `integer`, `double`, `unix timestamp` or `bool`.
212212
*/
213213
+ (void)updateUserWithAttributes:(NSDictionary *)attributes;
214214

215215
/*!
216216
Log an event with a given name.
217-
217+
218218
You can log events in Intercom based on user actions in your app. Events are different
219219
to custom user attributes in that events are information on what Users did and when they
220220
did it, whereas custom user attributes represent the User's current state as seen in their
221221
profile. See details about Events [here](https://developers.intercom.io/reference/#events)
222-
222+
223223
@param name The name of the event that it is going to be logged.
224224
*/
225225
+ (void)logEventWithName:(NSString *)name;
226226

227227
/*!
228228
Metadata Objects support a few simple types that Intercom can present on your behalf, see the
229229
[Intercom API docs](https://developers.intercom.io/reference/#event-metadata-types)
230-
230+
231231
[Intercom logEventWithName:@"ordered_item" metaData:@{
232232
@"order_date": @1392036272,
233233
@"stripe_invoice": @"inv_3434343434",
234234
@"order_number": @{
235235
@"value": @"3434-3434",
236236
@"url": @"https://example.org/orders/3434-3434"
237237
}];
238-
238+
239239
@param name The name of the event you wish to track.
240240
@param metaData contains simple types to present to Intercom
241241
*/
@@ -247,7 +247,7 @@ typedef NS_ENUM(NSUInteger, ICMPreviewPosition){
247247

248248
/*!
249249
Present the Intercom Messenger
250-
250+
251251
Opens the Intercom messenger to automatically to the best place for your users.
252252
*/
253253
+ (void)presentMessenger;
@@ -271,10 +271,10 @@ typedef NS_ENUM(NSUInteger, ICMPreviewPosition){
271271
/*! @name Working with push notifications */
272272
//=========================================================================================================
273273
/*!
274-
Set the device token for push notifications. Once the device token is set, the methods for receiving push
274+
Set the device token for push notifications. Once the device token is set, the methods for receiving push
275275
notifications are safely swizzled so ones sent from Intercom can be intercepted. When a push notification from
276276
Intercom is received, Intercom for iOS will automatically launch the message from the notification.
277-
277+
278278
@param deviceToken The device token provided in the `didRegisterForRemoteNotificationsWithDeviceToken` method.
279279
*/
280280
+ (void)setDeviceToken:(NSData *)deviceToken;
@@ -286,7 +286,7 @@ typedef NS_ENUM(NSUInteger, ICMPreviewPosition){
286286
/*!
287287
This method allows you to set a fixed bottom padding for in app messages and the launcher.
288288
It is useful if your app has a tab bar or similar UI at the bottom of your window.
289-
289+
290290
@param bottomPadding The size of the bottom padding in points.
291291
*/
292292
+ (void)setBottomPadding:(CGFloat)bottomPadding;
@@ -298,19 +298,19 @@ typedef NS_ENUM(NSUInteger, ICMPreviewPosition){
298298
/*!
299299
Use this to hide all incoming Intercom messages and message previews in the parts of your app where you do
300300
not wish to interrupt users, for example Camera views, parts of a game or other scenarios.
301-
301+
302302
By default, all in app messages will be visible.
303-
303+
304304
@param visible A boolean indicating if in app messages should be visible.
305305
*/
306306
+ (void)setInAppMessagesVisible:(BOOL)visible;
307307

308308
/*!
309309
Use this to show the Intercom launcher selectively within your app. If you choose to display the launcher,
310310
you may want to hide it on some screens where screen space is critical (e.g. parts of a game).
311-
311+
312312
By default, the launcher is hidden.
313-
313+
314314
@param visible A boolean indicating if the launcher should be visible.
315315
*/
316316
+ (void)setLauncherVisible:(BOOL)visible;
@@ -328,7 +328,7 @@ typedef NS_ENUM(NSUInteger, ICMPreviewPosition){
328328
/*!
329329
This method provides the current number of unread conversations.
330330
This is useful if you want to display a badge counter on the button where you launch Intercom.
331-
331+
332332
@return The number of unread conversations.
333333
*/
334334
+ (NSUInteger)unreadConversationCount;
@@ -353,7 +353,7 @@ UIKIT_EXTERN NSString *const IntercomUnreadConversationCountDidChangeNotificatio
353353
//=========================================================================================================
354354

355355
/*!
356-
If you wish to change your status bar's style or visibility while an Intercom notification may be on
356+
If you wish to change your status bar's style or visibility while an Intercom notification may be on
357357
screen, call this method so that Intercom's window can reflect these changes accordingly.
358358
*/
359359
+ (void)setNeedsStatusBarAppearanceUpdate;
@@ -383,12 +383,12 @@ UIKIT_EXTERN NSString *const IntercomUnreadConversationCountDidChangeNotificatio
383383
/*!
384384
These are notifications thrown by Intercom for iOS when the Intercom window is displayed and hidden or when
385385
a new conversation has been started. These notifications are fired only when there is a change in the state
386-
of Intercom's UI: when a user receives a message for instance, willShow and didShow notifications will be
387-
fired accordingly when the Intercom Notification (chat head) is presented.
388-
386+
of Intercom's UI: when a user receives a message for instance, willShow and didShow notifications will be
387+
fired accordingly when the Intercom Notification (chat head) is presented.
388+
389389
Once the user taps on the chat head, the message is presented in your app. It will be presented covering
390390
the entire screen, but no notifications will be thrown here as Intercom has already been visible.
391-
391+
392392
In the case of a new conversation this notification may be used to prompt users to enable push notifications.
393393
*/
394394

Intercom.framework/Info.plist

0 Bytes
Binary file not shown.

Intercom.framework/Intercom

0 Bytes
Binary file not shown.

Intercom.podspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
Pod::Spec.new do |s|
22
s.name = 'Intercom'
3-
s.version = '3.0.16'
3+
s.version = '3.0.17'
44
s.summary = 'The Intercom iOS SDK, for integrating Intercom into your iOS application.'
55
s.license = { :type => "Apache 2.0", :file => "Intercom/LICENSE" }
66
s.authors = {"Adam McCarthy"=>"[email protected]", "Brian Boyle"=>"[email protected]", "Conor O’Donnell"=>"[email protected]", "James Treanor"=>"[email protected]"}
77
s.homepage = 'https://github.com/intercom/intercom-ios'
88
s.description = 'The Intercom iOS SDK, for integrating Intercom into your iOS application. The SDK supports iOS 8, iOS 9 and iOS 10'
9-
s.frameworks = ["Foundation", "UIKit", "Accelerate", "Security", "SystemConfiguration", "MobileCoreServices", "ImageIO", "AudioToolbox", "QuartzCore", "CoreGraphics", "Photos", "Accelerate", "UserNotifications"]
9+
s.frameworks = ["Foundation", "UIKit", "Accelerate", "Security", "SystemConfiguration", "MobileCoreServices", "ImageIO", "AudioToolbox", "QuartzCore", "CoreGraphics", "Photos", "Accelerate"]
1010
s.library = "icucore", "xml2"
1111
s.requires_arc = true
1212
s.source = { :http => "https://github.com/intercom/intercom-ios/releases/download/#{s.version}/CocoaPods.zip" }

0 commit comments

Comments
 (0)