在通知栏上玩游戏,Steve iOS 游戏实现思路

发布时间:2019-06-21 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了在通知栏上玩游戏,Steve iOS 游戏实现思路脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

最近有一款游戏特别的火爆,叫做Steve ,一种可以在通知中心直接玩的游戏。作者的脑洞也是非常的大,实在让人佩服。其实实现起来也简单,就是用到了iOS8新特性 app extension(Today extension),我们先来看看Steve 这图的效果。

clipboard.png

我打算把一个曾经很火爆的开游戏移植成控制中心的游戏。没错就是它FlappyBird 传送门
首先我们来看以下效果。
clipboard.png

extension 支持以下几种

clipboard.png

  • Action 扩展 - 点击 Action 按钮后通过判断上下文来将内容发送到应用

  • Today 扩展 - 通知中心的 "Today"的面板中添加一个 widget

  • Share 扩展 - 点击分享按钮后将网站或者照片通过应用分享

  • Photoshop edIT 扩展 - 编辑系统照片的扩展

  • Document 扩展 - 提供和管理文件内容

  • Custom Keyboard - 替代系统键盘的扩展自定义键盘或输入法

我们需要 创建Today extension,,today extension 就是在下拉通知栏下面添加应用扩展。如下图所示。

在通知栏上玩游戏,Steve iOS 游戏实现思路

1. 新建工程

创建工程。

2. 新建一个Today Extension targets ,如下图所示

在通知栏上玩游戏,Steve iOS 游戏实现思路

可以看到工程中多了扩展项目,扩展项目下有一个MainInterface.storyboard ,这个 .storyboard的就是要展示在Today 通知中心的内容(突然感觉整个世界都清晰了,直接在这个ViewController放内容就行了嘛)。扩展项目编译后,会生成一个.apPEx后缀的包文件,这个是独立于主工程的扩展应用。可以理解为两个应用,因为沙盒机制数据不能交互。

如果需要扩展和主应用进行数据的交互,我们需要创建一个共享的数据区域,我们在Capabilities 勾选 App groups 功能,并且创建一个app group(注意这个操作需要在主Target 和 extension Target 都需要构想,并且使用同一个app group), 这样就可以进行数据的交互了,具体操作如下所示

在通知栏上玩游戏,Steve iOS 游戏实现思路