一、引言
Messages是iOS系统中原生的信息应用,其既可以通过运营商网络发送短信息,也可以通过互联网进行类似微信类社交软件的即时聊天。但是由于其封闭性与功能的单一,使用其进行即时聊天的用户并不多。随着iOS10系统的推出,或许可以改变这一现状。在iOS10中,Messages的功能被扩展的十分强大,通过Messages,用户可以分享图片,音乐,视频,可以随手涂鸦,使用自定义的表情包,可以进行Apple Pay支付,购物,甚至可以在Messages中玩游戏。并且,上面所提到的这些功能都全面开发出了接口供开发者进行开发与扩展。
在iOS10中,开发者可以进行与Messages相关的开发有两类:独立的Messages应用与Messages应用扩展。其中,Messages应用扩展需要依附一个宿主App而存在。无论哪种类型的Messages应用,其都又分为两类,StickerPicks(表情包)与iMessage Apps(Messages应用)。
二、开发表情包StickerPicks
1.开发独立的表情包
Sticker Picks可谓是iOS10中一个十分强大的新功能。在iOS10系统的iPhone上,Messages应用中会内嵌一个Message App Store,用户可以直接从里面下载针对于Messages的独立表情包和独立第三方应用。开发者也可以独立开发表情包发布到这个Message App Store中。
开发Sticker Picks表情包十分简单,开发者可以不用写一句代码,将整理好的表情进行打包提交即可完成。使用Xcode8创建一个新的工程,选择Sticker Pack Application模板,如下图所示:
创建出工程后,可以发现模板中没有任何代码文件,只有一个Stickers.xcstickers包。将准备好的表情包图片导入这个Stickers中,其中支持静态图片,也支持动态表情gif图片。关于导入的图片,有如下几条规则:
1.图片文件的格式必须是PNG、APNG、GIF或者JPEG。
2.单个文件的大小不能超过500KB。
3.最优的效果是当图片尺寸在100*100到206*206之间。
注意:在提供图片的时候,开发者只需要提供@3倍图即可,即最优尺寸在300*300到618*618之间的图片。系统会自动生成@2与@1倍图。
开发的表情包会显示在Messages应用的工具中,需要注意,在表情列表的排版中,每个表情缩略图只支持3种尺寸的排版,对应的尺寸分别如下:
Small类型:100*100
Medium类型:136*136
Large类型:206*206
在Xcode中,可以对要使用的模板进行选择,如下图:
在模拟器中运行工程,Messages中效果如下图:
和普通iOS应用程序一样,将设备选择为Generic iOS Device后直接Archives即可将表情包提交到AppStore,审核通过后,即可在Message App Store中进行下载。
小提示:其实StickerPicks翻译成表情包并不合适,其更有一层贴纸的概念。实际上其也确实有贴纸的功能,在Messages应用中,用户可以通过长按移动手势,来将某个Sticker添加在另一个Sticker上面。如下图:
2.开发寄宿于宿主App的表情包扩展
扩展表情包与独立表情包最大的不同在于扩展需要寄宿于某个宿主App中,创建扩展target,选择Sticker Pick Extension,如下图,之后和独立表情包开发过程一致。
3.关于表情包的icon图标
StickerPicks的图标和宿主App并不共用,其需要一套独特尺寸的icon,尺寸如下:
效果如下图所示: