苹果在今年(2014)的 WWDC 大会上发布了一门新的开发语言 Swift。我们注意到很多开发者对Swift感兴趣,于是我们第一时间尝试了怎么用LeanCloud SDK和Swift构建iOS应用,并把方法告诉大家,方便使用LeanCloud服务的开发者能更快适应新的开发语言。
如果你还不知道Swift或者知之甚少,可以先看看苹果官方的介绍
The Swift Programming Language 或者 The Swift Programming Language (iBooks Store)
Swift对于iOS的开发者来说,一个最重要的特点就是它完全兼容已有的Objective-C开发库,不论是系统已有的还是第三方提供的。下面介绍怎么在Swift工程中使用LeanCloud SDK。
如果你还没有LeanCloud帐号,请先进行注册,输入应用名称,如图:
使用Xcode6创建一个新的 Single View Application ,注意 Language 选择 Swift :
(2016-01-11)请参考官方文档 iOS / OS X 安装指南 来了解最新的安装步骤。
将下载的.zip文件解压缩,将 AVOSCloud.framework 拖放到你的项目里:
切换到 Project -> Build Phases 下面,确认AVOSCloud framework已经加入到 Link Binary with Libraries 的列表里面了。
现在已经加入了所有LeanCloud SDK运行需要的库。编译运行一下,没有任何功能,但可以先确认一下工程是否正常。
在 Target 的 Build Settings 中,为 Other Linker Flags 增加:
这是Swift神奇的地方,你只要创建一个.h头文件,并把你想在Swift中使用的Objective-C的头文件都包含进来,你就可以在Swift使用Objective-C的类和方法了。
你可以自己手动创建一个桥接头文件并在项目配置项里面进行设置,但是我们可以使用更快捷的方式。在你的项目里创建一个无用的Objective-C类文件(如:Dummy.m),Xcode将询问你是否要创建一个桥接头文件:
现在可以删除Dummy.m文件了,它已经完成了它的使命!然后在桥接头文件里面添加以下代码:
#import <AVOSCloud/AVOSCloud.h>
现在再编译运行一下,还是没有任何功能,再次确认工程是否正常。
LeanCloud网站上的iOS教程提供的代码都是使用的Objective-C,我们需要将其转换成Swift,这个过程并不复杂。如下面的代码:
[AVOSCloud setApplicationId:@"aus34ilterer5zfqn8vvunofpk8i93h24dzy3efb7zox6vsd"
clientKey:@"v57di6xut4sutups84gzxoqxetze01kg9023eiyg13hc033u"];你可以装换成这样:
AVOSCloud.setApplicationId("aus34ilterer5zfqn8vvunofpk8i93h24dzy3efb7zox6vsd",
clientKey: "v57di6xut4sutups84gzxoqxetze01kg9023eiyg13hc033u")现在我们写一个最简单的测试,在 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool 加入上面的代码,现在应该是这样:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
AVOSCloud.setApplicationId("aus34ilterer5zfqn8vvunofpk8i93h24dzy3efb7zox6vsd", clientKey: "v57di6xut4sutups84gzxoqxetze01kg9023eiyg13hc033u")
return true
}然后修改ViewController的viewDidLoad方法:
override func viewDidLoad() {
super.viewDidLoad()
var testObject:AVObject = AVObject(className: "TestObject")
testObject["foo"] = "bar"
testObject.save()
}现在再编译运行一下。还是看不到任何变化!你还差一步...
现在我们回到LeanCloud网站,在MyAwesomeApp的管理界面中切换到 数据 选项
现在可以在 TestObject 的表里面看到你在示例代码里面添加的列:
如果你看到了类似上面的数据,恭喜你,LeanCloud已经在你的应用里面运行成功了!你可以买个冰淇淋庆祝一下!
在这个教程里讲述了以下几点:
这只是开始,为了更深入的使用Swift和AVOSCloud服务,推荐你看看iOS/OS X 指南、Using Swift with Cocoa and Objective-C
以及AVOSCloud SDK的Demo,这将有利于你构建更酷的应用!