机智云APP开源框架是使用机智云SDK开发的APP模板,实现了SDK的加载、初始化、用户注册、用户登陆、设备配置、设备发现、设备连接、设备列表等基本的功能。APP开源框架是一个可以编译的源码工程,对所有开发者开源,目前提供iOS和Android版本。APP开发者可以在框架上实现具体产品的控制页面就可以生成一个完整的APP。
本文档为机智云物联网开源基础App套件使用说明,旨在为机智云物联网开发者提供一个快速开发模板,可在此工程基础上进行快速开发或参考相关代码进行开发。
iOS开源框架工程源码链接:
https://git.oschina.net/dantang/GizOpenSource_AppKit_iOS
iOS Gokit App是使用开源框架工程的源码范例,源码链接:
https://git.oschina.net/dantang/GoKit_Demo_iOS
也可在下载中心下载:
A. Library: 包括 GizWifiSDK 在内的的第三方库目录
B. GizOpenSourceModules: 组成模块
默认程序入口在 UserModule 中的 LoginViewController。在工程的GOpenSourceModules/CommonModule/UIConfig.json 文件中可填写机智云AppID及AppSecret以及程序样式。
如果使用第三方登录或推送,需要填写相应的从其他资源平台申请的参数;如果使用推送需要打开当前需要使用推送的类型的宏注释,如果都为注释状态则表示当前不使用第三方推送,同时只支持一种第三方推送,不可打开多个第三方推送宏定义的注释。
可配置参数有:
1)框架工程内提供的代码已经可以在不修改任何代码的前提下,进行到控制界面的跳转操作,开发者只需要关心操作界面的逻辑即可。如果需要在设备列表界面中点击某设备后,跳转到自己创建的控制器视图中,请在 AppDelegate.m 文件中修改相应跳转参数。请按图所示修改引入的头文件及跳转视图的类定义,如果使用默认提供的空白界面(GosDeviceController)来进行编写控制界面,可略过此步骤。
2)在控制界面中设置 GizWifiDeviceDelegate 委托的代理,例如:
1 | self.device.delegate = self; |
3)在控制界面中定义类的委托回调,实现 SDK的GizWifiDeviceDelegate 委托的方法:
1 | - (void)device:(GizWifiDevice *)device didReceiveData:(NSError *)result data:(NSDictionary *)data withSN:(NSNumber *)sn; |
用于接收SDK上报的设备状态变化通知,将接收到的上报数据解析并更新界面。
4)实现控制命令下发,需要调用SDK中GizWifiDevice类实例的接口方法:
5)退出控制界面时,需要取消当前设备订阅,调用SDK中GizWifiDevice类实例的接口方法,将参数设为NO:
1 | - (void)setSubscribe:(BOOL)subscribed; |
如果需要在设置界面进行列表项的增加或修改,需要操作设置模块(SettingsModule)中的GosSettingsViewController类文件,在 .m 文件中找到 UITableView 的委托方法,进行修改。
A、支持哪些iOS版本?
目前支持iOS 7及更高版本系统。
B、如何更改关于界面中的版本号?
关于版本号由两部分构成,格式为:工程版本号.程序编译时间,其中程序版本号是在info里设置的版本号,程序编译时间为年份后两位、月、日,共6位组成。如果需要修改显示效果,需要到设置模块(SettingsModule)的关于界面(GosAboutViewController)的viewDidLoad 方法中修改属性appVersionLabel的赋值。