Skip to content

Messages iOS xcode9 beta1

Vincent Dondain edited this page Jul 17, 2017 · 3 revisions

#Messages.framework https://github.com/xamarin/xamarin-macios/pull/2332

diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSConversation.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSConversation.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSConversation.h	2016-11-29 00:42:35.000000000 -0500
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSConversation.h	2017-05-27 00:55:30.000000000 -0400
@@ -54,7 +54,7 @@
  @param      message            The MSMessage instance describing the message to be sent.
  @param      completionHandler  A completion handler called when the message has been staged or if there was an error.
  */
-- (void)insertMessage:(MSMessage *)message completionHandler:(nullable void (^)(NSError * _Nullable))completionHandler;
+- (void)insertMessage:(MSMessage *)message completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler;
 
 /*!
  @method     insertSticker:completionHandler:
@@ -62,7 +62,7 @@
  @param      sticker            The sticker to be inserted.
  @param      completionHandler  A completion handler called when the insert is complete.
  */
-- (void)insertSticker:(MSSticker *)sticker completionHandler:(nullable void (^)(NSError * _Nullable))completionHandler;
+- (void)insertSticker:(MSSticker *)sticker completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler;
 
 /*!
  @method     insertText:completionHandler:
@@ -70,7 +70,7 @@
  @param      text               The text to be inserted.
  @param      completionHandler  A completion handler called when the insert is complete.
  */
-- (void)insertText:(NSString *)text completionHandler:(nullable void (^)(NSError * _Nullable))completionHandler;
+- (void)insertText:(NSString *)text completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler;
 
 /*!
  @method     insertAttachment:withAlternateFilename:completionHandler:
@@ -80,9 +80,43 @@
  @param      filename           If you supply a string here, the message UI uses it for the attachment. Use an alternate filename to better describe the attachment or to make the name more readable.
  @param      completionHandler  A completion handler called when the insert is complete.
  */
-- (void)insertAttachment:(NSURL *)URL withAlternateFilename:(nullable NSString *)filename completionHandler:(nullable void (^)(NSError * _Nullable))completionHandler;
+- (void)insertAttachment:(NSURL *)URL withAlternateFilename:(nullable NSString *)filename completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler;
 
+/*!
+ @method     sendMessage:completionHandler:
+ @abstract   Start sending a message
+ @discussion This method begins sending the provided MSMessage. The app must be visible and have had a recent touch interaction since either last launch or last send to succeed. If the message started sending successfully, the completion handler will be called with a nil error parameter. Otherwise the error parameter will be populated with an NSError object describing the failure.
+ @param      message            The MSMessage instance describing the message to be sent.
+ @param      completionHandler  A completion handler called when the message has been staged or if there was an error.
+ */
+- (void)sendMessage:(MSMessage *)message completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler NS_AVAILABLE_IOS(11_0);
+
+/*!
+ @method     sendSticker:completionHandler:
+ @abstract   Start sending a sticker
+ @param      sticker            The sticker to be inserted.
+ @param      completionHandler  A completion handler called when the insert is complete.
+ */
+- (void)sendSticker:(MSSticker *)sticker completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler NS_AVAILABLE_IOS(11_0);
 
+/*!
+ @method     sendText:completionHandler:
+ @abstract   Start sending text
+ @discussion This method begins sending the provided NSString. The app must be visible and have had a recent touch interaction since either last launch or last send to succeed. If the message started sending successfully, the completion handler will be called with a nil error parameter. Otherwise the error parameter will be populated with an NSError object describing the failure.
+ @param      text               The text to be inserted.
+ @param      completionHandler  A completion handler called when the insert is complete.
+ */
+- (void)sendText:(NSString *)text completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler NS_AVAILABLE_IOS(11_0);
+
+/*!
+ @method     sendAttachment:withAlternateFilename:completionHandler:
+ @abstract   Start sending a file located at the provided URL. This must be a file URL.
+ @discussion This method begins sending the file at the provided file URL. The app must be visible and have had a recent touch interaction since either last launch or last send to succeed. If the message started sending successfully, the completion handler will be called with a nil error parameter. Otherwise the error parameter will be populated with an NSError object describing the failure.
+ @param      URL                The URL to the media file to be inserted.
+ @param      filename           If you supply a string here, the message UI uses it for the attachment. Use an alternate filename to better describe the attachment or to make the name more readable.
+ @param      completionHandler  A completion handler called when the insert is complete.
+ */
+- (void)sendAttachment:(NSURL *)URL withAlternateFilename:(nullable NSString *)filename completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler NS_AVAILABLE_IOS(11_0);
 
 @end
 
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessage.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessage.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessage.h	2016-11-29 00:46:53.000000000 -0500
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessage.h	2017-05-27 01:28:28.000000000 -0400
@@ -20,7 +20,7 @@
  @method     init
  @abstract   Initializes a new message that is not part of a session.
  */
--(instancetype)init NS_DESIGNATED_INITIALIZER;
+- (instancetype)init NS_DESIGNATED_INITIALIZER;
 
 /*!
  @method     initWithSession:
@@ -31,7 +31,7 @@
  and moved to the bottom of the conversation transcript when another message created
  with the same session is sent.
  */
--(instancetype)initWithSession:(MSSession *)session NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithSession:(MSSession *)session NS_DESIGNATED_INITIALIZER;
 
 /*!
  @property   session
@@ -40,6 +40,13 @@
 @property (nonatomic, readonly, nullable) MSSession *session;
 
 /*!
+ @property   pending
+ @abstract   A BOOL representing whether the message is a pending message or is a message that has been sent/received.
+ @discussion This value starts as `YES` when creating an `MSMessage` for sending. After calling `-[MSConversation insertMessage:completionHandler:]`, `isPending` still returns `YES` until `-[MSMessagesAppViewController didStartSendingMessage:conversation]` is called. This property is useful for knowing if the `selectedMessage` of `-[MSMessagesAppViewController activeConversation]` represents an unsent message.
+ */
+@property (nonatomic, readonly, getter=isPending) BOOL pending NS_AVAILABLE_IOS(11_0);
+
+/*!
  @property   senderParticipantIdentifier
  @abstract   A NSUUID instance that identifies the participant that sent the message.
  @discussion This NSUUID identifies the message's sender. This value is scoped to
@@ -54,7 +61,7 @@
  @discussion The MSMessageLayout subclass will be used to construct UI
  representing the message in the conversation transcript.
  */
-@property (nonatomic, copy, nullable) MSMessageLayout* layout;
+@property (nonatomic, copy, nullable) MSMessageLayout *layout;
 
 /*!
  @property   URL
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessageError.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessageError.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessageError.h	2016-09-23 23:09:30.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessageError.h	2017-05-27 00:55:30.000000000 -0400
@@ -8,11 +8,12 @@
 #import <Foundation/Foundation.h>
 #import <Messages/MessagesDefines.h>
 
-MESSAGES_EXTERN NSString * const MSStickersErrorDomain NS_AVAILABLE_IOS(10_0);
+MESSAGES_EXTERN NSString *const MSStickersErrorDomain NS_AVAILABLE_IOS(10_0);
 
-MESSAGES_EXTERN NSString * const MSMessagesErrorDomain NS_AVAILABLE_IOS(10_0);
+MESSAGES_EXTERN NSString *const MSMessagesErrorDomain NS_AVAILABLE_IOS(10_0);
 
 typedef NS_ENUM(NSInteger, MSMessageErrorCode) {
+    MSMessageErrorCodeUnknown NS_ENUM_AVAILABLE_IOS(11_0) = -1,
     MSMessageErrorCodeFileNotFound = 1,
     MSMessageErrorCodeFileUnreadable,
     MSMessageErrorCodeImproperFileType,
@@ -21,4 +22,6 @@
     MSMessageErrorCodeStickerFileImproperFileSize,
     MSMessageErrorCodeStickerFileImproperFileFormat,
     MSMessageErrorCodeURLExceedsMaxSize,
+    MSMessageErrorCodeSendWithoutRecentInteraction NS_ENUM_AVAILABLE_IOS(11_0),
+    MSMessageErrorCodeSendWhileNotVisible NS_ENUM_AVAILABLE_IOS(11_0),
 } NS_ENUM_AVAILABLE_IOS(10_0);
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessageLiveLayout.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessageLiveLayout.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessageLiveLayout.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessageLiveLayout.h	2017-05-27 00:55:30.000000000 -0400
@@ -0,0 +1,31 @@
+/*!
+ @header     MSMessageLiveLayout
+ @copyright  Copyright (c) 2017 Apple Inc. All rights reserved.
+ */
+
+#import <Messages/Messages.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*!
+ @class      MSMessageLiveLayout
+ @abstract   The MSMessageLiveLayout is used to indicate a message should be rendered in Messages using an instance of `MSMessagesAppViewController` with a `presentationStyle` of `MSMessagesAppPresentationStyleTranscript`.
+ */
+NS_CLASS_AVAILABLE_IOS(11_0)
+@interface MSMessageLiveLayout : MSMessageLayout
+
+/*!
+ @param alternateLayout The alternate layout of the message. This layout will be used on devices that don't support live layout or don't have the iMessage app installed.
+ */
+- (instancetype)initWithAlternateLayout:(MSMessageTemplateLayout *)alternateLayout NS_DESIGNATED_INITIALIZER;
+- (instancetype)init NS_UNAVAILABLE;
+
+/*!
+ @property   alternateLayout
+ @abstract   The alternate layout of the message. This layout will be used on devices that don't support live layout or don't have the iMessage app installed.
+ */
+@property (nonatomic, readonly) MSMessageTemplateLayout *alternateLayout;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessagesAppViewController.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessagesAppViewController.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessagesAppViewController.h	2016-09-23 22:17:31.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSMessagesAppViewController.h	2017-05-27 00:55:30.000000000 -0400
@@ -14,126 +14,155 @@
  @abstract   Describes how the extension is presented in Messages.
  @constant   MSMessagesAppPresentationStyleCompact     The extension's UI is presented compact in the keyboard area.
  @constant   MSMessagesAppPresentationStyleExpanded   The extension's UI is presented expanded taking up most of the screen.
+ @constant   MSMessagesAppPresentationStyleTranscript   The extension's UI is presented in the transcript of the conversation in Messages.
  */
 typedef NS_ENUM(NSUInteger, MSMessagesAppPresentationStyle) {
     MSMessagesAppPresentationStyleCompact,
-    MSMessagesAppPresentationStyleExpanded
+    MSMessagesAppPresentationStyleExpanded,
+    MSMessagesAppPresentationStyleTranscript NS_ENUM_AVAILABLE_IOS(11_0),
 } NS_ENUM_AVAILABLE_IOS(10_0);
 
 
-@interface MSMessagesAppViewController : UIViewController
+NS_AVAILABLE_IOS(11_0)
+@protocol MSMessagesAppTranscriptPresentation
 
 /*!
- @property   activeConversation
- @abstract   Current active conversation.
+ @method     contentSizeThatFits:
+ @abstract   The content size of the view controller's view fitting the constraining size.
+ @discussion This method will only be called if the `presentationStyle` is `MSMessagesAppPresentationStyleTranscript`.
+ @param      size    The maximum size the view will be displayed at.
  */
-@property (nonatomic, strong, readonly, nullable) MSConversation *activeConversation;
+- (CGSize)contentSizeThatFits:(CGSize)size NS_AVAILABLE_IOS(11_0);
 
-/*!
- @property   presentationStyle
- @abstract   Get the presentation extension's current presentation style.
- */
-@property (nonatomic, assign, readonly) MSMessagesAppPresentationStyle presentationStyle;
-
-/*!
- @method     requestPresentationStyle:
- @abstract   Requests that Messages transition the extension to the specified presentation style.
- @param      presentationStyle   The presentation style to transition to.
- */
--(void)requestPresentationStyle:(MSMessagesAppPresentationStyle)presentationStyle;
-
-/*!
- @method    dismiss
- @abstract  Tells the Messages to dismiss the extension and present the keyboard.
- */
--(void)dismiss;
-
-/*!
- @method     willBecomeActiveWithConversation:
- @abstract   Called when the extension is about to become active.
- @param      conversation   The current conversation.
- */
--(void)willBecomeActiveWithConversation:(MSConversation *)conversation;
+@end
 
-/*!
- @method     didBecomeActiveWithConversation:
- @abstract   Called when the extension has become active active.
- @param      conversation   The current conversation.
- */
--(void)didBecomeActiveWithConversation:(MSConversation *)conversation;
 
-/*!
- @method     willResignActiveWithConversation:
- @abstract   Called when the extension will resign active.
- @param      conversation   The current conversation.
- */
--(void)willResignActiveWithConversation:(MSConversation *)conversation;
+NS_AVAILABLE_IOS(11_0)
+@protocol MSMessagesAppCompactOrExpandedPresentation
 
 /*!
- @method     didResignActiveWithConversation:
- @abstract   Called when the extension has resigned active.
- @param      conversation   The current conversation.
+ @method     dismiss
+ @abstract   Tells Messages to dismiss the extension and present the keyboard.
+ @discussion Calling this method does nothing when the `presentationStyle` is `MSMessagesAppPresentationStyleTranscript`.
  */
--(void)didResignActiveWithConversation:(MSConversation *)conversation;
+- (void)dismiss;
 
 /*!
  @method     willSelectMessage:conversation:
  @abstract   Informs the extension that a new message will be selected in the conversation.
+ @discussion This method will not be called when the `presentationStyle` is `MSMessagesAppPresentationStyleTranscript`.
  @param      message    The message selected.
  @param      conversation    The conversation.
  */
--(void)willSelectMessage:(MSMessage *)message conversation:(MSConversation *)conversation;
-
+- (void)willSelectMessage:(MSMessage *)message conversation:(MSConversation *)conversation;
 
 /*!
  @method     didSelectMessage:conversation:
  @abstract   Informs the extension that a new message has been selected in the conversation.
+ @discussion This method will not be called when the `presentationStyle` is `MSMessagesAppPresentationStyleTranscript`.
  @param      message    The message selected.
  @param      conversation    The conversation.
  */
--(void)didSelectMessage:(MSMessage *)message conversation:(MSConversation *)conversation;
+- (void)didSelectMessage:(MSMessage *)message conversation:(MSConversation *)conversation;
 
 /*!
  @method     didReceiveMessage:conversation:
  @abstract   Informs the extension that a new message has arrived.
+ @discussion This method will not be called when the `presentationStyle` is `MSMessagesAppPresentationStyleTranscript`.
  @param      message    The message received.
  @param      conversation    The conversation.
  */
--(void)didReceiveMessage:(MSMessage *)message conversation:(MSConversation *)conversation;
+- (void)didReceiveMessage:(MSMessage *)message conversation:(MSConversation *)conversation;
 
 /*!
  @method     didStartSendingMessage:conversation:
  @abstract   Informs the extension that the message send has been triggered.
- @discussion This is called when a user interaction with Messages start the message
- send process. It does not guarantee  that the message will be successfully sent or
- delivered.
+ @discussion This is called when a user interaction with Messages start the message send process. It does not guarantee the message will be successfully sent or delivered. This method will not be called when the `presentationStyle` is `MSMessagesAppPresentationStyleTranscript`.
  @param      message    The message being sent.
  @param      conversation    The conversation the message belongs to.
  */
--(void)didStartSendingMessage:(MSMessage *)message conversation:(MSConversation *)conversation;
+- (void)didStartSendingMessage:(MSMessage *)message conversation:(MSConversation *)conversation;
 
 /*!
  @method     didCancelSendingMessage:conversation:
  @abstract   Informs the extension that the user has removed the message from the input field.
+ @discussion This method will not be called when the `presentationStyle` is MSMessagesAppPresentationStyleTranscript.
  @param      message    The message sent.
  @param      conversation    The conversation.
  */
--(void)didCancelSendingMessage:(MSMessage *)message conversation:(MSConversation *)conversation;
+- (void)didCancelSendingMessage:(MSMessage *)message conversation:(MSConversation *)conversation;
 
 /*!
  @method     willTransitionToPresentationStyle:
  @abstract   Called when the extension is about to transition to a new presentation style.
+ @discussion This method will not be called when the `presentationStyle` is `MSMessagesAppPresentationStyleTranscript`.
  @param      presentationStyle   The new presentation style.
  */
--(void)willTransitionToPresentationStyle:(MSMessagesAppPresentationStyle)presentationStyle;
+- (void)willTransitionToPresentationStyle:(MSMessagesAppPresentationStyle)presentationStyle;
 
 /*!
  @method     didTransitionToPresentationStyle:
  @abstract   Called when the extension finished transitioning to a presentation style.
+ @discussion This method will not be called when the `presentationStyle` is `MSMessagesAppPresentationStyleTranscript`.
  @param      presentationStyle   The new presentation style.
  */
--(void)didTransitionToPresentationStyle:(MSMessagesAppPresentationStyle)presentationStyle;
+- (void)didTransitionToPresentationStyle:(MSMessagesAppPresentationStyle)presentationStyle;
+
+@end
+
+
+NS_CLASS_AVAILABLE_IOS(10_0)
+@interface MSMessagesAppViewController : UIViewController <MSMessagesAppCompactOrExpandedPresentation, MSMessagesAppTranscriptPresentation>
+
+/*!
+ @property   activeConversation
+ @abstract   Current active conversation.
+ */
+@property (nonatomic, strong, readonly, nullable) MSConversation *activeConversation;
+
+/*!
+ @property   presentationStyle
+ @abstract   Get the presentation extension's current presentation style.
+ */
+@property (nonatomic, assign, readonly) MSMessagesAppPresentationStyle presentationStyle;
+
+/*!
+ @method     requestPresentationStyle:
+ @abstract   Requests that Messages transition the extension to the specified presentation style.
+ @discussion When the current `presentationStyle` is `MSMessagesAppPresentationStyleTranscript`, a new instance of `MSMessagesAppViewController` will be instantiated with the requested presentation style if needed.
+ @param      presentationStyle   The presentation style to transition to. `MSMessagesAppPresentationStyleTranscript` is not a valid presentation style to request.
+ */
+- (void)requestPresentationStyle:(MSMessagesAppPresentationStyle)presentationStyle;
+
+/*!
+ @method     willBecomeActiveWithConversation:
+ @abstract   Called when the extension is about to become active.
+ @param      conversation   The current conversation.
+ */
+- (void)willBecomeActiveWithConversation:(MSConversation *)conversation;
+
+/*!
+ @method     didBecomeActiveWithConversation:
+ @abstract   Called when the extension has become active active.
+ @param      conversation   The current conversation.
+ */
+- (void)didBecomeActiveWithConversation:(MSConversation *)conversation;
+
+/*!
+ @method     willResignActiveWithConversation:
+ @abstract   Called when the extension will resign active.
+ @param      conversation   The current conversation.
+ */
+- (void)willResignActiveWithConversation:(MSConversation *)conversation;
+
+/*!
+ @method     didResignActiveWithConversation:
+ @abstract   Called when the extension has resigned active.
+ @param      conversation   The current conversation.
+ */
+- (void)didResignActiveWithConversation:(MSConversation *)conversation;
 
 @end
 
 NS_ASSUME_NONNULL_END
+
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSSticker.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSSticker.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSSticker.h	2016-09-23 23:09:30.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSSticker.h	2017-05-27 00:55:30.000000000 -0400
@@ -25,7 +25,7 @@
  @param      error  If this method could not initialize a sticker, this will contain an NSError object describing the failure.
  @return     A new sticker object or nil if the method could not initialize a sticker from the specified file and localizedDescription.
  */
-- (nullable instancetype)initWithContentsOfFileURL:(NSURL *)fileURL localizedDescription:(NSString *)localizedDescription error:(NSError * _Nullable *)error NS_DESIGNATED_INITIALIZER;
+- (nullable instancetype)initWithContentsOfFileURL:(NSURL *)fileURL localizedDescription:(NSString *)localizedDescription error:(NSError *_Nullable *)error NS_DESIGNATED_INITIALIZER;
 
 /*!
  @property   imageFileURL
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSStickerBrowserView.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSStickerBrowserView.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSStickerBrowserView.h	2016-09-23 23:09:30.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSStickerBrowserView.h	2017-05-27 00:55:30.000000000 -0400
@@ -3,8 +3,8 @@
  @copyright  Copyright (c) 2016 Apple Inc. All rights reserved.
  */
 
-#import <UIKit/UIKit.h>
 #import <Messages/MSStickerBrowserViewDataSource.h>
+#import <UIKit/UIKit.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
@@ -18,7 +18,7 @@
 typedef NS_ENUM(NSInteger, MSStickerSize) {
     MSStickerSizeSmall,
     MSStickerSizeRegular,
-    MSStickerSizeLarge
+    MSStickerSizeLarge,
 } NS_ENUM_AVAILABLE_IOS(10_0);
 
 /*!
@@ -58,7 +58,7 @@
 /*!
  @abstract The Sticker Browser View data source.
  */
-@property (nonatomic, weak, nullable) id <MSStickerBrowserViewDataSource> dataSource;
+@property (nonatomic, weak, nullable) id<MSStickerBrowserViewDataSource> dataSource;
 
 /*!
  @abstract The Sticker Browser View content offset.
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSStickerBrowserViewController.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSStickerBrowserViewController.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSStickerBrowserViewController.h	2016-09-23 23:09:30.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSStickerBrowserViewController.h	2017-05-27 00:55:30.000000000 -0400
@@ -3,8 +3,8 @@
  @copyright  Copyright (c) 2016 Apple Inc. All rights reserved.
  */
 
-#import <UIKit/UIKit.h>
 #import <Messages/MSStickerBrowserView.h>
+#import <UIKit/UIKit.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSStickerView.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSStickerView.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSStickerView.h	2016-09-23 23:09:30.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MSStickerView.h	2017-05-27 00:55:30.000000000 -0400
@@ -38,20 +38,20 @@
  @property   animationDuration
  @abstract   The amount of time it takes to go through one cycle of the sticker animation.
  */
-@property(nonatomic, readonly) NSTimeInterval animationDuration;
+@property (nonatomic, readonly) NSTimeInterval animationDuration;
 
 /*!
  @method    startAnimating
  @abstract  Starts animating the sticker in the receiver.
  @discussion This method always starts the animation from the first frame.
  */
--(void) startAnimating;
+- (void)startAnimating;
 
 /*!
  @method    stopAnimating
  @abstract  Stops animating the sticker in the receiver.
  */
--(void) stopAnimating;
+- (void)stopAnimating;
 
 /*!
  @method   isAnimating
@@ -59,7 +59,6 @@
  */
 - (BOOL)isAnimating;
 
-
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/Messages.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/Messages.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/Messages.h	2016-09-23 23:09:30.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/Messages.h	2017-05-27 00:55:30.000000000 -0400
@@ -13,15 +13,16 @@
 
 #import <Messages/MSConversation.h>
 
-#import <Messages/MSSession.h>
 #import <Messages/MSMessage.h>
 #import <Messages/MSMessageLayout.h>
 #import <Messages/MSMessageTemplateLayout.h>
+#import <Messages/MSMessageLiveLayout.h>
+#import <Messages/MSSession.h>
 
 #import <Messages/MSSticker.h>
-#import <Messages/MSStickerView.h>
-#import <Messages/MSStickerBrowserViewDataSource.h>
 #import <Messages/MSStickerBrowserView.h>
 #import <Messages/MSStickerBrowserViewController.h>
+#import <Messages/MSStickerBrowserViewDataSource.h>
+#import <Messages/MSStickerView.h>
 
 #import <Messages/MSMessageError.h>
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MessagesDefines.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MessagesDefines.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MessagesDefines.h	2016-09-23 23:09:30.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Messages.framework/Headers/MessagesDefines.h	2017-05-27 00:55:30.000000000 -0400
@@ -6,9 +6,7 @@
 //
 
 #ifdef __cplusplus
-#define MESSAGES_EXTERN		extern "C" __attribute__((visibility ("default")))
+#define MESSAGES_EXTERN extern "C" __attribute__((visibility("default")))
 #else
-#define MESSAGES_EXTERN	        extern __attribute__((visibility ("default")))
+#define MESSAGES_EXTERN extern __attribute__((visibility("default")))
 #endif
-
-
Clone this wiki locally