iMessage 与 Sticker Pack APP开发

一、iMessage

      iMessage在iOS 10做出了不少变化,改善一些原先存在的问题,新加了不少功能。在一些特效上比微信等更厉害。

      iMessage是苹果公司推出的即时通信软件,可以发送短信、视频等,其拥有非常高的安全性。iMessage不同于运营商短信/彩信业务,用户仅需要通过WiFi或者蜂窝数据网络进行数据支持,就可以完成通信。iMessage利用了iOS,Mac os 新的消息提醒系统,可以将信息直接推送到对方屏幕上,而不管对方是在游戏还是锁屏状态,如果双方都在使用iMessage,你甚至可以看到对方正在发言的状态。而最值得称道的是iMessage具备超高的安全性,据称连FBI都难以解密Message中的信息。


特性

(1),使用iMessage你可以跟任何使用iPad、iPhone、iPod touch 的用户或运行Mountain Lion 的 Mac 用户相互收发信息,消息可以包括照片、视频、位置信息和联系人信息等。

(2),iMessage是借用流量发送消息的,因此没有短信通讯费用。

(3),iMessage可以给一个人单独发送消息,也可以群发。

(4),iMessage有消息回执,就是说你发送的消息接收方有没有收到,有没有阅读是有回执消息判断状态的。

(5),气泡颜色蓝色或者绿色可以用来区分 你发送消息是使用iMessage还是短信服务。

注:以iMessage方式发送内容时需要对方也开通iMessage服务才可以。

新特性

(1),集合了各家即时通讯软件之所长,将沟通交流的体验变得更加活泼有趣。

(2),加入了许多同类软件中再常见不过的表情贴纸、Emoji 放大效果等元素,也有苹果自创的消息效果、移植于 Apple Watch 的 Digital Touch 等好玩的沟通元素。

(3),已读回执的设置权限细化到个人,不再是统一的默认。

(4),iMessage可以关联其他iPhone上的app,比如Apple Music可以分享其中的音乐,搜狗输入法内中的表情包可以用来发贴图表情等,所以iMessage APP的接入将充满无限可能。

(5),聊天通讯页面头部不简简单单是通讯录里的人物名称,还有人物的头像等。

(6),很强悍的气泡特效(震撼、放大、缩小、隐性墨水)。

(7),很强悍的手写输入,手写输入时的特效,拍摄照片后的编辑都是十分厉害。

二、Sticker Pack APP

首先创建一个iMessage Application

iMessage 与 Sticker Pack APP开发_第1张图片

这里我们首先介绍一下,Sticker Pack APP工程构成。

iMessage 与 Sticker Pack APP开发_第2张图片

override func willBecomeActive(with conversation: MSConversation)

这个方法是要进入扩展app时激活(官方解释:当扩展将要从非活动状态转到活动状态时调用。)

iMessage 与 Sticker Pack APP开发_第3张图片

override func didResignActive(with conversation: MSConversation)

这个方法与上面的方法正好相反,它是要进入狂战app之外状态时调用(官方解释:扩展时调用将从活跃到不活跃的状态。)

override func didReceive(_ message: MSMessage, conversation: MSConversation)

// 收到信息

override func didStartSending(_ message: MSMessage, conversation: MSConversation)

// 开始发送

override func didCancelSending(_ message: MSMessage, conversation: MSConversation)

// 取消发送

override func willTransition(to presentationStyle: MSMessagesAppPresentationStyle)

// 将要过度,可以改变风格

override func didTransition(to presentationStyle: MSMessagesAppPresentationStyle)

// 过度完毕

发送一个消息和图片

// activeConversation 会话对象

activeConversation?.insertText("hello iMessage", completionHandler: { (error) in

print("插入信息成功")

})

// 插入一个表情

activeConversation?.insert(stickers[0], completionHandler: { (error) in

print("插入图片成功")

})

这里的stickers[0]是一个MSSticker类对象数组,MSSticker的对象包含了表情图片。

---->接下来做一个表情包的iMessage APP的demo 敬请期待!!

你可能感兴趣的:(iMessage 与 Sticker Pack APP开发)