From ec8b75cd2a1a77589f98963668662fc970c8c65d Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Mon, 22 May 2017 22:44:26 +0800 Subject: [PATCH 01/90] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E7=9A=84=E8=81=8A=E5=A4=A9=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/Class/Model/LCCKUserDelegate.h | 1 + .../Module/ContactList/Model/LCCKContact.m | 12 ++++-- .../LCCKConversationViewController.h | 7 ++++ .../LCCKConversationViewController.m | 37 +++++++++++++++++- .../Model/LCCKConversationViewModel.h | 3 ++ .../Model/LCCKConversationViewModel.m | 39 +++++++++++++------ .../Class/Tool/Service/LCCKSessionService.m | 29 +++++++++++++- .../Class/Tool/Service/LCCKSettingService.m | 1 + 8 files changed, 110 insertions(+), 19 deletions(-) diff --git a/ChatKit/Class/Model/LCCKUserDelegate.h b/ChatKit/Class/Model/LCCKUserDelegate.h index 44acb968..83afa1e4 100644 --- a/ChatKit/Class/Model/LCCKUserDelegate.h +++ b/ChatKit/Class/Model/LCCKUserDelegate.h @@ -31,6 +31,7 @@ * @brief The user's id in LeanCloud SDK, it may be equal to `userId`. */ @property (nonatomic, copy, readwrite) NSString *clientId; +@property (nonatomic, copy, readwrite) NSString *sex; - (instancetype)initWithUserId:(NSString *)userId name:(NSString *)name avatarURL:(NSURL *)avatarURL clientId:(NSString *)clientId; + (instancetype)userWithUserId:(NSString *)userId name:(NSString *)name avatarURL:(NSURL *)avatarURL clientId:(NSString *)clientId; diff --git a/ChatKit/Class/Module/ContactList/Model/LCCKContact.m b/ChatKit/Class/Module/ContactList/Model/LCCKContact.m index 4cfb5a5a..48bc7d10 100644 --- a/ChatKit/Class/Module/ContactList/Model/LCCKContact.m +++ b/ChatKit/Class/Module/ContactList/Model/LCCKContact.m @@ -13,8 +13,10 @@ @implementation LCCKContact @synthesize name = _name; @synthesize avatarURL = _avatarURL; @synthesize clientId = _clientId; +@synthesize sex = _sex; -- (instancetype)initWithUserId:(NSString *)userId name:(NSString *)name avatarURL:(NSURL *)avatarURL clientId:(NSString *)clientId { + +- (instancetype)initWithUserId:(NSString *)userId name:(NSString *)name avatarURL:(NSURL *)avatarURL clientId:(NSString *)clientId sex:(NSString *)sex { self = [super init]; if (!self) { return nil; @@ -23,11 +25,12 @@ - (instancetype)initWithUserId:(NSString *)userId name:(NSString *)name avatarUR _name = name; _avatarURL = avatarURL; _clientId = clientId; + _sex = sex; return self; } -+ (instancetype)userWithUserId:(NSString *)userId name:(NSString *)name avatarURL:(NSURL *)avatarURL clientId:(NSString *)clientId{ - LCCKContact *user = [[LCCKContact alloc] initWithUserId:userId name:name avatarURL:avatarURL clientId:clientId]; ++ (instancetype)userWithUserId:(NSString *)userId name:(NSString *)name avatarURL:(NSURL *)avatarURL clientId:(NSString *)clientId sex:(NSString *)sex { + LCCKContact *user = [[LCCKContact alloc] initWithUserId:userId name:name avatarURL:avatarURL clientId:clientId sex:sex]; return user; } @@ -36,6 +39,7 @@ - (id)copyWithZone:(NSZone *)zone { name:self.name avatarURL:self.avatarURL clientId:self.clientId + sex:self.sex ]; } @@ -44,6 +48,7 @@ - (void)encodeWithCoder:(NSCoder *)aCoder { [aCoder encodeObject:self.name forKey:@"name"]; [aCoder encodeObject:self.avatarURL forKey:@"avatarURL"]; [aCoder encodeObject:self.clientId forKey:@"clientId"]; + [aCoder encodeObject:self.sex forKey:@"sex"]; } - (id)initWithCoder:(NSCoder *)aDecoder { @@ -52,6 +57,7 @@ - (id)initWithCoder:(NSCoder *)aDecoder { _name = [aDecoder decodeObjectForKey:@"name"]; _avatarURL = [aDecoder decodeObjectForKey:@"avatarURL"]; _clientId = [aDecoder decodeObjectForKey:@"clientId"]; + _sex = [aDecoder decodeObjectForKey:@"sex"]; } return self; } diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h index 83e56f14..348e17ae 100644 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h @@ -21,6 +21,13 @@ FOUNDATION_EXTERN NSString *const LCCKConversationViewControllerErrorDomain; */ @property (nonatomic, copy, readonly) NSString *conversationId; + +@property (nonatomic, copy) NSString *peerIcon; +@property (nonatomic, copy) NSString *peerName; +@property (nonatomic, copy) NSString *peerID; +@property (nonatomic, copy) NSString *peerSex; + + /*! * @brief Id of the peer, single conversation should be initialized with this property. * @details Initialization method is `-initWithPeerId:`. diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index 8f2fea1b..1fd33d7e 100644 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -48,6 +48,7 @@ #endif NSString *const LCCKConversationViewControllerErrorDomain = @"LCCKConversationViewControllerErrorDomain"; +NSString *const RNNotificationName = @"sendMessageToRNNotificationName"; @interface LCCKConversationViewController () @@ -201,6 +202,7 @@ - (LCCKConversationViewModel *)chatViewModel { chatViewModel.delegate = self; _chatViewModel = chatViewModel; } + _chatViewModel.peerSex = self.peerSex; return _chatViewModel; } @@ -286,6 +288,19 @@ - (void)sendTextMessage:(NSString *)text { serverMessageId:nil]; [self makeSureSendValidMessage:lcckMessage afterFetchedConversationShouldWithAssert:NO]; [self.chatViewModel sendMessage:lcckMessage]; + + NSLog(@"999999 %@ 99999 %@ 99999 %@ 99999 %@ 99999", self.user.avatarURL, self.user.userId, self.user.name, self.user.sex + ); + + [[NSNotificationCenter defaultCenter] postNotificationName:RNNotificationName object:@{ + @"USER_SEX": self.peerSex, + @"USER_ICON": self.peerIcon, + @"USER_NAME": self.peerName, + @"USER_ID": self.peerID, + @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], + @"CHAT_MESSAGE":[NSString stringWithFormat:@"%@", text] + }]; } } @@ -319,6 +334,15 @@ - (void)sendImageMessageData:(NSData *)imageData { ]; [self makeSureSendValidMessage:message afterFetchedConversationShouldWithAssert:NO]; [self.chatViewModel sendMessage:message]; + [[NSNotificationCenter defaultCenter] postNotificationName:RNNotificationName object:@{ + @"USER_SEX": self.peerSex, + @"USER_ICON": self.peerIcon, + @"USER_NAME": self.peerName, + @"USER_ID": self.peerID, + @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], + @"CHAT_MESSAGE":@"图片消息" + }]; } else { [self alert:@"write image to file error"]; } @@ -334,6 +358,15 @@ - (void)sendVoiceMessageWithPath:(NSString *)voicePath time:(NSTimeInterval)reco timestamp:LCCK_CURRENT_TIMESTAMP serverMessageId:nil]; [self makeSureSendValidMessage:message afterFetchedConversationShouldWithAssert:NO]; + [[NSNotificationCenter defaultCenter] postNotificationName:RNNotificationName object:@{ + @"USER_SEX": self.peerSex, + @"USER_ICON": self.peerIcon, + @"USER_NAME": self.peerName, + @"USER_ID": self.peerID, + @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], + @"CHAT_MESSAGE":@"语音消息" + }]; [self.chatViewModel sendMessage:message]; } @@ -388,7 +421,7 @@ - (void)makeSureSendValidMessage:(id)message afterFetchedConversationShouldWithA @(__LINE__), @"Remember to check if `isAvailable` is ture, making sure sending message after conversation has been fetched"]; if (!withAssert) { - LCCKLog(@"🔴类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), reason); + LCCKLog(@"�类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), reason); return; } NSAssert(NO, reason); @@ -564,7 +597,7 @@ - (void)callbackCurrentConversationEvenNotExists:(AVIMConversation *)conversatio if (conversation.createAt) { if (!conversation.imClient) { [conversation setValue:[LCCKSessionService sharedInstance].client forKey:@"imClient"]; - LCCKLog(@"🔴类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), @"imClient is nil"); + LCCKLog(@"�类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), @"imClient is nil"); } BOOL hasDraft = (conversation.lcck_draft.length > 0); if (hasDraft) { diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h index cb109d43..c1b3d054 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h @@ -32,6 +32,9 @@ typedef void (^LCCKSendMessageSuccessFailedBlock)(NSString *messageUUID, NSError @property (nonatomic, assign, readonly) NSUInteger messageCount; + +@property (nonatomic, copy) NSString * peerSex; + @property (nonatomic, weak) id delegate; - (instancetype)initWithParentViewController:(LCCKConversationViewController *)parentViewController; diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m index ff601bdd..58c5d2d3 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m @@ -47,12 +47,7 @@ #import "CYLDeallocBlockExecutor.h" #endif -#define LCCKLock() dispatch_semaphore_wait(self->_lcck_lock, DISPATCH_TIME_FOREVER) -#define LCCKUnlock() dispatch_semaphore_signal(self->_lcck_lock) - -@interface LCCKConversationViewModel () { - dispatch_semaphore_t _lcck_lock; -} +@interface LCCKConversationViewModel () @property (nonatomic, weak) LCCKConversationViewController *parentConversationViewController; @property (nonatomic, strong) NSMutableArray *dataArray; @@ -70,7 +65,6 @@ @implementation LCCKConversationViewModel - (instancetype)initWithParentViewController:(LCCKConversationViewController *)parentConversationViewController { if (self = [super init]) { - _lcck_lock = dispatch_semaphore_create(1); _dataArray = [NSMutableArray array]; _avimTypedMessage = [NSMutableArray array]; self.parentConversationViewController = parentConversationViewController; @@ -130,6 +124,8 @@ - (void)receiveMessage:(NSNotification *)notification { if (currentConversation.muted == NO) { [[LCCKSoundManager defaultManager] playReceiveSoundIfNeed]; } + + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) { NSArray *lcckMessages = [NSMutableArray lcck_messagesWithAVIMMessages:messages]; dispatch_async(dispatch_get_main_queue(),^{ @@ -236,9 +232,9 @@ - (void)appendMessagesToTrailing:(NSArray *)messages { - (void)appendMessagesToDataArrayTrailing:(NSArray *)messages { if (messages.count > 0) { - LCCKLock(); - [self.dataArray addObjectsFromArray:messages]; - LCCKUnlock(); + @synchronized (self) { + [self.dataArray addObjectsFromArray:messages]; + } } } @@ -482,11 +478,32 @@ - (void)sendMessage:(id)aMessage id sender = [[LCCKUserSystemService sharedInstance] fetchCurrentUser]; message.sender = sender; message.ownerType = LCCKMessageOwnerTypeSelf; + + avimTypedMessage = [AVIMTypedMessage lcck_messageWithLCCKMessage:message]; + + + + } else { avimTypedMessage = aMessage; } + + // 自定义消息格式 + LCCKMessage *message = (LCCKMessage *)aMessage; + id currentUser = message.sender; + + NSLog(@"999999 %@ 99999 %@ 99999 %@ 99999 %@ 99999", currentUser.avatarURL, currentUser.userId, currentUser.name, currentUser.sex + ); + + [avimTypedMessage lcck_setObject:currentUser.avatarURL.absoluteString forKey:@"USER_ICON"]; + [avimTypedMessage lcck_setObject:currentUser.userId forKey:@"USER_ID"]; + [avimTypedMessage lcck_setObject:currentUser.name forKey:@"USER_NAME"]; + [avimTypedMessage lcck_setObject:currentUser.sex forKey:@"USER_SEX"]; + + [avimTypedMessage lcck_setObject:@([self.parentConversationViewController getConversationIfExists].lcck_type) forKey:LCCKCustomMessageConversationTypeKey]; + [avimTypedMessage setValue:[LCCKSessionService sharedInstance].clientId forKey:@"clientId"];//for LCCKSendMessageHookBlock [self.avimTypedMessage addObject:avimTypedMessage]; [self preloadMessageToTableView:aMessage callback:^{ @@ -597,7 +614,6 @@ - (void)preloadMessageToTableView:(id)aMessage callback:(LCCKVoidBlock)callback NSUInteger newLastMessageCout = self.dataArray.count; NSIndexPath *indexPath = [NSIndexPath indexPathForRow:self.dataArray.count - 1 inSection:0]; [self.delegate messageSendStateChanged:LCCKMessageSendStateSending withProgress:0.0f forIndex:indexPath.row]; - LCCKLock(); NSMutableArray *indexPaths = [NSMutableArray arrayWithObject:indexPath]; NSUInteger additionItemsCount = newLastMessageCout - oldLastMessageCount; if (additionItemsCount > 1) { @@ -608,7 +624,6 @@ - (void)preloadMessageToTableView:(id)aMessage callback:(LCCKVoidBlock)callback } dispatch_async(dispatch_get_main_queue(),^{ [self.parentConversationViewController.tableView insertRowsAtIndexPaths:[indexPaths copy] withRowAnimation:UITableViewRowAnimationNone]; - LCCKUnlock(); [self.parentConversationViewController scrollToBottomAnimated:YES]; !callback ?: callback(); }); diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index f5596c46..446f167b 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -257,7 +257,7 @@ - (void)conversation:(AVIMConversation *)conversation didReceiveTypedMessage:(AV return; } if (!message.messageId) { - LCCKLog(@"🔴类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), @"Receive Message , but MessageId is nil"); + LCCKLog(@"�类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), @"Receive Message , but MessageId is nil"); return; } void (^fetchedConversationCallback)() = ^() { @@ -310,7 +310,7 @@ - (void)makeSureConversation:(AVIMConversation *)conversation isAvailableCallbac !callback ?: callback(); return; } - LCCKLog(@"🔴类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), error); + LCCKLog(@"�类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), error); }]; } else { !callback ?: callback(); @@ -354,6 +354,31 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV }; // - 通知相关页面接收到了消息:“当前对话页面”、“最近对话页面”; [[NSNotificationCenter defaultCenter] postNotificationName:LCCKNotificationMessageReceived object:userInfo]; + + + AVIMTypedMessage * userObj = userInfo[@"receivedMessages"][0]; + NSDictionary * userInformation = userObj.attributes; + + NSString * finalMessage = @""; + + if (userObj.mediaType == kAVIMMessageMediaTypeText) { + finalMessage = userObj.text; + } else if (userObj.mediaType == kAVIMMessageMediaTypeAudio) { + finalMessage = @"语音消息"; + } else { + finalMessage = @"图片消息"; + } + + [[NSNotificationCenter defaultCenter] postNotificationName:@"sendMessageToRNNotificationName" object:@{ + @"USER_SEX": userInformation[@"USER_SEX"], + @"USER_ICON": userInformation[@"USER_ICON"], + @"USER_NAME": userInformation[@"USER_NAME"], + @"USER_ID": userInformation[@"USER_ID"], + @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], + @"CHAT_MESSAGE":finalMessage + }]; + }; void(^filteredMessageCallback)(NSArray *originalMessages) = ^(NSArray *filterdMessages) { diff --git a/ChatKit/Class/Tool/Service/LCCKSettingService.m b/ChatKit/Class/Tool/Service/LCCKSettingService.m index 03bb321c..02a4affb 100644 --- a/ChatKit/Class/Tool/Service/LCCKSettingService.m +++ b/ChatKit/Class/Tool/Service/LCCKSettingService.m @@ -118,6 +118,7 @@ - (void)syncBadge { } else { // NSLog(@"badge not changed"); } + [UIApplication sharedApplication].applicationIconBadgeNumber = 0; } - (void)setUseDevPushCerticate:(BOOL)useDevPushCerticate { From 2722ff5bc480a40eb34a7a57d39e80d0da197221 Mon Sep 17 00:00:00 2001 From: Yang Date: Thu, 8 Jun 2017 18:37:10 +0800 Subject: [PATCH 02/90] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9C=A8=E6=B8=B8?= =?UTF-8?q?=E6=88=8F=E4=B8=AD=E4=B8=8D=E8=AF=B4=E8=AF=AD=E9=9F=B3=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module/Conversation/View/ChatBar/LCCKChatBar.h | 2 ++ .../Module/Conversation/View/ChatBar/LCCKChatBar.m | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.h b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.h index 9354fd73..779fc367 100644 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.h +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.h @@ -48,6 +48,8 @@ typedef NS_ENUM(NSUInteger, LCCKFunctionViewShowType){ */ @property (copy, nonatomic) NSString *cachedText; @property (nonatomic, assign) LCCKFunctionViewShowType showType; +@property (nonatomic,assign) BOOL isGaming; +@property (nonatomic,copy) void(^startVoiceWhenGaming)(); /*! * 在 `-presentViewController:animated:completion:` 的completion回调中调用该方法,屏蔽来自其它 ViewController 的键盘通知事件。 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m index 57a4bb04..fe10573f 100644 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m @@ -504,9 +504,13 @@ - (void)setup { * 开始录音 */ - (void)startRecordVoice { - [LCCKProgressHUD show]; - self.voiceRecordButton.highlighted = YES; - [self.MP3 startRecord]; + if (self.isGaming) { + _startVoiceWhenGaming(); + }else{ + [LCCKProgressHUD show]; + self.voiceRecordButton.highlighted = YES; + [self.MP3 startRecord]; + } } /** From 097d86a3fe14af6d67139618ef77b2951d6eaf4d Mon Sep 17 00:00:00 2001 From: Yang Date: Fri, 9 Jun 2017 19:48:39 +0800 Subject: [PATCH 03/90] =?UTF-8?q?BugFix:=E5=88=A0=E9=99=A4=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E5=9C=86=E8=A7=92=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tool/Categories/UIImageView+LCCKExtension.m | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ChatKit/Class/Tool/Categories/UIImageView+LCCKExtension.m b/ChatKit/Class/Tool/Categories/UIImageView+LCCKExtension.m index 6029c6a9..f530c0a0 100644 --- a/ChatKit/Class/Tool/Categories/UIImageView+LCCKExtension.m +++ b/ChatKit/Class/Tool/Categories/UIImageView+LCCKExtension.m @@ -56,13 +56,13 @@ @implementation LCCKImageObserver - (instancetype)initWithImageView:(UIImageView *)imageView { if (self = [super init]) { self.originImageView = imageView; - [imageView addObserver:self forKeyPath:@"image" options:NSKeyValueObservingOptionNew context:nil]; - [imageView addObserver:self forKeyPath:@"contentMode" options:NSKeyValueObservingOptionNew context:nil]; - __unsafe_unretained __typeof(self) weakSelf = self; - [self cyl_executeAtDealloc:^{ - [weakSelf.originImageView removeObserver:weakSelf forKeyPath:@"image"]; - [weakSelf.originImageView removeObserver:weakSelf forKeyPath:@"contentMode"]; - }]; +// [imageView addObserver:self forKeyPath:@"image" options:NSKeyValueObservingOptionNew context:nil]; +// [imageView addObserver:self forKeyPath:@"contentMode" options:NSKeyValueObservingOptionNew context:nil]; +// __unsafe_unretained __typeof(self) weakSelf = self; +// [self cyl_executeAtDealloc:^{ +// [weakSelf.originImageView removeObserver:weakSelf forKeyPath:@"image"]; +// [weakSelf.originImageView removeObserver:weakSelf forKeyPath:@"contentMode"]; +// }]; } return self; } From 94484c731b6f1a89205cd403ae5ba76beb00eb4a Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Mon, 12 Jun 2017 14:44:55 +0800 Subject: [PATCH 04/90] =?UTF-8?q?=E6=94=B6=E5=88=B0=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E7=9A=84=E6=96=87=E6=A1=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/Class/Tool/Service/LCCKSessionService.m | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index 446f167b..bb9629db 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -365,8 +365,14 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV finalMessage = userObj.text; } else if (userObj.mediaType == kAVIMMessageMediaTypeAudio) { finalMessage = @"语音消息"; - } else { + } else if (userObj.mediaType == kAVIMMessageMediaTypeImage) { finalMessage = @"图片消息"; + } else { + if (userObj.text != nil) { + finalMessage = userObj.text; + } else { + finalMessage = @"收到新消息"; + } } [[NSNotificationCenter defaultCenter] postNotificationName:@"sendMessageToRNNotificationName" object:@{ From ba6640ca7327995a31ac75888f13562538f02ece Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Tue, 4 Jul 2017 18:30:46 +0800 Subject: [PATCH 05/90] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8F=91=E9=80=81?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=AF=BC=E8=87=B4=E5=B4=A9=E6=BA=83=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Model/LCCKConversationViewModel.m | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m index 58c5d2d3..ac85f757 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m @@ -491,17 +491,19 @@ - (void)sendMessage:(id)aMessage // 自定义消息格式 LCCKMessage *message = (LCCKMessage *)aMessage; - id currentUser = message.sender; - - NSLog(@"999999 %@ 99999 %@ 99999 %@ 99999 %@ 99999", currentUser.avatarURL, currentUser.userId, currentUser.name, currentUser.sex - ); - - [avimTypedMessage lcck_setObject:currentUser.avatarURL.absoluteString forKey:@"USER_ICON"]; - [avimTypedMessage lcck_setObject:currentUser.userId forKey:@"USER_ID"]; - [avimTypedMessage lcck_setObject:currentUser.name forKey:@"USER_NAME"]; - [avimTypedMessage lcck_setObject:currentUser.sex forKey:@"USER_SEX"]; - + if([message respondsToSelector:@selector(sender)]) { + id currentUser = message.sender; + + NSLog(@"999999 %@ 99999 %@ 99999 %@ 99999 %@ 99999", currentUser.avatarURL, currentUser.userId, currentUser.name, currentUser.sex + ); + + [avimTypedMessage lcck_setObject:currentUser.avatarURL.absoluteString forKey:@"USER_ICON"]; + [avimTypedMessage lcck_setObject:currentUser.userId forKey:@"USER_ID"]; + [avimTypedMessage lcck_setObject:currentUser.name forKey:@"USER_NAME"]; + [avimTypedMessage lcck_setObject:currentUser.sex forKey:@"USER_SEX"]; + } + [avimTypedMessage lcck_setObject:@([self.parentConversationViewController getConversationIfExists].lcck_type) forKey:LCCKCustomMessageConversationTypeKey]; [avimTypedMessage setValue:[LCCKSessionService sharedInstance].clientId forKey:@"clientId"];//for LCCKSendMessageHookBlock From 4010b91e8f870d4c06cb121eb006a26679dc079c Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Tue, 4 Jul 2017 18:54:53 +0800 Subject: [PATCH 06/90] =?UTF-8?q?=E5=A2=9E=E5=8A=A0charkit=E7=9A=84?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 7c642f26..fad54a46 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "0.8.14" + s.version = "0.8.15" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } From 1b33e1b1c70674de6da04805f413f2c54acce0e6 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Tue, 4 Jul 2017 20:33:21 +0800 Subject: [PATCH 07/90] =?UTF-8?q?=E5=AF=B9=E6=96=B0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=B8=B4=E6=97=B6=E5=81=9A=E5=85=BC=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Class/Tool/Service/LCCKSessionService.m | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index bb9629db..69bb2270 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -359,6 +359,28 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV AVIMTypedMessage * userObj = userInfo[@"receivedMessages"][0]; NSDictionary * userInformation = userObj.attributes; + NSString *userSex = userInformation[@"USER_SEX"]; + NSString *userIcon = userInformation[@"USER_ICON"]; + NSString *userName = userInformation[@"USER_NAME"]; + NSString *userId = userInformation[@"USER_ID"]; + + // TODO 未识别的时候是返回custom:1。然后数据全丢了。。。 + if(userSex == nil) { + userSex = @""; + } + + if(userIcon == nil) { + userIcon = @""; + } + + if(userName == nil) { + userName = @""; + } + + if(userId == nil) { + userId = userObj.clientId; + } + NSString * finalMessage = @""; if (userObj.mediaType == kAVIMMessageMediaTypeText) { @@ -376,11 +398,7 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV } [[NSNotificationCenter defaultCenter] postNotificationName:@"sendMessageToRNNotificationName" object:@{ - @"USER_SEX": userInformation[@"USER_SEX"], - @"USER_ICON": userInformation[@"USER_ICON"], - @"USER_NAME": userInformation[@"USER_NAME"], - @"USER_ID": userInformation[@"USER_ID"], - @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"USER_SEX": userSex, @"USER_ICON": userIcon, @"USER_NAME": userName, @"USER_ID": userId, @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], @"CHAT_MESSAGE":finalMessage }]; From 1a50b604c53059cfed2ab35a195053a42b00d089 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Wed, 5 Jul 2017 14:28:22 +0800 Subject: [PATCH 08/90] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=9A=84=E8=BF=94=E5=9B=9E=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/Class/Tool/Service/LCCKSessionService.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index 69bb2270..2a3a7f6c 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -357,6 +357,9 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV AVIMTypedMessage * userObj = userInfo[@"receivedMessages"][0]; + if(![userObj respondsToSelector:@selector(attributes)]) { + return; + } NSDictionary * userInformation = userObj.attributes; NSString *userSex = userInformation[@"USER_SEX"]; From 47d8c980151ee6a631c353255b7f84915a7e76c4 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Wed, 5 Jul 2017 14:30:15 +0800 Subject: [PATCH 09/90] =?UTF-8?q?=E6=9B=B4=E6=96=B0pod=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index fad54a46..44f7ea00 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "0.8.15" + s.version = "0.8.16" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } From ec76a1c57289952b5136b15d47415b98ccf7ecd9 Mon Sep 17 00:00:00 2001 From: Yang Date: Thu, 6 Jul 2017 16:53:25 +0800 Subject: [PATCH 10/90] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AF=B9=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E7=B1=BB=E5=9E=8B=E7=9A=84=E6=94=AF=E6=8C=81=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Class/Model/AVIMMessage+LCCKExtension.m | 8 ++++ .../Class/Tool/Service/LCCKSessionService.m | 40 ++++++++++++++++--- 2 files changed, 42 insertions(+), 6 deletions(-) diff --git a/ChatKit/Class/Model/AVIMMessage+LCCKExtension.m b/ChatKit/Class/Model/AVIMMessage+LCCKExtension.m index 74f9a83d..c071eaef 100644 --- a/ChatKit/Class/Model/AVIMMessage+LCCKExtension.m +++ b/ChatKit/Class/Model/AVIMMessage+LCCKExtension.m @@ -33,6 +33,7 @@ - (AVIMTypedMessage *)lcck_getValidTypedMessage { } NSString *messageText; NSDictionary *attr; + BOOL ibreakIntext = NO; if ([[self class] isSubclassOfClass:[AVIMMessage class]]) { //当存在无法识别的自定义消息,SDK会返回 AVIMMessage 类型 AVIMMessage *message = self; @@ -42,6 +43,10 @@ - (AVIMTypedMessage *)lcck_getValidTypedMessage { NSString *customMessageDegradeKey = [json valueForKey:@"_lctext"]; if (customMessageDegradeKey.length > 0) { messageText = customMessageDegradeKey; + if ([json valueForKey:@"_lcattrs"] != nil) { + attr = [json valueForKey:@"_lcattrs"]; + } + ibreakIntext = YES; break; } attr = [json valueForKey:@"_lcattrs"]; @@ -60,6 +65,9 @@ - (AVIMTypedMessage *)lcck_getValidTypedMessage { [typedMessage setValue:@(self.sendTimestamp) forKey:@"sendTimestamp"]; [typedMessage setValue:self.clientId forKey:@"clientId"]; [typedMessage lcck_setObject:@(YES) forKey:LCCKCustomMessageIsCustomKey]; + if (ibreakIntext) { + [typedMessage lcck_setObject:attr forKey:@"olCustom"]; + } return typedMessage; } diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index 446f167b..fb1e7c16 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -357,29 +357,57 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV AVIMTypedMessage * userObj = userInfo[@"receivedMessages"][0]; + if(![userObj respondsToSelector:@selector(attributes)]) { + return; + } NSDictionary * userInformation = userObj.attributes; + NSString *userSex = userInformation[@"USER_SEX"]; + NSString *userIcon = userInformation[@"USER_ICON"]; + NSString *userName = userInformation[@"USER_NAME"]; + NSString *userId = userInformation[@"USER_ID"]; + + + if(userSex == nil) { + userSex = @""; + } + + if(userIcon == nil) { + userIcon = @""; + } + + if(userName == nil) { + userName = @""; + } + + if(userId == nil) { + userId = userObj.clientId; + } + NSString * finalMessage = @""; if (userObj.mediaType == kAVIMMessageMediaTypeText) { finalMessage = userObj.text; } else if (userObj.mediaType == kAVIMMessageMediaTypeAudio) { finalMessage = @"语音消息"; - } else { + } else if (userObj.mediaType == kAVIMMessageMediaTypeImage) { finalMessage = @"图片消息"; + } else { + if (userObj.text != nil) { + finalMessage = userObj.text; + } else { + finalMessage = @"收到新消息"; + } } [[NSNotificationCenter defaultCenter] postNotificationName:@"sendMessageToRNNotificationName" object:@{ - @"USER_SEX": userInformation[@"USER_SEX"], - @"USER_ICON": userInformation[@"USER_ICON"], - @"USER_NAME": userInformation[@"USER_NAME"], - @"USER_ID": userInformation[@"USER_ID"], - @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"USER_SEX": userSex, @"USER_ICON": userIcon, @"USER_NAME": userName, @"USER_ID": userId, @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], @"CHAT_MESSAGE":finalMessage }]; }; + void(^filteredMessageCallback)(NSArray *originalMessages) = ^(NSArray *filterdMessages) { if (filterdMessages.count == 0) { return; } From ce6c1df7721cd19a303205776dd12d1e9acdc55b Mon Sep 17 00:00:00 2001 From: Yang Date: Fri, 7 Jul 2017 17:34:04 +0800 Subject: [PATCH 11/90] =?UTF-8?q?Fix:=E6=9B=B4=E6=94=B9=E4=BE=9D=E8=B5=96M?= =?UTF-8?q?WPhotoBrowser=E4=B8=BA=E7=A7=81=E6=9C=89=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 44f7ea00..5ef07104 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.dependency "FDStackView" , "~> 1.0" s.dependency "DACircularProgress" , "~> 2.3.1" s.dependency "MLLabel" , "~> 1.9.2" - s.dependency "MWPhotoBrowser", "~> 2.1.2" + s.dependency "MWPhotoBrowser", "~> 2.1.2",:git => git@github.com:YangHang/MWPhotoBrowser.git s.dependency "CYLDeallocBlockExecutor", "~> 1.1.2" end From d605ad1348b4c5c05504f510ab6a5e3542100a39 Mon Sep 17 00:00:00 2001 From: Yang Date: Fri, 7 Jul 2017 18:01:52 +0800 Subject: [PATCH 12/90] =?UTF-8?q?Fix:=E6=9B=B4=E6=96=B0MWPhotoBrowser?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 5ef07104..5dc39383 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.dependency "FDStackView" , "~> 1.0" s.dependency "DACircularProgress" , "~> 2.3.1" s.dependency "MLLabel" , "~> 1.9.2" - s.dependency "MWPhotoBrowser", "~> 2.1.2",:git => git@github.com:YangHang/MWPhotoBrowser.git + s.dependency "MWPhotoBrowser", :git => 'git@github.com:YangHang/MWPhotoBrowser.git' s.dependency "CYLDeallocBlockExecutor", "~> 1.1.2" end From 918816d99e176090a05b1efd7977927c36db48f5 Mon Sep 17 00:00:00 2001 From: Yang Date: Fri, 7 Jul 2017 18:54:57 +0800 Subject: [PATCH 13/90] =?UTF-8?q?=E6=9B=B4=E6=96=B0podsec?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 5dc39383..ec9c089f 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| s.dependency "FDStackView" , "~> 1.0" s.dependency "DACircularProgress" , "~> 2.3.1" s.dependency "MLLabel" , "~> 1.9.2" - s.dependency "MWPhotoBrowser", :git => 'git@github.com:YangHang/MWPhotoBrowser.git' + s.dependency "MWPhotoBrowser", "2.1.2" s.dependency "CYLDeallocBlockExecutor", "~> 1.1.2" end From ebd16565159f6c59a3f633ed1d98f496eacfb33e Mon Sep 17 00:00:00 2001 From: Yang Date: Fri, 7 Jul 2017 20:13:12 +0800 Subject: [PATCH 14/90] =?UTF-8?q?=E5=88=A0=E9=99=A4MWPhotoBrowser?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 1 - 1 file changed, 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index ec9c089f..91a21d23 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -24,7 +24,6 @@ Pod::Spec.new do |s| s.dependency "FDStackView" , "~> 1.0" s.dependency "DACircularProgress" , "~> 2.3.1" s.dependency "MLLabel" , "~> 1.9.2" - s.dependency "MWPhotoBrowser", "2.1.2" s.dependency "CYLDeallocBlockExecutor", "~> 1.1.2" end From 48aa39992d01c7b991ecd13df7b4aff2b6a8033a Mon Sep 17 00:00:00 2001 From: Yang Date: Mon, 10 Jul 2017 10:52:54 +0800 Subject: [PATCH 15/90] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=B7=BB=E5=8A=A0MBPro?= =?UTF-8?q?gressHUD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ChatKit.podspec b/ChatKit.podspec index 91a21d23..05554282 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -26,4 +26,15 @@ Pod::Spec.new do |s| s.dependency "MLLabel" , "~> 1.9.2" s.dependency "CYLDeallocBlockExecutor", "~> 1.1.2" + post_install do |installed| + installed.project.targets.each.do |target| + if target.name == 'ChatKit' + target.build_configurations.each do |config| + header = config.build_settings['FRAMEWORK_SEARCH_PATHS'] + if header + config.build_settings['FRAMEWORK_SEARCH_PATHS'] += '$PODS_CONFIGURATION_BUILD_DIR/MBProgressHUD' + end + end + end + end end From b3683aeeaf0873a6413d1ce6b48f4145f2f8f94e Mon Sep 17 00:00:00 2001 From: Yang Date: Mon, 10 Jul 2017 11:04:59 +0800 Subject: [PATCH 16/90] =?UTF-8?q?=E5=88=A0=E9=99=A4podsec=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 05554282..91a21d23 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -26,15 +26,4 @@ Pod::Spec.new do |s| s.dependency "MLLabel" , "~> 1.9.2" s.dependency "CYLDeallocBlockExecutor", "~> 1.1.2" - post_install do |installed| - installed.project.targets.each.do |target| - if target.name == 'ChatKit' - target.build_configurations.each do |config| - header = config.build_settings['FRAMEWORK_SEARCH_PATHS'] - if header - config.build_settings['FRAMEWORK_SEARCH_PATHS'] += '$PODS_CONFIGURATION_BUILD_DIR/MBProgressHUD' - end - end - end - end end From f95bbab7fffdbd365d7692c91dc458c6b3b3a12f Mon Sep 17 00:00:00 2001 From: Yang Date: Wed, 12 Jul 2017 14:27:35 +0800 Subject: [PATCH 17/90] =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?=EF=BC=8C=E5=85=88=E6=8A=8A=E7=BC=93=E5=AD=98=E5=8E=BB=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AVOS/AVOSCloudIM/WebSocket/AVIMWebSocketWrapper.m | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ChatKit-OC/Pods/AVOSCloudIM/AVOS/AVOSCloudIM/WebSocket/AVIMWebSocketWrapper.m b/ChatKit-OC/Pods/AVOSCloudIM/AVOS/AVOSCloudIM/WebSocket/AVIMWebSocketWrapper.m index 653502f0..01de599f 100644 --- a/ChatKit-OC/Pods/AVOSCloudIM/AVOS/AVOSCloudIM/WebSocket/AVIMWebSocketWrapper.m +++ b/ChatKit-OC/Pods/AVOSCloudIM/AVOS/AVOSCloudIM/WebSocket/AVIMWebSocketWrapper.m @@ -413,10 +413,10 @@ - (void)openWebSocketConnectionWithCallback:(AVIMBooleanResultBlock)callback { NSDictionary *cachedRouterInformation = [self cachedRouterInformation]; - if (cachedRouterInformation) { - [self openConnectionForRouterInformation:cachedRouterInformation]; - return; - } +// if (cachedRouterInformation) { +// [self openConnectionForRouterInformation:cachedRouterInformation]; +// return; +// } NSString *appId = [AVOSCloud getApplicationId]; From ba069c019340011667960587aaf27743912cf38f Mon Sep 17 00:00:00 2001 From: Yang Date: Thu, 13 Jul 2017 16:00:56 +0800 Subject: [PATCH 18/90] =?UTF-8?q?more=20item=20=E4=B8=BA=E7=A9=BA=E6=97=B6?= =?UTF-8?q?=E4=BC=9A=E6=8A=9B=E5=87=BA=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../View/ChatBar/LCCKChatMoreView.m | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatMoreView.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatMoreView.m index 6efb2e55..f89b0bde 100644 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatMoreView.m +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatMoreView.m @@ -203,21 +203,21 @@ - (void)setupItems { item.tag = idx; [item addTarget:self action:@selector(itemClickAction:) forControlEvents:UIControlEventTouchUpInside]; [self.scrollView addSubview:item]; - if (!item) { - NSString *formatString = @"\n\n\ - ------ BEGIN NSException Log ---------------\n \ - class name: %@ \n \ - ------line: %@ \n \ - ----reason: %@ \n \ - ------ END -------------------------------- \n\n"; - NSString *reason = [NSString stringWithFormat:formatString, - @(__PRETTY_FUNCTION__), - @(__LINE__), - @"Please make sure the custom InputViewPlugin type increase from 1 consecutively.[Chinese:]请确保自定义插件的 type 值从1开始连续递增,详情请查看文档:https://github.com/leancloud/ChatKit-OC/blob/master/ChatKit%20%E8%87%AA%E5%AE%9A%E4%B9%89%E4%B8%9A%E5%8A%A1.md#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%BE%93%E5%85%A5%E6%A1%86%E6%8F%92%E4%BB%B6"]; - @throw [NSException exceptionWithName:NSGenericException - reason:reason - userInfo:nil]; - } +// if (!item) { +// NSString *formatString = @"\n\n\ +// ------ BEGIN NSException Log ---------------\n \ +// class name: %@ \n \ +// ------line: %@ \n \ +// ----reason: %@ \n \ +// ------ END -------------------------------- \n\n"; +// NSString *reason = [NSString stringWithFormat:formatString, +// @(__PRETTY_FUNCTION__), +// @(__LINE__), +// @"Please make sure the custom InputViewPlugin type increase from 1 consecutively.[Chinese:]请确保自定义插件的 type 值从1开始连续递增,详情请查看文档:https://github.com/leancloud/ChatKit-OC/blob/master/ChatKit%20%E8%87%AA%E5%AE%9A%E4%B9%89%E4%B8%9A%E5%8A%A1.md#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%BE%93%E5%85%A5%E6%A1%86%E6%8F%92%E4%BB%B6"]; +// @throw [NSException exceptionWithName:NSGenericException +// reason:reason +// userInfo:nil]; +// } [self.itemViews addObject:item]; column ++; if (idx == self.titles.count - 1) { From 40ca686218ff19ef352a6ca665fe823eafa6822b Mon Sep 17 00:00:00 2001 From: Yang Date: Tue, 1 Aug 2017 12:24:19 +0800 Subject: [PATCH 19/90] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9C=A832=E4=BD=8D?= =?UTF-8?q?=E5=A4=84=E7=90=86=E5=99=A8bug,=E6=9B=B4=E6=96=B0podspec?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.m | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 91a21d23..38ad711c 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "0.8.16" + s.version = "0.8.17" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.m b/ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.m index ac0cd1a8..99435022 100644 --- a/ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.m +++ b/ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.m @@ -15,7 +15,11 @@ @implementation AVIMTypedMessage (LCCKExtension) - (BOOL)lcck_isSupportThisCustomMessage { NSNumber *typeDictKey = @([(AVIMTypedMessage *)self mediaType]); Class class = [_typeDict objectForKey:typeDictKey]; - return class; + if (class != nil) { + return true; + }else{ + return false; + } } + (AVIMTypedMessage *)lcck_messageWithLCCKMessage:(LCCKMessage *)message { From 6b41a20da89511c37040a1222e6f38b15d0443fb Mon Sep 17 00:00:00 2001 From: Yang Date: Mon, 7 Aug 2017 13:02:05 +0800 Subject: [PATCH 20/90] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=8F=AF=E4=BB=A5=E5=93=8D=E5=BA=94=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E5=A4=B4=E5=83=8F=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/LCCKConversationViewController.m | 9 ++++++++- .../View/ChatMessageCell/LCCKChatMessageCell.m | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index 1fd33d7e..aee5f5f8 100644 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -805,7 +805,14 @@ - (void)chatBarFrameDidChange:(LCCKChatBar *)chatBar shouldScrollToBottom:(BOOL) - (void)messageCellTappedHead:(LCCKChatMessageCell *)messageCell { LCCKOpenProfileBlock openProfileBlock = [LCCKUIService sharedInstance].openProfileBlock; - !openProfileBlock ?: openProfileBlock(messageCell.message.senderId, messageCell.message.sender, self); + if ([messageCell.message lcck_isCustomMessage]) { + id sender = [[LCCKUserSystemService sharedInstance] getProfileForUserId:self.conversation.lcck_peerId error:nil]; + if sender != nil { + !openProfileBlock ?: openProfileBlock(self.conversation.lcck_peerId, sender, self); + } + }else{ + !openProfileBlock ?: openProfileBlock(messageCell.message.senderId, messageCell.message.sender, self); + } } - (void)messageCellTappedBlank:(LCCKChatMessageCell *)messageCell { diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m index f65577b5..7bfffe58 100644 --- a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m +++ b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m @@ -321,7 +321,7 @@ - (void)configureCellWithData:(id)message { //TODO:如果我正在群里聊天,这时有人进入群聊,需要异步获取头像等信息,模仿ConversationList的做法。 [[LCCKUserSystemService sharedInstance] getCachedProfileIfExists:senderClientId name:&nickName avatarURL:&avatarURL error:&error]; if (!nickName) { nickName = senderClientId; } - self.message = nil; + self.message = message; sendStatus = (LCCKMessageSendState)[(AVIMTypedMessage *)message status]; } else { self.message = message; From 8112c0968ad2e6fca6296ee3ae5812bbfff1df8c Mon Sep 17 00:00:00 2001 From: Yang Date: Mon, 7 Aug 2017 13:39:29 +0800 Subject: [PATCH 21/90] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=A4=B4=E5=83=8F=E7=82=B9=E5=87=BB=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Conversation/Controller/LCCKConversationViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index aee5f5f8..3343f200 100644 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -807,7 +807,7 @@ - (void)messageCellTappedHead:(LCCKChatMessageCell *)messageCell { LCCKOpenProfileBlock openProfileBlock = [LCCKUIService sharedInstance].openProfileBlock; if ([messageCell.message lcck_isCustomMessage]) { id sender = [[LCCKUserSystemService sharedInstance] getProfileForUserId:self.conversation.lcck_peerId error:nil]; - if sender != nil { + if (sender != nil) { !openProfileBlock ?: openProfileBlock(self.conversation.lcck_peerId, sender, self); } }else{ From 4a6141004db3986b7e877f6ff8ba6804cbe61cb5 Mon Sep 17 00:00:00 2001 From: Yang Date: Tue, 29 Aug 2017 19:58:13 +0800 Subject: [PATCH 22/90] =?UTF-8?q?=E7=A6=81=E7=8E=A9=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=AD=98=E5=9C=A8=E6=9C=AC=E5=9C=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Class/Tool/Service/LCCKSessionService.m | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index 3da01981..e8861077 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -389,6 +389,32 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV if (userObj.mediaType == kAVIMMessageMediaTypeText) { finalMessage = userObj.text; + NSDictionary *att = userInformation; + if (att != nil) { + NSLog(@"%@",att); + //判断type + NSString *type = att[@"MSG_TYPE"]; + NSString *start = [NSString stringWithFormat:@"%f",[[att valueForKey:@"START_TIME"] doubleValue]]; + NSString *ends = [NSString stringWithFormat:@"%f",[[att valueForKey:@"END_TIME"] doubleValue]]; + if (start != nil && ends != nil) { + NSTimeInterval currentInterval = [[NSDate date] timeIntervalSince1970]; + NSTimeInterval remainInterval = (ends.doubleValue / 1000.0) - currentInterval; + if (remainInterval > 0) { //现在的时间,小于封禁结束时间 + if ([type isEqualToString: @"warning"]) { + // 警告⚠️ + }else if ([type isEqualToString: @"noplay_ever"]) { + NSMutableDictionary *bloack = @{@"end":@"-1"}.mutableCopy; + NSMutableDictionary *block = @{_clientId:bloack}.mutableCopy; + [[NSUserDefaults standardUserDefaults] setObject:block forKey:@"NOPLAY"]; + }else{ + NSMutableDictionary *bloack = @{@"end":ends}.mutableCopy; + NSMutableDictionary *block = @{_clientId:bloack}.mutableCopy; + [[NSUserDefaults standardUserDefaults] setObject:block forKey:@"NOPLAY"]; + } + } + } + } + } else if (userObj.mediaType == kAVIMMessageMediaTypeAudio) { finalMessage = @"语音消息"; } else if (userObj.mediaType == kAVIMMessageMediaTypeImage) { From 243dd4922cb871068d858ea84cefee50ec0c84e0 Mon Sep 17 00:00:00 2001 From: Yang Date: Wed, 20 Sep 2017 14:21:59 +0800 Subject: [PATCH 23/90] =?UTF-8?q?=E9=BB=91=E5=90=8D=E5=8D=95=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Class/Tool/Service/LCCKSessionService.m | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index e8861077..bd88eb78 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -342,14 +342,9 @@ - (void)receiveMessage:(AVIMTypedMessage *)message conversation:(AVIMConversatio - (void)receiveMessages:(NSArray *)messages conversation:(AVIMConversation *)conversation isUnreadMessage:(BOOL)isUnreadMessage { void (^checkMentionedMessageCallback)() = ^(NSArray *filterdMessages) { - // - 插入最近对话列表 - // 下面的LCCKNotificationMessageReceived也会通知ConversationListVC刷新 - [[LCCKConversationService sharedInstance] insertRecentConversation:conversation shouldRefreshWhenFinished:NO]; - [[LCCKConversationService sharedInstance] increaseUnreadCount:filterdMessages.count withConversationId:conversation.conversationId shouldRefreshWhenFinished:NO]; - // - 播放接收音 - if (!isUnreadMessage) { - [self playLoudReceiveSoundIfNeededForConversation:conversation]; - } + + + NSDictionary *userInfo = @{ LCCKMessageNotifacationUserInfoConversationKey : conversation, LCCKDidReceiveMessagesUserInfoMessagesKey : filterdMessages, @@ -369,6 +364,31 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV NSString *userName = userInformation[@"USER_NAME"]; NSString *userId = userInformation[@"USER_ID"]; + NSString *path = [NSString stringWithFormat:@"%@/%@",NSHomeDirectory(),@"/Documents/BL.AC"]; + NSFileManager *manager = [NSFileManager defaultManager]; + NSMutableDictionary *block = [[NSMutableDictionary alloc] init]; + if ([manager fileExistsAtPath:path]) { + block = [NSKeyedUnarchiver unarchiveObjectWithFile:path]; + if (userId != nil) { + if (block[userId] != nil) { + return; + } + }else{ + return; + } + } + + + // - 插入最近对话列表 + // 下面的LCCKNotificationMessageReceived也会通知ConversationListVC刷新 + [[LCCKConversationService sharedInstance] insertRecentConversation:conversation shouldRefreshWhenFinished:NO]; + [[LCCKConversationService sharedInstance] increaseUnreadCount:filterdMessages.count withConversationId:conversation.conversationId shouldRefreshWhenFinished:NO]; + // - 播放接收音 + if (!isUnreadMessage) { + [self playLoudReceiveSoundIfNeededForConversation:conversation]; + } + + if(userSex == nil) { userSex = @""; } From cac9a89269b178809bca605239a23ab810a53408 Mon Sep 17 00:00:00 2001 From: Yang Date: Wed, 20 Sep 2017 14:24:43 +0800 Subject: [PATCH 24/90] =?UTF-8?q?=E9=BB=91=E5=90=8D=E5=8D=95=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/Class/Tool/Service/LCCKSessionService.m | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index bd88eb78..2b5252cc 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -369,12 +369,14 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV NSMutableDictionary *block = [[NSMutableDictionary alloc] init]; if ([manager fileExistsAtPath:path]) { block = [NSKeyedUnarchiver unarchiveObjectWithFile:path]; - if (userId != nil) { - if (block[userId] != nil) { + if (block != nil) { + if (userId != nil) { + if (block[userId] != nil) { + return; + } + }else{ return; } - }else{ - return; } } From 3512a58ffbbf71852e091362d2c6d0fa81aed0a5 Mon Sep 17 00:00:00 2001 From: Yang Date: Tue, 26 Sep 2017 16:28:31 +0800 Subject: [PATCH 25/90] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=BB=91=E5=90=8D?= =?UTF-8?q?=E5=8D=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Class/Tool/Service/LCCKSessionService.m | 35 +------------------ 1 file changed, 1 insertion(+), 34 deletions(-) diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index 2b5252cc..fe81a2f8 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -343,8 +343,6 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV void (^checkMentionedMessageCallback)() = ^(NSArray *filterdMessages) { - - NSDictionary *userInfo = @{ LCCKMessageNotifacationUserInfoConversationKey : conversation, LCCKDidReceiveMessagesUserInfoMessagesKey : filterdMessages, @@ -352,7 +350,6 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV // - 通知相关页面接收到了消息:“当前对话页面”、“最近对话页面”; [[NSNotificationCenter defaultCenter] postNotificationName:LCCKNotificationMessageReceived object:userInfo]; - AVIMTypedMessage * userObj = userInfo[@"receivedMessages"][0]; if(![userObj respondsToSelector:@selector(attributes)]) { return; @@ -363,8 +360,7 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV NSString *userIcon = userInformation[@"USER_ICON"]; NSString *userName = userInformation[@"USER_NAME"]; NSString *userId = userInformation[@"USER_ID"]; - - NSString *path = [NSString stringWithFormat:@"%@/%@",NSHomeDirectory(),@"/Documents/BL.AC"]; + NSString *path = [NSString stringWithFormat:@"%@/Documents/%@.BL",NSHomeDirectory(),_clientId]; NSFileManager *manager = [NSFileManager defaultManager]; NSMutableDictionary *block = [[NSMutableDictionary alloc] init]; if ([manager fileExistsAtPath:path]) { @@ -381,15 +377,12 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV } - // - 插入最近对话列表 - // 下面的LCCKNotificationMessageReceived也会通知ConversationListVC刷新 [[LCCKConversationService sharedInstance] insertRecentConversation:conversation shouldRefreshWhenFinished:NO]; [[LCCKConversationService sharedInstance] increaseUnreadCount:filterdMessages.count withConversationId:conversation.conversationId shouldRefreshWhenFinished:NO]; // - 播放接收音 if (!isUnreadMessage) { [self playLoudReceiveSoundIfNeededForConversation:conversation]; } - if(userSex == nil) { userSex = @""; @@ -411,32 +404,6 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV if (userObj.mediaType == kAVIMMessageMediaTypeText) { finalMessage = userObj.text; - NSDictionary *att = userInformation; - if (att != nil) { - NSLog(@"%@",att); - //判断type - NSString *type = att[@"MSG_TYPE"]; - NSString *start = [NSString stringWithFormat:@"%f",[[att valueForKey:@"START_TIME"] doubleValue]]; - NSString *ends = [NSString stringWithFormat:@"%f",[[att valueForKey:@"END_TIME"] doubleValue]]; - if (start != nil && ends != nil) { - NSTimeInterval currentInterval = [[NSDate date] timeIntervalSince1970]; - NSTimeInterval remainInterval = (ends.doubleValue / 1000.0) - currentInterval; - if (remainInterval > 0) { //现在的时间,小于封禁结束时间 - if ([type isEqualToString: @"warning"]) { - // 警告⚠️ - }else if ([type isEqualToString: @"noplay_ever"]) { - NSMutableDictionary *bloack = @{@"end":@"-1"}.mutableCopy; - NSMutableDictionary *block = @{_clientId:bloack}.mutableCopy; - [[NSUserDefaults standardUserDefaults] setObject:block forKey:@"NOPLAY"]; - }else{ - NSMutableDictionary *bloack = @{@"end":ends}.mutableCopy; - NSMutableDictionary *block = @{_clientId:bloack}.mutableCopy; - [[NSUserDefaults standardUserDefaults] setObject:block forKey:@"NOPLAY"]; - } - } - } - } - } else if (userObj.mediaType == kAVIMMessageMediaTypeAudio) { finalMessage = @"语音消息"; } else if (userObj.mediaType == kAVIMMessageMediaTypeImage) { From bbdfc5d052b8522852d2644b7b29dbeb59ed8f17 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Sat, 28 Oct 2017 11:54:59 +0800 Subject: [PATCH 26/90] Associate lcck message with raw message --- ChatKit/Class/Model/LCCKMessage.h | 2 ++ ChatKit/Class/Model/LCCKMessage.m | 1 + .../Module/Conversation/Model/LCCKConversationViewModel.m | 5 +---- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ChatKit/Class/Model/LCCKMessage.h b/ChatKit/Class/Model/LCCKMessage.h index b1ff1c3e..347755f9 100644 --- a/ChatKit/Class/Model/LCCKMessage.h +++ b/ChatKit/Class/Model/LCCKMessage.h @@ -14,6 +14,8 @@ @interface LCCKMessage : NSObject +@property (nonatomic, strong) AVIMMessage *message; + @property (nonatomic, copy, readonly) NSString *text; @property (nonatomic, copy, readonly) NSString *systemText; @property (nonatomic, strong, readwrite) UIImage *photo; diff --git a/ChatKit/Class/Model/LCCKMessage.m b/ChatKit/Class/Model/LCCKMessage.m index 3561febd..6c142f7b 100644 --- a/ChatKit/Class/Model/LCCKMessage.m +++ b/ChatKit/Class/Model/LCCKMessage.m @@ -364,6 +364,7 @@ + (id)messageWithAVIMTypedMessage:(AVIMTypedMessage *)message { lcckMessage.ownerType = LCCKMessageOwnerTypeOther; } lcckMessage.sendStatus = (LCCKMessageSendState)message.status; + lcckMessage.message = message; return lcckMessage; } diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m index 347363ac..cec19e01 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m @@ -479,11 +479,8 @@ - (void)sendMessage:(id)aMessage message.sender = sender; message.ownerType = LCCKMessageOwnerTypeSelf; - avimTypedMessage = [AVIMTypedMessage lcck_messageWithLCCKMessage:message]; - - - + message.message = avimTypedMessage; } else { avimTypedMessage = aMessage; From c9aa362da4f316f7a6f8c4076aebf5db33a643ca Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Sat, 28 Oct 2017 12:04:10 +0800 Subject: [PATCH 27/90] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 2583b810..f963a763 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "1.0.0" + s.version = "1.10.28" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } From 5c71eb5486bad77dd5edf2759309430a8263f9d2 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Mon, 30 Oct 2017 23:51:22 +0800 Subject: [PATCH 28/90] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LCCKConversationViewController.m | 16 ++++-- .../Model/LCCKConversationViewModel.h | 5 +- .../Model/LCCKConversationViewModel.m | 37 ++++++++------ .../ChatMessageCell/LCCKChatMessageCell.m | 50 +++++++++++++++++-- 4 files changed, 84 insertions(+), 24 deletions(-) diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index 3343f200..7fb5045c 100644 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -203,6 +203,9 @@ - (LCCKConversationViewModel *)chatViewModel { _chatViewModel = chatViewModel; } _chatViewModel.peerSex = self.peerSex; + _chatViewModel.peerIcon = self.peerIcon; + _chatViewModel.peerName = self.peerName; + _chatViewModel.peerID = self.peerID; return _chatViewModel; } @@ -286,12 +289,19 @@ - (void)sendTextMessage:(NSString *)text { sender:self.user timestamp:LCCK_CURRENT_TIMESTAMP serverMessageId:nil]; + +// AVIMTypedMessage* dataMessage = [AVIMTypedMessage lcck_messageWithLCCKMessage:lcckMessage]; + +// [dataMessage setObject:self.peerSex forKey:@"USER_SEX"]; +// [dataMessage setObject:self.peerIcon forKey:@"USER_ICON"]; +// [dataMessage setObject:self.peerName forKey:@"USER_NAME"]; +// [dataMessage setObject:self.peerID forKey:@"USER_ID"]; +// lcckMessage.message = dataMessage + [self makeSureSendValidMessage:lcckMessage afterFetchedConversationShouldWithAssert:NO]; + [self.chatViewModel sendMessage:lcckMessage]; - NSLog(@"999999 %@ 99999 %@ 99999 %@ 99999 %@ 99999", self.user.avatarURL, self.user.userId, self.user.name, self.user.sex - ); - [[NSNotificationCenter defaultCenter] postNotificationName:RNNotificationName object:@{ @"USER_SEX": self.peerSex, @"USER_ICON": self.peerIcon, diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h index c1b3d054..0e8ec166 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h @@ -33,7 +33,10 @@ typedef void (^LCCKSendMessageSuccessFailedBlock)(NSString *messageUUID, NSError @property (nonatomic, assign, readonly) NSUInteger messageCount; -@property (nonatomic, copy) NSString * peerSex; +@property (nonatomic, copy) NSString *peerIcon; +@property (nonatomic, copy) NSString *peerName; +@property (nonatomic, copy) NSString *peerID; +@property (nonatomic, copy) NSString *peerSex; @property (nonatomic, weak) id delegate; diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m index cec19e01..f3cf83a0 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m @@ -472,6 +472,11 @@ - (void)sendMessage:(id)aMessage AVIMTypedMessage *avimTypedMessage; if (![aMessage lcck_isCustomMessage]) { LCCKMessage *message = (LCCKMessage *)aMessage; + + NSString *payload = message.message.payload == nil ? @"" : message.message.payload; + NSData *data = [payload dataUsingEncoding:NSUTF8StringEncoding]; + id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; + message.conversationId = self.currentConversationId; message.sendStatus = LCCKMessageSendStateSending; @@ -480,6 +485,22 @@ - (void)sendMessage:(id)aMessage message.ownerType = LCCKMessageOwnerTypeSelf; avimTypedMessage = [AVIMTypedMessage lcck_messageWithLCCKMessage:message]; + + NSString *ICON_KEY = @"USER_ICON"; + NSString *ID_KEY = @"USER_ID"; + NSString *NAME_KEY = @"USER_NAME"; + NSString *SEX_KEY = @"USER_SEX"; + + NSString *ICON_VAL = [json objectForKey:ICON_KEY]; + NSString *ID_VAL = [json objectForKey:ID_KEY]; + NSString *NAME_VAL = [json objectForKey:NAME_KEY]; + NSString *SEX_VAL = [json objectForKey:SEX_KEY]; + + [avimTypedMessage lcck_setObject:(ICON_VAL == nil ? @"" : ICON_VAL) forKey:ICON_KEY]; + [avimTypedMessage lcck_setObject:(ID_VAL == nil ? @"" : ID_VAL) forKey:ID_KEY]; + [avimTypedMessage lcck_setObject:(NAME_VAL == nil ? @"" : NAME_VAL) forKey:NAME_KEY]; + [avimTypedMessage lcck_setObject:(SEX_VAL == nil ? @"" : SEX_VAL) forKey:SEX_KEY]; + message.message = avimTypedMessage; } else { @@ -489,22 +510,6 @@ - (void)sendMessage:(id)aMessage // 自定义消息格式 LCCKMessage *message = (LCCKMessage *)aMessage; - if([message respondsToSelector:@selector(sender)]) { - id currentUser = message.sender; - - NSLog(@"999999 %@ 99999 %@ 99999 %@ 99999 %@ 99999", currentUser.avatarURL, currentUser.userId, currentUser.name, currentUser.sex - ); - if (currentUser.avatarURL.absoluteString != nil) { - [avimTypedMessage lcck_setObject:currentUser.avatarURL.absoluteString forKey:@"USER_ICON"]; - } else { - [avimTypedMessage lcck_setObject:@"" forKey:@"USER_ICON"]; - } - [avimTypedMessage lcck_setObject:currentUser.avatarURL.absoluteString forKey:@"USER_ICON"]; - [avimTypedMessage lcck_setObject:currentUser.userId forKey:@"USER_ID"]; - [avimTypedMessage lcck_setObject:currentUser.name forKey:@"USER_NAME"]; - [avimTypedMessage lcck_setObject:currentUser.sex forKey:@"USER_SEX"]; - } - [avimTypedMessage lcck_setObject:@([self.parentConversationViewController getConversationIfExists].lcck_type) forKey:LCCKCustomMessageConversationTypeKey]; [avimTypedMessage setValue:[LCCKSessionService sharedInstance].clientId forKey:@"clientId"];//for LCCKSendMessageHookBlock diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m index 7bfffe58..bf7c9407 100644 --- a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m +++ b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m @@ -314,19 +314,61 @@ - (void)setup { - (void)configureCellWithData:(id)message { NSString *nickName = nil; NSURL *avatarURL = nil; + + NSString* payload = @""; + + if([message isKindOfClass: [AVIMMessage class]]) { + payload = ((AVIMMessage *)message).payload; + } else if([message isKindOfClass: [LCCKMessage class]]) { + payload = ((LCCKMessage *)message).message.payload == nil ? @"" : ((LCCKMessage *)message).message.payload; + } + + NSData *data = [payload dataUsingEncoding:NSUTF8StringEncoding]; + id orginData = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; + id json = [orginData objectForKey:@"_lcattrs"]; + + NSString *name = [json objectForKey: @"USER_NAME"]; + if (name != nil) { + nickName = name; + } + NSString *icon = [json objectForKey: @"USER_ICON"]; + NSURL *url = [NSURL URLWithString:icon]; + avatarURL = url; + if(icon == nil || (icon != nil && [icon isEqualToString:@""])) { + avatarURL = self.message.sender.avatarURL; + NSLog(@"message::::%@---url::%@;;;payload::%@", self.message.text, avatarURL, self.message); + } + LCCKMessageSendState sendStatus; if ([message lcck_isCustomMessage]) { NSString *senderClientId = [(AVIMTypedMessage *)message clientId]; NSError *error; //TODO:如果我正在群里聊天,这时有人进入群聊,需要异步获取头像等信息,模仿ConversationList的做法。 - [[LCCKUserSystemService sharedInstance] getCachedProfileIfExists:senderClientId name:&nickName avatarURL:&avatarURL error:&error]; - if (!nickName) { nickName = senderClientId; } +// [[LCCKUserSystemService sharedInstance] getCachedProfileIfExists:senderClientId name:&nickName avatarURL:&avatarURL error:&error]; +// if (!nickName) { +// nickName = senderClientId; +// NSString *name = [json objectForKey: @"USER_NAME"]; +// if (name != nil) { +// nickName = name; +// } +// } self.message = message; sendStatus = (LCCKMessageSendState)[(AVIMTypedMessage *)message status]; } else { self.message = message; - nickName = self.message.localDisplayName; - avatarURL = self.message.sender.avatarURL; +// NSString *name = [json objectForKey: @"USER_NAME"]; +// if (name != nil) { +// nickName = name; +// } +// if(!nickName) { +// nickName = self.message.localDisplayName; +// } +// NSString *icon = [json objectForKey: @"USER_ICON"]; +// NSURL *url = [NSURL URLWithString:icon]; +// avatarURL = url; +// if(!avatarURL) { +// avatarURL = self.message.sender.avatarURL; +// } sendStatus = self.message.sendStatus; //FIXME: SDK 暂不支持已读未读 // if ([(LCCKMessage *)message messageReadState]) { From 707cae95b711e5cfc726065c289d3fb18feb0cd3 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Tue, 31 Oct 2017 00:05:05 +0800 Subject: [PATCH 29/90] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=9C=89=E6=97=B6?= =?UTF-8?q?=E5=80=99=E6=B2=A1=E5=A4=B4=E5=83=8F=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../View/ChatMessageCell/LCCKChatMessageCell.m | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m index bf7c9407..13946870 100644 --- a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m +++ b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m @@ -334,9 +334,15 @@ - (void)configureCellWithData:(id)message { NSString *icon = [json objectForKey: @"USER_ICON"]; NSURL *url = [NSURL URLWithString:icon]; avatarURL = url; - if(icon == nil || (icon != nil && [icon isEqualToString:@""])) { + if(icon == nil + || (icon != nil && [icon isEqualToString:@""])) { avatarURL = self.message.sender.avatarURL; - NSLog(@"message::::%@---url::%@;;;payload::%@", self.message.text, avatarURL, self.message); + } + + if(avatarURL == nil + || (avatarURL != nil && [avatarURL.absoluteString isEqualToString:@""])) { + id defSender = [[LCCKUserSystemService sharedInstance] fetchCurrentUser]; + avatarURL = defSender.avatarURL; } LCCKMessageSendState sendStatus; From da6f3408e65ef54916af0ed2f2f36b3cb09be588 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Wed, 1 Nov 2017 11:31:09 +0800 Subject: [PATCH 30/90] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=9B=BF=E6=8D=A2title?= =?UTF-8?q?=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- .../Conversation/Controller/LCCKConversationViewController.m | 1 + .../Conversation/View/LCCKConversationNavigationTitleView.h | 2 ++ .../Conversation/View/LCCKConversationNavigationTitleView.m | 3 +-- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index f963a763..cd7c2213 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "1.10.28" + s.version = "1.10.31" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index 7fb5045c..f6bbd365 100644 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -304,6 +304,7 @@ - (void)sendTextMessage:(NSString *)text { [[NSNotificationCenter defaultCenter] postNotificationName:RNNotificationName object:@{ @"USER_SEX": self.peerSex, + @"READ":@YES, @"USER_ICON": self.peerIcon, @"USER_NAME": self.peerName, @"USER_ID": self.peerID, diff --git a/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.h b/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.h index 3bb29111..62d16b22 100644 --- a/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.h +++ b/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.h @@ -12,6 +12,8 @@ @interface LCCKConversationNavigationTitleView : UIView +@property (nonatomic, strong) UILabel *conversationNameView; + - (instancetype)initWithConversation:(AVIMConversation *)conversation navigationController:(UINavigationController *)navigationController; @end diff --git a/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.m b/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.m index bc1e61d5..f859b3f9 100644 --- a/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.m +++ b/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.m @@ -28,7 +28,6 @@ @interface LCCKConversationNavigationTitleView () -@property (nonatomic, strong) UILabel *conversationNameView; @property (nonatomic, strong) UILabel *membersCountView; @property (nonatomic, weak) UINavigationController *navigationController; @property (nonatomic, strong) UIStackView *containerView; @@ -166,7 +165,7 @@ - (void)resetConversationNameWithMembersCountChanged:(BOOL)membersCountChanged { if (conversationName.length == 0 || !conversationName) { conversationName = LCCKLocalizedStrings(@"Chat"); } - self.conversationNameView.text = conversationName; + self.conversationNameView.text = @"";//conversationName; if (membersCountChanged) { NSUInteger membersCount = self.conversation.members.count; self.membersCountView.text = [NSString stringWithFormat:@"(%@)", @(membersCount)]; From 8ff8451a24d2a2bd2e16bceaed93e8a3a13b3bb1 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Wed, 1 Nov 2017 19:27:43 +0800 Subject: [PATCH 31/90] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E5=AE=B6?= =?UTF-8?q?=E6=97=8F=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LCCKConversationViewController.h | 2 + .../LCCKConversationViewController.m | 68 +++++++++++-------- .../Model/LCCKConversationViewModel.h | 1 + .../Model/LCCKConversationViewModel.m | 13 ++-- .../Class/Tool/Service/LCCKSessionService.m | 21 ++++-- 5 files changed, 68 insertions(+), 37 deletions(-) diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h index 348e17ae..23e03e3c 100644 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h @@ -21,6 +21,8 @@ FOUNDATION_EXTERN NSString *const LCCKConversationViewControllerErrorDomain; */ @property (nonatomic, copy, readonly) NSString *conversationId; +// 消息的类型:私聊还是群聊 +@property (nonatomic, copy) NSString *messageType; @property (nonatomic, copy) NSString *peerIcon; @property (nonatomic, copy) NSString *peerName; diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index f6bbd365..6b617da9 100644 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -206,6 +206,7 @@ - (LCCKConversationViewModel *)chatViewModel { _chatViewModel.peerIcon = self.peerIcon; _chatViewModel.peerName = self.peerName; _chatViewModel.peerID = self.peerID; + _chatViewModel.messageType = self.messageType; return _chatViewModel; } @@ -302,16 +303,19 @@ - (void)sendTextMessage:(NSString *)text { [self.chatViewModel sendMessage:lcckMessage]; - [[NSNotificationCenter defaultCenter] postNotificationName:RNNotificationName object:@{ - @"USER_SEX": self.peerSex, - @"READ":@YES, - @"USER_ICON": self.peerIcon, - @"USER_NAME": self.peerName, - @"USER_ID": self.peerID, - @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", - @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], - @"CHAT_MESSAGE":[NSString stringWithFormat:@"%@", text] - }]; + [[NSNotificationCenter defaultCenter] + postNotificationName:RNNotificationName + object:@{ + @"USER_SEX": self.peerSex, + @"READ":@YES, + @"MSG_TYPE": self.messageType, + @"USER_ICON": self.peerIcon, + @"USER_NAME": self.peerName, + @"USER_ID": self.peerID, + @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], + @"CHAT_MESSAGE":[NSString stringWithFormat:@"%@", text] + }]; } } @@ -345,15 +349,19 @@ - (void)sendImageMessageData:(NSData *)imageData { ]; [self makeSureSendValidMessage:message afterFetchedConversationShouldWithAssert:NO]; [self.chatViewModel sendMessage:message]; - [[NSNotificationCenter defaultCenter] postNotificationName:RNNotificationName object:@{ - @"USER_SEX": self.peerSex, - @"USER_ICON": self.peerIcon, - @"USER_NAME": self.peerName, - @"USER_ID": self.peerID, - @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", - @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], - @"CHAT_MESSAGE":@"图片消息" - }]; + [[NSNotificationCenter defaultCenter] + postNotificationName:RNNotificationName + object:@{ + @"USER_SEX": self.peerSex, + @"USER_ICON": self.peerIcon, + @"READ":@YES, + @"MSG_TYPE": self.messageType, + @"USER_NAME": self.peerName, + @"USER_ID": self.peerID, + @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], + @"CHAT_MESSAGE":@"图片消息" + }]; } else { [self alert:@"write image to file error"]; } @@ -369,15 +377,19 @@ - (void)sendVoiceMessageWithPath:(NSString *)voicePath time:(NSTimeInterval)reco timestamp:LCCK_CURRENT_TIMESTAMP serverMessageId:nil]; [self makeSureSendValidMessage:message afterFetchedConversationShouldWithAssert:NO]; - [[NSNotificationCenter defaultCenter] postNotificationName:RNNotificationName object:@{ - @"USER_SEX": self.peerSex, - @"USER_ICON": self.peerIcon, - @"USER_NAME": self.peerName, - @"USER_ID": self.peerID, - @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", - @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], - @"CHAT_MESSAGE":@"语音消息" - }]; + [[NSNotificationCenter defaultCenter] + postNotificationName:RNNotificationName + object:@{ + @"USER_SEX": self.peerSex, + @"USER_ICON": self.peerIcon, + @"USER_NAME": self.peerName, + @"READ":@YES, + @"MSG_TYPE": self.messageType, + @"USER_ID": self.peerID, + @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], + @"CHAT_MESSAGE":@"语音消息" + }]; [self.chatViewModel sendMessage:message]; } diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h index 0e8ec166..49b30ec2 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h @@ -37,6 +37,7 @@ typedef void (^LCCKSendMessageSuccessFailedBlock)(NSString *messageUUID, NSError @property (nonatomic, copy) NSString *peerName; @property (nonatomic, copy) NSString *peerID; @property (nonatomic, copy) NSString *peerSex; +@property (nonatomic, copy) NSString *messageType; @property (nonatomic, weak) id delegate; diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m index f3cf83a0..ededafc8 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m @@ -486,20 +486,25 @@ - (void)sendMessage:(id)aMessage avimTypedMessage = [AVIMTypedMessage lcck_messageWithLCCKMessage:message]; + id defSender = [[LCCKUserSystemService sharedInstance] fetchCurrentUser]; + NSString *ICON_KEY = @"USER_ICON"; NSString *ID_KEY = @"USER_ID"; NSString *NAME_KEY = @"USER_NAME"; NSString *SEX_KEY = @"USER_SEX"; + NSString *TYPE_KEY = @"MSG_TYPE"; - NSString *ICON_VAL = [json objectForKey:ICON_KEY]; - NSString *ID_VAL = [json objectForKey:ID_KEY]; - NSString *NAME_VAL = [json objectForKey:NAME_KEY]; - NSString *SEX_VAL = [json objectForKey:SEX_KEY]; + NSString *ICON_VAL = defSender.avatarURL.absoluteString; + NSString *ID_VAL = defSender.clientId; + NSString *NAME_VAL = defSender.name; + NSString *SEX_VAL = defSender.sex; + NSString *TYPE_VAL = self.messageType; [avimTypedMessage lcck_setObject:(ICON_VAL == nil ? @"" : ICON_VAL) forKey:ICON_KEY]; [avimTypedMessage lcck_setObject:(ID_VAL == nil ? @"" : ID_VAL) forKey:ID_KEY]; [avimTypedMessage lcck_setObject:(NAME_VAL == nil ? @"" : NAME_VAL) forKey:NAME_KEY]; [avimTypedMessage lcck_setObject:(SEX_VAL == nil ? @"" : SEX_VAL) forKey:SEX_KEY]; + [avimTypedMessage lcck_setObject:(TYPE_VAL == nil ? @"" : TYPE_VAL) forKey:TYPE_KEY]; message.message = avimTypedMessage; diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index fe81a2f8..3a9c59bb 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -360,6 +360,7 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV NSString *userIcon = userInformation[@"USER_ICON"]; NSString *userName = userInformation[@"USER_NAME"]; NSString *userId = userInformation[@"USER_ID"]; + NSString *msgType = userInformation[@"MSG_TYPE"]; NSString *path = [NSString stringWithFormat:@"%@/Documents/%@.BL",NSHomeDirectory(),_clientId]; NSFileManager *manager = [NSFileManager defaultManager]; NSMutableDictionary *block = [[NSMutableDictionary alloc] init]; @@ -400,6 +401,10 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV userId = userObj.clientId; } + if(msgType == nil) { + msgType = @""; + } + NSString * finalMessage = @""; if (userObj.mediaType == kAVIMMessageMediaTypeText) { @@ -416,11 +421,17 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV } } - [[NSNotificationCenter defaultCenter] postNotificationName:@"sendMessageToRNNotificationName" object:@{ - @"USER_SEX": userSex, @"USER_ICON": userIcon, @"USER_NAME": userName, @"USER_ID": userId, @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", - @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], - @"CHAT_MESSAGE":finalMessage - }]; + [[NSNotificationCenter defaultCenter] postNotificationName:@"sendMessageToRNNotificationName" + object:@{ + @"USER_SEX": userSex, + @"USER_ICON": userIcon, + @"USER_NAME": userName, + @"USER_ID": userId, + @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"MSG_TYPE": msgType, + @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], + @"CHAT_MESSAGE":finalMessage + }]; }; From 8512a6470e1e76b422082b4a995e78ff3d7b5979 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Wed, 1 Nov 2017 19:28:38 +0800 Subject: [PATCH 32/90] =?UTF-8?q?=E4=BF=AE=E6=94=B9pod=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index cd7c2213..ae6fd24c 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "1.10.31" + s.version = "1.11.1" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } From 2dedadd848204ce9e8908aa282e97e8d26503ed7 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Thu, 2 Nov 2017 18:44:59 +0800 Subject: [PATCH 33/90] =?UTF-8?q?=E5=A2=9E=E5=8A=A0conv=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- .../Module/Conversation/Model/LCCKConversationViewModel.m | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index ae6fd24c..5b617d6d 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "1.11.1" + s.version = "1.11.2" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m index ededafc8..b6baaa4c 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m @@ -493,18 +493,21 @@ - (void)sendMessage:(id)aMessage NSString *NAME_KEY = @"USER_NAME"; NSString *SEX_KEY = @"USER_SEX"; NSString *TYPE_KEY = @"MSG_TYPE"; + NSString *CONV_KEY = @"CONVERSATION_ID"; NSString *ICON_VAL = defSender.avatarURL.absoluteString; NSString *ID_VAL = defSender.clientId; NSString *NAME_VAL = defSender.name; NSString *SEX_VAL = defSender.sex; NSString *TYPE_VAL = self.messageType; + NSString *CONV_VAL = self.currentConversationId; [avimTypedMessage lcck_setObject:(ICON_VAL == nil ? @"" : ICON_VAL) forKey:ICON_KEY]; [avimTypedMessage lcck_setObject:(ID_VAL == nil ? @"" : ID_VAL) forKey:ID_KEY]; [avimTypedMessage lcck_setObject:(NAME_VAL == nil ? @"" : NAME_VAL) forKey:NAME_KEY]; [avimTypedMessage lcck_setObject:(SEX_VAL == nil ? @"" : SEX_VAL) forKey:SEX_KEY]; [avimTypedMessage lcck_setObject:(TYPE_VAL == nil ? @"" : TYPE_VAL) forKey:TYPE_KEY]; + [avimTypedMessage lcck_setObject:(CONV_VAL == nil ? @"" : CONV_VAL) forKey:CONV_KEY]; message.message = avimTypedMessage; From d447e5f81af65261af5607419659126210a10ee5 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Fri, 3 Nov 2017 11:01:52 +0800 Subject: [PATCH 34/90] =?UTF-8?q?=E5=A2=9E=E5=8A=A0conv=5Fid=E7=BB=99rn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- .../Controller/LCCKConversationViewController.m | 3 +++ ChatKit/Class/Tool/Service/LCCKSessionService.m | 6 ++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 5b617d6d..9a395612 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "1.11.2" + s.version = "1.11.3" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index 6b617da9..af67baa4 100644 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -311,6 +311,7 @@ - (void)sendTextMessage:(NSString *)text { @"MSG_TYPE": self.messageType, @"USER_ICON": self.peerIcon, @"USER_NAME": self.peerName, + @"CONVERSATION_ID": self.conversationId, @"USER_ID": self.peerID, @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], @@ -357,6 +358,7 @@ - (void)sendImageMessageData:(NSData *)imageData { @"READ":@YES, @"MSG_TYPE": self.messageType, @"USER_NAME": self.peerName, + @"CONVERSATION_ID": self.conversationId, @"USER_ID": self.peerID, @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], @@ -383,6 +385,7 @@ - (void)sendVoiceMessageWithPath:(NSString *)voicePath time:(NSTimeInterval)reco @"USER_SEX": self.peerSex, @"USER_ICON": self.peerIcon, @"USER_NAME": self.peerName, + @"CONVERSATION_ID": self.conversationId, @"READ":@YES, @"MSG_TYPE": self.messageType, @"USER_ID": self.peerID, diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index 3a9c59bb..3048f042 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -359,6 +359,7 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV NSString *userSex = userInformation[@"USER_SEX"]; NSString *userIcon = userInformation[@"USER_ICON"]; NSString *userName = userInformation[@"USER_NAME"]; + NSString *convId = userInformation[@"CONVERSATION_ID"]; NSString *userId = userInformation[@"USER_ID"]; NSString *msgType = userInformation[@"MSG_TYPE"]; NSString *path = [NSString stringWithFormat:@"%@/Documents/%@.BL",NSHomeDirectory(),_clientId]; @@ -405,6 +406,10 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV msgType = @""; } + if(convId == nil) { + convId = @""; + } + NSString * finalMessage = @""; if (userObj.mediaType == kAVIMMessageMediaTypeText) { @@ -427,6 +432,7 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV @"USER_ICON": userIcon, @"USER_NAME": userName, @"USER_ID": userId, + @"CONVERSATION_ID": convId, @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", @"MSG_TYPE": msgType, @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], From c11add88fc38639519fff5cf7f5ddee806889d5d Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Wed, 8 Nov 2017 12:02:57 +0800 Subject: [PATCH 35/90] =?UTF-8?q?=E6=9B=B4=E6=96=B0chatkit=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81iOS=2011=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- ChatKit/Class/Module/Base/LCCKBaseTableViewController.m | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 9a395612..7b14b5ca 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "1.11.3" + s.version = "1.11.8" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/ChatKit/Class/Module/Base/LCCKBaseTableViewController.m b/ChatKit/Class/Module/Base/LCCKBaseTableViewController.m index ce5b65fe..ab18e29e 100644 --- a/ChatKit/Class/Module/Base/LCCKBaseTableViewController.m +++ b/ChatKit/Class/Module/Base/LCCKBaseTableViewController.m @@ -51,6 +51,14 @@ - (UITableView *)tableView { tableView.dataSource = self; tableView.tableFooterView = [[UIView alloc] init]; tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag; + + /* in iOS 11, estimating height is open in default. + if not close, the UITableView's `estimating height` will conflict with `FDTemplateLayoutCell`. + */ + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionFooterHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + [self.view addSubview:_tableView = tableView]; } return _tableView; From e5d3f7ce9b130443e6e03bdd10f3ea8a6f3f160a Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Tue, 28 Nov 2017 11:37:38 +0800 Subject: [PATCH 36/90] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug=20https://leanticke?= =?UTF-8?q?t.cn/tickets/14890=20chatkit=E8=81=8A=E5=A4=A9=EF=BC=8C?= =?UTF-8?q?=E6=9C=89=E4=BA=9B=E7=94=A8=E6=88=B7=E7=9A=84=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E8=A2=AB=E5=8F=91=E4=BA=86=E5=A4=9A=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- .../Module/Conversation/Model/LCCKConversationViewModel.m | 7 ++++--- ChatKit/Class/Tool/Service/LCCKConversationService.h | 6 +++++- ChatKit/Class/Tool/Service/LCCKConversationService.m | 5 +++++ 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 7b14b5ca..c2133662 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "1.11.8" + s.version = "1.11.28" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m index b6baaa4c..6eb30ad9 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m @@ -668,7 +668,7 @@ - (NSString *)currentConversationId { } - (void)loadMessagesFirstTimeWithCallback:(LCCKIdBoolResultBlock)callback { - [self queryAndCacheMessagesWithTimestamp:0 block:^(NSArray *avimTypedMessages, NSError *error) { + [self queryAndCacheMessagesWithTimestamp:0 messageId:nil block:^(NSArray *avimTypedMessages, NSError *error) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) { BOOL succeed = [self.parentConversationViewController filterAVIMError:error]; if (succeed) { @@ -692,7 +692,7 @@ - (void)loadMessagesFirstTimeWithCallback:(LCCKIdBoolResultBlock)callback { }]; } -- (void)queryAndCacheMessagesWithTimestamp:(int64_t)timestamp block:(AVIMArrayResultBlock)block { +- (void)queryAndCacheMessagesWithTimestamp:(int64_t)timestamp messageId:(NSString *)messageId block:(AVIMArrayResultBlock)block { if (self.parentConversationViewController.loadingMoreMessage) { return; } @@ -701,6 +701,7 @@ - (void)queryAndCacheMessagesWithTimestamp:(int64_t)timestamp block:(AVIMArrayRe } self.parentConversationViewController.loadingMoreMessage = YES; [[LCCKConversationService sharedInstance] queryTypedMessagesWithConversation:self.currentConversation + messageId:messageId timestamp:timestamp limit:kLCCKOnePageSize block:^(NSArray *avimTypedMessages, NSError *error) { @@ -723,7 +724,7 @@ - (void)queryAndCacheMessagesWithTimestamp:(int64_t)timestamp block:(AVIMArrayRe - (void)loadOldMessages { AVIMTypedMessage *msg = [self.avimTypedMessage lcck_messageAtIndex:0]; int64_t timestamp = msg.sendTimestamp; - [self queryAndCacheMessagesWithTimestamp:timestamp block:^(NSArray *avimTypedMessages, NSError *error) { + [self queryAndCacheMessagesWithTimestamp:timestamp messageId:msg.messageId block:^(NSArray *avimTypedMessages, NSError *error) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) { if ([self.parentConversationViewController filterAVIMError:error]) { NSMutableArray *lcckMessages = [[NSMutableArray lcck_messagesWithAVIMMessages:avimTypedMessages] mutableCopy]; diff --git a/ChatKit/Class/Tool/Service/LCCKConversationService.h b/ChatKit/Class/Tool/Service/LCCKConversationService.h index ff9441d0..7353e7f6 100644 --- a/ChatKit/Class/Tool/Service/LCCKConversationService.h +++ b/ChatKit/Class/Tool/Service/LCCKConversationService.h @@ -71,7 +71,11 @@ FOUNDATION_EXTERN NSString *const LCCKConversationServiceErrorDomain; progressBlock:(AVProgressBlock)progressBlock callback:(LCCKBooleanResultBlock)block; -- (void)queryTypedMessagesWithConversation:(AVIMConversation *)conversation timestamp:(int64_t)timestamp limit:(NSInteger)limit block:(LCCKArrayResultBlock)block; +- (void)queryTypedMessagesWithConversation:(AVIMConversation *)conversation + messageId:(NSString *)messageId + timestamp:(int64_t)timestamp + limit:(NSInteger)limit + block:(LCCKArrayResultBlock)block; /** * 删除对话对应的UIProfile缓存,比如当用户信息发生变化时 diff --git a/ChatKit/Class/Tool/Service/LCCKConversationService.m b/ChatKit/Class/Tool/Service/LCCKConversationService.m index 0c52e3ec..5a2f0042 100644 --- a/ChatKit/Class/Tool/Service/LCCKConversationService.m +++ b/ChatKit/Class/Tool/Service/LCCKConversationService.m @@ -713,6 +713,7 @@ - (void)setLoadLatestMessagesHandler:(LCCKLoadLatestMessagesHandler)loadLatestMe } - (void)queryTypedMessagesWithConversation:(AVIMConversation *)conversation + messageId:(NSString *)messageId timestamp:(int64_t)timestamp limit:(NSInteger)limit block:(AVIMArrayResultBlock)block { @@ -737,6 +738,10 @@ - (void)queryTypedMessagesWithConversation:(AVIMConversation *)conversation } else { //会先根据本地缓存判断是否有必要从服务端拉取,这个方法不能用于首次拉取 [conversation queryMessagesBeforeId:nil timestamp:timestamp limit:limit callback:callback]; + [conversation queryMessagesBeforeId:messageId + timestamp:timestamp + limit:limit + callback:callback]; } }); } From a90766e62f40e77f3e0227a5acf35b881d444c42 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Mon, 18 Dec 2017 20:09:09 +0800 Subject: [PATCH 37/90] =?UTF-8?q?=E6=94=AF=E6=8C=81=E7=BE=A4=E8=81=8A?= =?UTF-8?q?=E7=9A=84=E4=B8=AA=E4=BA=BA=E4=BF=A1=E6=81=AF=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- .../Conversation/Controller/LCCKConversationViewController.m | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index c2133662..4c2edb93 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "1.11.28" + s.version = "1.12.18" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index af67baa4..c348680f 100644 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -834,7 +834,8 @@ - (void)messageCellTappedHead:(LCCKChatMessageCell *)messageCell { if ([messageCell.message lcck_isCustomMessage]) { id sender = [[LCCKUserSystemService sharedInstance] getProfileForUserId:self.conversation.lcck_peerId error:nil]; if (sender != nil) { - !openProfileBlock ?: openProfileBlock(self.conversation.lcck_peerId, sender, self); + //!openProfileBlock ?: openProfileBlock(self.conversation.lcck_peerId, sender, self); + !openProfileBlock ?: openProfileBlock(((AVIMMessage *)messageCell.message).clientId, sender, self); } }else{ !openProfileBlock ?: openProfileBlock(messageCell.message.senderId, messageCell.message.sender, self); From b23436aebc109f33eee42af5f4058fd8de9e3170 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Wed, 20 Dec 2017 15:50:30 +0800 Subject: [PATCH 38/90] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=9D=A5=E6=BA=90=E7=9A=84=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- .../Controller/LCCKConversationViewController.h | 3 +++ .../Controller/LCCKConversationViewController.m | 3 +++ .../Module/Conversation/Model/LCCKConversationViewModel.m | 3 +++ ChatKit/Class/Tool/Service/LCCKSessionService.m | 6 ++++++ 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 4c2edb93..4b0c0480 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "1.12.18" + s.version = "1.12.20" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h index 23e03e3c..79820259 100644 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h @@ -24,6 +24,9 @@ FOUNDATION_EXTERN NSString *const LCCKConversationViewControllerErrorDomain; // 消息的类型:私聊还是群聊 @property (nonatomic, copy) NSString *messageType; +// 消息的来源:狼人杀还是小语 werewolf | xiaoyu +@property (nonatomic, copy) NSString *messageFromApp; + @property (nonatomic, copy) NSString *peerIcon; @property (nonatomic, copy) NSString *peerName; @property (nonatomic, copy) NSString *peerID; diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index c348680f..02d60a2c 100644 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -309,6 +309,7 @@ - (void)sendTextMessage:(NSString *)text { @"USER_SEX": self.peerSex, @"READ":@YES, @"MSG_TYPE": self.messageType, + @"APP": self.messageFromApp, @"USER_ICON": self.peerIcon, @"USER_NAME": self.peerName, @"CONVERSATION_ID": self.conversationId, @@ -357,6 +358,7 @@ - (void)sendImageMessageData:(NSData *)imageData { @"USER_ICON": self.peerIcon, @"READ":@YES, @"MSG_TYPE": self.messageType, + @"APP": self.messageFromApp, @"USER_NAME": self.peerName, @"CONVERSATION_ID": self.conversationId, @"USER_ID": self.peerID, @@ -388,6 +390,7 @@ - (void)sendVoiceMessageWithPath:(NSString *)voicePath time:(NSTimeInterval)reco @"CONVERSATION_ID": self.conversationId, @"READ":@YES, @"MSG_TYPE": self.messageType, + @"APP": self.messageFromApp, @"USER_ID": self.peerID, @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m index 6eb30ad9..3e823ca2 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m @@ -494,6 +494,7 @@ - (void)sendMessage:(id)aMessage NSString *SEX_KEY = @"USER_SEX"; NSString *TYPE_KEY = @"MSG_TYPE"; NSString *CONV_KEY = @"CONVERSATION_ID"; + NSString *APP_KEY = @"APP"; NSString *ICON_VAL = defSender.avatarURL.absoluteString; NSString *ID_VAL = defSender.clientId; @@ -501,6 +502,7 @@ - (void)sendMessage:(id)aMessage NSString *SEX_VAL = defSender.sex; NSString *TYPE_VAL = self.messageType; NSString *CONV_VAL = self.currentConversationId; + NSString *APP_VAL = self.messageFromApp; [avimTypedMessage lcck_setObject:(ICON_VAL == nil ? @"" : ICON_VAL) forKey:ICON_KEY]; [avimTypedMessage lcck_setObject:(ID_VAL == nil ? @"" : ID_VAL) forKey:ID_KEY]; @@ -508,6 +510,7 @@ - (void)sendMessage:(id)aMessage [avimTypedMessage lcck_setObject:(SEX_VAL == nil ? @"" : SEX_VAL) forKey:SEX_KEY]; [avimTypedMessage lcck_setObject:(TYPE_VAL == nil ? @"" : TYPE_VAL) forKey:TYPE_KEY]; [avimTypedMessage lcck_setObject:(CONV_VAL == nil ? @"" : CONV_VAL) forKey:CONV_KEY]; + [avimTypedMessage lcck_setObject:(APP_VAL == nil ? @"" : APP_VAL) forKey:APP_KEY]; message.message = avimTypedMessage; diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index 3048f042..dd619fe1 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -362,6 +362,7 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV NSString *convId = userInformation[@"CONVERSATION_ID"]; NSString *userId = userInformation[@"USER_ID"]; NSString *msgType = userInformation[@"MSG_TYPE"]; + NSString *fromApp = userInformation[@"APP"]; NSString *path = [NSString stringWithFormat:@"%@/Documents/%@.BL",NSHomeDirectory(),_clientId]; NSFileManager *manager = [NSFileManager defaultManager]; NSMutableDictionary *block = [[NSMutableDictionary alloc] init]; @@ -386,6 +387,10 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV [self playLoudReceiveSoundIfNeededForConversation:conversation]; } + if(fromApp == nil) { + fromApp = @""; + } + if(userSex == nil) { userSex = @""; } @@ -435,6 +440,7 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV @"CONVERSATION_ID": convId, @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", @"MSG_TYPE": msgType, + @"APP": fromApp, @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], @"CHAT_MESSAGE":finalMessage }]; From 0b47be543ed5ba2bc82d7a6d7e1f41a6c586f381 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Wed, 20 Dec 2017 17:41:43 +0800 Subject: [PATCH 39/90] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Class/Module/Conversation/Model/LCCKConversationViewModel.h | 1 + 1 file changed, 1 insertion(+) diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h index 49b30ec2..e5386b61 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h @@ -38,6 +38,7 @@ typedef void (^LCCKSendMessageSuccessFailedBlock)(NSString *messageUUID, NSError @property (nonatomic, copy) NSString *peerID; @property (nonatomic, copy) NSString *peerSex; @property (nonatomic, copy) NSString *messageType; +@property (nonatomic, copy) NSString *messageFromApp; @property (nonatomic, weak) id delegate; From bfacd723e557970ce23accc0cda9b56643575296 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Wed, 20 Dec 2017 18:15:41 +0800 Subject: [PATCH 40/90] =?UTF-8?q?=E4=BC=A0=E9=80=92=E5=88=B0=E4=B8=8A?= =?UTF-8?q?=E4=B8=80=E5=B1=82=E7=9A=84class=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Conversation/Controller/LCCKConversationViewController.m | 1 + 1 file changed, 1 insertion(+) diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index 02d60a2c..cd130b46 100644 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -207,6 +207,7 @@ - (LCCKConversationViewModel *)chatViewModel { _chatViewModel.peerName = self.peerName; _chatViewModel.peerID = self.peerID; _chatViewModel.messageType = self.messageType; + _chatViewModel.messageFromApp = self.messageFromApp; return _chatViewModel; } From b45c5cf6c031f5bc8ce3c617edcff4260055060d Mon Sep 17 00:00:00 2001 From: Yang Date: Wed, 14 Feb 2018 11:45:57 +0800 Subject: [PATCH 41/90] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=A4=B4=E5=83=8F=E4=BC=9A=E5=B4=A9=E6=BA=83=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ChatMessageCell/LCCKChatMessageCell.m | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m index 13946870..8a7a9dab 100644 --- a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m +++ b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m @@ -334,47 +334,47 @@ - (void)configureCellWithData:(id)message { NSString *icon = [json objectForKey: @"USER_ICON"]; NSURL *url = [NSURL URLWithString:icon]; avatarURL = url; - if(icon == nil - || (icon != nil && [icon isEqualToString:@""])) { - avatarURL = self.message.sender.avatarURL; - } - - if(avatarURL == nil - || (avatarURL != nil && [avatarURL.absoluteString isEqualToString:@""])) { - id defSender = [[LCCKUserSystemService sharedInstance] fetchCurrentUser]; - avatarURL = defSender.avatarURL; - } +// if(icon == nil +// || (icon != nil && [icon isEqualToString:@""])) { +// avatarURL = self.message.sender.avatarURL; +// } +// +// if(avatarURL == nil +// || (avatarURL != nil && [avatarURL.absoluteString isEqualToString:@""])) { +// id defSender = [[LCCKUserSystemService sharedInstance] fetchCurrentUser]; +// avatarURL = defSender.avatarURL; +// } LCCKMessageSendState sendStatus; if ([message lcck_isCustomMessage]) { NSString *senderClientId = [(AVIMTypedMessage *)message clientId]; NSError *error; //TODO:如果我正在群里聊天,这时有人进入群聊,需要异步获取头像等信息,模仿ConversationList的做法。 -// [[LCCKUserSystemService sharedInstance] getCachedProfileIfExists:senderClientId name:&nickName avatarURL:&avatarURL error:&error]; -// if (!nickName) { -// nickName = senderClientId; -// NSString *name = [json objectForKey: @"USER_NAME"]; -// if (name != nil) { -// nickName = name; -// } -// } + [[LCCKUserSystemService sharedInstance] getCachedProfileIfExists:senderClientId name:&nickName avatarURL:&avatarURL error:&error]; + if (!nickName) { + nickName = senderClientId; + NSString *name = [json objectForKey: @"USER_NAME"]; + if (name != nil) { + nickName = name; + } + } self.message = message; sendStatus = (LCCKMessageSendState)[(AVIMTypedMessage *)message status]; } else { self.message = message; -// NSString *name = [json objectForKey: @"USER_NAME"]; -// if (name != nil) { -// nickName = name; -// } -// if(!nickName) { -// nickName = self.message.localDisplayName; -// } -// NSString *icon = [json objectForKey: @"USER_ICON"]; -// NSURL *url = [NSURL URLWithString:icon]; -// avatarURL = url; -// if(!avatarURL) { -// avatarURL = self.message.sender.avatarURL; -// } + NSString *name = [json objectForKey: @"USER_NAME"]; + if (name != nil) { + nickName = name; + } + if(!nickName) { + nickName = self.message.localDisplayName; + } + NSString *icon = [json objectForKey: @"USER_ICON"]; + NSURL *url = [NSURL URLWithString:icon]; + avatarURL = url; + if(!avatarURL) { + avatarURL = self.message.sender.avatarURL; + } sendStatus = self.message.sendStatus; //FIXME: SDK 暂不支持已读未读 // if ([(LCCKMessage *)message messageReadState]) { From b11cb4d023c2874eb3796d40bf99749aeef35428 Mon Sep 17 00:00:00 2001 From: Yang Date: Wed, 14 Feb 2018 15:55:22 +0800 Subject: [PATCH 42/90] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Conversation/View/ChatMessageCell/LCCKChatMessageCell.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m index 8a7a9dab..e2507103 100644 --- a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m +++ b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m @@ -316,7 +316,7 @@ - (void)configureCellWithData:(id)message { NSURL *avatarURL = nil; NSString* payload = @""; - + //看到这句话,你已经更新了2018.0214的代码了 if([message isKindOfClass: [AVIMMessage class]]) { payload = ((AVIMMessage *)message).payload; } else if([message isKindOfClass: [LCCKMessage class]]) { @@ -338,7 +338,7 @@ - (void)configureCellWithData:(id)message { // || (icon != nil && [icon isEqualToString:@""])) { // avatarURL = self.message.sender.avatarURL; // } -// +// // if(avatarURL == nil // || (avatarURL != nil && [avatarURL.absoluteString isEqualToString:@""])) { // id defSender = [[LCCKUserSystemService sharedInstance] fetchCurrentUser]; From e4901e22cbccfd723ae90ade2e6437764bc437e8 Mon Sep 17 00:00:00 2001 From: Yang Date: Fri, 9 Mar 2018 14:04:12 +0800 Subject: [PATCH 43/90] =?UTF-8?q?=E8=BF=87=E6=BB=A4=E6=9A=82=E6=80=81?= =?UTF-8?q?=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Class/Tool/Service/LCCKSessionService.m | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index dd619fe1..f212f94a 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -430,20 +430,24 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV finalMessage = @"收到新消息"; } } - - [[NSNotificationCenter defaultCenter] postNotificationName:@"sendMessageToRNNotificationName" - object:@{ - @"USER_SEX": userSex, - @"USER_ICON": userIcon, - @"USER_NAME": userName, - @"USER_ID": userId, - @"CONVERSATION_ID": convId, - @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", - @"MSG_TYPE": msgType, - @"APP": fromApp, - @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], - @"CHAT_MESSAGE":finalMessage - }]; + BOOL isTransient = userObj.transient; + if (isTransient) { + //暂态消息不回转发 + }else{ + [[NSNotificationCenter defaultCenter] postNotificationName:@"sendMessageToRNNotificationName" + object:@{ + @"USER_SEX": userSex, + @"USER_ICON": userIcon, + @"USER_NAME": userName, + @"USER_ID": userId, + @"CONVERSATION_ID": convId, + @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"MSG_TYPE": msgType, + @"APP": fromApp, + @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], + @"CHAT_MESSAGE":finalMessage + }]; + } }; From ff953e32a642791885cdf3a29820f18c0586de15 Mon Sep 17 00:00:00 2001 From: Yang Date: Fri, 9 Mar 2018 14:05:33 +0800 Subject: [PATCH 44/90] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/Class/Tool/Service/LCCKSessionService.m | 1 + 1 file changed, 1 insertion(+) diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index f212f94a..c3656606 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -430,6 +430,7 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV finalMessage = @"收到新消息"; } } + //edit by no02 20180309 BOOL isTransient = userObj.transient; if (isTransient) { //暂态消息不回转发 From 7f9d3a05d63aea4fe6942f7a01fa227096415832 Mon Sep 17 00:00:00 2001 From: Yang Date: Wed, 14 Mar 2018 15:15:31 +0800 Subject: [PATCH 45/90] =?UTF-8?q?=E6=94=B6=E5=88=B0=E6=9A=82=E6=80=81?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=B8=8D=E6=92=AD=E6=94=BE=E5=A3=B0=E9=9F=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/Class/Tool/Service/LCCKSessionService.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index c3656606..916cab30 100644 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -384,7 +384,10 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV [[LCCKConversationService sharedInstance] increaseUnreadCount:filterdMessages.count withConversationId:conversation.conversationId shouldRefreshWhenFinished:NO]; // - 播放接收音 if (!isUnreadMessage) { - [self playLoudReceiveSoundIfNeededForConversation:conversation]; + BOOL isTransient = userObj.transient; + if (isTransient == NO) { + [self playLoudReceiveSoundIfNeededForConversation:conversation]; + } } if(fromApp == nil) { From 3c8c5424902b9db364258674b89cb03c1674e088 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Mon, 26 Mar 2018 18:47:33 +0800 Subject: [PATCH 46/90] =?UTF-8?q?=E6=9B=B4=E6=96=B0chatkit=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=88=B0=20180326?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 4b0c0480..89572219 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "1.12.20" + s.version = "1.180326" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } From d9d6ba0f12196e04c41e9491aec4055508ac43d1 Mon Sep 17 00:00:00 2001 From: xiaozao Date: Wed, 13 Jun 2018 18:14:39 +0800 Subject: [PATCH 47/90] =?UTF-8?q?=E6=9C=80=E5=8E=9F=E5=A7=8B=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E4=B8=8E=E6=9C=80=E6=96=B0=E7=89=88=E6=9C=AC=E5=90=88?= =?UTF-8?q?=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/Class/LCChatKit.h | 0 ChatKit/Class/LCChatKit.m | 0 ChatKit/Class/Model/AVIMMessage+LCCKExtension.h | 0 ChatKit/Class/Model/AVIMMessage+LCCKExtension.m | 0 .../Model/AVIMTypedMessage+LCCKExtension.h | 0 .../Model/AVIMTypedMessage+LCCKExtension.m | 0 ChatKit/Class/Model/LCCKMessage.h | 0 ChatKit/Class/Model/LCCKMessage.m | 0 ChatKit/Class/Model/LCCKMessageDelegate.h | 0 ChatKit/Class/Model/LCCKUserDelegate.h | 0 .../Model/NSMutableArray+LCCKMessageExtention.h | 0 .../Model/NSMutableArray+LCCKMessageExtention.m | 0 ChatKit/Class/Model/NSObject+LCCKExtension.h | 0 ChatKit/Class/Model/NSObject+LCCKExtension.m | 0 .../Base/LCCKBaseConversationViewController.h | 0 .../Base/LCCKBaseConversationViewController.m | 0 .../Module/Base/LCCKBaseNavigationController.h | 0 .../Module/Base/LCCKBaseNavigationController.m | 0 .../Module/Base/LCCKBaseTableViewController.h | 0 .../Module/Base/LCCKBaseTableViewController.m | 0 .../Class/Module/Base/LCCKBaseViewController.h | 0 .../Class/Module/Base/LCCKBaseViewController.m | 0 .../Controller/LCCKContactListViewController.h | 0 .../Controller/LCCKContactListViewController.m | 0 .../Module/ContactList/Model/LCCKContact.h | 0 .../Module/ContactList/Model/LCCKContact.m | 0 .../Module/ContactList/View/LCCKContactCell.h | 0 .../Module/ContactList/View/LCCKContactCell.m | 0 .../Module/ContactList/View/LCCKContactCell.xib | 0 .../Controller/LCCKConversationViewController.h | 0 .../Controller/LCCKConversationViewController.m | 0 .../Controller/LCCKLocationController.h | 0 .../Controller/LCCKLocationController.m | 0 .../LCCKTextFullScreenViewController.h | 0 .../LCCKTextFullScreenViewController.m | 0 .../Model/AVIMConversation+LCCKExtension.h | 0 .../Model/AVIMConversation+LCCKExtension.m | 0 .../Model/LCCKConversationViewModel.h | 0 .../Model/LCCKConversationViewModel.m | 16 ++++------------ .../DisableImageMemoryCache/LCCKImageManager.h | 0 .../DisableImageMemoryCache/LCCKImageManager.m | 0 .../DisableImageMemoryCache/LCCKWeakReference.h | 0 .../DisableImageMemoryCache/LCCKWeakReference.m | 0 .../NSBundle+LCCKCaleArray.m | 0 .../NSBundle+LCCKSCaleArray.h | 0 .../NSMutableDictionary+LCCKWeakReference.h | 0 .../NSMutableDictionary+LCCKWeakReference.m | 0 .../NSString+LCCKAddScale.h | 0 .../NSString+LCCKAddScale.m | 0 .../Conversation/Tool/LCCKAVAudioPlayer.h | 0 .../Conversation/Tool/LCCKAVAudioPlayer.m | 0 .../Conversation/Tool/LCCKBubbleImageFactory.h | 0 .../Conversation/Tool/LCCKBubbleImageFactory.m | 0 .../Tool/LCCKCellIdentifierFactory.h | 0 .../Tool/LCCKCellIdentifierFactory.m | 0 .../Tool/LCCKCellRegisterController.h | 0 .../Tool/LCCKCellRegisterController.m | 0 .../Class/Module/Conversation/Tool/LCCKChat.h | 0 .../Module/Conversation/Tool/LCCKChatUntiles.h | 0 .../Module/Conversation/Tool/LCCKFaceManager.h | 0 .../Module/Conversation/Tool/LCCKFaceManager.m | 0 .../Tool/LCCKLastMessageTypeManager.h | 0 .../Tool/LCCKLastMessageTypeManager.m | 0 .../Conversation/Tool/LCCKLocationManager.h | 0 .../Conversation/Tool/LCCKLocationManager.m | 0 .../Conversation/Tool/LCCKMessageVoiceFactory.h | 0 .../Conversation/Tool/LCCKMessageVoiceFactory.m | 0 .../Module/Conversation/Tool/LCCKSoundManager.h | 0 .../Module/Conversation/Tool/LCCKSoundManager.m | 0 .../Conversation/View/ChatBar/LCCKChatBar.h | 0 .../Conversation/View/ChatBar/LCCKChatBar.m | 0 .../View/ChatBar/LCCKChatFaceView.h | 0 .../View/ChatBar/LCCKChatFaceView.m | 0 .../View/ChatBar/LCCKChatMoreView.h | 0 .../View/ChatBar/LCCKChatMoreView.m | 0 .../View/ChatBar/LCCKFacePageView.h | 0 .../View/ChatBar/LCCKFacePageView.m | 0 .../View/ChatBar/LCCKInputViewPlugin.h | 0 .../View/ChatBar/LCCKInputViewPlugin.m | 0 .../View/ChatBar/LCCKInputViewPluginLocation.h | 0 .../View/ChatBar/LCCKInputViewPluginLocation.m | 0 .../View/ChatBar/LCCKInputViewPluginPickImage.h | 0 .../View/ChatBar/LCCKInputViewPluginPickImage.m | 0 .../View/ChatBar/LCCKInputViewPluginTakePhoto.h | 0 .../View/ChatBar/LCCKInputViewPluginTakePhoto.m | 0 .../Conversation/View/ChatBar/LCCKProgressHUD.h | 0 .../Conversation/View/ChatBar/LCCKProgressHUD.m | 0 .../ChatMessageCell/LCCKChatImageMessageCell.h | 0 .../ChatMessageCell/LCCKChatImageMessageCell.m | 0 .../LCCKChatLocationMessageCell.h | 0 .../LCCKChatLocationMessageCell.m | 0 .../View/ChatMessageCell/LCCKChatMessageCell.h | 0 .../View/ChatMessageCell/LCCKChatMessageCell.m | 0 .../ChatMessageCell/LCCKChatSystemMessageCell.h | 0 .../ChatMessageCell/LCCKChatSystemMessageCell.m | 0 .../ChatMessageCell/LCCKChatTextMessageCell.h | 0 .../ChatMessageCell/LCCKChatTextMessageCell.m | 0 .../ChatMessageCell/LCCKChatVoiceMessageCell.h | 0 .../ChatMessageCell/LCCKChatVoiceMessageCell.m | 0 .../View/ChatMessageCell/LCCKContentView.h | 0 .../View/ChatMessageCell/LCCKContentView.m | 0 .../ChatMessageCell/LCCKMessageSendStateView.h | 0 .../ChatMessageCell/LCCKMessageSendStateView.m | 0 .../View/LCCKConversationNavigationTitleView.h | 0 .../View/LCCKConversationNavigationTitleView.m | 0 .../Module/Conversation/View/LCCKMenuItem.h | 0 .../Module/Conversation/View/LCCKMenuItem.m | 0 .../LCCKConversationListViewController.h | 0 .../LCCKConversationListViewController.m | 0 .../Model/LCCKConversationListViewModel.h | 0 .../Model/LCCKConversationListViewModel.m | 0 .../View/LCCKConversationListCell.h | 0 .../View/LCCKConversationListCell.m | 0 .../barbuttonicon_Camera@2x.png | Bin .../barbuttonicon_Camera@3x.png | Bin .../barbuttonicon_InfoMulti@2x.png | Bin .../barbuttonicon_InfoMulti@3x.png | Bin .../barbuttonicon_InfoSingle@2x.png | Bin .../barbuttonicon_InfoSingle@3x.png | Bin .../barbuttonicon_Operate@2x.png | Bin .../barbuttonicon_Operate@3x.png | Bin .../barbuttonicon_add@2x.png | Bin .../barbuttonicon_add@3x.png | Bin .../barbuttonicon_addfriends@2x.png | Bin .../barbuttonicon_addfriends@3x.png | Bin .../barbuttonicon_back@2x.png | Bin .../barbuttonicon_back@3x.png | Bin .../barbuttonicon_back_cube@2x.png | Bin .../barbuttonicon_back_cube@3x.png | Bin .../barbuttonicon_delete@2x.png | Bin .../barbuttonicon_delete@3x.png | Bin .../barbuttonicon_more@2x.png | Bin .../barbuttonicon_more@3x.png | Bin .../barbuttonicon_more_black@2x.png | Bin .../barbuttonicon_more_black@3x.png | Bin .../barbuttonicon_more_cube@2x.png | Bin .../barbuttonicon_more_cube@3x.png | Bin .../barbuttonicon_question@2x.png | Bin .../barbuttonicon_question@3x.png | Bin .../barbuttonicon_set@2x.png | Bin .../barbuttonicon_set@3x.png | Bin .../ChatKeyboard.bundle/ToolViewEmotion@2x.png | Bin .../ChatKeyboard.bundle/ToolViewEmotion@3x.png | Bin .../ToolViewEmotionHL@2x.png | Bin .../ToolViewEmotionHL@3x.png | Bin .../ToolViewInputVoice@2x.png | Bin .../ToolViewInputVoice@3x.png | Bin .../ToolViewInputVoiceHL@2x.png | Bin .../ToolViewInputVoiceHL@3x.png | Bin .../ChatKeyboard.bundle/ToolViewKeyboard@2x.png | Bin .../ChatKeyboard.bundle/ToolViewKeyboard@3x.png | Bin .../ToolViewKeyboardHL@2x.png | Bin .../ToolViewKeyboardHL@3x.png | Bin .../TypeSelectorBtnHL_Black@2x.png | Bin .../TypeSelectorBtnHL_Black@3x.png | Bin .../TypeSelectorBtn_Black@2x.png | Bin .../TypeSelectorBtn_Black@3x.png | Bin .../ChatKeyboard.bundle/VoiceBtn_Black@2x.png | Bin .../ChatKeyboard.bundle/VoiceBtn_Black@3x.png | Bin .../ChatKeyboard.bundle/VoiceBtn_BlackHL@2x.png | Bin .../ChatKeyboard.bundle/VoiceBtn_BlackHL@3x.png | Bin .../chat_bar_emoji_highlight@2x.png | Bin .../chat_bar_emoji_normal@2x.png | Bin .../chat_bar_face_highlight@3x.png | Bin .../chat_bar_face_normal@3x.png | Bin .../chat_bar_icons_camera@3x.png | Bin .../chat_bar_icons_location@3x.png | Bin .../chat_bar_icons_pic@3x.png | Bin .../chat_bar_input_normal@2x.png | Bin .../chat_bar_more_highlight@3x.png | Bin .../chat_bar_more_normal@3x.png | Bin .../chat_bar_picture_normal@2x.png | Bin .../chat_bar_recent_highlight@2x.png | Bin .../chat_bar_recent_normal@2x.png | Bin .../chat_bar_record_circle@2x.png | Bin .../chat_bar_voice_normal@2x.png | Bin .../ChatKeyboard.bundle/input_bar_flat@2x.png | Bin .../input_field_cover@2x.png | Bin .../location_green_icon@2x.png | Bin .../preview_background@2x.png | Bin .../ChatKeyboard.bundle/sharemore_pic@2x.png | Bin .../ChatKeyboard.bundle/sharemore_pic@3x.png | Bin .../ChatKeyboard.bundle/sharemore_video@2x.png | Bin .../ChatKeyboard.bundle/sharemore_video@3x.png | Bin .../show_user_location_normal@2x.png | Bin .../show_user_location_pressed@2x.png | Bin .../show_user_location_selected@2x.png | Bin .../DateTools.bundle/ar.lproj/DateTools.strings | Bin .../DateTools.bundle/bg.lproj/DateTools.strings | 0 .../DateTools.bundle/ca.lproj/DateTools.strings | 0 .../DateTools.bundle/cs.lproj/DateTools.strings | 0 .../DateTools.bundle/cy.lproj/DateTools.strings | 0 .../DateTools.bundle/da.lproj/DateTools.strings | 0 .../DateTools.bundle/de.lproj/DateTools.strings | 0 .../DateTools.bundle/en.lproj/DateTools.strings | 0 .../DateTools.bundle/es.lproj/DateTools.strings | 0 .../DateTools.bundle/eu.lproj/DateTools.strings | 0 .../DateTools.bundle/fi.lproj/DateTools.strings | 0 .../DateTools.bundle/fr.lproj/DateTools.strings | 0 .../gre.lproj/DateTools.strings | Bin .../DateTools.bundle/hu.lproj/DateTools.strings | 0 .../DateTools.bundle/id.lproj/DateTools.strings | 0 .../DateTools.bundle/is.lproj/DateTools.strings | 0 .../DateTools.bundle/it.lproj/DateTools.strings | 0 .../DateTools.bundle/ja.lproj/DateTools.strings | 0 .../DateTools.bundle/lv.lproj/DateTools.strings | 0 .../DateTools.bundle/nb.lproj/DateTools.strings | 0 .../DateTools.bundle/nl.lproj/DateTools.strings | 0 .../DateTools.bundle/pl.lproj/DateTools.strings | 0 .../pt-PT.lproj/DateTools.strings | 0 .../DateTools.bundle/pt.lproj/DateTools.strings | 0 .../DateTools.bundle/ru.lproj/DateTools.strings | 0 .../DateTools.bundle/sv.lproj/DateTools.strings | Bin .../DateTools.bundle/th.lproj/DateTools.strings | Bin .../DateTools.bundle/tr.lproj/DateTools.strings | 0 .../DateTools.bundle/uk.lproj/DateTools.strings | 0 .../DateTools.bundle/vi.lproj/DateTools.strings | 0 .../zh-Hans.lproj/DateTools.strings | 0 .../zh-Hant.lproj/DateTools.strings | 0 ...344\271\210\344\271\210\345\223\222]@2x.png" | Bin ...344\271\210\344\271\210\345\223\222]@3x.png" | Bin .../[\345\201\267\347\254\221]@2x.png" | Bin .../[\345\201\267\347\254\221]@3x.png" | Bin .../[\345\202\262\346\205\242]@2x.png" | Bin .../[\345\202\262\346\205\242]@3x.png" | Bin .../[\345\210\240\351\231\244]@2x.png" | Bin .../[\345\217\257\346\200\234]@2x.png" | Bin .../[\345\217\257\346\200\234]@3x.png" | Bin .../[\345\217\257\347\210\261]@2x.png" | Bin .../[\345\217\257\347\210\261]@3x.png" | Bin ...345\217\263\345\223\274\345\223\274]@2x.png" | Bin ...345\217\263\345\223\274\345\223\274]@3x.png" | Bin .../Emoji.bundle/[\345\220\220]@2x.png" | Bin .../Emoji.bundle/[\345\220\220]@3x.png" | Bin .../Emoji.bundle/[\345\220\223]@2x.png" | Bin .../Emoji.bundle/[\345\220\223]@3x.png" | Bin .../[\345\222\222\351\252\202]@2x.png" | Bin .../[\345\222\222\351\252\202]@3x.png" | Bin .../Emoji.bundle/[\345\233\260]@2x.png" | Bin .../Emoji.bundle/[\345\233\260]@3x.png" | Bin .../[\345\235\217\347\254\221]@2x.png" | Bin .../[\345\235\217\347\254\221]@3x.png" | Bin .../[\345\244\247\345\223\255]@2x.png" | Bin .../[\345\244\247\345\223\255]@3x.png" | Bin .../[\345\245\213\346\226\227]@2x.png" | Bin .../[\345\245\213\346\226\227]@3x.png" | Bin .../[\345\256\263\347\276\236]@2x.png" | Bin .../[\345\256\263\347\276\236]@3x.png" | Bin ...345\267\246\345\223\274\345\223\274]@2x.png" | Bin ...345\267\246\345\223\274\345\223\274]@3x.png" | Bin .../[\345\267\256\345\212\262]@2x.png" | Bin .../[\345\267\256\345\212\262]@3x.png" | Bin ...345\277\203\347\242\216\344\272\206]@2x.png" | Bin ...345\277\203\347\242\216\344\272\206]@3x.png" | Bin ...345\277\253\345\223\255\344\272\206]@2x.png" | Bin ...345\277\253\345\223\255\344\272\206]@3x.png" | Bin .../Emoji.bundle/[\346\200\222]@2x.png" | Bin .../Emoji.bundle/[\346\200\222]@3x.png" | Bin .../[\346\203\212\346\201\220]@2x.png" | Bin .../[\346\203\212\346\201\220]@3x.png" | Bin .../[\346\203\212\350\256\266]@2x.png" | Bin .../[\346\203\212\350\256\266]@3x.png" | Bin .../[\346\212\223\347\213\202]@2x.png" | Bin .../[\346\212\223\347\213\202]@3x.png" | Bin .../[\346\212\240\351\274\273]@2x.png" | Bin .../[\346\212\240\351\274\273]@3x.png" | Bin .../[\346\212\261\346\212\261]@2x.png" | Bin .../[\346\212\261\346\212\261]@3x.png" | Bin .../[\346\222\207\345\230\264]@2x.png" | Bin .../[\346\222\207\345\230\264]@3x.png" | Bin .../[\346\223\246\346\261\227]@2x.png" | Bin .../[\346\223\246\346\261\227]@3x.png" | Bin .../Emoji.bundle/[\346\231\225]@2x.png" | Bin .../Emoji.bundle/[\346\231\225]@3x.png" | Bin .../[\346\265\201\346\263\252]@2x.png" | Bin .../[\346\265\201\346\263\252]@3x.png" | Bin .../[\347\210\261\345\277\203]@2x.png" | Bin .../[\347\210\261\345\277\203]@3x.png" | Bin .../[\347\214\252\345\244\264]@2x.png" | Bin .../[\347\214\252\345\244\264]@3x.png" | Bin .../[\347\226\221\351\227\256]@2x.png" | Bin .../[\347\226\221\351\227\256]@3x.png" | Bin .../[\347\235\241\350\247\211]@2x.png" | Bin .../[\347\235\241\350\247\211]@3x.png" | Bin .../[\347\244\272\347\210\261]@2x.png" | Bin .../[\347\244\272\347\210\261]@3x.png" | Bin .../Emoji.bundle/[\347\254\221cry]@2x.png" | Bin .../Emoji.bundle/[\347\254\221cry]@3x.png" | Bin ...347\263\227\345\244\247\344\272\206]@2x.png" | Bin ...347\263\227\345\244\247\344\272\206]@3x.png" | Bin .../Emoji.bundle/[\350\211\262]@2x.png" | Bin .../Emoji.bundle/[\350\211\262]@3x.png" | Bin .../Emoji.bundle/[\350\241\260]@2x.png" | Bin .../Emoji.bundle/[\350\241\260]@3x.png" | Bin .../[\350\260\203\347\232\256]@2x.png" | Bin .../[\350\260\203\347\232\256]@3x.png" | Bin .../[\351\204\231\350\247\206]@2x.png" | Bin .../[\351\204\231\350\247\206]@3x.png" | Bin .../[\351\227\255\345\230\264]@2x.png" | Bin .../[\351\227\255\345\230\264]@3x.png" | Bin .../[\351\274\223\346\216\214]@2x.png" | Bin .../[\351\274\223\346\216\214]@3x.png" | Bin .../[\351\276\207\347\211\231]@2x.png" | Bin .../[\351\276\207\347\211\231]@3x.png" | Bin ChatKit/Class/Resources/Emoji.bundle/face.plist | 0 .../LCCKPhotoBrowser_arrowLeft.png | Bin .../LCCKPhotoBrowser_arrowLeft@2x.png | Bin .../LCCKPhotoBrowser_arrowRight.png | Bin .../LCCKPhotoBrowser_arrowRight@2x.png | Bin .../LCCKPhotoBrowser_error.png | Bin .../LCCKPhotoBrowser_error@2x.png | Bin .../Resources/MBProgressHUD.bundle/error@2x.png | Bin .../MBProgressHUD.bundle/success@2x.png | Bin .../MessageBubble-Customize.plist | Bin .../MessageBubble_Location@2x.png | Bin .../MessageBubble_Receiver@2x.png | Bin .../MessageBubble_Sender@2x.png | Bin .../MessageBubble_Video@2x.png | Bin .../MessageBubble_Video@3x.png | Bin .../MessageBubble.bundle/MessageSendFail@2x.png | Bin .../MessageBubble.bundle/MessageSendFail@3x.png | Bin .../ReceiverVoiceNodePlaying000@2x.png | Bin .../ReceiverVoiceNodePlaying001@2x.png | Bin .../ReceiverVoiceNodePlaying002@2x.png | Bin .../ReceiverVoiceNodePlaying003@2x.png | Bin .../ReceiverVoiceNodePlaying@2x.png | Bin .../MessageBubble.bundle/RecordCancel@2x.png | Bin .../MessageBubble.bundle/RecordingBkg@2x.png | Bin .../RecordingSignal001@2x.png | Bin .../RecordingSignal002@2x.png | Bin .../RecordingSignal003@2x.png | Bin .../RecordingSignal004@2x.png | Bin .../RecordingSignal005@2x.png | Bin .../RecordingSignal006@2x.png | Bin .../RecordingSignal007@2x.png | Bin .../RecordingSignal008@2x.png | Bin .../SenderVoiceNodePlaying000@2x.png | Bin .../SenderVoiceNodePlaying001@2x.png | Bin .../SenderVoiceNodePlaying002@2x.png | Bin .../SenderVoiceNodePlaying003@2x.png | Bin .../SenderVoiceNodePlaying@2x.png | Bin .../VoiceMessage_Unread@2x.png | Bin ..._hollow_receiver_background_highlight@2x.png | Bin ..._hollow_receiver_background_highlight@3x.png | Bin ...age_hollow_receiver_background_normal@2x.png | Bin ...age_hollow_receiver_background_normal@3x.png | Bin ...ge_hollow_sender_background_highlight@2x.png | Bin ...ge_hollow_sender_background_highlight@3x.png | Bin ...ssage_hollow_sender_background_normal@2x.png | Bin ...ssage_hollow_sender_background_normal@3x.png | Bin ...message_receiver_background_highlight@2x.png | Bin ...message_receiver_background_highlight@3x.png | Bin .../message_receiver_background_normal@2x.png | Bin .../message_receiver_background_normal@3x.png | Bin .../message_sender_background_highlight@2x.png | Bin .../message_sender_background_highlight@3x.png | Bin .../message_sender_background_normal@2x.png | Bin .../message_sender_background_normal@3x.png | Bin .../Other.bundle/AddGroupMemberBtn@2x.png | Bin .../Other.bundle/AddGroupMemberBtnHL@2x.png | Bin .../Other.bundle/CellBlueSelected@2x.png | Bin .../Other.bundle/CellGraySelected@2x.png | Bin .../Other.bundle/ChatKit-Settings.plist | Bin .../Resources/Other.bundle/ChatKit-Theme.plist | Bin .../Connectkeyboad_banner_mute@2x.png | Bin .../Connectkeyboad_banner_mute@3x.png | Bin .../Resources/Other.bundle/Remind_Mute.png | Bin .../Other.bundle/SearchContactsBarIcon@2x.png | Bin .../Resources/Other.bundle/chatMuteOn@2x.png | Bin ...onViewController_default_backgroundImage.png | Bin .../en.lproj/LCChatKitString.strings | 0 .../Resources/Other.bundle/safari-icon.png | Bin .../Resources/Other.bundle/safari-icon@2x.png | Bin .../zh-Hans.lproj/LCChatKitString.strings | 0 .../Placeholder_Accept_Defeat@2x.png | Bin .../Placeholder_Avatar@2x.png | Bin .../Placeholder.bundle/Placeholder_Group@2x.png | Bin .../Placeholder.bundle/Placeholder_Image@2x.png | Bin .../VoiceMessageSource.bundle/loudReceive.caf | Bin .../VoiceMessageSource.bundle/receive.caf | Bin .../VoiceMessageSource.bundle/send.caf | Bin .../Tool/Categories/NSBundle+LCCKExtension.h | 0 .../Tool/Categories/NSBundle+LCCKExtension.m | 0 .../Categories/NSFileManager+LCCKExtension.h | 0 .../Categories/NSFileManager+LCCKExtension.m | 0 .../Tool/Categories/NSString+LCCKExtension.h | 0 .../Tool/Categories/NSString+LCCKExtension.m | 0 .../Class/Tool/Categories/NSString+LCCKMD5.h | 0 .../Class/Tool/Categories/NSString+LCCKMD5.m | 0 .../Tool/Categories/UIColor+LCCKExtension.h | 0 .../Tool/Categories/UIColor+LCCKExtension.m | 0 .../Tool/Categories/UIImage+LCCKExtension.h | 0 .../Tool/Categories/UIImage+LCCKExtension.m | 0 .../Tool/Categories/UIImageView+LCCKExtension.h | 0 .../Tool/Categories/UIImageView+LCCKExtension.m | 0 .../Tool/Categories/UIView+LCCKExtension.h | 0 .../Tool/Categories/UIView+LCCKExtension.m | 0 ChatKit/Class/Tool/ChatKitHeaders.h | 0 ChatKit/Class/Tool/LCCKConstants.h | 0 ChatKit/Class/Tool/LCCKServiceDefinition.h | 0 ChatKit/Class/Tool/LCCKSingleton.h | 0 ChatKit/Class/Tool/LCCKSingleton.m | 0 ChatKit/Class/Tool/LCChatKit_Internal.h | 0 .../Tool/Service/LCCKConversationListService.h | 0 .../Tool/Service/LCCKConversationListService.m | 0 .../Tool/Service/LCCKConversationService.h | 0 .../Tool/Service/LCCKConversationService.m | 0 ChatKit/Class/Tool/Service/LCCKSessionService.h | 0 ChatKit/Class/Tool/Service/LCCKSessionService.m | 0 ChatKit/Class/Tool/Service/LCCKSettingService.h | 0 ChatKit/Class/Tool/Service/LCCKSettingService.m | 0 .../Class/Tool/Service/LCCKSignatureService.h | 0 .../Class/Tool/Service/LCCKSignatureService.m | 0 ChatKit/Class/Tool/Service/LCCKUIService.h | 0 ChatKit/Class/Tool/Service/LCCKUIService.m | 0 .../Class/Tool/Service/LCCKUserSystemService.h | 0 .../Class/Tool/Service/LCCKUserSystemService.m | 0 .../Vendor/DateTools/LCCKDateToolsConstants.h | 0 ChatKit/Class/Tool/Vendor/DateTools/LCCKError.h | 0 ChatKit/Class/Tool/Vendor/DateTools/LCCKError.m | 0 .../Vendor/DateTools/NSDate+LCCKDateTools.h | 0 .../Vendor/DateTools/NSDate+LCCKDateTools.m | 0 .../LCCKAlertController/LCCKAlertController.h | 0 .../LCCKAlertController/LCCKAlertController.m | 0 .../Vendor/LCCKPhotoBrowser/LCCKCaptionView.h | 0 .../Vendor/LCCKPhotoBrowser/LCCKCaptionView.m | 0 .../Vendor/LCCKPhotoBrowser/LCCKPBConstants.h | 0 .../Tool/Vendor/LCCKPhotoBrowser/LCCKPhoto.h | 0 .../Tool/Vendor/LCCKPhotoBrowser/LCCKPhoto.m | 0 .../Vendor/LCCKPhotoBrowser/LCCKPhotoBrowser.h | 0 .../Vendor/LCCKPhotoBrowser/LCCKPhotoBrowser.m | 0 .../Vendor/LCCKPhotoBrowser/LCCKPhotoProtocol.h | 0 .../LCCKTapDetectingImageView.h | 0 .../LCCKTapDetectingImageView.m | 0 .../LCCKPhotoBrowser/LCCKTapDetectingView.h | 0 .../LCCKPhotoBrowser/LCCKTapDetectingView.m | 0 .../LCCKPhotoBrowser/LCCKZoomingScrollView.h | 0 .../LCCKPhotoBrowser/LCCKZoomingScrollView.m | 0 .../LCCKSafariActivity/LCCKSafariActivity.h | 0 .../LCCKSafariActivity/LCCKSafariActivity.m | 0 .../LCCKWebViewProgress/LCCKWebViewProgress.h | 0 .../LCCKWebViewProgress/LCCKWebViewProgress.m | 0 .../LCCKWebViewProgressView.h | 0 .../LCCKWebViewProgressView.m | 0 .../VoiceLib/lame.framework/Headers/lame.h | 0 .../Tool/Vendor/VoiceLib/lame.framework/lame | Bin ChatKit/Class/View/LCCKBadgeView.h | 0 ChatKit/Class/View/LCCKBadgeView.m | 0 .../Class/View/LCCKConversationRefreshHeader.h | 0 .../Class/View/LCCKConversationRefreshHeader.m | 0 ChatKit/Class/View/LCCKStatusView.h | 0 ChatKit/Class/View/LCCKStatusView.m | 0 452 files changed, 4 insertions(+), 12 deletions(-) mode change 100644 => 100755 ChatKit/Class/LCChatKit.h mode change 100644 => 100755 ChatKit/Class/LCChatKit.m mode change 100644 => 100755 ChatKit/Class/Model/AVIMMessage+LCCKExtension.h mode change 100644 => 100755 ChatKit/Class/Model/AVIMMessage+LCCKExtension.m mode change 100644 => 100755 ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.h mode change 100644 => 100755 ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.m mode change 100644 => 100755 ChatKit/Class/Model/LCCKMessage.h mode change 100644 => 100755 ChatKit/Class/Model/LCCKMessage.m mode change 100644 => 100755 ChatKit/Class/Model/LCCKMessageDelegate.h mode change 100644 => 100755 ChatKit/Class/Model/LCCKUserDelegate.h mode change 100644 => 100755 ChatKit/Class/Model/NSMutableArray+LCCKMessageExtention.h mode change 100644 => 100755 ChatKit/Class/Model/NSMutableArray+LCCKMessageExtention.m mode change 100644 => 100755 ChatKit/Class/Model/NSObject+LCCKExtension.h mode change 100644 => 100755 ChatKit/Class/Model/NSObject+LCCKExtension.m mode change 100644 => 100755 ChatKit/Class/Module/Base/LCCKBaseConversationViewController.h mode change 100644 => 100755 ChatKit/Class/Module/Base/LCCKBaseConversationViewController.m mode change 100644 => 100755 ChatKit/Class/Module/Base/LCCKBaseNavigationController.h mode change 100644 => 100755 ChatKit/Class/Module/Base/LCCKBaseNavigationController.m mode change 100644 => 100755 ChatKit/Class/Module/Base/LCCKBaseTableViewController.h mode change 100644 => 100755 ChatKit/Class/Module/Base/LCCKBaseTableViewController.m mode change 100644 => 100755 ChatKit/Class/Module/Base/LCCKBaseViewController.h mode change 100644 => 100755 ChatKit/Class/Module/Base/LCCKBaseViewController.m mode change 100644 => 100755 ChatKit/Class/Module/ContactList/Controller/LCCKContactListViewController.h mode change 100644 => 100755 ChatKit/Class/Module/ContactList/Controller/LCCKContactListViewController.m mode change 100644 => 100755 ChatKit/Class/Module/ContactList/Model/LCCKContact.h mode change 100644 => 100755 ChatKit/Class/Module/ContactList/Model/LCCKContact.m mode change 100644 => 100755 ChatKit/Class/Module/ContactList/View/LCCKContactCell.h mode change 100644 => 100755 ChatKit/Class/Module/ContactList/View/LCCKContactCell.m mode change 100644 => 100755 ChatKit/Class/Module/ContactList/View/LCCKContactCell.xib mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Controller/LCCKLocationController.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Controller/LCCKLocationController.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Controller/LCCKTextFullScreenViewController.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Controller/LCCKTextFullScreenViewController.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Model/AVIMConversation+LCCKExtension.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Model/AVIMConversation+LCCKExtension.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/LCCKImageManager.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/LCCKImageManager.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/LCCKWeakReference.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/LCCKWeakReference.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSBundle+LCCKCaleArray.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSBundle+LCCKSCaleArray.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSMutableDictionary+LCCKWeakReference.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSMutableDictionary+LCCKWeakReference.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSString+LCCKAddScale.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSString+LCCKAddScale.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKAVAudioPlayer.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKAVAudioPlayer.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKBubbleImageFactory.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKBubbleImageFactory.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKCellIdentifierFactory.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKCellIdentifierFactory.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKCellRegisterController.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKCellRegisterController.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKChat.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKChatUntiles.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKLastMessageTypeManager.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKLastMessageTypeManager.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKLocationManager.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKLocationManager.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKMessageVoiceFactory.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKMessageVoiceFactory.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKSoundManager.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/Tool/LCCKSoundManager.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatFaceView.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatFaceView.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatMoreView.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatMoreView.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKFacePageView.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKFacePageView.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPlugin.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPlugin.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginLocation.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginLocation.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginPickImage.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginPickImage.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKProgressHUD.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatBar/LCCKProgressHUD.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatImageMessageCell.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatImageMessageCell.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatLocationMessageCell.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatLocationMessageCell.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatSystemMessageCell.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatSystemMessageCell.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatTextMessageCell.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatTextMessageCell.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatVoiceMessageCell.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatVoiceMessageCell.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKContentView.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKContentView.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKMessageSendStateView.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKMessageSendStateView.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.m mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/LCCKMenuItem.h mode change 100644 => 100755 ChatKit/Class/Module/Conversation/View/LCCKMenuItem.m mode change 100644 => 100755 ChatKit/Class/Module/ConversationList/Controller/LCCKConversationListViewController.h mode change 100644 => 100755 ChatKit/Class/Module/ConversationList/Controller/LCCKConversationListViewController.m mode change 100644 => 100755 ChatKit/Class/Module/ConversationList/Model/LCCKConversationListViewModel.h mode change 100644 => 100755 ChatKit/Class/Module/ConversationList/Model/LCCKConversationListViewModel.m mode change 100644 => 100755 ChatKit/Class/Module/ConversationList/View/LCCKConversationListCell.h mode change 100644 => 100755 ChatKit/Class/Module/ConversationList/View/LCCKConversationListCell.m mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_Camera@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_Camera@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_InfoMulti@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_InfoMulti@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_InfoSingle@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_InfoSingle@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_Operate@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_Operate@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_add@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_add@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_addfriends@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_addfriends@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_back@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_back@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_back_cube@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_back_cube@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_delete@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_delete@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more_black@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more_black@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more_cube@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more_cube@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_question@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_question@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_set@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_set@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewEmotion@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewEmotion@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewEmotionHL@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewEmotionHL@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewInputVoice@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewInputVoice@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewInputVoiceHL@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewInputVoiceHL@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewKeyboard@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewKeyboard@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewKeyboardHL@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewKeyboardHL@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/TypeSelectorBtnHL_Black@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/TypeSelectorBtnHL_Black@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/TypeSelectorBtn_Black@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/TypeSelectorBtn_Black@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/VoiceBtn_Black@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/VoiceBtn_Black@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/VoiceBtn_BlackHL@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/VoiceBtn_BlackHL@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_emoji_highlight@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_emoji_normal@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_face_highlight@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_face_normal@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_icons_camera@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_icons_location@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_icons_pic@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_input_normal@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_more_highlight@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_more_normal@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_picture_normal@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_recent_highlight@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_recent_normal@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_record_circle@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_voice_normal@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/input_bar_flat@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/input_field_cover@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/location_green_icon@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/preview_background@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/sharemore_pic@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/sharemore_pic@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/sharemore_video@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/sharemore_video@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/show_user_location_normal@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/show_user_location_pressed@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/ChatKeyboard.bundle/show_user_location_selected@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/ar.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/bg.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/ca.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/cs.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/cy.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/da.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/de.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/en.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/es.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/eu.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/fi.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/fr.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/gre.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/hu.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/id.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/is.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/it.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/ja.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/lv.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/nb.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/nl.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/pl.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/pt-PT.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/pt.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/ru.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/sv.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/th.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/tr.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/uk.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/vi.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/zh-Hans.lproj/DateTools.strings mode change 100644 => 100755 ChatKit/Class/Resources/DateTools.bundle/zh-Hant.lproj/DateTools.strings mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\344\271\210\344\271\210\345\223\222]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\344\271\210\344\271\210\345\223\222]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\201\267\347\254\221]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\201\267\347\254\221]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\202\262\346\205\242]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\202\262\346\205\242]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\210\240\351\231\244]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\217\257\346\200\234]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\217\257\346\200\234]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\217\257\347\210\261]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\217\257\347\210\261]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\217\263\345\223\274\345\223\274]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\217\263\345\223\274\345\223\274]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\220\220]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\220\220]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\220\223]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\220\223]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\222\222\351\252\202]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\222\222\351\252\202]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\233\260]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\233\260]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\235\217\347\254\221]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\235\217\347\254\221]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\244\247\345\223\255]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\244\247\345\223\255]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\245\213\346\226\227]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\245\213\346\226\227]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\256\263\347\276\236]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\256\263\347\276\236]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\267\246\345\223\274\345\223\274]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\267\246\345\223\274\345\223\274]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\267\256\345\212\262]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\267\256\345\212\262]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\277\203\347\242\216\344\272\206]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\277\203\347\242\216\344\272\206]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\277\253\345\223\255\344\272\206]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\345\277\253\345\223\255\344\272\206]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\200\222]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\200\222]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\203\212\346\201\220]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\203\212\346\201\220]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\203\212\350\256\266]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\203\212\350\256\266]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\212\223\347\213\202]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\212\223\347\213\202]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\212\240\351\274\273]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\212\240\351\274\273]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\212\261\346\212\261]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\212\261\346\212\261]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\222\207\345\230\264]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\222\207\345\230\264]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\223\246\346\261\227]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\223\246\346\261\227]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\231\225]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\231\225]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\265\201\346\263\252]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\346\265\201\346\263\252]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\347\210\261\345\277\203]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\347\210\261\345\277\203]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\347\214\252\345\244\264]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\347\214\252\345\244\264]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\347\226\221\351\227\256]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\347\226\221\351\227\256]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\347\235\241\350\247\211]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\347\235\241\350\247\211]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\347\244\272\347\210\261]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\347\244\272\347\210\261]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\347\254\221cry]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\347\254\221cry]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\347\263\227\345\244\247\344\272\206]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\347\263\227\345\244\247\344\272\206]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\350\211\262]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\350\211\262]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\350\241\260]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\350\241\260]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\350\260\203\347\232\256]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\350\260\203\347\232\256]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\351\204\231\350\247\206]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\351\204\231\350\247\206]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\351\227\255\345\230\264]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\351\227\255\345\230\264]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\351\274\223\346\216\214]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\351\274\223\346\216\214]@3x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\351\276\207\347\211\231]@2x.png" mode change 100644 => 100755 "ChatKit/Class/Resources/Emoji.bundle/[\351\276\207\347\211\231]@3x.png" mode change 100644 => 100755 ChatKit/Class/Resources/Emoji.bundle/face.plist mode change 100644 => 100755 ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_arrowLeft.png mode change 100644 => 100755 ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_arrowLeft@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_arrowRight.png mode change 100644 => 100755 ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_arrowRight@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_error.png mode change 100644 => 100755 ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_error@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MBProgressHUD.bundle/error@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MBProgressHUD.bundle/success@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble-Customize.plist mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Location@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Receiver@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Sender@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Video@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Video@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/MessageSendFail@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/MessageSendFail@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying000@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying001@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying002@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying003@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/RecordCancel@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/RecordingBkg@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal001@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal002@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal003@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal004@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal005@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal006@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal007@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal008@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying000@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying001@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying002@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying003@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/VoiceMessage_Unread@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_receiver_background_highlight@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_receiver_background_highlight@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_receiver_background_normal@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_receiver_background_normal@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_sender_background_highlight@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_sender_background_highlight@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_sender_background_normal@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_sender_background_normal@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_receiver_background_highlight@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_receiver_background_highlight@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_receiver_background_normal@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_receiver_background_normal@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_sender_background_highlight@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_sender_background_highlight@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_sender_background_normal@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/MessageBubble.bundle/message_sender_background_normal@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/AddGroupMemberBtn@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/AddGroupMemberBtnHL@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/CellBlueSelected@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/CellGraySelected@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/ChatKit-Settings.plist mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/ChatKit-Theme.plist mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/Connectkeyboad_banner_mute@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/Connectkeyboad_banner_mute@3x.png mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/Remind_Mute.png mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/SearchContactsBarIcon@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/chatMuteOn@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/conversationViewController_default_backgroundImage.png mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/en.lproj/LCChatKitString.strings mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/safari-icon.png mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/safari-icon@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/Other.bundle/zh-Hans.lproj/LCChatKitString.strings mode change 100644 => 100755 ChatKit/Class/Resources/Placeholder.bundle/Placeholder_Accept_Defeat@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/Placeholder.bundle/Placeholder_Avatar@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/Placeholder.bundle/Placeholder_Group@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/Placeholder.bundle/Placeholder_Image@2x.png mode change 100644 => 100755 ChatKit/Class/Resources/VoiceMessageSource.bundle/loudReceive.caf mode change 100644 => 100755 ChatKit/Class/Resources/VoiceMessageSource.bundle/receive.caf mode change 100644 => 100755 ChatKit/Class/Resources/VoiceMessageSource.bundle/send.caf mode change 100644 => 100755 ChatKit/Class/Tool/Categories/NSBundle+LCCKExtension.h mode change 100644 => 100755 ChatKit/Class/Tool/Categories/NSBundle+LCCKExtension.m mode change 100644 => 100755 ChatKit/Class/Tool/Categories/NSFileManager+LCCKExtension.h mode change 100644 => 100755 ChatKit/Class/Tool/Categories/NSFileManager+LCCKExtension.m mode change 100644 => 100755 ChatKit/Class/Tool/Categories/NSString+LCCKExtension.h mode change 100644 => 100755 ChatKit/Class/Tool/Categories/NSString+LCCKExtension.m mode change 100644 => 100755 ChatKit/Class/Tool/Categories/NSString+LCCKMD5.h mode change 100644 => 100755 ChatKit/Class/Tool/Categories/NSString+LCCKMD5.m mode change 100644 => 100755 ChatKit/Class/Tool/Categories/UIColor+LCCKExtension.h mode change 100644 => 100755 ChatKit/Class/Tool/Categories/UIColor+LCCKExtension.m mode change 100644 => 100755 ChatKit/Class/Tool/Categories/UIImage+LCCKExtension.h mode change 100644 => 100755 ChatKit/Class/Tool/Categories/UIImage+LCCKExtension.m mode change 100644 => 100755 ChatKit/Class/Tool/Categories/UIImageView+LCCKExtension.h mode change 100644 => 100755 ChatKit/Class/Tool/Categories/UIImageView+LCCKExtension.m mode change 100644 => 100755 ChatKit/Class/Tool/Categories/UIView+LCCKExtension.h mode change 100644 => 100755 ChatKit/Class/Tool/Categories/UIView+LCCKExtension.m mode change 100644 => 100755 ChatKit/Class/Tool/ChatKitHeaders.h mode change 100644 => 100755 ChatKit/Class/Tool/LCCKConstants.h mode change 100644 => 100755 ChatKit/Class/Tool/LCCKServiceDefinition.h mode change 100644 => 100755 ChatKit/Class/Tool/LCCKSingleton.h mode change 100644 => 100755 ChatKit/Class/Tool/LCCKSingleton.m mode change 100644 => 100755 ChatKit/Class/Tool/LCChatKit_Internal.h mode change 100644 => 100755 ChatKit/Class/Tool/Service/LCCKConversationListService.h mode change 100644 => 100755 ChatKit/Class/Tool/Service/LCCKConversationListService.m mode change 100644 => 100755 ChatKit/Class/Tool/Service/LCCKConversationService.h mode change 100644 => 100755 ChatKit/Class/Tool/Service/LCCKConversationService.m mode change 100644 => 100755 ChatKit/Class/Tool/Service/LCCKSessionService.h mode change 100644 => 100755 ChatKit/Class/Tool/Service/LCCKSessionService.m mode change 100644 => 100755 ChatKit/Class/Tool/Service/LCCKSettingService.h mode change 100644 => 100755 ChatKit/Class/Tool/Service/LCCKSettingService.m mode change 100644 => 100755 ChatKit/Class/Tool/Service/LCCKSignatureService.h mode change 100644 => 100755 ChatKit/Class/Tool/Service/LCCKSignatureService.m mode change 100644 => 100755 ChatKit/Class/Tool/Service/LCCKUIService.h mode change 100644 => 100755 ChatKit/Class/Tool/Service/LCCKUIService.m mode change 100644 => 100755 ChatKit/Class/Tool/Service/LCCKUserSystemService.h mode change 100644 => 100755 ChatKit/Class/Tool/Service/LCCKUserSystemService.m mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/DateTools/LCCKDateToolsConstants.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/DateTools/LCCKError.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/DateTools/LCCKError.m mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/DateTools/NSDate+LCCKDateTools.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/DateTools/NSDate+LCCKDateTools.m mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKAlertController/LCCKAlertController.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKAlertController/LCCKAlertController.m mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKCaptionView.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKCaptionView.m mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPBConstants.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhoto.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhoto.m mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhotoBrowser.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhotoBrowser.m mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhotoProtocol.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKTapDetectingImageView.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKTapDetectingImageView.m mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKTapDetectingView.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKTapDetectingView.m mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKZoomingScrollView.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKZoomingScrollView.m mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKSafariActivity/LCCKSafariActivity.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKSafariActivity/LCCKSafariActivity.m mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKWebViewProgress/LCCKWebViewProgress.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKWebViewProgress/LCCKWebViewProgress.m mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKWebViewProgress/LCCKWebViewProgressView.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKWebViewProgress/LCCKWebViewProgressView.m mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/VoiceLib/lame.framework/Headers/lame.h mode change 100644 => 100755 ChatKit/Class/Tool/Vendor/VoiceLib/lame.framework/lame mode change 100644 => 100755 ChatKit/Class/View/LCCKBadgeView.h mode change 100644 => 100755 ChatKit/Class/View/LCCKBadgeView.m mode change 100644 => 100755 ChatKit/Class/View/LCCKConversationRefreshHeader.h mode change 100644 => 100755 ChatKit/Class/View/LCCKConversationRefreshHeader.m mode change 100644 => 100755 ChatKit/Class/View/LCCKStatusView.h mode change 100644 => 100755 ChatKit/Class/View/LCCKStatusView.m diff --git a/ChatKit/Class/LCChatKit.h b/ChatKit/Class/LCChatKit.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/LCChatKit.m b/ChatKit/Class/LCChatKit.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Model/AVIMMessage+LCCKExtension.h b/ChatKit/Class/Model/AVIMMessage+LCCKExtension.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Model/AVIMMessage+LCCKExtension.m b/ChatKit/Class/Model/AVIMMessage+LCCKExtension.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.h b/ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.m b/ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Model/LCCKMessage.h b/ChatKit/Class/Model/LCCKMessage.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Model/LCCKMessage.m b/ChatKit/Class/Model/LCCKMessage.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Model/LCCKMessageDelegate.h b/ChatKit/Class/Model/LCCKMessageDelegate.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Model/LCCKUserDelegate.h b/ChatKit/Class/Model/LCCKUserDelegate.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Model/NSMutableArray+LCCKMessageExtention.h b/ChatKit/Class/Model/NSMutableArray+LCCKMessageExtention.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Model/NSMutableArray+LCCKMessageExtention.m b/ChatKit/Class/Model/NSMutableArray+LCCKMessageExtention.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Model/NSObject+LCCKExtension.h b/ChatKit/Class/Model/NSObject+LCCKExtension.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Model/NSObject+LCCKExtension.m b/ChatKit/Class/Model/NSObject+LCCKExtension.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Base/LCCKBaseConversationViewController.h b/ChatKit/Class/Module/Base/LCCKBaseConversationViewController.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Base/LCCKBaseConversationViewController.m b/ChatKit/Class/Module/Base/LCCKBaseConversationViewController.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Base/LCCKBaseNavigationController.h b/ChatKit/Class/Module/Base/LCCKBaseNavigationController.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Base/LCCKBaseNavigationController.m b/ChatKit/Class/Module/Base/LCCKBaseNavigationController.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Base/LCCKBaseTableViewController.h b/ChatKit/Class/Module/Base/LCCKBaseTableViewController.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Base/LCCKBaseTableViewController.m b/ChatKit/Class/Module/Base/LCCKBaseTableViewController.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Base/LCCKBaseViewController.h b/ChatKit/Class/Module/Base/LCCKBaseViewController.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Base/LCCKBaseViewController.m b/ChatKit/Class/Module/Base/LCCKBaseViewController.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/ContactList/Controller/LCCKContactListViewController.h b/ChatKit/Class/Module/ContactList/Controller/LCCKContactListViewController.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/ContactList/Controller/LCCKContactListViewController.m b/ChatKit/Class/Module/ContactList/Controller/LCCKContactListViewController.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/ContactList/Model/LCCKContact.h b/ChatKit/Class/Module/ContactList/Model/LCCKContact.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/ContactList/Model/LCCKContact.m b/ChatKit/Class/Module/ContactList/Model/LCCKContact.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/ContactList/View/LCCKContactCell.h b/ChatKit/Class/Module/ContactList/View/LCCKContactCell.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/ContactList/View/LCCKContactCell.m b/ChatKit/Class/Module/ContactList/View/LCCKContactCell.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/ContactList/View/LCCKContactCell.xib b/ChatKit/Class/Module/ContactList/View/LCCKContactCell.xib old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKLocationController.h b/ChatKit/Class/Module/Conversation/Controller/LCCKLocationController.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKLocationController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKLocationController.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKTextFullScreenViewController.h b/ChatKit/Class/Module/Conversation/Controller/LCCKTextFullScreenViewController.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKTextFullScreenViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKTextFullScreenViewController.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Model/AVIMConversation+LCCKExtension.h b/ChatKit/Class/Module/Conversation/Model/AVIMConversation+LCCKExtension.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Model/AVIMConversation+LCCKExtension.m b/ChatKit/Class/Module/Conversation/Model/AVIMConversation+LCCKExtension.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m old mode 100644 new mode 100755 index ff601bdd..508e4790 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m @@ -47,12 +47,7 @@ #import "CYLDeallocBlockExecutor.h" #endif -#define LCCKLock() dispatch_semaphore_wait(self->_lcck_lock, DISPATCH_TIME_FOREVER) -#define LCCKUnlock() dispatch_semaphore_signal(self->_lcck_lock) - -@interface LCCKConversationViewModel () { - dispatch_semaphore_t _lcck_lock; -} +@interface LCCKConversationViewModel () @property (nonatomic, weak) LCCKConversationViewController *parentConversationViewController; @property (nonatomic, strong) NSMutableArray *dataArray; @@ -70,7 +65,6 @@ @implementation LCCKConversationViewModel - (instancetype)initWithParentViewController:(LCCKConversationViewController *)parentConversationViewController { if (self = [super init]) { - _lcck_lock = dispatch_semaphore_create(1); _dataArray = [NSMutableArray array]; _avimTypedMessage = [NSMutableArray array]; self.parentConversationViewController = parentConversationViewController; @@ -236,9 +230,9 @@ - (void)appendMessagesToTrailing:(NSArray *)messages { - (void)appendMessagesToDataArrayTrailing:(NSArray *)messages { if (messages.count > 0) { - LCCKLock(); - [self.dataArray addObjectsFromArray:messages]; - LCCKUnlock(); + @synchronized (self) { + [self.dataArray addObjectsFromArray:messages]; + } } } @@ -597,7 +591,6 @@ - (void)preloadMessageToTableView:(id)aMessage callback:(LCCKVoidBlock)callback NSUInteger newLastMessageCout = self.dataArray.count; NSIndexPath *indexPath = [NSIndexPath indexPathForRow:self.dataArray.count - 1 inSection:0]; [self.delegate messageSendStateChanged:LCCKMessageSendStateSending withProgress:0.0f forIndex:indexPath.row]; - LCCKLock(); NSMutableArray *indexPaths = [NSMutableArray arrayWithObject:indexPath]; NSUInteger additionItemsCount = newLastMessageCout - oldLastMessageCount; if (additionItemsCount > 1) { @@ -608,7 +601,6 @@ - (void)preloadMessageToTableView:(id)aMessage callback:(LCCKVoidBlock)callback } dispatch_async(dispatch_get_main_queue(),^{ [self.parentConversationViewController.tableView insertRowsAtIndexPaths:[indexPaths copy] withRowAnimation:UITableViewRowAnimationNone]; - LCCKUnlock(); [self.parentConversationViewController scrollToBottomAnimated:YES]; !callback ?: callback(); }); diff --git a/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/LCCKImageManager.h b/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/LCCKImageManager.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/LCCKImageManager.m b/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/LCCKImageManager.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/LCCKWeakReference.h b/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/LCCKWeakReference.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/LCCKWeakReference.m b/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/LCCKWeakReference.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSBundle+LCCKCaleArray.m b/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSBundle+LCCKCaleArray.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSBundle+LCCKSCaleArray.h b/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSBundle+LCCKSCaleArray.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSMutableDictionary+LCCKWeakReference.h b/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSMutableDictionary+LCCKWeakReference.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSMutableDictionary+LCCKWeakReference.m b/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSMutableDictionary+LCCKWeakReference.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSString+LCCKAddScale.h b/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSString+LCCKAddScale.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSString+LCCKAddScale.m b/ChatKit/Class/Module/Conversation/Tool/DisableImageMemoryCache/NSString+LCCKAddScale.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKAVAudioPlayer.h b/ChatKit/Class/Module/Conversation/Tool/LCCKAVAudioPlayer.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKAVAudioPlayer.m b/ChatKit/Class/Module/Conversation/Tool/LCCKAVAudioPlayer.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKBubbleImageFactory.h b/ChatKit/Class/Module/Conversation/Tool/LCCKBubbleImageFactory.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKBubbleImageFactory.m b/ChatKit/Class/Module/Conversation/Tool/LCCKBubbleImageFactory.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKCellIdentifierFactory.h b/ChatKit/Class/Module/Conversation/Tool/LCCKCellIdentifierFactory.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKCellIdentifierFactory.m b/ChatKit/Class/Module/Conversation/Tool/LCCKCellIdentifierFactory.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKCellRegisterController.h b/ChatKit/Class/Module/Conversation/Tool/LCCKCellRegisterController.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKCellRegisterController.m b/ChatKit/Class/Module/Conversation/Tool/LCCKCellRegisterController.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKChat.h b/ChatKit/Class/Module/Conversation/Tool/LCCKChat.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKChatUntiles.h b/ChatKit/Class/Module/Conversation/Tool/LCCKChatUntiles.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.h b/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m b/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKLastMessageTypeManager.h b/ChatKit/Class/Module/Conversation/Tool/LCCKLastMessageTypeManager.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKLastMessageTypeManager.m b/ChatKit/Class/Module/Conversation/Tool/LCCKLastMessageTypeManager.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKLocationManager.h b/ChatKit/Class/Module/Conversation/Tool/LCCKLocationManager.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKLocationManager.m b/ChatKit/Class/Module/Conversation/Tool/LCCKLocationManager.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKMessageVoiceFactory.h b/ChatKit/Class/Module/Conversation/Tool/LCCKMessageVoiceFactory.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKMessageVoiceFactory.m b/ChatKit/Class/Module/Conversation/Tool/LCCKMessageVoiceFactory.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKSoundManager.h b/ChatKit/Class/Module/Conversation/Tool/LCCKSoundManager.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKSoundManager.m b/ChatKit/Class/Module/Conversation/Tool/LCCKSoundManager.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.h b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatFaceView.h b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatFaceView.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatFaceView.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatFaceView.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatMoreView.h b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatMoreView.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatMoreView.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatMoreView.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKFacePageView.h b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKFacePageView.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKFacePageView.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKFacePageView.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPlugin.h b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPlugin.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPlugin.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPlugin.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginLocation.h b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginLocation.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginLocation.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginLocation.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginPickImage.h b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginPickImage.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginPickImage.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginPickImage.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.h b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKProgressHUD.h b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKProgressHUD.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKProgressHUD.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKProgressHUD.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatImageMessageCell.h b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatImageMessageCell.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatImageMessageCell.m b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatImageMessageCell.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatLocationMessageCell.h b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatLocationMessageCell.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatLocationMessageCell.m b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatLocationMessageCell.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.h b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatSystemMessageCell.h b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatSystemMessageCell.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatSystemMessageCell.m b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatSystemMessageCell.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatTextMessageCell.h b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatTextMessageCell.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatTextMessageCell.m b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatTextMessageCell.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatVoiceMessageCell.h b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatVoiceMessageCell.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatVoiceMessageCell.m b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatVoiceMessageCell.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKContentView.h b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKContentView.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKContentView.m b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKContentView.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKMessageSendStateView.h b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKMessageSendStateView.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKMessageSendStateView.m b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKMessageSendStateView.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.h b/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.m b/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/LCCKMenuItem.h b/ChatKit/Class/Module/Conversation/View/LCCKMenuItem.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/Conversation/View/LCCKMenuItem.m b/ChatKit/Class/Module/Conversation/View/LCCKMenuItem.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/ConversationList/Controller/LCCKConversationListViewController.h b/ChatKit/Class/Module/ConversationList/Controller/LCCKConversationListViewController.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/ConversationList/Controller/LCCKConversationListViewController.m b/ChatKit/Class/Module/ConversationList/Controller/LCCKConversationListViewController.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/ConversationList/Model/LCCKConversationListViewModel.h b/ChatKit/Class/Module/ConversationList/Model/LCCKConversationListViewModel.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/ConversationList/Model/LCCKConversationListViewModel.m b/ChatKit/Class/Module/ConversationList/Model/LCCKConversationListViewModel.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/ConversationList/View/LCCKConversationListCell.h b/ChatKit/Class/Module/ConversationList/View/LCCKConversationListCell.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Module/ConversationList/View/LCCKConversationListCell.m b/ChatKit/Class/Module/ConversationList/View/LCCKConversationListCell.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_Camera@2x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_Camera@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_Camera@3x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_Camera@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_InfoMulti@2x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_InfoMulti@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_InfoMulti@3x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_InfoMulti@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_InfoSingle@2x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_InfoSingle@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_InfoSingle@3x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_InfoSingle@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_Operate@2x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_Operate@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_Operate@3x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_Operate@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_add@2x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_add@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_add@3x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_add@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_addfriends@2x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_addfriends@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_addfriends@3x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_addfriends@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_back@2x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_back@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_back@3x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_back@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_back_cube@2x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_back_cube@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_back_cube@3x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_back_cube@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_delete@2x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_delete@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_delete@3x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_delete@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more@2x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more@3x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more_black@2x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more_black@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more_black@3x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more_black@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more_cube@2x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more_cube@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more_cube@3x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_more_cube@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_question@2x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_question@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_question@3x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_question@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_set@2x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_set@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_set@3x.png b/ChatKit/Class/Resources/BarButtonIcon.bundle/barbuttonicon_set@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewEmotion@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewEmotion@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewEmotion@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewEmotion@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewEmotionHL@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewEmotionHL@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewEmotionHL@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewEmotionHL@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewInputVoice@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewInputVoice@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewInputVoice@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewInputVoice@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewInputVoiceHL@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewInputVoiceHL@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewInputVoiceHL@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewInputVoiceHL@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewKeyboard@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewKeyboard@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewKeyboard@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewKeyboard@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewKeyboardHL@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewKeyboardHL@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewKeyboardHL@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/ToolViewKeyboardHL@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/TypeSelectorBtnHL_Black@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/TypeSelectorBtnHL_Black@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/TypeSelectorBtnHL_Black@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/TypeSelectorBtnHL_Black@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/TypeSelectorBtn_Black@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/TypeSelectorBtn_Black@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/TypeSelectorBtn_Black@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/TypeSelectorBtn_Black@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/VoiceBtn_Black@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/VoiceBtn_Black@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/VoiceBtn_Black@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/VoiceBtn_Black@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/VoiceBtn_BlackHL@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/VoiceBtn_BlackHL@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/VoiceBtn_BlackHL@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/VoiceBtn_BlackHL@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_emoji_highlight@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_emoji_highlight@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_emoji_normal@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_emoji_normal@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_face_highlight@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_face_highlight@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_face_normal@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_face_normal@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_icons_camera@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_icons_camera@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_icons_location@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_icons_location@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_icons_pic@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_icons_pic@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_input_normal@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_input_normal@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_more_highlight@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_more_highlight@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_more_normal@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_more_normal@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_picture_normal@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_picture_normal@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_recent_highlight@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_recent_highlight@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_recent_normal@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_recent_normal@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_record_circle@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_record_circle@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_voice_normal@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/chat_bar_voice_normal@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/input_bar_flat@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/input_bar_flat@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/input_field_cover@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/input_field_cover@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/location_green_icon@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/location_green_icon@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/preview_background@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/preview_background@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/sharemore_pic@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/sharemore_pic@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/sharemore_pic@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/sharemore_pic@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/sharemore_video@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/sharemore_video@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/sharemore_video@3x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/sharemore_video@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/show_user_location_normal@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/show_user_location_normal@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/show_user_location_pressed@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/show_user_location_pressed@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/ChatKeyboard.bundle/show_user_location_selected@2x.png b/ChatKit/Class/Resources/ChatKeyboard.bundle/show_user_location_selected@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/ar.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/ar.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/bg.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/bg.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/ca.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/ca.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/cs.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/cs.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/cy.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/cy.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/da.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/da.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/de.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/de.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/en.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/en.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/es.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/es.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/eu.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/eu.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/fi.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/fi.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/fr.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/fr.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/gre.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/gre.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/hu.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/hu.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/id.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/id.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/is.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/is.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/it.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/it.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/ja.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/ja.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/lv.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/lv.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/nb.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/nb.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/nl.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/nl.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/pl.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/pl.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/pt-PT.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/pt-PT.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/pt.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/pt.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/ru.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/ru.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/sv.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/sv.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/th.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/th.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/tr.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/tr.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/uk.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/uk.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/vi.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/vi.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/zh-Hans.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/zh-Hans.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/DateTools.bundle/zh-Hant.lproj/DateTools.strings b/ChatKit/Class/Resources/DateTools.bundle/zh-Hant.lproj/DateTools.strings old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\344\271\210\344\271\210\345\223\222]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\344\271\210\344\271\210\345\223\222]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\344\271\210\344\271\210\345\223\222]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\344\271\210\344\271\210\345\223\222]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\201\267\347\254\221]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\201\267\347\254\221]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\201\267\347\254\221]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\201\267\347\254\221]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\202\262\346\205\242]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\202\262\346\205\242]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\202\262\346\205\242]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\202\262\346\205\242]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\210\240\351\231\244]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\210\240\351\231\244]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\217\257\346\200\234]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\217\257\346\200\234]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\217\257\346\200\234]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\217\257\346\200\234]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\217\257\347\210\261]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\217\257\347\210\261]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\217\257\347\210\261]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\217\257\347\210\261]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\217\263\345\223\274\345\223\274]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\217\263\345\223\274\345\223\274]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\217\263\345\223\274\345\223\274]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\217\263\345\223\274\345\223\274]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\220\220]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\220\220]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\220\220]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\220\220]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\220\223]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\220\223]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\220\223]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\220\223]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\222\222\351\252\202]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\222\222\351\252\202]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\222\222\351\252\202]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\222\222\351\252\202]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\233\260]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\233\260]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\233\260]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\233\260]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\235\217\347\254\221]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\235\217\347\254\221]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\235\217\347\254\221]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\235\217\347\254\221]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\244\247\345\223\255]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\244\247\345\223\255]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\244\247\345\223\255]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\244\247\345\223\255]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\245\213\346\226\227]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\245\213\346\226\227]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\245\213\346\226\227]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\245\213\346\226\227]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\256\263\347\276\236]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\256\263\347\276\236]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\256\263\347\276\236]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\256\263\347\276\236]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\267\246\345\223\274\345\223\274]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\267\246\345\223\274\345\223\274]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\267\246\345\223\274\345\223\274]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\267\246\345\223\274\345\223\274]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\267\256\345\212\262]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\267\256\345\212\262]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\267\256\345\212\262]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\267\256\345\212\262]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\277\203\347\242\216\344\272\206]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\277\203\347\242\216\344\272\206]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\277\203\347\242\216\344\272\206]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\277\203\347\242\216\344\272\206]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\277\253\345\223\255\344\272\206]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\277\253\345\223\255\344\272\206]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\345\277\253\345\223\255\344\272\206]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\345\277\253\345\223\255\344\272\206]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\200\222]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\200\222]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\200\222]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\200\222]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\203\212\346\201\220]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\203\212\346\201\220]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\203\212\346\201\220]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\203\212\346\201\220]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\203\212\350\256\266]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\203\212\350\256\266]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\203\212\350\256\266]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\203\212\350\256\266]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\212\223\347\213\202]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\212\223\347\213\202]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\212\223\347\213\202]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\212\223\347\213\202]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\212\240\351\274\273]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\212\240\351\274\273]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\212\240\351\274\273]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\212\240\351\274\273]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\212\261\346\212\261]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\212\261\346\212\261]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\212\261\346\212\261]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\212\261\346\212\261]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\222\207\345\230\264]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\222\207\345\230\264]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\222\207\345\230\264]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\222\207\345\230\264]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\223\246\346\261\227]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\223\246\346\261\227]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\223\246\346\261\227]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\223\246\346\261\227]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\231\225]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\231\225]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\231\225]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\231\225]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\265\201\346\263\252]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\265\201\346\263\252]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\346\265\201\346\263\252]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\346\265\201\346\263\252]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\347\210\261\345\277\203]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\347\210\261\345\277\203]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\347\210\261\345\277\203]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\347\210\261\345\277\203]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\347\214\252\345\244\264]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\347\214\252\345\244\264]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\347\214\252\345\244\264]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\347\214\252\345\244\264]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\347\226\221\351\227\256]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\347\226\221\351\227\256]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\347\226\221\351\227\256]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\347\226\221\351\227\256]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\347\235\241\350\247\211]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\347\235\241\350\247\211]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\347\235\241\350\247\211]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\347\235\241\350\247\211]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\347\244\272\347\210\261]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\347\244\272\347\210\261]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\347\244\272\347\210\261]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\347\244\272\347\210\261]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\347\254\221cry]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\347\254\221cry]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\347\254\221cry]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\347\254\221cry]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\347\263\227\345\244\247\344\272\206]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\347\263\227\345\244\247\344\272\206]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\347\263\227\345\244\247\344\272\206]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\347\263\227\345\244\247\344\272\206]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\350\211\262]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\350\211\262]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\350\211\262]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\350\211\262]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\350\241\260]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\350\241\260]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\350\241\260]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\350\241\260]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\350\260\203\347\232\256]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\350\260\203\347\232\256]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\350\260\203\347\232\256]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\350\260\203\347\232\256]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\351\204\231\350\247\206]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\351\204\231\350\247\206]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\351\204\231\350\247\206]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\351\204\231\350\247\206]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\351\227\255\345\230\264]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\351\227\255\345\230\264]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\351\227\255\345\230\264]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\351\227\255\345\230\264]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\351\274\223\346\216\214]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\351\274\223\346\216\214]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\351\274\223\346\216\214]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\351\274\223\346\216\214]@3x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\351\276\207\347\211\231]@2x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\351\276\207\347\211\231]@2x.png" old mode 100644 new mode 100755 diff --git "a/ChatKit/Class/Resources/Emoji.bundle/[\351\276\207\347\211\231]@3x.png" "b/ChatKit/Class/Resources/Emoji.bundle/[\351\276\207\347\211\231]@3x.png" old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Emoji.bundle/face.plist b/ChatKit/Class/Resources/Emoji.bundle/face.plist old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_arrowLeft.png b/ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_arrowLeft.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_arrowLeft@2x.png b/ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_arrowLeft@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_arrowRight.png b/ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_arrowRight.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_arrowRight@2x.png b/ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_arrowRight@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_error.png b/ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_error.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_error@2x.png b/ChatKit/Class/Resources/LCCKPhotoBrowser.bundle/LCCKPhotoBrowser_error@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MBProgressHUD.bundle/error@2x.png b/ChatKit/Class/Resources/MBProgressHUD.bundle/error@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MBProgressHUD.bundle/success@2x.png b/ChatKit/Class/Resources/MBProgressHUD.bundle/success@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble-Customize.plist b/ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble-Customize.plist old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Location@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Location@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Receiver@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Receiver@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Sender@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Sender@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Video@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Video@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Video@3x.png b/ChatKit/Class/Resources/MessageBubble.bundle/MessageBubble_Video@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/MessageSendFail@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/MessageSendFail@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/MessageSendFail@3x.png b/ChatKit/Class/Resources/MessageBubble.bundle/MessageSendFail@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying000@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying000@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying001@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying001@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying002@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying002@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying003@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying003@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/ReceiverVoiceNodePlaying@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/RecordCancel@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/RecordCancel@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/RecordingBkg@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/RecordingBkg@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal001@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal001@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal002@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal002@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal003@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal003@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal004@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal004@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal005@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal005@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal006@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal006@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal007@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal007@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal008@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/RecordingSignal008@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying000@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying000@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying001@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying001@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying002@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying002@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying003@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying003@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/SenderVoiceNodePlaying@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/VoiceMessage_Unread@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/VoiceMessage_Unread@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_receiver_background_highlight@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_receiver_background_highlight@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_receiver_background_highlight@3x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_receiver_background_highlight@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_receiver_background_normal@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_receiver_background_normal@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_receiver_background_normal@3x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_receiver_background_normal@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_sender_background_highlight@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_sender_background_highlight@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_sender_background_highlight@3x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_sender_background_highlight@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_sender_background_normal@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_sender_background_normal@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_sender_background_normal@3x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_hollow_sender_background_normal@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_receiver_background_highlight@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_receiver_background_highlight@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_receiver_background_highlight@3x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_receiver_background_highlight@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_receiver_background_normal@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_receiver_background_normal@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_receiver_background_normal@3x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_receiver_background_normal@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_sender_background_highlight@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_sender_background_highlight@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_sender_background_highlight@3x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_sender_background_highlight@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_sender_background_normal@2x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_sender_background_normal@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/MessageBubble.bundle/message_sender_background_normal@3x.png b/ChatKit/Class/Resources/MessageBubble.bundle/message_sender_background_normal@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/AddGroupMemberBtn@2x.png b/ChatKit/Class/Resources/Other.bundle/AddGroupMemberBtn@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/AddGroupMemberBtnHL@2x.png b/ChatKit/Class/Resources/Other.bundle/AddGroupMemberBtnHL@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/CellBlueSelected@2x.png b/ChatKit/Class/Resources/Other.bundle/CellBlueSelected@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/CellGraySelected@2x.png b/ChatKit/Class/Resources/Other.bundle/CellGraySelected@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/ChatKit-Settings.plist b/ChatKit/Class/Resources/Other.bundle/ChatKit-Settings.plist old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/ChatKit-Theme.plist b/ChatKit/Class/Resources/Other.bundle/ChatKit-Theme.plist old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/Connectkeyboad_banner_mute@2x.png b/ChatKit/Class/Resources/Other.bundle/Connectkeyboad_banner_mute@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/Connectkeyboad_banner_mute@3x.png b/ChatKit/Class/Resources/Other.bundle/Connectkeyboad_banner_mute@3x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/Remind_Mute.png b/ChatKit/Class/Resources/Other.bundle/Remind_Mute.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/SearchContactsBarIcon@2x.png b/ChatKit/Class/Resources/Other.bundle/SearchContactsBarIcon@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/chatMuteOn@2x.png b/ChatKit/Class/Resources/Other.bundle/chatMuteOn@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/conversationViewController_default_backgroundImage.png b/ChatKit/Class/Resources/Other.bundle/conversationViewController_default_backgroundImage.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/en.lproj/LCChatKitString.strings b/ChatKit/Class/Resources/Other.bundle/en.lproj/LCChatKitString.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/safari-icon.png b/ChatKit/Class/Resources/Other.bundle/safari-icon.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/safari-icon@2x.png b/ChatKit/Class/Resources/Other.bundle/safari-icon@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Other.bundle/zh-Hans.lproj/LCChatKitString.strings b/ChatKit/Class/Resources/Other.bundle/zh-Hans.lproj/LCChatKitString.strings old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Placeholder.bundle/Placeholder_Accept_Defeat@2x.png b/ChatKit/Class/Resources/Placeholder.bundle/Placeholder_Accept_Defeat@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Placeholder.bundle/Placeholder_Avatar@2x.png b/ChatKit/Class/Resources/Placeholder.bundle/Placeholder_Avatar@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Placeholder.bundle/Placeholder_Group@2x.png b/ChatKit/Class/Resources/Placeholder.bundle/Placeholder_Group@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/Placeholder.bundle/Placeholder_Image@2x.png b/ChatKit/Class/Resources/Placeholder.bundle/Placeholder_Image@2x.png old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/VoiceMessageSource.bundle/loudReceive.caf b/ChatKit/Class/Resources/VoiceMessageSource.bundle/loudReceive.caf old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/VoiceMessageSource.bundle/receive.caf b/ChatKit/Class/Resources/VoiceMessageSource.bundle/receive.caf old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Resources/VoiceMessageSource.bundle/send.caf b/ChatKit/Class/Resources/VoiceMessageSource.bundle/send.caf old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/NSBundle+LCCKExtension.h b/ChatKit/Class/Tool/Categories/NSBundle+LCCKExtension.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/NSBundle+LCCKExtension.m b/ChatKit/Class/Tool/Categories/NSBundle+LCCKExtension.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/NSFileManager+LCCKExtension.h b/ChatKit/Class/Tool/Categories/NSFileManager+LCCKExtension.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/NSFileManager+LCCKExtension.m b/ChatKit/Class/Tool/Categories/NSFileManager+LCCKExtension.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/NSString+LCCKExtension.h b/ChatKit/Class/Tool/Categories/NSString+LCCKExtension.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/NSString+LCCKExtension.m b/ChatKit/Class/Tool/Categories/NSString+LCCKExtension.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/NSString+LCCKMD5.h b/ChatKit/Class/Tool/Categories/NSString+LCCKMD5.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/NSString+LCCKMD5.m b/ChatKit/Class/Tool/Categories/NSString+LCCKMD5.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/UIColor+LCCKExtension.h b/ChatKit/Class/Tool/Categories/UIColor+LCCKExtension.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/UIColor+LCCKExtension.m b/ChatKit/Class/Tool/Categories/UIColor+LCCKExtension.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/UIImage+LCCKExtension.h b/ChatKit/Class/Tool/Categories/UIImage+LCCKExtension.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/UIImage+LCCKExtension.m b/ChatKit/Class/Tool/Categories/UIImage+LCCKExtension.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/UIImageView+LCCKExtension.h b/ChatKit/Class/Tool/Categories/UIImageView+LCCKExtension.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/UIImageView+LCCKExtension.m b/ChatKit/Class/Tool/Categories/UIImageView+LCCKExtension.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/UIView+LCCKExtension.h b/ChatKit/Class/Tool/Categories/UIView+LCCKExtension.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Categories/UIView+LCCKExtension.m b/ChatKit/Class/Tool/Categories/UIView+LCCKExtension.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/ChatKitHeaders.h b/ChatKit/Class/Tool/ChatKitHeaders.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/LCCKConstants.h b/ChatKit/Class/Tool/LCCKConstants.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/LCCKServiceDefinition.h b/ChatKit/Class/Tool/LCCKServiceDefinition.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/LCCKSingleton.h b/ChatKit/Class/Tool/LCCKSingleton.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/LCCKSingleton.m b/ChatKit/Class/Tool/LCCKSingleton.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/LCChatKit_Internal.h b/ChatKit/Class/Tool/LCChatKit_Internal.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Service/LCCKConversationListService.h b/ChatKit/Class/Tool/Service/LCCKConversationListService.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Service/LCCKConversationListService.m b/ChatKit/Class/Tool/Service/LCCKConversationListService.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Service/LCCKConversationService.h b/ChatKit/Class/Tool/Service/LCCKConversationService.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Service/LCCKConversationService.m b/ChatKit/Class/Tool/Service/LCCKConversationService.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.h b/ChatKit/Class/Tool/Service/LCCKSessionService.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Service/LCCKSettingService.h b/ChatKit/Class/Tool/Service/LCCKSettingService.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Service/LCCKSettingService.m b/ChatKit/Class/Tool/Service/LCCKSettingService.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Service/LCCKSignatureService.h b/ChatKit/Class/Tool/Service/LCCKSignatureService.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Service/LCCKSignatureService.m b/ChatKit/Class/Tool/Service/LCCKSignatureService.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Service/LCCKUIService.h b/ChatKit/Class/Tool/Service/LCCKUIService.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Service/LCCKUIService.m b/ChatKit/Class/Tool/Service/LCCKUIService.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Service/LCCKUserSystemService.h b/ChatKit/Class/Tool/Service/LCCKUserSystemService.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Service/LCCKUserSystemService.m b/ChatKit/Class/Tool/Service/LCCKUserSystemService.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/DateTools/LCCKDateToolsConstants.h b/ChatKit/Class/Tool/Vendor/DateTools/LCCKDateToolsConstants.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/DateTools/LCCKError.h b/ChatKit/Class/Tool/Vendor/DateTools/LCCKError.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/DateTools/LCCKError.m b/ChatKit/Class/Tool/Vendor/DateTools/LCCKError.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/DateTools/NSDate+LCCKDateTools.h b/ChatKit/Class/Tool/Vendor/DateTools/NSDate+LCCKDateTools.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/DateTools/NSDate+LCCKDateTools.m b/ChatKit/Class/Tool/Vendor/DateTools/NSDate+LCCKDateTools.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKAlertController/LCCKAlertController.h b/ChatKit/Class/Tool/Vendor/LCCKAlertController/LCCKAlertController.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKAlertController/LCCKAlertController.m b/ChatKit/Class/Tool/Vendor/LCCKAlertController/LCCKAlertController.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKCaptionView.h b/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKCaptionView.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKCaptionView.m b/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKCaptionView.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPBConstants.h b/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPBConstants.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhoto.h b/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhoto.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhoto.m b/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhoto.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhotoBrowser.h b/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhotoBrowser.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhotoBrowser.m b/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhotoBrowser.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhotoProtocol.h b/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKPhotoProtocol.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKTapDetectingImageView.h b/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKTapDetectingImageView.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKTapDetectingImageView.m b/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKTapDetectingImageView.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKTapDetectingView.h b/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKTapDetectingView.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKTapDetectingView.m b/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKTapDetectingView.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKZoomingScrollView.h b/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKZoomingScrollView.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKZoomingScrollView.m b/ChatKit/Class/Tool/Vendor/LCCKPhotoBrowser/LCCKZoomingScrollView.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKSafariActivity/LCCKSafariActivity.h b/ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKSafariActivity/LCCKSafariActivity.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKSafariActivity/LCCKSafariActivity.m b/ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKSafariActivity/LCCKSafariActivity.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKWebViewProgress/LCCKWebViewProgress.h b/ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKWebViewProgress/LCCKWebViewProgress.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKWebViewProgress/LCCKWebViewProgress.m b/ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKWebViewProgress/LCCKWebViewProgress.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKWebViewProgress/LCCKWebViewProgressView.h b/ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKWebViewProgress/LCCKWebViewProgressView.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKWebViewProgress/LCCKWebViewProgressView.m b/ChatKit/Class/Tool/Vendor/LCCKWebViewController/LCCKWebViewProgress/LCCKWebViewProgressView.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/VoiceLib/lame.framework/Headers/lame.h b/ChatKit/Class/Tool/Vendor/VoiceLib/lame.framework/Headers/lame.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/Tool/Vendor/VoiceLib/lame.framework/lame b/ChatKit/Class/Tool/Vendor/VoiceLib/lame.framework/lame old mode 100644 new mode 100755 diff --git a/ChatKit/Class/View/LCCKBadgeView.h b/ChatKit/Class/View/LCCKBadgeView.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/View/LCCKBadgeView.m b/ChatKit/Class/View/LCCKBadgeView.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/View/LCCKConversationRefreshHeader.h b/ChatKit/Class/View/LCCKConversationRefreshHeader.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/View/LCCKConversationRefreshHeader.m b/ChatKit/Class/View/LCCKConversationRefreshHeader.m old mode 100644 new mode 100755 diff --git a/ChatKit/Class/View/LCCKStatusView.h b/ChatKit/Class/View/LCCKStatusView.h old mode 100644 new mode 100755 diff --git a/ChatKit/Class/View/LCCKStatusView.m b/ChatKit/Class/View/LCCKStatusView.m old mode 100644 new mode 100755 From 60332df6267a354ed90648742bf0ca5df662ebcd Mon Sep 17 00:00:00 2001 From: xiaozao Date: Wed, 13 Jun 2018 18:22:52 +0800 Subject: [PATCH 48/90] =?UTF-8?q?=E6=89=80=E6=9C=89=E7=9A=84=E6=9C=AC?= =?UTF-8?q?=E6=AC=A1=E6=9B=B4=E6=96=B0=E9=83=BD=E5=9C=A8=E8=BF=99=E9=87=8C?= =?UTF-8?q?=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Class/Model/AVIMMessage+LCCKExtension.m | 8 ++ .../Model/AVIMTypedMessage+LCCKExtension.m | 8 +- ChatKit/Class/Model/LCCKMessage.h | 2 + ChatKit/Class/Model/LCCKMessage.m | 1 + ChatKit/Class/Model/LCCKUserDelegate.h | 1 + .../Module/Base/LCCKBaseTableViewController.m | 8 ++ .../Module/ContactList/Model/LCCKContact.m | 12 +- .../LCCKConversationViewController.h | 12 ++ .../LCCKConversationViewController.m | 77 ++++++++++- .../Model/LCCKConversationViewModel.h | 8 ++ .../Model/LCCKConversationViewModel.m | 49 ++++++- .../Conversation/View/ChatBar/LCCKChatBar.h | 2 + .../Conversation/View/ChatBar/LCCKChatBar.m | 10 +- .../View/ChatBar/LCCKChatMoreView.m | 30 ++--- .../ChatMessageCell/LCCKChatMessageCell.m | 56 +++++++- .../LCCKConversationNavigationTitleView.h | 2 + .../LCCKConversationNavigationTitleView.m | 3 +- .../Categories/UIImageView+LCCKExtension.m | 20 ++- .../Tool/Service/LCCKConversationService.h | 6 +- .../Tool/Service/LCCKConversationService.m | 7 +- .../Class/Tool/Service/LCCKSessionService.m | 120 ++++++++++++++++-- .../Class/Tool/Service/LCCKSettingService.m | 1 + 22 files changed, 385 insertions(+), 58 deletions(-) diff --git a/ChatKit/Class/Model/AVIMMessage+LCCKExtension.m b/ChatKit/Class/Model/AVIMMessage+LCCKExtension.m index 74f9a83d..c071eaef 100755 --- a/ChatKit/Class/Model/AVIMMessage+LCCKExtension.m +++ b/ChatKit/Class/Model/AVIMMessage+LCCKExtension.m @@ -33,6 +33,7 @@ - (AVIMTypedMessage *)lcck_getValidTypedMessage { } NSString *messageText; NSDictionary *attr; + BOOL ibreakIntext = NO; if ([[self class] isSubclassOfClass:[AVIMMessage class]]) { //当存在无法识别的自定义消息,SDK会返回 AVIMMessage 类型 AVIMMessage *message = self; @@ -42,6 +43,10 @@ - (AVIMTypedMessage *)lcck_getValidTypedMessage { NSString *customMessageDegradeKey = [json valueForKey:@"_lctext"]; if (customMessageDegradeKey.length > 0) { messageText = customMessageDegradeKey; + if ([json valueForKey:@"_lcattrs"] != nil) { + attr = [json valueForKey:@"_lcattrs"]; + } + ibreakIntext = YES; break; } attr = [json valueForKey:@"_lcattrs"]; @@ -60,6 +65,9 @@ - (AVIMTypedMessage *)lcck_getValidTypedMessage { [typedMessage setValue:@(self.sendTimestamp) forKey:@"sendTimestamp"]; [typedMessage setValue:self.clientId forKey:@"clientId"]; [typedMessage lcck_setObject:@(YES) forKey:LCCKCustomMessageIsCustomKey]; + if (ibreakIntext) { + [typedMessage lcck_setObject:attr forKey:@"olCustom"]; + } return typedMessage; } diff --git a/ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.m b/ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.m index ac0cd1a8..4817924c 100755 --- a/ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.m +++ b/ChatKit/Class/Model/AVIMTypedMessage+LCCKExtension.m @@ -15,7 +15,11 @@ @implementation AVIMTypedMessage (LCCKExtension) - (BOOL)lcck_isSupportThisCustomMessage { NSNumber *typeDictKey = @([(AVIMTypedMessage *)self mediaType]); Class class = [_typeDict objectForKey:typeDictKey]; - return class; + if (class != nil) { + return true; + }else{ + return false; + } } + (AVIMTypedMessage *)lcck_messageWithLCCKMessage:(LCCKMessage *)message { @@ -45,7 +49,7 @@ + (AVIMTypedMessage *)lcck_messageWithLCCKMessage:(LCCKMessage *)message { break; } } - avimTypedMessage.sendTimestamp = LCCK_CURRENT_TIMESTAMP; + [avimTypedMessage setObject:@(LCCK_CURRENT_TIMESTAMP) forKey:@"sendTimestamp"]; return avimTypedMessage; } diff --git a/ChatKit/Class/Model/LCCKMessage.h b/ChatKit/Class/Model/LCCKMessage.h index b1ff1c3e..347755f9 100755 --- a/ChatKit/Class/Model/LCCKMessage.h +++ b/ChatKit/Class/Model/LCCKMessage.h @@ -14,6 +14,8 @@ @interface LCCKMessage : NSObject +@property (nonatomic, strong) AVIMMessage *message; + @property (nonatomic, copy, readonly) NSString *text; @property (nonatomic, copy, readonly) NSString *systemText; @property (nonatomic, strong, readwrite) UIImage *photo; diff --git a/ChatKit/Class/Model/LCCKMessage.m b/ChatKit/Class/Model/LCCKMessage.m index 3561febd..6c142f7b 100755 --- a/ChatKit/Class/Model/LCCKMessage.m +++ b/ChatKit/Class/Model/LCCKMessage.m @@ -364,6 +364,7 @@ + (id)messageWithAVIMTypedMessage:(AVIMTypedMessage *)message { lcckMessage.ownerType = LCCKMessageOwnerTypeOther; } lcckMessage.sendStatus = (LCCKMessageSendState)message.status; + lcckMessage.message = message; return lcckMessage; } diff --git a/ChatKit/Class/Model/LCCKUserDelegate.h b/ChatKit/Class/Model/LCCKUserDelegate.h index 44acb968..83afa1e4 100755 --- a/ChatKit/Class/Model/LCCKUserDelegate.h +++ b/ChatKit/Class/Model/LCCKUserDelegate.h @@ -31,6 +31,7 @@ * @brief The user's id in LeanCloud SDK, it may be equal to `userId`. */ @property (nonatomic, copy, readwrite) NSString *clientId; +@property (nonatomic, copy, readwrite) NSString *sex; - (instancetype)initWithUserId:(NSString *)userId name:(NSString *)name avatarURL:(NSURL *)avatarURL clientId:(NSString *)clientId; + (instancetype)userWithUserId:(NSString *)userId name:(NSString *)name avatarURL:(NSURL *)avatarURL clientId:(NSString *)clientId; diff --git a/ChatKit/Class/Module/Base/LCCKBaseTableViewController.m b/ChatKit/Class/Module/Base/LCCKBaseTableViewController.m index ce5b65fe..ab18e29e 100755 --- a/ChatKit/Class/Module/Base/LCCKBaseTableViewController.m +++ b/ChatKit/Class/Module/Base/LCCKBaseTableViewController.m @@ -51,6 +51,14 @@ - (UITableView *)tableView { tableView.dataSource = self; tableView.tableFooterView = [[UIView alloc] init]; tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag; + + /* in iOS 11, estimating height is open in default. + if not close, the UITableView's `estimating height` will conflict with `FDTemplateLayoutCell`. + */ + tableView.estimatedRowHeight = 0; + tableView.estimatedSectionFooterHeight = 0; + tableView.estimatedSectionHeaderHeight = 0; + [self.view addSubview:_tableView = tableView]; } return _tableView; diff --git a/ChatKit/Class/Module/ContactList/Model/LCCKContact.m b/ChatKit/Class/Module/ContactList/Model/LCCKContact.m index 4cfb5a5a..48bc7d10 100755 --- a/ChatKit/Class/Module/ContactList/Model/LCCKContact.m +++ b/ChatKit/Class/Module/ContactList/Model/LCCKContact.m @@ -13,8 +13,10 @@ @implementation LCCKContact @synthesize name = _name; @synthesize avatarURL = _avatarURL; @synthesize clientId = _clientId; +@synthesize sex = _sex; -- (instancetype)initWithUserId:(NSString *)userId name:(NSString *)name avatarURL:(NSURL *)avatarURL clientId:(NSString *)clientId { + +- (instancetype)initWithUserId:(NSString *)userId name:(NSString *)name avatarURL:(NSURL *)avatarURL clientId:(NSString *)clientId sex:(NSString *)sex { self = [super init]; if (!self) { return nil; @@ -23,11 +25,12 @@ - (instancetype)initWithUserId:(NSString *)userId name:(NSString *)name avatarUR _name = name; _avatarURL = avatarURL; _clientId = clientId; + _sex = sex; return self; } -+ (instancetype)userWithUserId:(NSString *)userId name:(NSString *)name avatarURL:(NSURL *)avatarURL clientId:(NSString *)clientId{ - LCCKContact *user = [[LCCKContact alloc] initWithUserId:userId name:name avatarURL:avatarURL clientId:clientId]; ++ (instancetype)userWithUserId:(NSString *)userId name:(NSString *)name avatarURL:(NSURL *)avatarURL clientId:(NSString *)clientId sex:(NSString *)sex { + LCCKContact *user = [[LCCKContact alloc] initWithUserId:userId name:name avatarURL:avatarURL clientId:clientId sex:sex]; return user; } @@ -36,6 +39,7 @@ - (id)copyWithZone:(NSZone *)zone { name:self.name avatarURL:self.avatarURL clientId:self.clientId + sex:self.sex ]; } @@ -44,6 +48,7 @@ - (void)encodeWithCoder:(NSCoder *)aCoder { [aCoder encodeObject:self.name forKey:@"name"]; [aCoder encodeObject:self.avatarURL forKey:@"avatarURL"]; [aCoder encodeObject:self.clientId forKey:@"clientId"]; + [aCoder encodeObject:self.sex forKey:@"sex"]; } - (id)initWithCoder:(NSCoder *)aDecoder { @@ -52,6 +57,7 @@ - (id)initWithCoder:(NSCoder *)aDecoder { _name = [aDecoder decodeObjectForKey:@"name"]; _avatarURL = [aDecoder decodeObjectForKey:@"avatarURL"]; _clientId = [aDecoder decodeObjectForKey:@"clientId"]; + _sex = [aDecoder decodeObjectForKey:@"sex"]; } return self; } diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h index 83e56f14..79820259 100755 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h @@ -21,6 +21,18 @@ FOUNDATION_EXTERN NSString *const LCCKConversationViewControllerErrorDomain; */ @property (nonatomic, copy, readonly) NSString *conversationId; +// 消息的类型:私聊还是群聊 +@property (nonatomic, copy) NSString *messageType; + +// 消息的来源:狼人杀还是小语 werewolf | xiaoyu +@property (nonatomic, copy) NSString *messageFromApp; + +@property (nonatomic, copy) NSString *peerIcon; +@property (nonatomic, copy) NSString *peerName; +@property (nonatomic, copy) NSString *peerID; +@property (nonatomic, copy) NSString *peerSex; + + /*! * @brief Id of the peer, single conversation should be initialized with this property. * @details Initialization method is `-initWithPeerId:`. diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index 8f2fea1b..cd130b46 100755 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -48,6 +48,7 @@ #endif NSString *const LCCKConversationViewControllerErrorDomain = @"LCCKConversationViewControllerErrorDomain"; +NSString *const RNNotificationName = @"sendMessageToRNNotificationName"; @interface LCCKConversationViewController () @@ -201,6 +202,12 @@ - (LCCKConversationViewModel *)chatViewModel { chatViewModel.delegate = self; _chatViewModel = chatViewModel; } + _chatViewModel.peerSex = self.peerSex; + _chatViewModel.peerIcon = self.peerIcon; + _chatViewModel.peerName = self.peerName; + _chatViewModel.peerID = self.peerID; + _chatViewModel.messageType = self.messageType; + _chatViewModel.messageFromApp = self.messageFromApp; return _chatViewModel; } @@ -284,8 +291,34 @@ - (void)sendTextMessage:(NSString *)text { sender:self.user timestamp:LCCK_CURRENT_TIMESTAMP serverMessageId:nil]; + +// AVIMTypedMessage* dataMessage = [AVIMTypedMessage lcck_messageWithLCCKMessage:lcckMessage]; + +// [dataMessage setObject:self.peerSex forKey:@"USER_SEX"]; +// [dataMessage setObject:self.peerIcon forKey:@"USER_ICON"]; +// [dataMessage setObject:self.peerName forKey:@"USER_NAME"]; +// [dataMessage setObject:self.peerID forKey:@"USER_ID"]; +// lcckMessage.message = dataMessage + [self makeSureSendValidMessage:lcckMessage afterFetchedConversationShouldWithAssert:NO]; + [self.chatViewModel sendMessage:lcckMessage]; + + [[NSNotificationCenter defaultCenter] + postNotificationName:RNNotificationName + object:@{ + @"USER_SEX": self.peerSex, + @"READ":@YES, + @"MSG_TYPE": self.messageType, + @"APP": self.messageFromApp, + @"USER_ICON": self.peerIcon, + @"USER_NAME": self.peerName, + @"CONVERSATION_ID": self.conversationId, + @"USER_ID": self.peerID, + @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], + @"CHAT_MESSAGE":[NSString stringWithFormat:@"%@", text] + }]; } } @@ -319,6 +352,21 @@ - (void)sendImageMessageData:(NSData *)imageData { ]; [self makeSureSendValidMessage:message afterFetchedConversationShouldWithAssert:NO]; [self.chatViewModel sendMessage:message]; + [[NSNotificationCenter defaultCenter] + postNotificationName:RNNotificationName + object:@{ + @"USER_SEX": self.peerSex, + @"USER_ICON": self.peerIcon, + @"READ":@YES, + @"MSG_TYPE": self.messageType, + @"APP": self.messageFromApp, + @"USER_NAME": self.peerName, + @"CONVERSATION_ID": self.conversationId, + @"USER_ID": self.peerID, + @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], + @"CHAT_MESSAGE":@"图片消息" + }]; } else { [self alert:@"write image to file error"]; } @@ -334,6 +382,21 @@ - (void)sendVoiceMessageWithPath:(NSString *)voicePath time:(NSTimeInterval)reco timestamp:LCCK_CURRENT_TIMESTAMP serverMessageId:nil]; [self makeSureSendValidMessage:message afterFetchedConversationShouldWithAssert:NO]; + [[NSNotificationCenter defaultCenter] + postNotificationName:RNNotificationName + object:@{ + @"USER_SEX": self.peerSex, + @"USER_ICON": self.peerIcon, + @"USER_NAME": self.peerName, + @"CONVERSATION_ID": self.conversationId, + @"READ":@YES, + @"MSG_TYPE": self.messageType, + @"APP": self.messageFromApp, + @"USER_ID": self.peerID, + @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], + @"CHAT_MESSAGE":@"语音消息" + }]; [self.chatViewModel sendMessage:message]; } @@ -388,7 +451,7 @@ - (void)makeSureSendValidMessage:(id)message afterFetchedConversationShouldWithA @(__LINE__), @"Remember to check if `isAvailable` is ture, making sure sending message after conversation has been fetched"]; if (!withAssert) { - LCCKLog(@"🔴类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), reason); + LCCKLog(@"�类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), reason); return; } NSAssert(NO, reason); @@ -564,7 +627,7 @@ - (void)callbackCurrentConversationEvenNotExists:(AVIMConversation *)conversatio if (conversation.createAt) { if (!conversation.imClient) { [conversation setValue:[LCCKSessionService sharedInstance].client forKey:@"imClient"]; - LCCKLog(@"🔴类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), @"imClient is nil"); + LCCKLog(@"�类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), @"imClient is nil"); } BOOL hasDraft = (conversation.lcck_draft.length > 0); if (hasDraft) { @@ -772,7 +835,15 @@ - (void)chatBarFrameDidChange:(LCCKChatBar *)chatBar shouldScrollToBottom:(BOOL) - (void)messageCellTappedHead:(LCCKChatMessageCell *)messageCell { LCCKOpenProfileBlock openProfileBlock = [LCCKUIService sharedInstance].openProfileBlock; - !openProfileBlock ?: openProfileBlock(messageCell.message.senderId, messageCell.message.sender, self); + if ([messageCell.message lcck_isCustomMessage]) { + id sender = [[LCCKUserSystemService sharedInstance] getProfileForUserId:self.conversation.lcck_peerId error:nil]; + if (sender != nil) { + //!openProfileBlock ?: openProfileBlock(self.conversation.lcck_peerId, sender, self); + !openProfileBlock ?: openProfileBlock(((AVIMMessage *)messageCell.message).clientId, sender, self); + } + }else{ + !openProfileBlock ?: openProfileBlock(messageCell.message.senderId, messageCell.message.sender, self); + } } - (void)messageCellTappedBlank:(LCCKChatMessageCell *)messageCell { diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h index cb109d43..e5386b61 100755 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.h @@ -32,6 +32,14 @@ typedef void (^LCCKSendMessageSuccessFailedBlock)(NSString *messageUUID, NSError @property (nonatomic, assign, readonly) NSUInteger messageCount; + +@property (nonatomic, copy) NSString *peerIcon; +@property (nonatomic, copy) NSString *peerName; +@property (nonatomic, copy) NSString *peerID; +@property (nonatomic, copy) NSString *peerSex; +@property (nonatomic, copy) NSString *messageType; +@property (nonatomic, copy) NSString *messageFromApp; + @property (nonatomic, weak) id delegate; - (instancetype)initWithParentViewController:(LCCKConversationViewController *)parentViewController; diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m index 508e4790..3e823ca2 100755 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m @@ -124,6 +124,8 @@ - (void)receiveMessage:(NSNotification *)notification { if (currentConversation.muted == NO) { [[LCCKSoundManager defaultManager] playReceiveSoundIfNeed]; } + + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) { NSArray *lcckMessages = [NSMutableArray lcck_messagesWithAVIMMessages:messages]; dispatch_async(dispatch_get_main_queue(),^{ @@ -470,17 +472,57 @@ - (void)sendMessage:(id)aMessage AVIMTypedMessage *avimTypedMessage; if (![aMessage lcck_isCustomMessage]) { LCCKMessage *message = (LCCKMessage *)aMessage; + + NSString *payload = message.message.payload == nil ? @"" : message.message.payload; + NSData *data = [payload dataUsingEncoding:NSUTF8StringEncoding]; + id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; + message.conversationId = self.currentConversationId; message.sendStatus = LCCKMessageSendStateSending; id sender = [[LCCKUserSystemService sharedInstance] fetchCurrentUser]; message.sender = sender; message.ownerType = LCCKMessageOwnerTypeSelf; + avimTypedMessage = [AVIMTypedMessage lcck_messageWithLCCKMessage:message]; + + id defSender = [[LCCKUserSystemService sharedInstance] fetchCurrentUser]; + + NSString *ICON_KEY = @"USER_ICON"; + NSString *ID_KEY = @"USER_ID"; + NSString *NAME_KEY = @"USER_NAME"; + NSString *SEX_KEY = @"USER_SEX"; + NSString *TYPE_KEY = @"MSG_TYPE"; + NSString *CONV_KEY = @"CONVERSATION_ID"; + NSString *APP_KEY = @"APP"; + + NSString *ICON_VAL = defSender.avatarURL.absoluteString; + NSString *ID_VAL = defSender.clientId; + NSString *NAME_VAL = defSender.name; + NSString *SEX_VAL = defSender.sex; + NSString *TYPE_VAL = self.messageType; + NSString *CONV_VAL = self.currentConversationId; + NSString *APP_VAL = self.messageFromApp; + + [avimTypedMessage lcck_setObject:(ICON_VAL == nil ? @"" : ICON_VAL) forKey:ICON_KEY]; + [avimTypedMessage lcck_setObject:(ID_VAL == nil ? @"" : ID_VAL) forKey:ID_KEY]; + [avimTypedMessage lcck_setObject:(NAME_VAL == nil ? @"" : NAME_VAL) forKey:NAME_KEY]; + [avimTypedMessage lcck_setObject:(SEX_VAL == nil ? @"" : SEX_VAL) forKey:SEX_KEY]; + [avimTypedMessage lcck_setObject:(TYPE_VAL == nil ? @"" : TYPE_VAL) forKey:TYPE_KEY]; + [avimTypedMessage lcck_setObject:(CONV_VAL == nil ? @"" : CONV_VAL) forKey:CONV_KEY]; + [avimTypedMessage lcck_setObject:(APP_VAL == nil ? @"" : APP_VAL) forKey:APP_KEY]; + + message.message = avimTypedMessage; + } else { avimTypedMessage = aMessage; } + + // 自定义消息格式 + LCCKMessage *message = (LCCKMessage *)aMessage; + [avimTypedMessage lcck_setObject:@([self.parentConversationViewController getConversationIfExists].lcck_type) forKey:LCCKCustomMessageConversationTypeKey]; + [avimTypedMessage setValue:[LCCKSessionService sharedInstance].clientId forKey:@"clientId"];//for LCCKSendMessageHookBlock [self.avimTypedMessage addObject:avimTypedMessage]; [self preloadMessageToTableView:aMessage callback:^{ @@ -629,7 +671,7 @@ - (NSString *)currentConversationId { } - (void)loadMessagesFirstTimeWithCallback:(LCCKIdBoolResultBlock)callback { - [self queryAndCacheMessagesWithTimestamp:0 block:^(NSArray *avimTypedMessages, NSError *error) { + [self queryAndCacheMessagesWithTimestamp:0 messageId:nil block:^(NSArray *avimTypedMessages, NSError *error) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) { BOOL succeed = [self.parentConversationViewController filterAVIMError:error]; if (succeed) { @@ -653,7 +695,7 @@ - (void)loadMessagesFirstTimeWithCallback:(LCCKIdBoolResultBlock)callback { }]; } -- (void)queryAndCacheMessagesWithTimestamp:(int64_t)timestamp block:(AVIMArrayResultBlock)block { +- (void)queryAndCacheMessagesWithTimestamp:(int64_t)timestamp messageId:(NSString *)messageId block:(AVIMArrayResultBlock)block { if (self.parentConversationViewController.loadingMoreMessage) { return; } @@ -662,6 +704,7 @@ - (void)queryAndCacheMessagesWithTimestamp:(int64_t)timestamp block:(AVIMArrayRe } self.parentConversationViewController.loadingMoreMessage = YES; [[LCCKConversationService sharedInstance] queryTypedMessagesWithConversation:self.currentConversation + messageId:messageId timestamp:timestamp limit:kLCCKOnePageSize block:^(NSArray *avimTypedMessages, NSError *error) { @@ -684,7 +727,7 @@ - (void)queryAndCacheMessagesWithTimestamp:(int64_t)timestamp block:(AVIMArrayRe - (void)loadOldMessages { AVIMTypedMessage *msg = [self.avimTypedMessage lcck_messageAtIndex:0]; int64_t timestamp = msg.sendTimestamp; - [self queryAndCacheMessagesWithTimestamp:timestamp block:^(NSArray *avimTypedMessages, NSError *error) { + [self queryAndCacheMessagesWithTimestamp:timestamp messageId:msg.messageId block:^(NSArray *avimTypedMessages, NSError *error) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) { if ([self.parentConversationViewController filterAVIMError:error]) { NSMutableArray *lcckMessages = [[NSMutableArray lcck_messagesWithAVIMMessages:avimTypedMessages] mutableCopy]; diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.h b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.h index 9354fd73..779fc367 100755 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.h +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.h @@ -48,6 +48,8 @@ typedef NS_ENUM(NSUInteger, LCCKFunctionViewShowType){ */ @property (copy, nonatomic) NSString *cachedText; @property (nonatomic, assign) LCCKFunctionViewShowType showType; +@property (nonatomic,assign) BOOL isGaming; +@property (nonatomic,copy) void(^startVoiceWhenGaming)(); /*! * 在 `-presentViewController:animated:completion:` 的completion回调中调用该方法,屏蔽来自其它 ViewController 的键盘通知事件。 diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m index 57a4bb04..fe10573f 100755 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m @@ -504,9 +504,13 @@ - (void)setup { * 开始录音 */ - (void)startRecordVoice { - [LCCKProgressHUD show]; - self.voiceRecordButton.highlighted = YES; - [self.MP3 startRecord]; + if (self.isGaming) { + _startVoiceWhenGaming(); + }else{ + [LCCKProgressHUD show]; + self.voiceRecordButton.highlighted = YES; + [self.MP3 startRecord]; + } } /** diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatMoreView.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatMoreView.m index 6efb2e55..f89b0bde 100755 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatMoreView.m +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatMoreView.m @@ -203,21 +203,21 @@ - (void)setupItems { item.tag = idx; [item addTarget:self action:@selector(itemClickAction:) forControlEvents:UIControlEventTouchUpInside]; [self.scrollView addSubview:item]; - if (!item) { - NSString *formatString = @"\n\n\ - ------ BEGIN NSException Log ---------------\n \ - class name: %@ \n \ - ------line: %@ \n \ - ----reason: %@ \n \ - ------ END -------------------------------- \n\n"; - NSString *reason = [NSString stringWithFormat:formatString, - @(__PRETTY_FUNCTION__), - @(__LINE__), - @"Please make sure the custom InputViewPlugin type increase from 1 consecutively.[Chinese:]请确保自定义插件的 type 值从1开始连续递增,详情请查看文档:https://github.com/leancloud/ChatKit-OC/blob/master/ChatKit%20%E8%87%AA%E5%AE%9A%E4%B9%89%E4%B8%9A%E5%8A%A1.md#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%BE%93%E5%85%A5%E6%A1%86%E6%8F%92%E4%BB%B6"]; - @throw [NSException exceptionWithName:NSGenericException - reason:reason - userInfo:nil]; - } +// if (!item) { +// NSString *formatString = @"\n\n\ +// ------ BEGIN NSException Log ---------------\n \ +// class name: %@ \n \ +// ------line: %@ \n \ +// ----reason: %@ \n \ +// ------ END -------------------------------- \n\n"; +// NSString *reason = [NSString stringWithFormat:formatString, +// @(__PRETTY_FUNCTION__), +// @(__LINE__), +// @"Please make sure the custom InputViewPlugin type increase from 1 consecutively.[Chinese:]请确保自定义插件的 type 值从1开始连续递增,详情请查看文档:https://github.com/leancloud/ChatKit-OC/blob/master/ChatKit%20%E8%87%AA%E5%AE%9A%E4%B9%89%E4%B8%9A%E5%8A%A1.md#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%BE%93%E5%85%A5%E6%A1%86%E6%8F%92%E4%BB%B6"]; +// @throw [NSException exceptionWithName:NSGenericException +// reason:reason +// userInfo:nil]; +// } [self.itemViews addObject:item]; column ++; if (idx == self.titles.count - 1) { diff --git a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m index f65577b5..e2507103 100755 --- a/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m +++ b/ChatKit/Class/Module/Conversation/View/ChatMessageCell/LCCKChatMessageCell.m @@ -314,19 +314,67 @@ - (void)setup { - (void)configureCellWithData:(id)message { NSString *nickName = nil; NSURL *avatarURL = nil; + + NSString* payload = @""; + //看到这句话,你已经更新了2018.0214的代码了 + if([message isKindOfClass: [AVIMMessage class]]) { + payload = ((AVIMMessage *)message).payload; + } else if([message isKindOfClass: [LCCKMessage class]]) { + payload = ((LCCKMessage *)message).message.payload == nil ? @"" : ((LCCKMessage *)message).message.payload; + } + + NSData *data = [payload dataUsingEncoding:NSUTF8StringEncoding]; + id orginData = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; + id json = [orginData objectForKey:@"_lcattrs"]; + + NSString *name = [json objectForKey: @"USER_NAME"]; + if (name != nil) { + nickName = name; + } + NSString *icon = [json objectForKey: @"USER_ICON"]; + NSURL *url = [NSURL URLWithString:icon]; + avatarURL = url; +// if(icon == nil +// || (icon != nil && [icon isEqualToString:@""])) { +// avatarURL = self.message.sender.avatarURL; +// } +// +// if(avatarURL == nil +// || (avatarURL != nil && [avatarURL.absoluteString isEqualToString:@""])) { +// id defSender = [[LCCKUserSystemService sharedInstance] fetchCurrentUser]; +// avatarURL = defSender.avatarURL; +// } + LCCKMessageSendState sendStatus; if ([message lcck_isCustomMessage]) { NSString *senderClientId = [(AVIMTypedMessage *)message clientId]; NSError *error; //TODO:如果我正在群里聊天,这时有人进入群聊,需要异步获取头像等信息,模仿ConversationList的做法。 [[LCCKUserSystemService sharedInstance] getCachedProfileIfExists:senderClientId name:&nickName avatarURL:&avatarURL error:&error]; - if (!nickName) { nickName = senderClientId; } - self.message = nil; + if (!nickName) { + nickName = senderClientId; + NSString *name = [json objectForKey: @"USER_NAME"]; + if (name != nil) { + nickName = name; + } + } + self.message = message; sendStatus = (LCCKMessageSendState)[(AVIMTypedMessage *)message status]; } else { self.message = message; - nickName = self.message.localDisplayName; - avatarURL = self.message.sender.avatarURL; + NSString *name = [json objectForKey: @"USER_NAME"]; + if (name != nil) { + nickName = name; + } + if(!nickName) { + nickName = self.message.localDisplayName; + } + NSString *icon = [json objectForKey: @"USER_ICON"]; + NSURL *url = [NSURL URLWithString:icon]; + avatarURL = url; + if(!avatarURL) { + avatarURL = self.message.sender.avatarURL; + } sendStatus = self.message.sendStatus; //FIXME: SDK 暂不支持已读未读 // if ([(LCCKMessage *)message messageReadState]) { diff --git a/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.h b/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.h index 3bb29111..62d16b22 100755 --- a/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.h +++ b/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.h @@ -12,6 +12,8 @@ @interface LCCKConversationNavigationTitleView : UIView +@property (nonatomic, strong) UILabel *conversationNameView; + - (instancetype)initWithConversation:(AVIMConversation *)conversation navigationController:(UINavigationController *)navigationController; @end diff --git a/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.m b/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.m index bc1e61d5..f859b3f9 100755 --- a/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.m +++ b/ChatKit/Class/Module/Conversation/View/LCCKConversationNavigationTitleView.m @@ -28,7 +28,6 @@ @interface LCCKConversationNavigationTitleView () -@property (nonatomic, strong) UILabel *conversationNameView; @property (nonatomic, strong) UILabel *membersCountView; @property (nonatomic, weak) UINavigationController *navigationController; @property (nonatomic, strong) UIStackView *containerView; @@ -166,7 +165,7 @@ - (void)resetConversationNameWithMembersCountChanged:(BOOL)membersCountChanged { if (conversationName.length == 0 || !conversationName) { conversationName = LCCKLocalizedStrings(@"Chat"); } - self.conversationNameView.text = conversationName; + self.conversationNameView.text = @"";//conversationName; if (membersCountChanged) { NSUInteger membersCount = self.conversation.members.count; self.membersCountView.text = [NSString stringWithFormat:@"(%@)", @(membersCount)]; diff --git a/ChatKit/Class/Tool/Categories/UIImageView+LCCKExtension.m b/ChatKit/Class/Tool/Categories/UIImageView+LCCKExtension.m index 6029c6a9..a7dfa45e 100755 --- a/ChatKit/Class/Tool/Categories/UIImageView+LCCKExtension.m +++ b/ChatKit/Class/Tool/Categories/UIImageView+LCCKExtension.m @@ -56,13 +56,13 @@ @implementation LCCKImageObserver - (instancetype)initWithImageView:(UIImageView *)imageView { if (self = [super init]) { self.originImageView = imageView; - [imageView addObserver:self forKeyPath:@"image" options:NSKeyValueObservingOptionNew context:nil]; - [imageView addObserver:self forKeyPath:@"contentMode" options:NSKeyValueObservingOptionNew context:nil]; - __unsafe_unretained __typeof(self) weakSelf = self; - [self cyl_executeAtDealloc:^{ - [weakSelf.originImageView removeObserver:weakSelf forKeyPath:@"image"]; - [weakSelf.originImageView removeObserver:weakSelf forKeyPath:@"contentMode"]; - }]; +// [imageView addObserver:self forKeyPath:@"image" options:NSKeyValueObservingOptionNew context:nil]; +// [imageView addObserver:self forKeyPath:@"contentMode" options:NSKeyValueObservingOptionNew context:nil]; +// __unsafe_unretained __typeof(self) weakSelf = self; +// [self cyl_executeAtDealloc:^{ +// [weakSelf.originImageView removeObserver:weakSelf forKeyPath:@"image"]; +// [weakSelf.originImageView removeObserver:weakSelf forKeyPath:@"contentMode"]; +// }]; } return self; } @@ -108,11 +108,9 @@ - (void)updateImageView { } if ([image isKindOfClass:[UIImage class]]) { - image.lcck_cornerRadius = YES; - self.originImageView.image = image; - } else { dispatch_async(dispatch_get_main_queue(), ^{ - [self updateImageView]; + image.lcck_cornerRadius = YES; + self.originImageView.image = image; }); } } diff --git a/ChatKit/Class/Tool/Service/LCCKConversationService.h b/ChatKit/Class/Tool/Service/LCCKConversationService.h index ff9441d0..7353e7f6 100755 --- a/ChatKit/Class/Tool/Service/LCCKConversationService.h +++ b/ChatKit/Class/Tool/Service/LCCKConversationService.h @@ -71,7 +71,11 @@ FOUNDATION_EXTERN NSString *const LCCKConversationServiceErrorDomain; progressBlock:(AVProgressBlock)progressBlock callback:(LCCKBooleanResultBlock)block; -- (void)queryTypedMessagesWithConversation:(AVIMConversation *)conversation timestamp:(int64_t)timestamp limit:(NSInteger)limit block:(LCCKArrayResultBlock)block; +- (void)queryTypedMessagesWithConversation:(AVIMConversation *)conversation + messageId:(NSString *)messageId + timestamp:(int64_t)timestamp + limit:(NSInteger)limit + block:(LCCKArrayResultBlock)block; /** * 删除对话对应的UIProfile缓存,比如当用户信息发生变化时 diff --git a/ChatKit/Class/Tool/Service/LCCKConversationService.m b/ChatKit/Class/Tool/Service/LCCKConversationService.m index 0c52e3ec..2290ce53 100755 --- a/ChatKit/Class/Tool/Service/LCCKConversationService.m +++ b/ChatKit/Class/Tool/Service/LCCKConversationService.m @@ -21,7 +21,7 @@ #import "AVIMConversation+LCCKExtension.h" #import "LCCKConversationViewController.h" #import "LCCKConversationListViewController.h" -#import "LCCKMessage.h" +#import "LCCKMessage.h" #import "LCCKConversationListService.h" #import "AVIMMessage+LCCKExtension.h" @@ -713,6 +713,7 @@ - (void)setLoadLatestMessagesHandler:(LCCKLoadLatestMessagesHandler)loadLatestMe } - (void)queryTypedMessagesWithConversation:(AVIMConversation *)conversation + messageId:(NSString *)messageId timestamp:(int64_t)timestamp limit:(NSInteger)limit block:(AVIMArrayResultBlock)block { @@ -737,6 +738,10 @@ - (void)queryTypedMessagesWithConversation:(AVIMConversation *)conversation } else { //会先根据本地缓存判断是否有必要从服务端拉取,这个方法不能用于首次拉取 [conversation queryMessagesBeforeId:nil timestamp:timestamp limit:limit callback:callback]; + [conversation queryMessagesBeforeId:messageId + timestamp:timestamp + limit:limit + callback:callback]; } }); } diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index f5596c46..916cab30 100755 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -257,7 +257,7 @@ - (void)conversation:(AVIMConversation *)conversation didReceiveTypedMessage:(AV return; } if (!message.messageId) { - LCCKLog(@"🔴类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), @"Receive Message , but MessageId is nil"); + LCCKLog(@"�类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), @"Receive Message , but MessageId is nil"); return; } void (^fetchedConversationCallback)() = ^() { @@ -292,6 +292,7 @@ - (void)conversation:(AVIMConversation *)conversation didReceiveUnread:(NSIntege [conversation queryMessagesFromServerWithLimit:unread callback:^(NSArray *objects, NSError *error) { if (!error && (objects.count > 0)) { [self receiveMessages:objects conversation:conversation isUnreadMessage:YES]; + [conversation readInBackground]; } }]; [self playLoudReceiveSoundIfNeededForConversation:conversation]; @@ -310,7 +311,7 @@ - (void)makeSureConversation:(AVIMConversation *)conversation isAvailableCallbac !callback ?: callback(); return; } - LCCKLog(@"🔴类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), error); + LCCKLog(@"�类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), error); }]; } else { !callback ?: callback(); @@ -335,26 +336,125 @@ - (void)receiveMessage:(AVIMTypedMessage *)message conversation:(AVIMConversatio [[NSNotificationCenter defaultCenter] postNotificationName:LCCKNotificationCustomTransientMessageReceived object:userInfo]; } [self receiveMessages:@[message] conversation:conversation isUnreadMessage:NO]; + [conversation readInBackground]; } - (void)receiveMessages:(NSArray *)messages conversation:(AVIMConversation *)conversation isUnreadMessage:(BOOL)isUnreadMessage { void (^checkMentionedMessageCallback)() = ^(NSArray *filterdMessages) { - // - 插入最近对话列表 - // 下面的LCCKNotificationMessageReceived也会通知ConversationListVC刷新 - [[LCCKConversationService sharedInstance] insertRecentConversation:conversation shouldRefreshWhenFinished:NO]; - [[LCCKConversationService sharedInstance] increaseUnreadCount:filterdMessages.count withConversationId:conversation.conversationId shouldRefreshWhenFinished:NO]; - // - 播放接收音 - if (!isUnreadMessage) { - [self playLoudReceiveSoundIfNeededForConversation:conversation]; - } + NSDictionary *userInfo = @{ LCCKMessageNotifacationUserInfoConversationKey : conversation, LCCKDidReceiveMessagesUserInfoMessagesKey : filterdMessages, }; // - 通知相关页面接收到了消息:“当前对话页面”、“最近对话页面”; [[NSNotificationCenter defaultCenter] postNotificationName:LCCKNotificationMessageReceived object:userInfo]; + + AVIMTypedMessage * userObj = userInfo[@"receivedMessages"][0]; + if(![userObj respondsToSelector:@selector(attributes)]) { + return; + } + NSDictionary * userInformation = userObj.attributes; + + NSString *userSex = userInformation[@"USER_SEX"]; + NSString *userIcon = userInformation[@"USER_ICON"]; + NSString *userName = userInformation[@"USER_NAME"]; + NSString *convId = userInformation[@"CONVERSATION_ID"]; + NSString *userId = userInformation[@"USER_ID"]; + NSString *msgType = userInformation[@"MSG_TYPE"]; + NSString *fromApp = userInformation[@"APP"]; + NSString *path = [NSString stringWithFormat:@"%@/Documents/%@.BL",NSHomeDirectory(),_clientId]; + NSFileManager *manager = [NSFileManager defaultManager]; + NSMutableDictionary *block = [[NSMutableDictionary alloc] init]; + if ([manager fileExistsAtPath:path]) { + block = [NSKeyedUnarchiver unarchiveObjectWithFile:path]; + if (block != nil) { + if (userId != nil) { + if (block[userId] != nil) { + return; + } + }else{ + return; + } + } + } + + + [[LCCKConversationService sharedInstance] insertRecentConversation:conversation shouldRefreshWhenFinished:NO]; + [[LCCKConversationService sharedInstance] increaseUnreadCount:filterdMessages.count withConversationId:conversation.conversationId shouldRefreshWhenFinished:NO]; + // - 播放接收音 + if (!isUnreadMessage) { + BOOL isTransient = userObj.transient; + if (isTransient == NO) { + [self playLoudReceiveSoundIfNeededForConversation:conversation]; + } + } + + if(fromApp == nil) { + fromApp = @""; + } + + if(userSex == nil) { + userSex = @""; + } + + if(userIcon == nil) { + userIcon = @""; + } + + if(userName == nil) { + userName = @""; + } + + if(userId == nil) { + userId = userObj.clientId; + } + + if(msgType == nil) { + msgType = @""; + } + + if(convId == nil) { + convId = @""; + } + + NSString * finalMessage = @""; + + if (userObj.mediaType == kAVIMMessageMediaTypeText) { + finalMessage = userObj.text; + } else if (userObj.mediaType == kAVIMMessageMediaTypeAudio) { + finalMessage = @"语音消息"; + } else if (userObj.mediaType == kAVIMMessageMediaTypeImage) { + finalMessage = @"图片消息"; + } else { + if (userObj.text != nil) { + finalMessage = userObj.text; + } else { + finalMessage = @"收到新消息"; + } + } + //edit by no02 20180309 + BOOL isTransient = userObj.transient; + if (isTransient) { + //暂态消息不回转发 + }else{ + [[NSNotificationCenter defaultCenter] postNotificationName:@"sendMessageToRNNotificationName" + object:@{ + @"USER_SEX": userSex, + @"USER_ICON": userIcon, + @"USER_NAME": userName, + @"USER_ID": userId, + @"CONVERSATION_ID": convId, + @"MESSAGE_TYPE": @"MESSAGE_TYPE_CHAT", + @"MSG_TYPE": msgType, + @"APP": fromApp, + @"CHAT_TIME": [NSString stringWithFormat:@"%f", LCCK_CURRENT_TIMESTAMP], + @"CHAT_MESSAGE":finalMessage + }]; + } + }; + void(^filteredMessageCallback)(NSArray *originalMessages) = ^(NSArray *filterdMessages) { if (filterdMessages.count == 0) { return; } diff --git a/ChatKit/Class/Tool/Service/LCCKSettingService.m b/ChatKit/Class/Tool/Service/LCCKSettingService.m index 03bb321c..02a4affb 100755 --- a/ChatKit/Class/Tool/Service/LCCKSettingService.m +++ b/ChatKit/Class/Tool/Service/LCCKSettingService.m @@ -118,6 +118,7 @@ - (void)syncBadge { } else { // NSLog(@"badge not changed"); } + [UIApplication sharedApplication].applicationIconBadgeNumber = 0; } - (void)setUseDevPushCerticate:(BOOL)useDevPushCerticate { From a2cbfc0adaab76e8d238ab94776060d8ca1dd178 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Wed, 13 Jun 2018 18:56:27 +0800 Subject: [PATCH 49/90] =?UTF-8?q?=E6=9B=B4=E6=96=B0chatkit=E7=9A=84pod?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 89572219..9aeb0c8a 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "1.180326" + s.version = "1.180613" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } @@ -27,3 +27,5 @@ Pod::Spec.new do |s| s.dependency "CYLDeallocBlockExecutor", "~> 1.1.2" end + +# 使用的版本是 0.8.14 \ No newline at end of file From 488a58ef6298e7776ffad21141800b95a4092494 Mon Sep 17 00:00:00 2001 From: tianlinchun <260628258@qq.com> Date: Sat, 22 Dec 2018 14:21:54 +0800 Subject: [PATCH 50/90] =?UTF-8?q?=E9=98=B2=E6=AD=A2=E5=A4=9A=E6=AC=A1push?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Base/LCCKBaseNavigationController.m | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/ChatKit/Class/Module/Base/LCCKBaseNavigationController.m b/ChatKit/Class/Module/Base/LCCKBaseNavigationController.m index bc77667b..604c458d 100755 --- a/ChatKit/Class/Module/Base/LCCKBaseNavigationController.m +++ b/ChatKit/Class/Module/Base/LCCKBaseNavigationController.m @@ -8,19 +8,46 @@ #import "LCCKBaseNavigationController.h" +@interface LCCKBaseNavigationController() +{ + BOOL _pushing; +} +@end + @implementation LCCKBaseNavigationController - (void)viewDidLoad { [super viewDidLoad]; + _pushing = NO; self.view.backgroundColor = [UIColor whiteColor]; self.navigationBar.barStyle = UIBarStyleBlack; + self.delegate = self; } - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated { if (self.viewControllers.count > 0) { viewController.hidesBottomBarWhenPushed = YES; } + if (_pushing == YES) { + return; + }else{ + _pushing = NO; + } + [super pushViewController:viewController animated:animated]; } + +// 实现当delegate为其他的时候, 还能调到这个方法 +- (void)setDelegate:(id)delegate { + [super setDelegate:delegate]; + + // 待实现 +} + +#pragma mark - UINavigationControllerDelegate +-(void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated { + _pushing = NO; //完成PUSH +} + @end From 91e9c26a3720e72222499085c4b034b9edc16997 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Thu, 3 Jan 2019 17:12:21 +0800 Subject: [PATCH 51/90] =?UTF-8?q?=E7=BB=99=E6=B6=88=E6=81=AF=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LCCKConversationViewController.m | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index cd130b46..4312eec2 100755 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -74,6 +74,34 @@ @interface LCCKConversationViewController () Date: Mon, 21 Jan 2019 18:39:02 +0800 Subject: [PATCH 52/90] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96=E5=8A=A0=E8=BD=BD=E5=A5=94=E6=BA=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/Class/Tool/LCCKConstants.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit/Class/Tool/LCCKConstants.h b/ChatKit/Class/Tool/LCCKConstants.h index e11971c7..7f870381 100755 --- a/ChatKit/Class/Tool/LCCKConstants.h +++ b/ChatKit/Class/Tool/LCCKConstants.h @@ -48,7 +48,7 @@ static NSString *const LCCKBadgeTextForNumberGreaterThanLimit = @"···"; #ifndef LCCKLocalizedStrings #define LCCKLocalizedStrings(key) \ - NSLocalizedStringFromTableInBundle(key, @"LCChatKitString", [NSBundle lcck_bundleForName:@"Other" class:[self class]], nil) + NSLocalizedStringFromTableInBundle(key, @"LCChatKitString", [NSBundle lcck_bundleForName:@"Other" class:[LCCKContact class]], nil) #endif From f0a0b308d8ab979b594e81656993e17e6e25be2f Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Thu, 24 Jan 2019 14:20:54 +0800 Subject: [PATCH 53/90] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E7=A8=B3=E5=AE=9A?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit-OC/Example/AppDelegate.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit-OC/Example/AppDelegate.h b/ChatKit-OC/Example/AppDelegate.h index dcd00be2..66359ced 100644 --- a/ChatKit-OC/Example/AppDelegate.h +++ b/ChatKit-OC/Example/AppDelegate.h @@ -5,7 +5,7 @@ // v0.8.5 Created by ElonChan on 16/2/24. // Copyright © 2016年 LeanCloud. All rights reserved. // - + #import @interface AppDelegate : UIResponder From 6b2be3353c5c42a8cf194e639010418bf37b038b Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Sat, 2 Feb 2019 10:56:25 +0800 Subject: [PATCH 54/90] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E7=9A=84=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit-OC/Podfile | 1 - 1 file changed, 1 deletion(-) diff --git a/ChatKit-OC/Podfile b/ChatKit-OC/Podfile index 197df09c..714fbb7c 100644 --- a/ChatKit-OC/Podfile +++ b/ChatKit-OC/Podfile @@ -16,6 +16,5 @@ target 'ChatKit-OC' do pod 'TWMessageBarManager', '1.8.1' pod 'MLPAutoCompleteTextField', '1.5' pod 'FTPopOverMenu', '1.3.2' - pod 'RedpacketLib' ,'3.4.1' pod 'FXForms', '1.2.14' end From d4843922ae8cbb26c0f63dbae3da12d243307f0f Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Fri, 22 Feb 2019 23:17:38 +0800 Subject: [PATCH 55/90] =?UTF-8?q?=E6=8C=87=E5=AE=9A=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E7=89=88=E6=9C=AC=EF=BC=8C=E5=90=88=E5=B9=B6=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index dbeee78c..43f08a42 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "2.3.10" + s.version = "2.3.10_ cc714e918d952ea88d2bf6b044df819897690b1a_190222" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } From b6b54765482d79ee298be8c2b04e1562fc45654b Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Fri, 22 Feb 2019 23:23:25 +0800 Subject: [PATCH 56/90] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=BF=9C=E7=A8=8B?= =?UTF-8?q?=E5=90=88=E5=B9=B6=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...5\220\210\345\271\266\346\226\271\346\263\225" | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 "\345\220\210\345\271\266\346\226\271\346\263\225" diff --git "a/\345\220\210\345\271\266\346\226\271\346\263\225" "b/\345\220\210\345\271\266\346\226\271\346\263\225" new file mode 100644 index 00000000..7a170cd9 --- /dev/null +++ "b/\345\220\210\345\271\266\346\226\271\346\263\225" @@ -0,0 +1,15 @@ +创建指定版本分支 +git checkout -b master_190222(新分支名) master(来源分支) +合并远程URL到当前分支 +git pull git://github.com/leancloud/ChatKit-OC.git(远程分支) master(指定分支或者版本) + +比如: +先从stable分支拉出一个stable_190222版本用于合并新代码: +git checkout -b stable_190222 stable +去leancloud看到发布了新的版本: +https://github.com/leancloud/ChatKit-OC/releases +v2.3.10 然后 提交的号是:cc714e918d952ea88d2bf6b044df819897690b1a +合并: +git pull git://github.com/leancloud/ChatKit-OC.git cc714e918d952ea88d2bf6b044df819897690b1a + +这样就合并完成了 \ No newline at end of file From c2f4263baf34c25f8c27a9cf2035f51f1cc51fc1 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Sat, 23 Feb 2019 00:58:10 +0800 Subject: [PATCH 57/90] =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 43f08a42..5bb994e2 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "2.3.10_ cc714e918d952ea88d2bf6b044df819897690b1a_190222" + s.version = "2.3.10_cc714e918d952ea88d2bf6b044df819897690b1a_190222" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } From 82ec8145fdc401df0dd0bacae051a4a6113c6549 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Sat, 23 Feb 2019 01:00:18 +0800 Subject: [PATCH 58/90] =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 5bb994e2..dbeee78c 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "ChatKit" - s.version = "2.3.10_cc714e918d952ea88d2bf6b044df819897690b1a_190222" + s.version = "2.3.10" s.summary = "An IM App Framework, support sending text, pictures, audio, video, location messaging, managing address book, more interesting features." s.homepage = "https://github.com/LeanCloud/ChatKit-OC" s.license = { :type => 'MIT', :file => 'LICENSE' } From cdf7295d2a52c098a4287a625597999785368538 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Sat, 23 Feb 2019 02:42:28 +0800 Subject: [PATCH 59/90] =?UTF-8?q?=E6=94=AF=E6=8C=81X?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Conversation/View/ChatBar/LCCKChatBar.m | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m index a8e846c5..d025647a 100755 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m @@ -448,6 +448,14 @@ - (void)keyboardWillHide:(NSNotification *)notification { } [self updateChatBarKeyBoardConstraints]; [self updateChatBarConstraintsIfNeeded]; + if (@available(iOS 11.0, *)) { + UIWindow *keyWindow = [[[UIApplication sharedApplication] delegate] window]; + // 获取底部安全区域高度,iPhone X 竖屏下为 34.0,横屏下为 21.0,其他类型设备都为 0 + CGFloat bottomSafeInset = keyWindow.safeAreaInsets.bottom; + if (bottomSafeInset == 34.0f || bottomSafeInset == 21.0f) { + [self safeAreaInsetsDidChange]; + } + } } - (void)keyboardWillShow:(NSNotification *)notification { @@ -589,6 +597,14 @@ - (void)setShowType:(LCCKFunctionViewShowType)showType { break; } [self updateChatBarConstraintsIfNeeded]; + if (@available(iOS 11.0, *)) { + UIWindow *keyWindow = [[[UIApplication sharedApplication] delegate] window]; + // 获取底部安全区域高度,iPhone X 竖屏下为 34.0,横屏下为 21.0,其他类型设备都为 0 + CGFloat bottomSafeInset = keyWindow.safeAreaInsets.bottom; + if (bottomSafeInset == 34.0f || bottomSafeInset == 21.0f) { + [self safeAreaInsetsDidChange]; + } + } } - (void)buttonAction:(UIButton *)button { @@ -877,4 +893,23 @@ - (UIColor *)messageInputViewRecordTextColor { return _messageInputViewRecordTextColor; } +- (void)safeAreaInsetsDidChange { + CGFloat safeAreaOffset = 0; + if ((_showType != LCCKFunctionViewShowFace) && (_showType != LCCKFunctionViewShowMore)) { + safeAreaOffset = -self.safeAreaInsets.bottom; + } + [self.voiceButton mas_updateConstraints:^(MASConstraintMaker *make) { + make.bottom.equalTo(self.inputBarBackgroundView.mas_bottom).with.offset(-kChatBarBottomOffset+safeAreaOffset); + }]; + [self.moreButton mas_updateConstraints:^(MASConstraintMaker *make) { + make.bottom.equalTo(self.inputBarBackgroundView.mas_bottom).with.offset(-kChatBarBottomOffset+safeAreaOffset); + }]; + [self.faceButton mas_updateConstraints:^(MASConstraintMaker *make) { + make.bottom.equalTo(self.inputBarBackgroundView.mas_bottom).with.offset(-kChatBarBottomOffset+safeAreaOffset); + }]; + [self.textView mas_updateConstraints:^(MASConstraintMaker *make) { + make.bottom.equalTo(self.inputBarBackgroundView.mas_bottom).with.offset(-kChatBarBottomOffset+safeAreaOffset); + }]; +} + @end From 2b3d93e42221f4458195ac14dc428146fcb5de19 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Mon, 25 Feb 2019 18:25:16 +0800 Subject: [PATCH 60/90] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dchatkit=E7=8B=82?= =?UTF-8?q?=E9=80=81=E7=A4=BC=E7=89=A9=E5=B4=A9=E6=BA=83=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Model/LCCKConversationViewModel.m | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m index fe152fc5..132cf69b 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m @@ -595,13 +595,20 @@ - (void)sendMessage:(id)aMessage } - (void)sendLocalFeedbackTextMessge:(NSString *)localFeedbackTextMessge { - LCCKMessage *localFeedbackMessge = [LCCKMessage localFeedbackText:localFeedbackTextMessge]; - [self appendMessagesToDataArrayTrailing:@[localFeedbackMessge]]; - NSIndexPath *indexPath = [NSIndexPath indexPathForRow:self.dataArray.count - 1 inSection:0]; - dispatch_async(dispatch_get_main_queue(),^{ + void (^operation)(void) = ^(void) { + LCCKMessage *localFeedbackMessge = [LCCKMessage localFeedbackText:localFeedbackTextMessge]; + [self appendMessagesToDataArrayTrailing:@[localFeedbackMessge]]; + NSIndexPath *indexPath = [NSIndexPath indexPathForRow:self.dataArray.count - 1 inSection:0]; [self.parentConversationViewController.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone]; [self.parentConversationViewController scrollToBottomAnimated:YES]; - }); + }; + if ([NSThread isMainThread]) { + operation(); + } else { + dispatch_async(dispatch_get_main_queue(),^{ + operation(); + }); + } } - (void)resendMessageForMessageCell:(LCCKChatMessageCell *)messageCell { From 4122921dab310d4070d466ab7a90eb7263301195 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Tue, 26 Feb 2019 14:40:25 +0800 Subject: [PATCH 61/90] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=81=8A=E5=A4=A9?= =?UTF-8?q?=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Class/Module/Conversation/Model/LCCKConversationViewModel.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m index 132cf69b..a8b159da 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m @@ -600,7 +600,7 @@ - (void)sendLocalFeedbackTextMessge:(NSString *)localFeedbackTextMessge { [self appendMessagesToDataArrayTrailing:@[localFeedbackMessge]]; NSIndexPath *indexPath = [NSIndexPath indexPathForRow:self.dataArray.count - 1 inSection:0]; [self.parentConversationViewController.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone]; - [self.parentConversationViewController scrollToBottomAnimated:YES]; + [self.parentConversationViewController scrollToBottomAnimated:NO]; }; if ([NSThread isMainThread]) { operation(); From 2e6dc11ae34f69ec2855dcbab24114f104045e84 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Thu, 28 Feb 2019 22:53:21 +0800 Subject: [PATCH 62/90] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/LCCKConversationViewController.m | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index f3c80304..273cbdba 100755 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -102,6 +102,20 @@ - (NSString *)peerSex { return _peerSex; } +- (NSString *)messageType { + if (_messageType == nil) { + _messageType = @""; + } + return _messageType; +} + +- (NSString *)messageFromApp { + if (_messageFromApp == nil) { + _messageFromApp = @""; + } + return _messageFromApp; +} + - (void)setFetchConversationHandler:(LCCKFetchConversationHandler)fetchConversationHandler { _fetchConversationHandler = fetchConversationHandler; } From 9886b0319ce95e590baec15f03999caa6d133d5f Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Fri, 1 Mar 2019 18:51:23 +0800 Subject: [PATCH 63/90] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/Class/Tool/Service/LCCKSessionService.m | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index cc9a065f..cd9cbc07 100755 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -310,12 +310,18 @@ - (void)didReceiveStatusMessage:(AVIMMessage *)message conversation:(AVIMConvers - (void)conversation:(AVIMConversation *)conversation didUpdateForKey:(AVIMConversationUpdatedKey)key { + NSString *notificationName = @"AVIMConversationDidUpdateForKey"; NSString *currentConversationId = LCCKConversationService.sharedInstance.currentConversationId; NSString *conversationId = conversation.conversationId; if ([key isEqualToString:AVIMConversationUpdatedKeyUnreadMessagesCount]) { if ([currentConversationId isEqualToString:conversationId]) { // do nothing. } else { + [[NSNotificationCenter defaultCenter] postNotificationName:notificationName + object:@{ + @"key": key, + @"conversation":conversation + }]; [LCCKConversationService.sharedInstance insertRecentConversation:conversation shouldRefreshWhenFinished:true]; } } @@ -323,6 +329,11 @@ - (void)conversation:(AVIMConversation *)conversation didUpdateForKey:(AVIMConve if ([currentConversationId isEqualToString:conversationId]) { // do nothing } else { + [[NSNotificationCenter defaultCenter] postNotificationName:notificationName + object:@{ + @"key": key, + @"conversation":conversation + }]; [LCCKConversationService.sharedInstance insertRecentConversation:conversation shouldRefreshWhenFinished:true]; } } @@ -330,6 +341,11 @@ - (void)conversation:(AVIMConversation *)conversation didUpdateForKey:(AVIMConve if ([currentConversationId isEqualToString:conversationId]) { // do nothing } else { + [[NSNotificationCenter defaultCenter] postNotificationName:notificationName + object:@{ + @"key": key, + @"conversation":conversation + }]; [LCCKConversationService.sharedInstance insertRecentConversation:conversation shouldRefreshWhenFinished:true]; } } From 250041d931048c5a1f4203afdce574593939616f Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Thu, 7 Mar 2019 17:20:02 +0800 Subject: [PATCH 64/90] =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E8=BD=AC=E5=8F=91?= =?UTF-8?q?=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LCCKConversationViewController.h | 7 ++++ .../LCCKConversationViewController.m | 37 ++++++++++++++----- .../Model/LCCKConversationViewModel.m | 8 ++++ .../Class/Tool/Service/LCCKSessionService.m | 2 + 4 files changed, 45 insertions(+), 9 deletions(-) diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h index 79820259..8e419115 100755 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.h @@ -27,11 +27,18 @@ FOUNDATION_EXTERN NSString *const LCCKConversationViewControllerErrorDomain; // 消息的来源:狼人杀还是小语 werewolf | xiaoyu @property (nonatomic, copy) NSString *messageFromApp; +// 对方的信息 @property (nonatomic, copy) NSString *peerIcon; @property (nonatomic, copy) NSString *peerName; @property (nonatomic, copy) NSString *peerID; @property (nonatomic, copy) NSString *peerSex; +// 自己的信息 +@property (nonatomic, copy) NSString *selfIcon; +@property (nonatomic, copy) NSString *selfName; +@property (nonatomic, copy) NSString *selfID; +@property (nonatomic, copy) NSString *selfSex; + /*! * @brief Id of the peer, single conversation should be initialized with this property. diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index 273cbdba..cca87bc6 100755 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -116,6 +116,34 @@ - (NSString *)messageFromApp { return _messageFromApp; } +- (NSString *)selfIcon { + if (_selfIcon == nil) { + _selfIcon = @""; + } + return _selfIcon; +} + +- (NSString *)selfName { + if (_selfName == nil) { + _selfName = @""; + } + return _selfName; +} + +- (NSString *)selfID { + if (_selfID == nil) { + _selfID = @""; + } + return _selfID; +} + +- (NSString *)selfSex { + if (_selfSex == nil) { + _selfSex = @""; + } + return _selfSex; +} + - (void)setFetchConversationHandler:(LCCKFetchConversationHandler)fetchConversationHandler { _fetchConversationHandler = fetchConversationHandler; } @@ -345,15 +373,6 @@ - (void)sendTextMessage:(NSString *)text mentionList:(NSArray *)ment sender:self.user timestamp:LCCK_CURRENT_TIMESTAMP serverMessageId:nil]; - -// AVIMTypedMessage* dataMessage = [AVIMTypedMessage lcck_messageWithLCCKMessage:lcckMessage]; - -// [dataMessage setObject:self.peerSex forKey:@"USER_SEX"]; -// [dataMessage setObject:self.peerIcon forKey:@"USER_ICON"]; -// [dataMessage setObject:self.peerName forKey:@"USER_NAME"]; -// [dataMessage setObject:self.peerID forKey:@"USER_ID"]; -// lcckMessage.message = dataMessage - [self makeSureSendValidMessage:lcckMessage afterFetchedConversationShouldWithAssert:NO]; [self.chatViewModel sendMessage:lcckMessage mentionList:mentionList]; diff --git a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m index 6168834b..85c94412 100644 --- a/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m +++ b/ChatKit/Class/Module/Conversation/Model/LCCKConversationViewModel.m @@ -543,6 +543,14 @@ - (void)sendMessage:(id)aMessage avimTypedMessage = aMessage; } [avimTypedMessage lcck_setObject:@([self.parentConversationViewController getConversationIfExists].lcck_type) forKey:LCCKCustomMessageConversationTypeKey]; + [avimTypedMessage lcck_setObject:self.parentConversationViewController.selfSex forKey:@"USER_SEX"]; + [avimTypedMessage lcck_setObject:self.parentConversationViewController.selfIcon forKey:@"USER_ICON"]; + [avimTypedMessage lcck_setObject:self.parentConversationViewController.selfName forKey:@"USER_NAME"]; + [avimTypedMessage lcck_setObject:self.parentConversationViewController.selfID forKey:@"USER_ID"]; + [avimTypedMessage lcck_setObject:self.parentConversationViewController.messageType forKey:@"MSG_TYPE"]; + [avimTypedMessage lcck_setObject:self.parentConversationViewController.messageFromApp forKey:@"APP"]; + [avimTypedMessage lcck_setObject:self.currentConversationId forKey:@"CONVERSATION_ID"]; + [avimTypedMessage setValue:[LCCKSessionService sharedInstance].clientId forKey:@"clientId"];//for LCCKSendMessageHookBlock if (mentionList.count > 0) { avimTypedMessage.mentionList = mentionList; diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index cd9cbc07..5ad79d7a 100755 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -563,6 +563,8 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV * 如果是未读消息,会在 query 时播放一次,避免重复播放 */ - (void)playLoudReceiveSoundIfNeededForConversation:(AVIMConversation *)conversation { + // 当时进入退出的临时消息也会出现震动和声音(对方的手机)。所以这边把所有的声音和震动都关掉。 + return; if ([LCCKConversationService sharedInstance].chatting) { return; } From 5018ee3e52484c80e63314f161be9151d1b8e1e9 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Mon, 11 Mar 2019 18:37:40 +0800 Subject: [PATCH 65/90] =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E8=AE=A9finalMessage=E4=B8=8D=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/Class/Tool/Service/LCCKSessionService.m | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/ChatKit/Class/Tool/Service/LCCKSessionService.m b/ChatKit/Class/Tool/Service/LCCKSessionService.m index 5ad79d7a..b7ef79c2 100755 --- a/ChatKit/Class/Tool/Service/LCCKSessionService.m +++ b/ChatKit/Class/Tool/Service/LCCKSessionService.m @@ -491,20 +491,14 @@ - (void)receiveMessages:(NSArray *)messages conversation:(AV convId = @""; } - NSString * finalMessage = @""; + NSString * finalMessage = @"收到新消息"; - if (userObj.mediaType == kAVIMMessageMediaTypeText) { - finalMessage = userObj.text; - } else if (userObj.mediaType == kAVIMMessageMediaTypeAudio) { + if (userObj.mediaType == kAVIMMessageMediaTypeAudio) { finalMessage = @"语音消息"; } else if (userObj.mediaType == kAVIMMessageMediaTypeImage) { finalMessage = @"图片消息"; - } else { - if (userObj.text != nil) { - finalMessage = userObj.text; - } else { - finalMessage = @"收到新消息"; - } + } else if (userObj.text != nil) { + finalMessage = userObj.text; } //edit by no02 20180309 BOOL isTransient = userObj.transient; From e759531161a228855c01d1ec6be75858d65a4dc1 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Thu, 28 Mar 2019 11:42:24 +0800 Subject: [PATCH 66/90] =?UTF-8?q?=E5=9C=A8=E7=BD=91=E7=BB=9C=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E7=9A=84=E6=83=85=E5=86=B5=E4=B8=8B=EF=BC=8Cconversat?= =?UTF-8?q?ionId=20=E6=98=AF=E7=A9=BA=E7=9A=84=EF=BC=8C=E8=BF=99=E4=BC=9A?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E5=B4=A9=E6=BA=83=EF=BC=8C=E8=BF=99=E7=A7=8D?= =?UTF-8?q?=E6=83=85=E5=86=B5=E4=B8=8Breturn=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/LCCKConversationViewController.m | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index cca87bc6..6c32e91a 100755 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -367,6 +367,9 @@ - (void)sendTextMessage:(NSString *)text - (void)sendTextMessage:(NSString *)text mentionList:(NSArray *)mentionList { + if (self.conversationId == nil) { + return; + } if ([text length] > 0 ) { LCCKMessage *lcckMessage = [[LCCKMessage alloc] initWithText:text senderId:self.userId @@ -407,6 +410,9 @@ - (void)sendImageMessage:(UIImage *)image { } - (void)sendImageMessageData:(NSData *)imageData { + if (self.conversationId == nil) { + return; + } NSString *path = [[LCCKSettingService sharedInstance] tmpPath]; NSError *error; [imageData writeToFile:path options:NSDataWritingAtomic error:&error]; @@ -447,6 +453,10 @@ - (void)sendImageMessageData:(NSData *)imageData { - (void)sendVoiceMessageWithPath:(NSString *)voicePath time:(NSTimeInterval)recordingSeconds { + if (self.conversationId == nil) { + return; + } + LCCKMessage *message = [[LCCKMessage alloc] initWithVoicePath:voicePath voiceURL:nil voiceDuration:[NSString stringWithFormat:@"%@", @(recordingSeconds)] @@ -527,7 +537,8 @@ - (void)makeSureSendValidMessage:(id)message afterFetchedConversationShouldWithA LCCKLog(@"�类名与方法名:%@(在第%@行),描述:%@", @(__PRETTY_FUNCTION__), @(__LINE__), reason); return; } - NSAssert(NO, reason); +// NSAssert(NO, reason); + return; } if ([message isKindOfClass:[LCCKMessage class]]) { return; From 4186c863a60b801a3e947fa3250de55ad1f051ff Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Thu, 28 Mar 2019 11:49:15 +0800 Subject: [PATCH 67/90] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E6=B6=88=E6=81=AF=E5=9C=A8=E5=9C=A8=E7=BD=91=E7=BB=9C?= =?UTF-8?q?=E4=B8=8D=E5=A5=BD=E7=9A=84=E6=83=85=E5=86=B5=E4=B8=8B=E4=B8=8D?= =?UTF-8?q?=E5=8F=91=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Conversation/Controller/LCCKConversationViewController.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index 6c32e91a..fe023165 100755 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -513,6 +513,9 @@ - (void)sendCustomMessage:(AVIMTypedMessage *)customMessage progressBlock:(AVProgressBlock)progressBlock success:(LCCKBooleanResultBlock)success failed:(LCCKBooleanResultBlock)failed { + if (!self.isAvailable) { + return; + } [self makeSureSendValidMessageAfterFetchedConversation:customMessage]; [self.chatViewModel sendCustomMessage:customMessage progressBlock:progressBlock success:success failed:failed]; } From daee626b3d1a34ca566b49deb8fba28d5afc3205 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Mon, 8 Apr 2019 11:31:22 +0800 Subject: [PATCH 68/90] =?UTF-8?q?=E5=AF=B9=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=A2=9E=E5=8A=A0cid=E6=98=AF=E4=B8=8D?= =?UTF-8?q?=E6=98=AF=E4=B8=BA=E7=A9=BA=E7=9A=84=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/LCCKConversationViewController.m | 9 +++++++++ .../Other.bundle/zh-Hans.lproj/LCChatKitString.strings | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index fe023165..850fa5b0 100755 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -505,6 +505,12 @@ - (void)sendLocalFeedbackTextMessge:(NSString *)localFeedbackTextMessge { } - (void)sendCustomMessage:(AVIMTypedMessage *)customMessage { + if (self.conversationId == nil) { + return; + } + if (!self.isAvailable) { + return; + } [self makeSureSendValidMessageAfterFetchedConversation:customMessage]; [self.chatViewModel sendCustomMessage:customMessage]; } @@ -513,6 +519,9 @@ - (void)sendCustomMessage:(AVIMTypedMessage *)customMessage progressBlock:(AVProgressBlock)progressBlock success:(LCCKBooleanResultBlock)success failed:(LCCKBooleanResultBlock)failed { + if (self.conversationId == nil) { + return; + } if (!self.isAvailable) { return; } diff --git a/ChatKit/Class/Resources/Other.bundle/zh-Hans.lproj/LCChatKitString.strings b/ChatKit/Class/Resources/Other.bundle/zh-Hans.lproj/LCChatKitString.strings index fbc05849..5bd2e2cd 100755 --- a/ChatKit/Class/Resources/Other.bundle/zh-Hans.lproj/LCChatKitString.strings +++ b/ChatKit/Class/Resources/Other.bundle/zh-Hans.lproj/LCChatKitString.strings @@ -51,7 +51,7 @@ "requestForceSingleSignOnAuthorization" = "当前账号已在其它设备登录,请问是否强制登录?强制登录会踢掉当前已经登录的设备。"; "unknownMessage" = "当前版本暂不支持查看此消息,请尝试升级APP查看"; "unknownMessageType" = "未知消息类型"; -"SingleWelcomeMessage" = "我们已经是好友啦,一起来聊天吧!"; +"SingleWelcomeMessage" = "你好"; "GroupWelcomeMessage" = "大家好"; "GroupWelcomeMessageWithNickName" = "大家好,我是"; "SingleConversation" = "单聊"; From c91ec53e9ce699c889589f4a409fae451c692ab1 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Tue, 16 Apr 2019 13:18:59 +0800 Subject: [PATCH 69/90] =?UTF-8?q?=E4=B8=A4=E4=B8=AA=E4=BA=BA=E7=9A=84?= =?UTF-8?q?=E9=A6=96=E6=AC=A1=E8=81=8A=E5=A4=A9=E4=B8=8D=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E8=BF=99=E6=9D=A1=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/LCCKConversationViewController.m | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m index 850fa5b0..6af9a302 100755 --- a/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m +++ b/ChatKit/Class/Module/Conversation/Controller/LCCKConversationViewController.m @@ -790,11 +790,11 @@ - (void)handleLoadHistoryMessagesHandlerIfIsJoined:(BOOL)isJoined { } __weak __typeof(self) weakSelf = self; [self.chatViewModel loadMessagesFirstTimeWithCallback:^(BOOL succeeded, id object, NSError *error) { - dispatch_async(dispatch_get_main_queue(),^{ - [weakSelf loadLatestMessagesHandler:succeeded error:error]; - BOOL isFirstTimeMeet = (([object count] == 0) && succeeded); - [self sendWelcomeMessageIfNeeded:isFirstTimeMeet]; - }); +// dispatch_async(dispatch_get_main_queue(),^{ +// [weakSelf loadLatestMessagesHandler:succeeded error:error]; +// BOOL isFirstTimeMeet = (([object count] == 0) && succeeded); +// [self sendWelcomeMessageIfNeeded:isFirstTimeMeet]; +// }); }]; } From 76bebe6fb1b3d5123ba8008afdee1244f021100c Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Fri, 26 Apr 2019 11:59:35 +0800 Subject: [PATCH 70/90] =?UTF-8?q?=E5=8E=BB=E6=8E=89olCustom=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=97=B6=EF=BC=8Cattr=E6=98=AFnil=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/Class/Model/AVIMMessage+LCCKExtension.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit/Class/Model/AVIMMessage+LCCKExtension.m b/ChatKit/Class/Model/AVIMMessage+LCCKExtension.m index c071eaef..497eba02 100755 --- a/ChatKit/Class/Model/AVIMMessage+LCCKExtension.m +++ b/ChatKit/Class/Model/AVIMMessage+LCCKExtension.m @@ -65,7 +65,7 @@ - (AVIMTypedMessage *)lcck_getValidTypedMessage { [typedMessage setValue:@(self.sendTimestamp) forKey:@"sendTimestamp"]; [typedMessage setValue:self.clientId forKey:@"clientId"]; [typedMessage lcck_setObject:@(YES) forKey:LCCKCustomMessageIsCustomKey]; - if (ibreakIntext) { + if (ibreakIntext && attr != nil) { [typedMessage lcck_setObject:attr forKey:@"olCustom"]; } return typedMessage; From 934c4e497c911e53b54c330dfffabc8021e7c2c7 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Sun, 28 Apr 2019 14:56:52 +0800 Subject: [PATCH 71/90] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index f54c65e2..da42eaf0 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -13,8 +13,8 @@ Pod::Spec.new do |s| s.resources = 'ChatKit/Class/Resources/*', 'ChatKit/**/*.xib' s.requires_arc = true - s.dependency "AVOSCloud" , "~> 11.5.1" - s.dependency "AVOSCloudIM", "~> 11.5.1" + s.dependency "AVOSCloud" , "~> 11.6.2" + s.dependency "AVOSCloudIM", "~> 11.6.2" s.dependency "MJRefresh" , "~> 3.1.9" s.dependency "Masonry" , "~> 1.0.1" s.dependency "SDWebImage" , "~> 3.8.0" From 392c2dcb4ed709657d6c3d447e89c800ea96c08c Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Sun, 28 Apr 2019 15:01:51 +0800 Subject: [PATCH 72/90] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index da42eaf0..e44e2e77 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -13,7 +13,7 @@ Pod::Spec.new do |s| s.resources = 'ChatKit/Class/Resources/*', 'ChatKit/**/*.xib' s.requires_arc = true - s.dependency "AVOSCloud" , "~> 11.6.2" + s.dependency "AVOSCloud" , "~> 11.5.1" s.dependency "AVOSCloudIM", "~> 11.6.2" s.dependency "MJRefresh" , "~> 3.1.9" s.dependency "Masonry" , "~> 1.0.1" From 7afa54dfe22df4519608ceda42b6e1cfb0a5edb7 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Sun, 28 Apr 2019 15:16:39 +0800 Subject: [PATCH 73/90] =?UTF-8?q?=E8=BF=98=E5=8E=9F=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index e44e2e77..f54c65e2 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -14,7 +14,7 @@ Pod::Spec.new do |s| s.requires_arc = true s.dependency "AVOSCloud" , "~> 11.5.1" - s.dependency "AVOSCloudIM", "~> 11.6.2" + s.dependency "AVOSCloudIM", "~> 11.5.1" s.dependency "MJRefresh" , "~> 3.1.9" s.dependency "Masonry" , "~> 1.0.1" s.dependency "SDWebImage" , "~> 3.8.0" From 552e750a880c513df514be25bcf2c4c04cffbc51 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Tue, 21 May 2019 19:59:16 +0800 Subject: [PATCH 74/90] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Class/Module/Conversation/View/ChatBar/LCCKChatBar.m | 2 +- ChatKit/Lan.bundle/en.lproj/Localizable.strings | 8 ++++++++ ChatKit/Lan.bundle/zh-Hans.lproj/Localizable.strings | 8 ++++++++ ChatKit/Lan.bundle/zh-Hant.lproj/Localizable.strings | 9 +++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 ChatKit/Lan.bundle/en.lproj/Localizable.strings create mode 100644 ChatKit/Lan.bundle/zh-Hans.lproj/Localizable.strings create mode 100644 ChatKit/Lan.bundle/zh-Hant.lproj/Localizable.strings diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m index d025647a..d189c5b4 100755 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m @@ -811,7 +811,7 @@ - (UIButton *)voiceRecordButton { [_voiceRecordButton setBackgroundImage:voiceRecordButtonNormalBackgroundImage forState:UIControlStateNormal]; [_voiceRecordButton setBackgroundImage:voiceRecordButtonHighlightedBackgroundImage forState:UIControlStateHighlighted]; _voiceRecordButton.titleLabel.font = [UIFont systemFontOfSize:14.0f]; - [_voiceRecordButton setTitle:@"按住 说话" forState:UIControlStateNormal]; + [_voiceRecordButton setTitle:NSLocalizedStringFromTable([@"按住 说话", nil, nil) forState:UIControlStateNormal]; [_voiceRecordButton setTitle:@"松开 结束" forState:UIControlStateHighlighted]; [_voiceRecordButton addTarget:self action:@selector(startRecordVoice) forControlEvents:UIControlEventTouchDown]; [_voiceRecordButton addTarget:self action:@selector(cancelRecordVoice) forControlEvents:UIControlEventTouchUpOutside]; diff --git a/ChatKit/Lan.bundle/en.lproj/Localizable.strings b/ChatKit/Lan.bundle/en.lproj/Localizable.strings new file mode 100644 index 00000000..a72d2e03 --- /dev/null +++ b/ChatKit/Lan.bundle/en.lproj/Localizable.strings @@ -0,0 +1,8 @@ +/* + Localizable.strings + ChatKit + + Created by zhihanhe on 2019/5/21. + Copyright © 2019 ElonChan. All rights reserved. +*/ +"按住 说话" = "press to speak"; diff --git a/ChatKit/Lan.bundle/zh-Hans.lproj/Localizable.strings b/ChatKit/Lan.bundle/zh-Hans.lproj/Localizable.strings new file mode 100644 index 00000000..f91e5961 --- /dev/null +++ b/ChatKit/Lan.bundle/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,8 @@ +/* + Localizable.strings + ChatKit + + Created by zhihanhe on 2019/5/21. + Copyright © 2019 ElonChan. All rights reserved. +*/ +"按住 说话" = "按住 说话"; diff --git a/ChatKit/Lan.bundle/zh-Hant.lproj/Localizable.strings b/ChatKit/Lan.bundle/zh-Hant.lproj/Localizable.strings new file mode 100644 index 00000000..0cdedfe1 --- /dev/null +++ b/ChatKit/Lan.bundle/zh-Hant.lproj/Localizable.strings @@ -0,0 +1,9 @@ +/* + Localizable.strings + ChatKit + + Created by zhihanhe on 2019/5/21. + Copyright © 2019 ElonChan. All rights reserved. +*/ + +"按住 说话" = "按住 說話"; From a14d4bd0ea5dfc0906f8823ee5469a8b61b258a7 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Tue, 21 May 2019 19:59:54 +0800 Subject: [PATCH 75/90] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/ChatKit.xcodeproj/project.pbxproj | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ChatKit/ChatKit.xcodeproj/project.pbxproj b/ChatKit/ChatKit.xcodeproj/project.pbxproj index a42e8288..3b1e6017 100644 --- a/ChatKit/ChatKit.xcodeproj/project.pbxproj +++ b/ChatKit/ChatKit.xcodeproj/project.pbxproj @@ -502,6 +502,7 @@ 9AC44E9D1E15154300619112 /* UITableView+FDTemplateLayoutCellDebug.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AC44D7D1E15154300619112 /* UITableView+FDTemplateLayoutCellDebug.m */; }; 9AC44E9E1E15154300619112 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 9AC44D7E1E15154300619112 /* LICENSE */; }; 9AC44E9F1E15154300619112 /* README.md in Sources */ = {isa = PBXBuildFile; fileRef = 9AC44D7F1E15154300619112 /* README.md */; }; + A1E179802294166C00AB1B57 /* Lan.bundle in Resources */ = {isa = PBXBuildFile; fileRef = A1E1797F2294166C00AB1B57 /* Lan.bundle */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -1004,6 +1005,7 @@ 9AC44D7D1E15154300619112 /* UITableView+FDTemplateLayoutCellDebug.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITableView+FDTemplateLayoutCellDebug.m"; sourceTree = ""; }; 9AC44D7E1E15154300619112 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; 9AC44D7F1E15154300619112 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + A1E1797F2294166C00AB1B57 /* Lan.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Lan.bundle; sourceTree = ""; }; A9601FCE9729A0FE4669D33E /* libPods-ChatKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ChatKit.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -1048,6 +1050,7 @@ 9A6060781CEC831800D14D73 = { isa = PBXGroup; children = ( + A1E1797F2294166C00AB1B57 /* Lan.bundle */, 9AC44C3B1E15154200619112 /* Third-Lib-For-Debug */, 9AAFA1241E14FBA3006618E0 /* Class */, 9A6061C01CEC949E00D14D73 /* Info.plist */, @@ -2402,6 +2405,7 @@ knownRegions = ( en, "zh-Hans", + "zh-Hant", ); mainGroup = 9A6060781CEC831800D14D73; productRefGroup = 9A6060831CEC831800D14D73 /* Products */; @@ -2439,6 +2443,7 @@ 9AAFA2811E14FBA5006618E0 /* BarButtonIcon.bundle in Resources */, 9AC44E1A1E15154300619112 /* PlayButtonOverlayLarge.png in Resources */, 9AC44DC71E15154300619112 /* LICENSE in Resources */, + A1E179802294166C00AB1B57 /* Lan.bundle in Resources */, 9AC44E0B1E15154300619112 /* ImageError.png in Resources */, 9AC44E141E15154300619112 /* ImageSelectedSmallOff.png in Resources */, 9AC44E281E15154300619112 /* UIBarButtonItemGrid@3x.png in Resources */, From f8a31740e57c9057448685ab5c24017108002bd8 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Tue, 21 May 2019 20:46:53 +0800 Subject: [PATCH 76/90] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/ChatKit.xcodeproj/project.pbxproj | 8 ++++---- .../Class/Module/Conversation/View/ChatBar/LCCKChatBar.m | 2 +- .../Resources}/Lan.bundle/en.lproj/Localizable.strings | 0 .../Lan.bundle/zh-Hans.lproj/Localizable.strings | 0 .../Lan.bundle/zh-Hant.lproj/Localizable.strings | 0 5 files changed, 5 insertions(+), 5 deletions(-) rename ChatKit/{ => Class/Resources}/Lan.bundle/en.lproj/Localizable.strings (100%) rename ChatKit/{ => Class/Resources}/Lan.bundle/zh-Hans.lproj/Localizable.strings (100%) rename ChatKit/{ => Class/Resources}/Lan.bundle/zh-Hant.lproj/Localizable.strings (100%) diff --git a/ChatKit/ChatKit.xcodeproj/project.pbxproj b/ChatKit/ChatKit.xcodeproj/project.pbxproj index 3b1e6017..9d2dc045 100644 --- a/ChatKit/ChatKit.xcodeproj/project.pbxproj +++ b/ChatKit/ChatKit.xcodeproj/project.pbxproj @@ -502,7 +502,7 @@ 9AC44E9D1E15154300619112 /* UITableView+FDTemplateLayoutCellDebug.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AC44D7D1E15154300619112 /* UITableView+FDTemplateLayoutCellDebug.m */; }; 9AC44E9E1E15154300619112 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 9AC44D7E1E15154300619112 /* LICENSE */; }; 9AC44E9F1E15154300619112 /* README.md in Sources */ = {isa = PBXBuildFile; fileRef = 9AC44D7F1E15154300619112 /* README.md */; }; - A1E179802294166C00AB1B57 /* Lan.bundle in Resources */ = {isa = PBXBuildFile; fileRef = A1E1797F2294166C00AB1B57 /* Lan.bundle */; }; + A16B478E229429CA00A222B8 /* Lan.bundle in Resources */ = {isa = PBXBuildFile; fileRef = A16B478D229429CA00A222B8 /* Lan.bundle */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -1005,7 +1005,7 @@ 9AC44D7D1E15154300619112 /* UITableView+FDTemplateLayoutCellDebug.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITableView+FDTemplateLayoutCellDebug.m"; sourceTree = ""; }; 9AC44D7E1E15154300619112 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; 9AC44D7F1E15154300619112 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - A1E1797F2294166C00AB1B57 /* Lan.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Lan.bundle; sourceTree = ""; }; + A16B478D229429CA00A222B8 /* Lan.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Lan.bundle; sourceTree = ""; }; A9601FCE9729A0FE4669D33E /* libPods-ChatKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ChatKit.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -1050,7 +1050,6 @@ 9A6060781CEC831800D14D73 = { isa = PBXGroup; children = ( - A1E1797F2294166C00AB1B57 /* Lan.bundle */, 9AC44C3B1E15154200619112 /* Third-Lib-For-Debug */, 9AAFA1241E14FBA3006618E0 /* Class */, 9A6061C01CEC949E00D14D73 /* Info.plist */, @@ -1346,6 +1345,7 @@ 9AAFA1A91E14FBA3006618E0 /* Resources */ = { isa = PBXGroup; children = ( + A16B478D229429CA00A222B8 /* Lan.bundle */, 9AAFA1AA1E14FBA4006618E0 /* BarButtonIcon.bundle */, 9AAFA1AB1E14FBA4006618E0 /* ChatKeyboard.bundle */, 9AAFA1AC1E14FBA4006618E0 /* DateTools.bundle */, @@ -2443,7 +2443,7 @@ 9AAFA2811E14FBA5006618E0 /* BarButtonIcon.bundle in Resources */, 9AC44E1A1E15154300619112 /* PlayButtonOverlayLarge.png in Resources */, 9AC44DC71E15154300619112 /* LICENSE in Resources */, - A1E179802294166C00AB1B57 /* Lan.bundle in Resources */, + A16B478E229429CA00A222B8 /* Lan.bundle in Resources */, 9AC44E0B1E15154300619112 /* ImageError.png in Resources */, 9AC44E141E15154300619112 /* ImageSelectedSmallOff.png in Resources */, 9AC44E281E15154300619112 /* UIBarButtonItemGrid@3x.png in Resources */, diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m index d189c5b4..bd7ee1c8 100755 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m @@ -811,7 +811,7 @@ - (UIButton *)voiceRecordButton { [_voiceRecordButton setBackgroundImage:voiceRecordButtonNormalBackgroundImage forState:UIControlStateNormal]; [_voiceRecordButton setBackgroundImage:voiceRecordButtonHighlightedBackgroundImage forState:UIControlStateHighlighted]; _voiceRecordButton.titleLabel.font = [UIFont systemFontOfSize:14.0f]; - [_voiceRecordButton setTitle:NSLocalizedStringFromTable([@"按住 说话", nil, nil) forState:UIControlStateNormal]; + [_voiceRecordButton setTitle:NSLocalizedStringFromTable(@"按住 说话", nil, nil) forState:UIControlStateNormal]; [_voiceRecordButton setTitle:@"松开 结束" forState:UIControlStateHighlighted]; [_voiceRecordButton addTarget:self action:@selector(startRecordVoice) forControlEvents:UIControlEventTouchDown]; [_voiceRecordButton addTarget:self action:@selector(cancelRecordVoice) forControlEvents:UIControlEventTouchUpOutside]; diff --git a/ChatKit/Lan.bundle/en.lproj/Localizable.strings b/ChatKit/Class/Resources/Lan.bundle/en.lproj/Localizable.strings similarity index 100% rename from ChatKit/Lan.bundle/en.lproj/Localizable.strings rename to ChatKit/Class/Resources/Lan.bundle/en.lproj/Localizable.strings diff --git a/ChatKit/Lan.bundle/zh-Hans.lproj/Localizable.strings b/ChatKit/Class/Resources/Lan.bundle/zh-Hans.lproj/Localizable.strings similarity index 100% rename from ChatKit/Lan.bundle/zh-Hans.lproj/Localizable.strings rename to ChatKit/Class/Resources/Lan.bundle/zh-Hans.lproj/Localizable.strings diff --git a/ChatKit/Lan.bundle/zh-Hant.lproj/Localizable.strings b/ChatKit/Class/Resources/Lan.bundle/zh-Hant.lproj/Localizable.strings similarity index 100% rename from ChatKit/Lan.bundle/zh-Hant.lproj/Localizable.strings rename to ChatKit/Class/Resources/Lan.bundle/zh-Hant.lproj/Localizable.strings From a006747235ec0a324fa71d557d440813b703a360 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Tue, 21 May 2019 22:35:14 +0800 Subject: [PATCH 77/90] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=B9=81=E4=BD=93?= =?UTF-8?q?=E7=BF=BB=E8=AF=91=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module/Conversation/View/ChatBar/LCCKChatBar.m | 4 ++-- .../View/ChatBar/LCCKInputViewPluginPickImage.m | 2 +- .../View/ChatBar/LCCKInputViewPluginTakePhoto.m | 2 +- .../Conversation/View/ChatBar/LCCKProgressHUD.m | 14 +++++++------- .../Lan.bundle/en.lproj/Localizable.strings | 9 +++++++++ .../Lan.bundle/zh-Hans.lproj/Localizable.strings | 9 +++++++++ .../Lan.bundle/zh-Hant.lproj/Localizable.strings | 9 +++++++++ .../Class/Tool/Categories/NSBundle+LCCKExtension.h | 1 + .../Class/Tool/Categories/NSBundle+LCCKExtension.m | 5 +++++ 9 files changed, 44 insertions(+), 11 deletions(-) diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m index bd7ee1c8..d96a2e2f 100755 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m @@ -811,8 +811,8 @@ - (UIButton *)voiceRecordButton { [_voiceRecordButton setBackgroundImage:voiceRecordButtonNormalBackgroundImage forState:UIControlStateNormal]; [_voiceRecordButton setBackgroundImage:voiceRecordButtonHighlightedBackgroundImage forState:UIControlStateHighlighted]; _voiceRecordButton.titleLabel.font = [UIFont systemFontOfSize:14.0f]; - [_voiceRecordButton setTitle:NSLocalizedStringFromTable(@"按住 说话", nil, nil) forState:UIControlStateNormal]; - [_voiceRecordButton setTitle:@"松开 结束" forState:UIControlStateHighlighted]; + [_voiceRecordButton setTitle:[NSBundle lcck_getLocalizedString:@"按住 说话" class:[self class]] forState:UIControlStateNormal]; + [_voiceRecordButton setTitle:[NSBundle lcck_getLocalizedString:@"松开 结束" class:[self class]] forState:UIControlStateHighlighted]; [_voiceRecordButton addTarget:self action:@selector(startRecordVoice) forControlEvents:UIControlEventTouchDown]; [_voiceRecordButton addTarget:self action:@selector(cancelRecordVoice) forControlEvents:UIControlEventTouchUpOutside]; [_voiceRecordButton addTarget:self action:@selector(confirmRecordVoice) forControlEvents:UIControlEventTouchUpInside]; diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginPickImage.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginPickImage.m index b23ef211..0f52ead3 100755 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginPickImage.m +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginPickImage.m @@ -40,7 +40,7 @@ - (UIImage *)pluginIconImage { * 插件名称 */ - (NSString *)pluginTitle { - return @"照片"; + return [NSBundle lcck_getLocalizedString:@"照片" class:[self class]]; } /*! diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.m index b7e5a861..e279c697 100755 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.m +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.m @@ -40,7 +40,7 @@ - (UIImage *)pluginIconImage { * 插件名称 */ - (NSString *)pluginTitle { - return @"拍摄"; + return [NSBundle lcck_getLocalizedString:@"松开 结束" class:[self class]]; } /*! diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKProgressHUD.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKProgressHUD.m index be1ba144..95b78446 100755 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKProgressHUD.m +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKProgressHUD.m @@ -46,9 +46,9 @@ - (void)setup{ - (void)show { self.angle = 0.0f; self.seconds = 0; - self.subTitleLabel.text = @"向上滑动取消"; + self.subTitleLabel.text = [NSBundle lcck_getLocalizedString:@"向上滑动取消" class:[self class]]; self.centerLabel.text = @"60"; - self.titleLabel.text = @"录音时间"; + self.titleLabel.text = [NSBundle lcck_getLocalizedString:@"录音时间" class:[self class]]; [self timer]; dispatch_async(dispatch_get_main_queue(), ^{ if(!self.superview) @@ -125,13 +125,13 @@ - (void)dismiss{ - (void)setProgressState:(LCCKProgressState)progressState { switch (progressState) { case LCCKProgressSuccess: - self.centerLabel.text = @"录音成功"; + self.centerLabel.text = [NSBundle lcck_getLocalizedString:@"录音成功" class:[self class]]; break; case LCCKProgressShort: - self.centerLabel.text = @"时间太短,请重试"; + self.centerLabel.text = [NSBundle lcck_getLocalizedString:@"时间太短,请重试" class:[self class]]; break; case LCCKProgressError: - self.centerLabel.text = @"录音失败"; + self.centerLabel.text = [NSBundle lcck_getLocalizedString:@"录音失败" class:[self class]]; break; case LCCKProgressMessage: break; @@ -185,7 +185,7 @@ - (UILabel *)titleLabel{ if (!_titleLabel) { _titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 150, 20)]; _titleLabel.center = CGPointMake([[UIScreen mainScreen] bounds].size.width/2,[[UIScreen mainScreen] bounds].size.height/2 - 30); - _titleLabel.text = @"录音时间"; + _titleLabel.text = [NSBundle lcck_getLocalizedString:@"录音时间" class:[self class]]; _titleLabel.textAlignment = NSTextAlignmentCenter; _titleLabel.font = [UIFont boldSystemFontOfSize:18]; _titleLabel.textColor = [UIColor whiteColor]; @@ -198,7 +198,7 @@ - (UILabel *)subTitleLabel{ if (!_subTitleLabel) { _subTitleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 150, 20)]; _subTitleLabel.center = CGPointMake([[UIScreen mainScreen] bounds].size.width/2,[[UIScreen mainScreen] bounds].size.height/2 + 30); - _subTitleLabel.text = @"向上滑动取消录音"; + _subTitleLabel.text = [NSBundle lcck_getLocalizedString:@"向上滑动取消录音" class:[self class]]; _subTitleLabel.textAlignment = NSTextAlignmentCenter; _subTitleLabel.font = [UIFont boldSystemFontOfSize:14]; _subTitleLabel.textColor = [UIColor whiteColor]; diff --git a/ChatKit/Class/Resources/Lan.bundle/en.lproj/Localizable.strings b/ChatKit/Class/Resources/Lan.bundle/en.lproj/Localizable.strings index a72d2e03..5695b44a 100644 --- a/ChatKit/Class/Resources/Lan.bundle/en.lproj/Localizable.strings +++ b/ChatKit/Class/Resources/Lan.bundle/en.lproj/Localizable.strings @@ -6,3 +6,12 @@ Copyright © 2019 ElonChan. All rights reserved. */ "按住 说话" = "press to speak"; +"松开 结束" = "release to end"; +"向上滑动取消" = "swipe up to cancel"; +"录音时间" = "recording time"; +"向上滑动取消录音" = "swipe up to cancel"; +"录音失败" = "recording failed"; +"时间太短,请重试" = "too short, try again"; +"录音成功" = "success"; +"照片" = "photo"; +"拍摄" = "shooting"; diff --git a/ChatKit/Class/Resources/Lan.bundle/zh-Hans.lproj/Localizable.strings b/ChatKit/Class/Resources/Lan.bundle/zh-Hans.lproj/Localizable.strings index f91e5961..fefdaa34 100644 --- a/ChatKit/Class/Resources/Lan.bundle/zh-Hans.lproj/Localizable.strings +++ b/ChatKit/Class/Resources/Lan.bundle/zh-Hans.lproj/Localizable.strings @@ -6,3 +6,12 @@ Copyright © 2019 ElonChan. All rights reserved. */ "按住 说话" = "按住 说话"; +"松开 结束" = "松开 结束"; +"向上滑动取消" = "向上滑动取消"; +"录音时间" = "录音时间"; +"向上滑动取消录音" = "向上滑动取消录音"; +"录音失败" = "录音失败"; +"时间太短,请重试" = "时间太短,请重试"; +"录音成功" = "录音成功"; +"照片" = "照片"; +"拍摄" = "拍摄"; diff --git a/ChatKit/Class/Resources/Lan.bundle/zh-Hant.lproj/Localizable.strings b/ChatKit/Class/Resources/Lan.bundle/zh-Hant.lproj/Localizable.strings index 0cdedfe1..f21f72f4 100644 --- a/ChatKit/Class/Resources/Lan.bundle/zh-Hant.lproj/Localizable.strings +++ b/ChatKit/Class/Resources/Lan.bundle/zh-Hant.lproj/Localizable.strings @@ -7,3 +7,12 @@ */ "按住 说话" = "按住 說話"; +"松开 结束" = "鬆開 結束"; +"向上滑动取消" = "向上滑動取消"; +"录音时间" = "錄音時間"; +"向上滑动取消录音" = "向上滑動取消錄音"; +"录音失败" = "錄音失敗"; +"时间太短,请重试" = "時間太短,請重試"; +"录音成功" = "錄音成功"; +"照片" = "照片"; +"拍摄" = "拍攝"; diff --git a/ChatKit/Class/Tool/Categories/NSBundle+LCCKExtension.h b/ChatKit/Class/Tool/Categories/NSBundle+LCCKExtension.h index 412d7b87..21db33cf 100755 --- a/ChatKit/Class/Tool/Categories/NSBundle+LCCKExtension.h +++ b/ChatKit/Class/Tool/Categories/NSBundle+LCCKExtension.h @@ -11,5 +11,6 @@ @interface NSBundle (LCCKExtension) + (NSBundle *)lcck_bundleForName:(NSString *)bundleName class:(Class)aClass; ++ (NSString *) lcck_getLocalizedString:(NSString *)key class:(Class)aClass; @end diff --git a/ChatKit/Class/Tool/Categories/NSBundle+LCCKExtension.m b/ChatKit/Class/Tool/Categories/NSBundle+LCCKExtension.m index 65b3e851..6ac472df 100755 --- a/ChatKit/Class/Tool/Categories/NSBundle+LCCKExtension.m +++ b/ChatKit/Class/Tool/Categories/NSBundle+LCCKExtension.m @@ -33,4 +33,9 @@ + (NSBundle *)lcck_bundleForName:(NSString *)bundleName class:(Class)aClass { return bundle; } ++ (NSString *) lcck_getLocalizedString:(NSString *)key class:(Class)aClass { + NSBundle *bundle = [NSBundle lcck_bundleForName:@"Lan" class:aClass]; + return NSLocalizedStringFromTableInBundle(key, nil, bundle, key); +} + @end From b1053854b963a03e50e723d6e4cf2db0ce64e1b8 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Tue, 21 May 2019 22:59:29 +0800 Subject: [PATCH 78/90] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.m index e279c697..85e588c6 100755 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.m +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKInputViewPluginTakePhoto.m @@ -40,7 +40,7 @@ - (UIImage *)pluginIconImage { * 插件名称 */ - (NSString *)pluginTitle { - return [NSBundle lcck_getLocalizedString:@"松开 结束" class:[self class]]; + return [NSBundle lcck_getLocalizedString:@"拍照" class:[self class]]; } /*! From 2a5b3fbc07bedd6f79cfd622d0626da27acefa5d Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Wed, 22 May 2019 19:30:23 +0800 Subject: [PATCH 79/90] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=98=BF=E6=8B=89?= =?UTF-8?q?=E4=BC=AF=E8=AF=AD=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/ChatKit.xcodeproj/project.pbxproj | 1 + .../Lan.bundle/ar.lproj/Localizable.strings | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings diff --git a/ChatKit/ChatKit.xcodeproj/project.pbxproj b/ChatKit/ChatKit.xcodeproj/project.pbxproj index 9d2dc045..46f39947 100644 --- a/ChatKit/ChatKit.xcodeproj/project.pbxproj +++ b/ChatKit/ChatKit.xcodeproj/project.pbxproj @@ -2406,6 +2406,7 @@ en, "zh-Hans", "zh-Hant", + ar, ); mainGroup = 9A6060781CEC831800D14D73; productRefGroup = 9A6060831CEC831800D14D73 /* Products */; diff --git a/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings b/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings new file mode 100644 index 00000000..478f599f --- /dev/null +++ b/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings @@ -0,0 +1,18 @@ +/* + File.strings + ChatKit + + Created by zhihanhe on 2019/5/22. + Copyright © 2019 ElonChan. All rights reserved. +*/ + +"按住 说话" = "ضغط للتحدث"; +"松开 结束" = "سحب للإنهاء"; +"向上滑动取消" = "نزلق للإلغاء"; +"录音时间" = "وقت التسجيل"; +"向上滑动取消录音" = "نزلق لإلغاء التسجيل"; +"录音失败" = "فشل التسجيل"; +"时间太短,请重试" = "لوقت قصير جدا، يرجى المحاولة مرة أخرى"; +"录音成功" = "نجح التسجيل"; +"照片" = "لصور"; +"拍摄" = "التقط"; From aecadc0f67b7501b72c54eb8deae6dc4f90b3657 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Thu, 23 May 2019 14:09:17 +0800 Subject: [PATCH 80/90] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=A1=A8=E6=83=85?= =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/ChatKit.xcodeproj/project.pbxproj | 21 +++++++ .../Conversation/Tool/LCCKFaceManager.m | 5 +- .../Conversation/View/ChatBar/LCCKChatBar.m | 4 +- .../ar.lproj/EmojiLocalizable.strings | 51 +++++++++++++++++ .../en.lproj/EmojiLocalizable.strings | 51 +++++++++++++++++ .../zh-Hans.lproj/EmojiLocalizable.strings | 51 +++++++++++++++++ .../zh-Hant.lproj/EmojiLocalizable.strings | 55 +++++++++++++++++++ 7 files changed, 236 insertions(+), 2 deletions(-) create mode 100644 ChatKit/Class/Resources/ar.lproj/EmojiLocalizable.strings create mode 100644 ChatKit/Class/Resources/en.lproj/EmojiLocalizable.strings create mode 100644 ChatKit/Class/Resources/zh-Hans.lproj/EmojiLocalizable.strings create mode 100644 ChatKit/Class/Resources/zh-Hant.lproj/EmojiLocalizable.strings diff --git a/ChatKit/ChatKit.xcodeproj/project.pbxproj b/ChatKit/ChatKit.xcodeproj/project.pbxproj index 46f39947..a343753d 100644 --- a/ChatKit/ChatKit.xcodeproj/project.pbxproj +++ b/ChatKit/ChatKit.xcodeproj/project.pbxproj @@ -503,6 +503,7 @@ 9AC44E9E1E15154300619112 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 9AC44D7E1E15154300619112 /* LICENSE */; }; 9AC44E9F1E15154300619112 /* README.md in Sources */ = {isa = PBXBuildFile; fileRef = 9AC44D7F1E15154300619112 /* README.md */; }; A16B478E229429CA00A222B8 /* Lan.bundle in Resources */ = {isa = PBXBuildFile; fileRef = A16B478D229429CA00A222B8 /* Lan.bundle */; }; + A16B496122966BE500A222B8 /* EmojiLocalizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = A16B496322966BE500A222B8 /* EmojiLocalizable.strings */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -1006,6 +1007,10 @@ 9AC44D7E1E15154300619112 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; 9AC44D7F1E15154300619112 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; A16B478D229429CA00A222B8 /* Lan.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Lan.bundle; sourceTree = ""; }; + A16B496222966BE500A222B8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/EmojiLocalizable.strings; sourceTree = ""; }; + A16B496422966BE800A222B8 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/EmojiLocalizable.strings"; sourceTree = ""; }; + A16B496522966BE900A222B8 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/EmojiLocalizable.strings"; sourceTree = ""; }; + A16B496622966BEA00A222B8 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/EmojiLocalizable.strings; sourceTree = ""; }; A9601FCE9729A0FE4669D33E /* libPods-ChatKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ChatKit.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -1357,6 +1362,7 @@ 9AAFA1B21E14FBA4006618E0 /* Other.bundle */, 9AAFA1B31E14FBA4006618E0 /* Placeholder.bundle */, 9AAFA1B41E14FBA4006618E0 /* VoiceMessageSource.bundle */, + A16B496322966BE500A222B8 /* EmojiLocalizable.strings */, ); path = Resources; sourceTree = ""; @@ -2425,6 +2431,7 @@ files = ( 9AAFA2841E14FBA5006618E0 /* Emoji.bundle in Resources */, 9AAFA2871E14FBA5006618E0 /* MBProgressHUD.bundle in Resources */, + A16B496122966BE500A222B8 /* EmojiLocalizable.strings in Resources */, 9AC44E181E15154300619112 /* ImageSelectedSmallOn@2x.png in Resources */, 9AAFA2821E14FBA5006618E0 /* ChatKeyboard.bundle in Resources */, 9AC44E9E1E15154300619112 /* LICENSE in Resources */, @@ -2700,6 +2707,20 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXVariantGroup section */ + A16B496322966BE500A222B8 /* EmojiLocalizable.strings */ = { + isa = PBXVariantGroup; + children = ( + A16B496222966BE500A222B8 /* en */, + A16B496422966BE800A222B8 /* zh-Hans */, + A16B496522966BE900A222B8 /* zh-Hant */, + A16B496622966BEA00A222B8 /* ar */, + ); + name = EmojiLocalizable.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + /* Begin XCBuildConfiguration section */ 9A6060881CEC831800D14D73 /* Debug */ = { isa = XCBuildConfiguration; diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m b/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m index de609055..de8ab16d 100755 --- a/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m +++ b/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m @@ -130,9 +130,12 @@ + (void)configEmotionWithMutableAttributedString:(NSMutableAttributedString *)at NSRange range = [match range]; //获取原字符串中对应的值 NSString *subStr = [text substringWithRange:range]; + //因为输入框的时候把文字变成国际化的文案,所以现在要将国际化的文案变成原来name + NSBundle *bundle = [NSBundle bundleForClass: [LCCKFaceManager class]]; + NSString *originImageName = NSLocalizedStringFromTableInBundle(subStr, @"EmojiLocalizable", bundle, @""); NSMutableArray *emojiFaceArrays = [[LCCKFaceManager shareInstance] emojiFaceArrays]; for (NSDictionary *dict in emojiFaceArrays) { - if ([dict[kFaceNameKey] isEqualToString:subStr]) { + if ([dict[kFaceNameKey] isEqualToString:originImageName]) { //face[i][@"png"]就是我们要加载的图片 //新建文字附件来存放我们的图片,iOS7才新加的对象 NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init]; diff --git a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m index d96a2e2f..ef706b42 100755 --- a/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m +++ b/ChatKit/Class/Module/Conversation/View/ChatBar/LCCKChatBar.m @@ -375,7 +375,9 @@ - (void)faceViewSendFace:(NSString *)faceName { self.cachedText = @""; self.showType = LCCKFunctionViewShowFace; } else { - [self appendString:faceName beginInputing:NO]; + NSBundle *bundle = [NSBundle bundleForClass: [LCCKChatBar class]]; + NSString *localFaceName = NSLocalizedStringFromTableInBundle(faceName, @"EmojiLocalizable", bundle, @""); + [self appendString:localFaceName beginInputing:NO]; } } diff --git a/ChatKit/Class/Resources/ar.lproj/EmojiLocalizable.strings b/ChatKit/Class/Resources/ar.lproj/EmojiLocalizable.strings new file mode 100644 index 00000000..a5a8ec1c --- /dev/null +++ b/ChatKit/Class/Resources/ar.lproj/EmojiLocalizable.strings @@ -0,0 +1,51 @@ +/* + EmojiLocalizable.strings + ChatKit + + Created by zhihanhe on 2019/5/23. + Copyright © 2019 ElonChan. All rights reserved. +*/ + + +"[爱心]" = "[愛心]"; +"[龇牙]" = "[龇牙]"; +"[调皮]" = "[調皮]"; +"[偷笑]" = ""; +"[擦汗]" = ""; +"[流泪]" = ""; +"[大哭]" = ""; +"[抓狂]" = ""; +"[可爱]" = ""; +"[色]" = ""; +"[害羞]" = ""; +"[吐]" = ""; +"[怒]" = ""; +"[惊恐]" = ""; +"[傲慢]" = ""; +"[惊讶]" = ""; +"[疑问]" = ""; +"[困]" = ""; +"[么么哒]" = ""; +"[衰]" = ""; +"[撇嘴]" = ""; +"[奋斗]" = ""; +"[左哼哼]" = ""; +"[右哼哼]" = ""; +"[抱抱]" = ""; +"[坏笑]" = ""; +"[鄙视]" = ""; +"[晕]" = ""; +"[可怜]" = ""; +"[闭嘴]" = ""; +"[睡觉]" = ""; +"[咒骂]" = ""; +"[抠鼻]" = ""; +"[鼓掌]" = ""; +"[糗大了]" = ""; +"[快哭了]" = ""; +"[吓]" = ""; +"[猪头]" = ""; +"[爱心]" = ""; +"[示爱]" = ""; +"[差劲]" = ""; +"[心碎了]" = "[心碎了]"; diff --git a/ChatKit/Class/Resources/en.lproj/EmojiLocalizable.strings b/ChatKit/Class/Resources/en.lproj/EmojiLocalizable.strings new file mode 100644 index 00000000..a5a8ec1c --- /dev/null +++ b/ChatKit/Class/Resources/en.lproj/EmojiLocalizable.strings @@ -0,0 +1,51 @@ +/* + EmojiLocalizable.strings + ChatKit + + Created by zhihanhe on 2019/5/23. + Copyright © 2019 ElonChan. All rights reserved. +*/ + + +"[爱心]" = "[愛心]"; +"[龇牙]" = "[龇牙]"; +"[调皮]" = "[調皮]"; +"[偷笑]" = ""; +"[擦汗]" = ""; +"[流泪]" = ""; +"[大哭]" = ""; +"[抓狂]" = ""; +"[可爱]" = ""; +"[色]" = ""; +"[害羞]" = ""; +"[吐]" = ""; +"[怒]" = ""; +"[惊恐]" = ""; +"[傲慢]" = ""; +"[惊讶]" = ""; +"[疑问]" = ""; +"[困]" = ""; +"[么么哒]" = ""; +"[衰]" = ""; +"[撇嘴]" = ""; +"[奋斗]" = ""; +"[左哼哼]" = ""; +"[右哼哼]" = ""; +"[抱抱]" = ""; +"[坏笑]" = ""; +"[鄙视]" = ""; +"[晕]" = ""; +"[可怜]" = ""; +"[闭嘴]" = ""; +"[睡觉]" = ""; +"[咒骂]" = ""; +"[抠鼻]" = ""; +"[鼓掌]" = ""; +"[糗大了]" = ""; +"[快哭了]" = ""; +"[吓]" = ""; +"[猪头]" = ""; +"[爱心]" = ""; +"[示爱]" = ""; +"[差劲]" = ""; +"[心碎了]" = "[心碎了]"; diff --git a/ChatKit/Class/Resources/zh-Hans.lproj/EmojiLocalizable.strings b/ChatKit/Class/Resources/zh-Hans.lproj/EmojiLocalizable.strings new file mode 100644 index 00000000..f7cba334 --- /dev/null +++ b/ChatKit/Class/Resources/zh-Hans.lproj/EmojiLocalizable.strings @@ -0,0 +1,51 @@ +/* + EmojiLocalizable.strings + ChatKit + + Created by zhihanhe on 2019/5/23. + Copyright © 2019 ElonChan. All rights reserved. +*/ + + +"[爱心]" = ""; +"[龇牙]" = ""; +"[调皮]" = ""; +"[偷笑]" = ""; +"[擦汗]" = ""; +"[流泪]" = ""; +"[大哭]" = ""; +"[抓狂]" = ""; +"[可爱]" = ""; +"[色]" = ""; +"[害羞]" = ""; +"[吐]" = ""; +"[怒]" = ""; +"[惊恐]" = ""; +"[傲慢]" = ""; +"[惊讶]" = ""; +"[疑问]" = ""; +"[困]" = ""; +"[么么哒]" = ""; +"[衰]" = ""; +"[撇嘴]" = ""; +"[奋斗]" = ""; +"[左哼哼]" = ""; +"[右哼哼]" = ""; +"[抱抱]" = ""; +"[坏笑]" = ""; +"[鄙视]" = ""; +"[晕]" = ""; +"[可怜]" = ""; +"[闭嘴]" = ""; +"[睡觉]" = ""; +"[咒骂]" = ""; +"[抠鼻]" = ""; +"[鼓掌]" = ""; +"[糗大了]" = ""; +"[快哭了]" = ""; +"[吓]" = ""; +"[猪头]" = ""; +"[爱心]" = ""; +"[示爱]" = ""; +"[差劲]" = ""; +"[心碎了]" = ""; diff --git a/ChatKit/Class/Resources/zh-Hant.lproj/EmojiLocalizable.strings b/ChatKit/Class/Resources/zh-Hant.lproj/EmojiLocalizable.strings new file mode 100644 index 00000000..587943bf --- /dev/null +++ b/ChatKit/Class/Resources/zh-Hant.lproj/EmojiLocalizable.strings @@ -0,0 +1,55 @@ +/* + EmojiLocalizable.strings + Pods + + Created by tianlc on 2019/5/23. + + */ + +"[爱心]" = "[愛心]"; +"[龇牙]" = "[龇牙]"; +"[调皮]" = "[調皮]"; +"[偷笑]" = ""; +"[擦汗]" = ""; +"[流泪]" = ""; +"[大哭]" = ""; +"[抓狂]" = ""; +"[可爱]" = ""; +"[色]" = ""; +"[害羞]" = ""; +"[吐]" = ""; +"[怒]" = ""; +"[惊恐]" = ""; +"[傲慢]" = ""; +"[惊讶]" = ""; +"[疑问]" = ""; +"[困]" = ""; +"[么么哒]" = ""; +"[衰]" = ""; +"[撇嘴]" = ""; +"[奋斗]" = ""; +"[左哼哼]" = ""; +"[右哼哼]" = ""; +"[抱抱]" = ""; +"[坏笑]" = ""; +"[鄙视]" = ""; +"[晕]" = ""; +"[可怜]" = ""; +"[闭嘴]" = ""; +"[睡觉]" = ""; +"[咒骂]" = ""; +"[抠鼻]" = ""; +"[鼓掌]" = ""; +"[糗大了]" = ""; +"[快哭了]" = ""; +"[吓]" = ""; +"[猪头]" = ""; +"[爱心]" = ""; +"[示爱]" = ""; +"[差劲]" = ""; +"[心碎了]" = "[心碎了]"; + + +"[愛心]" = "[爱心]"; +"[齜牙]" = "[龇牙]"; +"[調皮]" = "[调皮]"; From 618b5fbdac9a1dd0fe0ab4ba1c26516ac785181f Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Thu, 23 May 2019 17:29:31 +0800 Subject: [PATCH 81/90] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=98=BF=E6=8B=89?= =?UTF-8?q?=E4=BC=AF=E8=AF=AD=E6=96=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Class/Resources/Lan.bundle/ar.lproj/Localizable.strings | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings b/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings index 478f599f..d8e5f21c 100644 --- a/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings +++ b/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings @@ -8,9 +8,9 @@ "按住 说话" = "ضغط للتحدث"; "松开 结束" = "سحب للإنهاء"; -"向上滑动取消" = "نزلق للإلغاء"; +"向上滑动取消" = "حرك الأعلى للإلغا"; "录音时间" = "وقت التسجيل"; -"向上滑动取消录音" = "نزلق لإلغاء التسجيل"; +"向上滑动取消录音" = "حرك الأعلى لإلغاء التسجي"; "录音失败" = "فشل التسجيل"; "时间太短,请重试" = "لوقت قصير جدا، يرجى المحاولة مرة أخرى"; "录音成功" = "نجح التسجيل"; From 7da781883515c391f8b7d3c1bd81e4094f02aec9 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Thu, 23 May 2019 21:37:09 +0800 Subject: [PATCH 82/90] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zh-Hans.lproj/EmojiLocalizable.strings | 84 ++++++------- .../zh-Hant.lproj/EmojiLocalizable.strings | 117 ++++++++++++------ 2 files changed, 120 insertions(+), 81 deletions(-) diff --git a/ChatKit/Class/Resources/zh-Hans.lproj/EmojiLocalizable.strings b/ChatKit/Class/Resources/zh-Hans.lproj/EmojiLocalizable.strings index f7cba334..e48a91b6 100644 --- a/ChatKit/Class/Resources/zh-Hans.lproj/EmojiLocalizable.strings +++ b/ChatKit/Class/Resources/zh-Hans.lproj/EmojiLocalizable.strings @@ -7,45 +7,45 @@ */ -"[爱心]" = ""; -"[龇牙]" = ""; -"[调皮]" = ""; -"[偷笑]" = ""; -"[擦汗]" = ""; -"[流泪]" = ""; -"[大哭]" = ""; -"[抓狂]" = ""; -"[可爱]" = ""; -"[色]" = ""; -"[害羞]" = ""; -"[吐]" = ""; -"[怒]" = ""; -"[惊恐]" = ""; -"[傲慢]" = ""; -"[惊讶]" = ""; -"[疑问]" = ""; -"[困]" = ""; -"[么么哒]" = ""; -"[衰]" = ""; -"[撇嘴]" = ""; -"[奋斗]" = ""; -"[左哼哼]" = ""; -"[右哼哼]" = ""; -"[抱抱]" = ""; -"[坏笑]" = ""; -"[鄙视]" = ""; -"[晕]" = ""; -"[可怜]" = ""; -"[闭嘴]" = ""; -"[睡觉]" = ""; -"[咒骂]" = ""; -"[抠鼻]" = ""; -"[鼓掌]" = ""; -"[糗大了]" = ""; -"[快哭了]" = ""; -"[吓]" = ""; -"[猪头]" = ""; -"[爱心]" = ""; -"[示爱]" = ""; -"[差劲]" = ""; -"[心碎了]" = ""; +"[爱心]" = "[爱心]"; +"[龇牙]" = "[龇牙]"; +"[调皮]" = "[调皮]"; +"[偷笑]" = "[偷笑]"; +"[擦汗]" = "[擦汗]"; +"[流泪]" = "[流泪]"; +"[大哭]" = "[大哭]"; +"[抓狂]" = "[抓狂]"; +"[可爱]" = "[可爱]"; +"[色]" = "[色]"; +"[害羞]" = "[害羞]"; +"[吐]" = "[吐]"; +"[怒]" = "[怒]"; +"[惊恐]" = "[惊恐]"; +"[傲慢]" = "[傲慢]"; +"[惊讶]" = "[惊讶]"; +"[疑问]" = "[疑问]"; +"[困]" = "[困]"; +"[么么哒]" = "[么么哒]"; +"[衰]" = "[衰]"; +"[撇嘴]" = "[撇嘴]"; +"[奋斗]" = "[奋斗]"; +"[左哼哼]" = "[左哼哼]"; +"[右哼哼]" = "[右哼哼]"; +"[抱抱]" = "[抱抱]"; +"[坏笑]" = "[坏笑]"; +"[鄙视]" = "[鄙视]"; +"[晕]" = "[晕]"; +"[可怜]" = "[可怜]"; +"[闭嘴]" = "[闭嘴]"; +"[睡觉]" = "[睡觉]"; +"[咒骂]" = "[咒骂]"; +"[抠鼻]" = "[抠鼻]"; +"[鼓掌]" = "[鼓掌]"; +"[糗大了]" = "[糗大了]"; +"[快哭了]" = "[快哭了]"; +"[吓]" = "[吓]"; +"[猪头]" = "[猪头]"; +"[爱心]" = "[爱心]"; +"[示爱]" = "[示爱]"; +"[差劲]" = "[差劲]"; +"[心碎了]" = "[心碎了]"; diff --git a/ChatKit/Class/Resources/zh-Hant.lproj/EmojiLocalizable.strings b/ChatKit/Class/Resources/zh-Hant.lproj/EmojiLocalizable.strings index 587943bf..7ca790ab 100644 --- a/ChatKit/Class/Resources/zh-Hant.lproj/EmojiLocalizable.strings +++ b/ChatKit/Class/Resources/zh-Hant.lproj/EmojiLocalizable.strings @@ -7,49 +7,88 @@ */ "[爱心]" = "[愛心]"; -"[龇牙]" = "[龇牙]"; +"[龇牙]" = "[齜牙]"; "[调皮]" = "[調皮]"; -"[偷笑]" = ""; -"[擦汗]" = ""; -"[流泪]" = ""; -"[大哭]" = ""; -"[抓狂]" = ""; -"[可爱]" = ""; -"[色]" = ""; -"[害羞]" = ""; -"[吐]" = ""; -"[怒]" = ""; -"[惊恐]" = ""; -"[傲慢]" = ""; -"[惊讶]" = ""; -"[疑问]" = ""; -"[困]" = ""; -"[么么哒]" = ""; -"[衰]" = ""; -"[撇嘴]" = ""; -"[奋斗]" = ""; -"[左哼哼]" = ""; -"[右哼哼]" = ""; -"[抱抱]" = ""; -"[坏笑]" = ""; -"[鄙视]" = ""; -"[晕]" = ""; -"[可怜]" = ""; -"[闭嘴]" = ""; -"[睡觉]" = ""; -"[咒骂]" = ""; -"[抠鼻]" = ""; -"[鼓掌]" = ""; -"[糗大了]" = ""; -"[快哭了]" = ""; -"[吓]" = ""; -"[猪头]" = ""; -"[爱心]" = ""; -"[示爱]" = ""; -"[差劲]" = ""; +"[偷笑]" = "[偷笑]"; +"[擦汗]" = "[擦汗]"; +"[流泪]" = "[流淚]"; +"[大哭]" = "[大哭]"; +"[抓狂]" = "[抓狂]"; +"[可爱]" = "[可愛]"; +"[色]" = "[色]"; +"[害羞]" = "[害羞]"; +"[吐]" = "[吐]"; +"[怒]" = "[怒]"; +"[惊恐]" = "[驚恐]"; +"[傲慢]" = "[傲慢]"; +"[惊讶]" = "[驚訝]"; +"[疑问]" = "[疑問]"; +"[困]" = "[困]"; +"[么么哒]" = "[麼麼噠]"; +"[衰]" = "[衰]"; +"[撇嘴]" = "[撇嘴]"; +"[奋斗]" = "[奮鬥]"; +"[左哼哼]" = "[左哼哼]"; +"[右哼哼]" = "[右哼哼]"; +"[抱抱]" = "[抱抱]"; +"[坏笑]" = "[坏笑]"; +"[鄙视]" = "[鄙視]"; +"[晕]" = "[暈]"; +"[可怜]" = "[可憐]"; +"[闭嘴]" = "[閉嘴]"; +"[睡觉]" = "[睡覺]"; +"[咒骂]" = "[咒罵]"; +"[抠鼻]" = "[摳鼻]"; +"[鼓掌]" = "[鼓掌]"; +"[糗大了]" = "[糗大了]"; +"[快哭了]" = "[快哭了]"; +"[吓]" = "[嚇]"; +"[猪头]" = "[豬頭]"; +"[爱心]" = "[愛心]"; +"[示爱]" = "[示愛]"; +"[差劲]" = "[差勁]"; "[心碎了]" = "[心碎了]"; "[愛心]" = "[爱心]"; "[齜牙]" = "[龇牙]"; "[調皮]" = "[调皮]"; +"[偷笑]" = "[偷笑]"; +"[擦汗]" = "[擦汗]"; +"[流淚]" = "[流泪]"; +"[大哭]" = "[大哭]"; +"[抓狂]" = "[抓狂]"; +"[可愛]" = "[可爱]"; +"[色]" = "[色]"; +"[害羞]" = "[害羞]"; +"[吐]" = "[吐]"; +"[怒]" = "[怒]"; +"[驚恐]" = "[惊恐]"; +"[傲慢]" = "[傲慢]"; +"[驚訝]" = "[惊讶]"; +"[疑問]" = "[疑问]"; +"[困]" = "[困]"; +"[麼麼噠]" = "[么么哒]"; +"[衰]" = "[衰]"; +"[撇嘴]" = "[撇嘴]"; +"[奮鬥]" = "[奋斗]"; +"[左哼哼]" = "[左哼哼]"; +"[右哼哼]" = "[右哼哼]"; +"[抱抱]" = "[抱抱]"; +"[坏笑]" = "[坏笑]"; +"[鄙視]" = "[鄙视]"; +"[暈]" = "[晕]"; +"[可憐]" = "[可怜]"; +"[閉嘴]" = "[闭嘴]"; +"[睡覺]" = "[睡觉]"; +"[咒罵]" = "[咒骂]"; +"[摳鼻]" = "[抠鼻]"; +"[鼓掌]" = "[鼓掌]"; +"[糗大了]" = "[糗大了]"; +"[快哭了]" = "[快哭了]"; +"[嚇]" = "[吓]"; +"[豬頭]" = "[猪头]"; +"[愛心]" = "[爱心]"; +"[示愛]" = "[示爱]"; +"[差勁]" = "[差劲]"; +"[心碎了]" = "[心碎了]"; From 00f62418fbf78b46e34b0a637df5131216582d93 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Fri, 24 May 2019 10:09:08 +0800 Subject: [PATCH 83/90] =?UTF-8?q?=E9=83=BD=E6=98=AF=E7=94=A8=E7=AE=80?= =?UTF-8?q?=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ar.lproj/EmojiLocalizable.strings | 80 +++++++++---------- .../en.lproj/EmojiLocalizable.strings | 80 +++++++++---------- 2 files changed, 80 insertions(+), 80 deletions(-) diff --git a/ChatKit/Class/Resources/ar.lproj/EmojiLocalizable.strings b/ChatKit/Class/Resources/ar.lproj/EmojiLocalizable.strings index a5a8ec1c..e48a91b6 100644 --- a/ChatKit/Class/Resources/ar.lproj/EmojiLocalizable.strings +++ b/ChatKit/Class/Resources/ar.lproj/EmojiLocalizable.strings @@ -7,45 +7,45 @@ */ -"[爱心]" = "[愛心]"; +"[爱心]" = "[爱心]"; "[龇牙]" = "[龇牙]"; -"[调皮]" = "[調皮]"; -"[偷笑]" = ""; -"[擦汗]" = ""; -"[流泪]" = ""; -"[大哭]" = ""; -"[抓狂]" = ""; -"[可爱]" = ""; -"[色]" = ""; -"[害羞]" = ""; -"[吐]" = ""; -"[怒]" = ""; -"[惊恐]" = ""; -"[傲慢]" = ""; -"[惊讶]" = ""; -"[疑问]" = ""; -"[困]" = ""; -"[么么哒]" = ""; -"[衰]" = ""; -"[撇嘴]" = ""; -"[奋斗]" = ""; -"[左哼哼]" = ""; -"[右哼哼]" = ""; -"[抱抱]" = ""; -"[坏笑]" = ""; -"[鄙视]" = ""; -"[晕]" = ""; -"[可怜]" = ""; -"[闭嘴]" = ""; -"[睡觉]" = ""; -"[咒骂]" = ""; -"[抠鼻]" = ""; -"[鼓掌]" = ""; -"[糗大了]" = ""; -"[快哭了]" = ""; -"[吓]" = ""; -"[猪头]" = ""; -"[爱心]" = ""; -"[示爱]" = ""; -"[差劲]" = ""; +"[调皮]" = "[调皮]"; +"[偷笑]" = "[偷笑]"; +"[擦汗]" = "[擦汗]"; +"[流泪]" = "[流泪]"; +"[大哭]" = "[大哭]"; +"[抓狂]" = "[抓狂]"; +"[可爱]" = "[可爱]"; +"[色]" = "[色]"; +"[害羞]" = "[害羞]"; +"[吐]" = "[吐]"; +"[怒]" = "[怒]"; +"[惊恐]" = "[惊恐]"; +"[傲慢]" = "[傲慢]"; +"[惊讶]" = "[惊讶]"; +"[疑问]" = "[疑问]"; +"[困]" = "[困]"; +"[么么哒]" = "[么么哒]"; +"[衰]" = "[衰]"; +"[撇嘴]" = "[撇嘴]"; +"[奋斗]" = "[奋斗]"; +"[左哼哼]" = "[左哼哼]"; +"[右哼哼]" = "[右哼哼]"; +"[抱抱]" = "[抱抱]"; +"[坏笑]" = "[坏笑]"; +"[鄙视]" = "[鄙视]"; +"[晕]" = "[晕]"; +"[可怜]" = "[可怜]"; +"[闭嘴]" = "[闭嘴]"; +"[睡觉]" = "[睡觉]"; +"[咒骂]" = "[咒骂]"; +"[抠鼻]" = "[抠鼻]"; +"[鼓掌]" = "[鼓掌]"; +"[糗大了]" = "[糗大了]"; +"[快哭了]" = "[快哭了]"; +"[吓]" = "[吓]"; +"[猪头]" = "[猪头]"; +"[爱心]" = "[爱心]"; +"[示爱]" = "[示爱]"; +"[差劲]" = "[差劲]"; "[心碎了]" = "[心碎了]"; diff --git a/ChatKit/Class/Resources/en.lproj/EmojiLocalizable.strings b/ChatKit/Class/Resources/en.lproj/EmojiLocalizable.strings index a5a8ec1c..e48a91b6 100644 --- a/ChatKit/Class/Resources/en.lproj/EmojiLocalizable.strings +++ b/ChatKit/Class/Resources/en.lproj/EmojiLocalizable.strings @@ -7,45 +7,45 @@ */ -"[爱心]" = "[愛心]"; +"[爱心]" = "[爱心]"; "[龇牙]" = "[龇牙]"; -"[调皮]" = "[調皮]"; -"[偷笑]" = ""; -"[擦汗]" = ""; -"[流泪]" = ""; -"[大哭]" = ""; -"[抓狂]" = ""; -"[可爱]" = ""; -"[色]" = ""; -"[害羞]" = ""; -"[吐]" = ""; -"[怒]" = ""; -"[惊恐]" = ""; -"[傲慢]" = ""; -"[惊讶]" = ""; -"[疑问]" = ""; -"[困]" = ""; -"[么么哒]" = ""; -"[衰]" = ""; -"[撇嘴]" = ""; -"[奋斗]" = ""; -"[左哼哼]" = ""; -"[右哼哼]" = ""; -"[抱抱]" = ""; -"[坏笑]" = ""; -"[鄙视]" = ""; -"[晕]" = ""; -"[可怜]" = ""; -"[闭嘴]" = ""; -"[睡觉]" = ""; -"[咒骂]" = ""; -"[抠鼻]" = ""; -"[鼓掌]" = ""; -"[糗大了]" = ""; -"[快哭了]" = ""; -"[吓]" = ""; -"[猪头]" = ""; -"[爱心]" = ""; -"[示爱]" = ""; -"[差劲]" = ""; +"[调皮]" = "[调皮]"; +"[偷笑]" = "[偷笑]"; +"[擦汗]" = "[擦汗]"; +"[流泪]" = "[流泪]"; +"[大哭]" = "[大哭]"; +"[抓狂]" = "[抓狂]"; +"[可爱]" = "[可爱]"; +"[色]" = "[色]"; +"[害羞]" = "[害羞]"; +"[吐]" = "[吐]"; +"[怒]" = "[怒]"; +"[惊恐]" = "[惊恐]"; +"[傲慢]" = "[傲慢]"; +"[惊讶]" = "[惊讶]"; +"[疑问]" = "[疑问]"; +"[困]" = "[困]"; +"[么么哒]" = "[么么哒]"; +"[衰]" = "[衰]"; +"[撇嘴]" = "[撇嘴]"; +"[奋斗]" = "[奋斗]"; +"[左哼哼]" = "[左哼哼]"; +"[右哼哼]" = "[右哼哼]"; +"[抱抱]" = "[抱抱]"; +"[坏笑]" = "[坏笑]"; +"[鄙视]" = "[鄙视]"; +"[晕]" = "[晕]"; +"[可怜]" = "[可怜]"; +"[闭嘴]" = "[闭嘴]"; +"[睡觉]" = "[睡觉]"; +"[咒骂]" = "[咒骂]"; +"[抠鼻]" = "[抠鼻]"; +"[鼓掌]" = "[鼓掌]"; +"[糗大了]" = "[糗大了]"; +"[快哭了]" = "[快哭了]"; +"[吓]" = "[吓]"; +"[猪头]" = "[猪头]"; +"[爱心]" = "[爱心]"; +"[示爱]" = "[示爱]"; +"[差劲]" = "[差劲]"; "[心碎了]" = "[心碎了]"; From 3eb6cb3bbc28c7cc63815ed48d6223aba73e97f5 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Thu, 30 May 2019 12:23:02 +0800 Subject: [PATCH 84/90] no message --- .../ar.lproj/EmojiLocalizable.strings | 127 ++++++++++++------ .../en.lproj/EmojiLocalizable.strings | 127 ++++++++++++------ 2 files changed, 170 insertions(+), 84 deletions(-) diff --git a/ChatKit/Class/Resources/ar.lproj/EmojiLocalizable.strings b/ChatKit/Class/Resources/ar.lproj/EmojiLocalizable.strings index e48a91b6..45236273 100644 --- a/ChatKit/Class/Resources/ar.lproj/EmojiLocalizable.strings +++ b/ChatKit/Class/Resources/ar.lproj/EmojiLocalizable.strings @@ -7,45 +7,88 @@ */ -"[爱心]" = "[爱心]"; -"[龇牙]" = "[龇牙]"; -"[调皮]" = "[调皮]"; -"[偷笑]" = "[偷笑]"; -"[擦汗]" = "[擦汗]"; -"[流泪]" = "[流泪]"; -"[大哭]" = "[大哭]"; -"[抓狂]" = "[抓狂]"; -"[可爱]" = "[可爱]"; -"[色]" = "[色]"; -"[害羞]" = "[害羞]"; -"[吐]" = "[吐]"; -"[怒]" = "[怒]"; -"[惊恐]" = "[惊恐]"; -"[傲慢]" = "[傲慢]"; -"[惊讶]" = "[惊讶]"; -"[疑问]" = "[疑问]"; -"[困]" = "[困]"; -"[么么哒]" = "[么么哒]"; -"[衰]" = "[衰]"; -"[撇嘴]" = "[撇嘴]"; -"[奋斗]" = "[奋斗]"; -"[左哼哼]" = "[左哼哼]"; -"[右哼哼]" = "[右哼哼]"; -"[抱抱]" = "[抱抱]"; -"[坏笑]" = "[坏笑]"; -"[鄙视]" = "[鄙视]"; -"[晕]" = "[晕]"; -"[可怜]" = "[可怜]"; -"[闭嘴]" = "[闭嘴]"; -"[睡觉]" = "[睡觉]"; -"[咒骂]" = "[咒骂]"; -"[抠鼻]" = "[抠鼻]"; -"[鼓掌]" = "[鼓掌]"; -"[糗大了]" = "[糗大了]"; -"[快哭了]" = "[快哭了]"; -"[吓]" = "[吓]"; -"[猪头]" = "[猪头]"; -"[爱心]" = "[爱心]"; -"[示爱]" = "[示爱]"; -"[差劲]" = "[差劲]"; -"[心碎了]" = "[心碎了]"; +"[爱心]" = "[love]]"; +"[龇牙]" = "[grin]"; +"[调皮]" = "[tongue]"; +"[偷笑]" = "[chuckle]"; +"[擦汗]" = "[speechless]"; +"[流泪]" = "[tear]"; +"[大哭]" = "[cry]"; +"[抓狂]" = "[scream]"; +"[可爱]" = "[lovely]"; +"[色]" = "[drool]"; +"[害羞]" = "[shy]"; +"[吐]" = "[puke]"; +"[怒]" = "[angry]"; +"[惊恐]" = "[ Frightened]"; +"[傲慢]" = "[smug]"; +"[惊讶]" = "[surprised]"; +"[疑问]" = "[shocked]"; +"[困]" = "[drowsy]"; +"[么么哒]" = "[kiss]"; +"[衰]" = "[down]"; +"[撇嘴]" = "[grimace]"; +"[奋斗]" = "[fight]"; +"[左哼哼]" = "[bah!L]"; +"[右哼哼]" = "[bah!R]"; +"[抱抱]" = "[hug]"; +"[坏笑]" = "[trick]"; +"[鄙视]" = "[down]"; +"[晕]" = "[sleepy face]"; +"[可怜]" = "[whimper]"; +"[闭嘴]" = "[shhh]"; +"[睡觉]" = "[sleep ]"; +"[咒骂]" = "[scold]"; +"[抠鼻]" = "[nosepick]"; +"[鼓掌]" = "[clap]"; +"[糗大了]" = "[Embarrassed]"; +"[快哭了]" = "[tearing]"; +"[吓]" = "[scare]"; +"[猪头]" = "[pig]"; +"[爱心]" = "[love]"; +"[示爱]" = "[show love]"; +"[差劲]" = "[poor strength]"; +"[心碎了]" = "[heart broken]"; + +"[love]]" = "[爱心]"; +"[grin]" = "[龇牙]"; +"[tongue]" = "[调皮]"; +"[chuckle]" = "[偷笑]"; +"[speechless]" = "[擦汗]"; +"[tear]" = "[流泪]"; +"[cry]" = "[大哭]"; +"[scream]" = "[抓狂]"; +"[lovely]" = "[可爱]"; +"[drool]" = "[色]"; +"[shy]" = "[害羞]"; +"[puke]" = "[吐]"; +"[angry]" = "[怒]"; +"[ Frightened]" = "[惊恐]"; +"[smug]" = "[傲慢]"; +"[surprised]" = "[惊讶]"; +"[shocked]" = "[疑问]"; +"[drowsy]" = "[困]"; +"[kiss]" = "[么么哒]"; +"[down]" = "[衰]"; +"[grimace]" = "[撇嘴]"; +"[fight]" = "[奋斗]"; +"[bah!L]" = "[左哼哼]"; +"[bah!R]" = "[右哼哼]"; +"[hug]" = "[抱抱]"; +"[trick]" = "[坏笑]"; +"[down]" = "[鄙视]"; +"[sleepy face]" = "[晕]"; +"[whimper]" = "[可怜]"; +"[shhh]" = "[闭嘴]"; +"[sleep ]" = "[睡觉]"; +"[scold]" = "[咒骂]"; +"[nosepick]" = "[抠鼻]"; +"[clap]" = "[鼓掌]"; +"[Embarrassed]" = "[糗大了]"; +"[tearing]" = "[快哭了]"; +"[scare]" = "[吓]"; +"[pig]" = "[猪头]"; +"[love]" = "[爱心]"; +"[show love]" = "[示爱]"; +"[poor strength]" = "[差劲]"; +"[heart broken]" = "[心碎了]"; diff --git a/ChatKit/Class/Resources/en.lproj/EmojiLocalizable.strings b/ChatKit/Class/Resources/en.lproj/EmojiLocalizable.strings index e48a91b6..45236273 100644 --- a/ChatKit/Class/Resources/en.lproj/EmojiLocalizable.strings +++ b/ChatKit/Class/Resources/en.lproj/EmojiLocalizable.strings @@ -7,45 +7,88 @@ */ -"[爱心]" = "[爱心]"; -"[龇牙]" = "[龇牙]"; -"[调皮]" = "[调皮]"; -"[偷笑]" = "[偷笑]"; -"[擦汗]" = "[擦汗]"; -"[流泪]" = "[流泪]"; -"[大哭]" = "[大哭]"; -"[抓狂]" = "[抓狂]"; -"[可爱]" = "[可爱]"; -"[色]" = "[色]"; -"[害羞]" = "[害羞]"; -"[吐]" = "[吐]"; -"[怒]" = "[怒]"; -"[惊恐]" = "[惊恐]"; -"[傲慢]" = "[傲慢]"; -"[惊讶]" = "[惊讶]"; -"[疑问]" = "[疑问]"; -"[困]" = "[困]"; -"[么么哒]" = "[么么哒]"; -"[衰]" = "[衰]"; -"[撇嘴]" = "[撇嘴]"; -"[奋斗]" = "[奋斗]"; -"[左哼哼]" = "[左哼哼]"; -"[右哼哼]" = "[右哼哼]"; -"[抱抱]" = "[抱抱]"; -"[坏笑]" = "[坏笑]"; -"[鄙视]" = "[鄙视]"; -"[晕]" = "[晕]"; -"[可怜]" = "[可怜]"; -"[闭嘴]" = "[闭嘴]"; -"[睡觉]" = "[睡觉]"; -"[咒骂]" = "[咒骂]"; -"[抠鼻]" = "[抠鼻]"; -"[鼓掌]" = "[鼓掌]"; -"[糗大了]" = "[糗大了]"; -"[快哭了]" = "[快哭了]"; -"[吓]" = "[吓]"; -"[猪头]" = "[猪头]"; -"[爱心]" = "[爱心]"; -"[示爱]" = "[示爱]"; -"[差劲]" = "[差劲]"; -"[心碎了]" = "[心碎了]"; +"[爱心]" = "[love]]"; +"[龇牙]" = "[grin]"; +"[调皮]" = "[tongue]"; +"[偷笑]" = "[chuckle]"; +"[擦汗]" = "[speechless]"; +"[流泪]" = "[tear]"; +"[大哭]" = "[cry]"; +"[抓狂]" = "[scream]"; +"[可爱]" = "[lovely]"; +"[色]" = "[drool]"; +"[害羞]" = "[shy]"; +"[吐]" = "[puke]"; +"[怒]" = "[angry]"; +"[惊恐]" = "[ Frightened]"; +"[傲慢]" = "[smug]"; +"[惊讶]" = "[surprised]"; +"[疑问]" = "[shocked]"; +"[困]" = "[drowsy]"; +"[么么哒]" = "[kiss]"; +"[衰]" = "[down]"; +"[撇嘴]" = "[grimace]"; +"[奋斗]" = "[fight]"; +"[左哼哼]" = "[bah!L]"; +"[右哼哼]" = "[bah!R]"; +"[抱抱]" = "[hug]"; +"[坏笑]" = "[trick]"; +"[鄙视]" = "[down]"; +"[晕]" = "[sleepy face]"; +"[可怜]" = "[whimper]"; +"[闭嘴]" = "[shhh]"; +"[睡觉]" = "[sleep ]"; +"[咒骂]" = "[scold]"; +"[抠鼻]" = "[nosepick]"; +"[鼓掌]" = "[clap]"; +"[糗大了]" = "[Embarrassed]"; +"[快哭了]" = "[tearing]"; +"[吓]" = "[scare]"; +"[猪头]" = "[pig]"; +"[爱心]" = "[love]"; +"[示爱]" = "[show love]"; +"[差劲]" = "[poor strength]"; +"[心碎了]" = "[heart broken]"; + +"[love]]" = "[爱心]"; +"[grin]" = "[龇牙]"; +"[tongue]" = "[调皮]"; +"[chuckle]" = "[偷笑]"; +"[speechless]" = "[擦汗]"; +"[tear]" = "[流泪]"; +"[cry]" = "[大哭]"; +"[scream]" = "[抓狂]"; +"[lovely]" = "[可爱]"; +"[drool]" = "[色]"; +"[shy]" = "[害羞]"; +"[puke]" = "[吐]"; +"[angry]" = "[怒]"; +"[ Frightened]" = "[惊恐]"; +"[smug]" = "[傲慢]"; +"[surprised]" = "[惊讶]"; +"[shocked]" = "[疑问]"; +"[drowsy]" = "[困]"; +"[kiss]" = "[么么哒]"; +"[down]" = "[衰]"; +"[grimace]" = "[撇嘴]"; +"[fight]" = "[奋斗]"; +"[bah!L]" = "[左哼哼]"; +"[bah!R]" = "[右哼哼]"; +"[hug]" = "[抱抱]"; +"[trick]" = "[坏笑]"; +"[down]" = "[鄙视]"; +"[sleepy face]" = "[晕]"; +"[whimper]" = "[可怜]"; +"[shhh]" = "[闭嘴]"; +"[sleep ]" = "[睡觉]"; +"[scold]" = "[咒骂]"; +"[nosepick]" = "[抠鼻]"; +"[clap]" = "[鼓掌]"; +"[Embarrassed]" = "[糗大了]"; +"[tearing]" = "[快哭了]"; +"[scare]" = "[吓]"; +"[pig]" = "[猪头]"; +"[love]" = "[爱心]"; +"[show love]" = "[示爱]"; +"[poor strength]" = "[差劲]"; +"[heart broken]" = "[心碎了]"; From 2d029dcab74282427071d6cd32c77d77c406cee6 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Fri, 31 May 2019 12:25:39 +0800 Subject: [PATCH 85/90] =?UTF-8?q?=E5=8C=B9=E9=85=8D=E5=90=84=E5=9B=BD?= =?UTF-8?q?=E8=AF=AD=E8=A8=80=E8=A1=A8=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m b/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m index de8ab16d..99c04942 100755 --- a/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m +++ b/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m @@ -104,7 +104,7 @@ + (void)configEmotionWithMutableAttributedString:(NSMutableAttributedString *)at return; } //2、通过正则表达式来匹配字符串 - NSString *regex_emoji = @"\\[[a-zA-Z0-9\\/\\u4e00-\\u9fa5]+\\]"; //匹配表情 + NSString *regex_emoji = @"\\[[^\\]]+\\]"; //匹配表情 NSError *error = nil; NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regex_emoji options:NSRegularExpressionCaseInsensitive error:&error]; @@ -173,7 +173,7 @@ + (NSMutableAttributedString *)emotionStrWithString:(NSString *)text { //1、创建一个可变的属性字符串 NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:text]; //2、通过正则表达式来匹配字符串 - NSString *regex_emoji = @"\\[[a-zA-Z0-9\\/\\u4e00-\\u9fa5]+\\]"; //匹配表情 + NSString *regex_emoji = @"\\[[^\\]]+\\]"; //匹配表情 NSError *error = nil; NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regex_emoji options:NSRegularExpressionCaseInsensitive error:&error]; From 91b9295637910112e2e6b55fdbf99e4e1da8ce15 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Fri, 31 May 2019 14:14:55 +0800 Subject: [PATCH 86/90] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B5=A0=E9=80=81?= =?UTF-8?q?=E7=A4=BC=E7=89=A9=E6=98=BE=E7=A4=BA=E4=B8=8D=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 2 +- ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index f54c65e2..6d626179 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -15,7 +15,7 @@ Pod::Spec.new do |s| s.requires_arc = true s.dependency "AVOSCloud" , "~> 11.5.1" s.dependency "AVOSCloudIM", "~> 11.5.1" - s.dependency "MJRefresh" , "~> 3.1.9" + s.dependency "MJRefresh" s.dependency "Masonry" , "~> 1.0.1" s.dependency "SDWebImage" , "~> 3.8.0" s.dependency "FMDB" , "~> 2.6.2" diff --git a/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m b/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m index 99c04942..c9ea7e38 100755 --- a/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m +++ b/ChatKit/Class/Module/Conversation/Tool/LCCKFaceManager.m @@ -200,8 +200,10 @@ + (NSMutableAttributedString *)emotionStrWithString:(NSString *)text { //获取原字符串中对应的值 NSString *subStr = [text substringWithRange:range]; NSMutableArray *emojiFaceArrays = [[LCCKFaceManager shareInstance] emojiFaceArrays]; + NSBundle *bundle = [NSBundle bundleForClass: [LCCKFaceManager class]]; + NSString *originImageName = NSLocalizedStringFromTableInBundle(subStr, @"EmojiLocalizable", bundle, @""); for (NSDictionary *dict in emojiFaceArrays) { - if ([dict[kFaceNameKey] isEqualToString:subStr]) { + if ([dict[kFaceNameKey] isEqualToString:originImageName]) { //face[i][@"png"]就是我们要加载的图片 //新建文字附件来存放我们的图片,iOS7才新加的对象 NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init]; From e5d32057adbfce1049f86657beafa5d4a1a20afd Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Tue, 11 Jun 2019 16:02:12 +0800 Subject: [PATCH 87/90] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings b/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings index d8e5f21c..3d2bbe58 100644 --- a/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings +++ b/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings @@ -6,7 +6,7 @@ Copyright © 2019 ElonChan. All rights reserved. */ -"按住 说话" = "ضغط للتحدث"; +"按住 说话" = "اضغط للتحدث"; "松开 结束" = "سحب للإنهاء"; "向上滑动取消" = "حرك الأعلى للإلغا"; "录音时间" = "وقت التسجيل"; From 44f11e17eeb8fe6bd5f83a7b6fb5f5dcdaffb82f Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Wed, 12 Jun 2019 11:52:12 +0800 Subject: [PATCH 88/90] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Class/Resources/Lan.bundle/ar.lproj/Localizable.strings | 3 ++- .../Class/Resources/Lan.bundle/en.lproj/Localizable.strings | 1 + .../Resources/Lan.bundle/zh-Hans.lproj/Localizable.strings | 1 + .../Resources/Lan.bundle/zh-Hant.lproj/Localizable.strings | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings b/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings index 3d2bbe58..c61d60b9 100644 --- a/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings +++ b/ChatKit/Class/Resources/Lan.bundle/ar.lproj/Localizable.strings @@ -14,5 +14,6 @@ "录音失败" = "فشل التسجيل"; "时间太短,请重试" = "لوقت قصير جدا، يرجى المحاولة مرة أخرى"; "录音成功" = "نجح التسجيل"; -"照片" = "لصور"; +"照片" = "الصور"; "拍摄" = "التقط"; +"拍照" = "التقط"; diff --git a/ChatKit/Class/Resources/Lan.bundle/en.lproj/Localizable.strings b/ChatKit/Class/Resources/Lan.bundle/en.lproj/Localizable.strings index 5695b44a..d372e738 100644 --- a/ChatKit/Class/Resources/Lan.bundle/en.lproj/Localizable.strings +++ b/ChatKit/Class/Resources/Lan.bundle/en.lproj/Localizable.strings @@ -15,3 +15,4 @@ "录音成功" = "success"; "照片" = "photo"; "拍摄" = "shooting"; +"拍照" = "shooting"; diff --git a/ChatKit/Class/Resources/Lan.bundle/zh-Hans.lproj/Localizable.strings b/ChatKit/Class/Resources/Lan.bundle/zh-Hans.lproj/Localizable.strings index fefdaa34..a5e2ff0e 100644 --- a/ChatKit/Class/Resources/Lan.bundle/zh-Hans.lproj/Localizable.strings +++ b/ChatKit/Class/Resources/Lan.bundle/zh-Hans.lproj/Localizable.strings @@ -15,3 +15,4 @@ "录音成功" = "录音成功"; "照片" = "照片"; "拍摄" = "拍摄"; +"拍照" = "拍照"; diff --git a/ChatKit/Class/Resources/Lan.bundle/zh-Hant.lproj/Localizable.strings b/ChatKit/Class/Resources/Lan.bundle/zh-Hant.lproj/Localizable.strings index f21f72f4..e2f9e81e 100644 --- a/ChatKit/Class/Resources/Lan.bundle/zh-Hant.lproj/Localizable.strings +++ b/ChatKit/Class/Resources/Lan.bundle/zh-Hant.lproj/Localizable.strings @@ -16,3 +16,4 @@ "录音成功" = "錄音成功"; "照片" = "照片"; "拍摄" = "拍攝"; +"拍照" = "拍照"; From 8f5a4515f5ab9bb5e87552c158664632befc02fb Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Wed, 12 Jun 2019 14:49:29 +0800 Subject: [PATCH 89/90] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Class/Resources/Lan.bundle/en.lproj/Localizable.strings | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ChatKit/Class/Resources/Lan.bundle/en.lproj/Localizable.strings b/ChatKit/Class/Resources/Lan.bundle/en.lproj/Localizable.strings index d372e738..1b1fb50d 100644 --- a/ChatKit/Class/Resources/Lan.bundle/en.lproj/Localizable.strings +++ b/ChatKit/Class/Resources/Lan.bundle/en.lproj/Localizable.strings @@ -14,5 +14,5 @@ "时间太短,请重试" = "too short, try again"; "录音成功" = "success"; "照片" = "photo"; -"拍摄" = "shooting"; -"拍照" = "shooting"; +"拍摄" = "camera"; +"拍照" = "camera"; From 5a348877342fa1afd5ba75d56ce28dd9baf74160 Mon Sep 17 00:00:00 2001 From: zhihanhe Date: Mon, 22 Jul 2019 15:46:53 +0800 Subject: [PATCH 90/90] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChatKit.podspec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ChatKit.podspec b/ChatKit.podspec index 6d626179..5197f392 100644 --- a/ChatKit.podspec +++ b/ChatKit.podspec @@ -20,7 +20,8 @@ Pod::Spec.new do |s| s.dependency "SDWebImage" , "~> 3.8.0" s.dependency "FMDB" , "~> 2.6.2" s.dependency "pop", "~> 1.0.9" - s.dependency "UITableView+FDTemplateLayoutCell" , "~> 1.5.beta" + #s.dependency "UITableView+FDTemplateLayoutCell" , "~> 1.5.beta" + s.dependency "UITableView+FDTemplateLayoutCell" s.dependency "FDStackView" , "~> 1.0" s.dependency "DACircularProgress" , "~> 2.3.1" s.dependency "MLLabel" , "~> 1.10.5"