引言:
Parse一款基于Baas的后端云存储服务平台,为开发者提供云端数据存储和读取的能力,Parse团队在其SDK方面花费了大功夫,实现了很多非常有用的功能.并且,非常的稳定,兼容和灵活性,相对于其他Baas平台,Parse在上手方面是最为容易的.
Parse的特性如下:
1:自定义数据字典
2:消息推送
3:地理位置
4:数据缓存
5:离线数据同步
6:云端自定义代码
7:二进制文件读取
参考资料:
1:Parse的主页
2:
安装:
1.首选的安装方式是跟着Parse自家提供的官方起步教程即可完成,非常简单!
使用:
Parse支持的数据类型主要如下:
Number: 对应各种类型,包括:整形,浮点型 转换成NSNumber后存储到Parse Cloud
Date: 对应NSDate
Array:对应NSArray. 万能的数组(Parse的强大之处)
String:对应NSString
Null: 很少用到
Pointer: 指针:相当于表与表之间的外键关系, 只存储着某个对象的ID
Relation:关系:应付多对多关系时的方案,但是可以用Array达到同意的功能.
查询:
Parse设定了尽可能多样的查询方式,并且它还支持NSPredicate. 这对于使用过CoreData的人来说,是比较容易上手的.
首先来说说Parse提供哪些查询接口
时间:
查询创建时间大于某个时间的数据行:
NSDate *lastQueryDate = [self lastQueryTime]; if (lastQueryDate == nil) { lastQueryDate = [NSDate date]; } [query whereKey:@"createdAt" greaterThan:lastQueryDate];
查询缓存策略:
kPFCachePolicyIgnoreCache
查询不从缓存加载结果或将结果保存到缓存。默认缓存策略为 kPFCachePolicyIgnoreCache。
kPFCachePolicyCacheOnly
查询会忽略网络,仅从缓存加载结果。如果没有缓存的结果,则会引发 PFError。
kPFCachePolicyNetworkOnly
查询不从缓存加载结果,但会将结果保存到缓存。
kPFCachePolicyCacheElseNetwork
查询首先尝试从缓存加载结果,但如果加载失败则从网络加载结果。如果缓存和网络加载都不成功,则会出现 PFError。
kPFCachePolicyNetworkElseCache
查询首先尝试从网络加载结果,但如果加载失败则从缓存加载结果。如果网络和缓存加载都不成功,则会出现 PFError。
kPFCachePolicyCacheThenNetwork
查询首先从缓存加载结果,然后再从网络加载。在此情况下,实际上会调用两次回调 - 第一次针对缓存的结果,随后针对网络结果。由于会在不同的时间返回两个结果,因此该缓存策略不能与 findObjects 同时使用。
Push:
官方提供了一个详细的消息推送配置流程:
https://parse.com/tutorials/ios-push-notifications
Parse远程推送教程实在是太详细了,图文并茂.
在这里我简单复述了一下整个过程方便理解:
1.申请苹果的开发者招生计划,并成功激活.
2.通过本地的Mac系统生成一个证书签名请求(Certificate Signing Request),
3:接下去苹果开发者主页的Member Center(会员中心)创建一个新的App IDs. 并通过证书签名请求激活这个App IDs的远程推送服务功能.
4.下载这个App IDs的推送许可服务,并通过钥匙访问串导出密匙(p12).
5.最后生成这个App IDs的描述文件,并应用到工程中.
6.编写Parse所提供的Push的相关API代码. 实现远程消息推送.
其中有一个步骤是当你通过Certificate Signing Request(证书签名请求)激活了苹果的远程推送通知服务以后.
并下载了推送许可证书:aps_development.cer. 教程中要求从钥匙访问串(Keychain Access)中导出.p12后缀的密匙.
在导出时有两点需要注意:
1:请在名称为 Apple Development IOS Push Services : ***** 或 Apple Prodoction IOS Push Services : ***** 的栏位上直接右键,如下图:
图中方框中的三角箭头,请直接无视和忽略他。 里面是证书的创建者信息而已。 虽然也可以导出p12, 但是这个p12是无效(请特别注意)
2:在导出时要求你输入密码,请直接忽视,也就是空密码即可,否则Parse 的 App Settings - Push Notifications里要求上传的p12密匙无法成功.
最后还有一个细节要注意,也就是当你的产品成功发布到应用商店以后,你之前用来测试的开发版本证书,应该替换为发布版本证书(aps_production.cer). 否则从App Store上面下载的应用将无法收到消息推送.. 所以,你需要重新上传发布版本的密匙.跟开发版本的上传方式一样. 成功后如下图所示:
总结:
可能遇到的问题:
1:编译问题.
解决方案:
http://stackoverflow.com/questions/15457136/parse-for-ios-errors-when-trying-to-run-the-app