转载声明:http://www.jianshu.com/p/46bc8cf37cae
本篇文章包含了开发一个App及发布的大部分内容,有了本篇文章,大家再也不用东奔西跑的去找资料了,这里面有开发App的完整资料及如何建立一个属于自己的框架,这篇文章主要针对初学者,如果有写的不好的地方,大家可以指出,希望和大家共同进步。
先谈下我对App的理解,无非就是发出数据请求,获取后台传来的数据,然后体现在界面上。这样也就是说我们我发送网络的get或者是post请求,然后就是获取到了数据,一般获取到的数据有三种形式:1.json格式(其实在我眼里就只有这一种) 2.xml格式 3.字符串形式。获得数据之后就是解析数据了,swift对于解析json数据也是非常简单的,对于解析出来的数据,一般有两种处理方式:1.使用本地数据持久化方式(通俗讲也就是将数据存起来,存到手机上)。2.直接将数据显示到界面上(不推荐,简单的也可以这么做啦)。在我眼里,说白了,开发一个App其实就是在做上面重复的事情。下面就来详细的讲下如何来搭建属于自己的框架。本篇是基于Xcode6.2,其实思路一样
对于初学者来说,一般的网络请求,json数据简析这些使用开源框架就可以了
第一步.网络请求框架 这里使用的是YYHRequest-Swift这个开源框架。下载地址:https://github.com/yayuhh/YYHRequest-Swift大家可以自行去下载。有了框架,申请数据就方便多了。简单的get,post方式申请数据:
1.get方式(data是数据,对其处理就好了)
let request = YYHRequest(url: NSURL(string: "http://www.google.com/"))
request.loadWithCompletion {response,data,error in
if let actualError = error {
// handle error
} else if let actualResponse = response {
// handle success
}
}
2.post方式:
let request = YYHRequest(url: NSURL(string: "http://www.google.com/"))
request.method = "POST"
request.parameters["foo"] = "bar"
request.completionHandler = { response,error in
// request complete!
}
request.loadRequest()
这样申请网络数据就完成了,接下来就是解析数据了。
第二步.json数据解析框架 。SwiftyJSON这是一个使用极其普遍的开源框架,下载地址:https://github.com/lingoer/SwiftyJSON大家可以自行去下载,使用的话外面的文章实在是太多了,我就推荐一篇大家去看就OK了http://www.jianshu.com/p/ae9a579905e0这里面已经写出了使用方法,大家可以跟着里面的例子进行测试。
在这里插一下版本更新,苹果公司是不允许直接更新app的,需要跳转到App Store去自行下载,做出版本更新的思路就是:自己服务器上放含有最新版本号的json数据,通过网络请求获取json数据,解析json数据获得最新版本号,与目前的版本号进行对比,判断是否跳出提示更新的框,是的话就跳转到App Store地址,因为自己写篇幅就过长了,这里也给出参考的文章,在这里感谢曾给过帮助的朋友们!参考地址:http://www.jianshu.com/p/6f22f06261f5
上面两个框架就可以解决很多问题了,下面当然要讲下怎么导入上面这两个框架了,这里就简述了,新建一个工程,比如Helloworld,然后将YYHRequest-Swift,SwiftyJSON中的.xcodeproj文件拉到项目中去,然后点击自己的项目,这里是Helloworld,然后点击General,然后往下拉,看到Embedded Binaries 下面有个加号,将这两个框架添加进来就行了
第二种导入框架的方法,就是使用cocoapods,有篇文章写得非常好,这里推荐下http://www.jianshu.com/p/1f93e0fec8a5
到这里就认为是框架导入成功了。
第三步.界面的搭建,相信大家对基本的控件的使用应该没什么问题吧,如果有问题的话,推荐去下载IOS开发指南这本书的源码,然后怎么去对应上内容,怎么获取PDF大家自己想办法喽,源码下载地址:http://www.51work6.com/forum.php?mod=viewthread&tid=1159&extra=page%3D1这里面拥有所有基本控件简单使用源码,只要合理利用,会有相当大的作用的。
第四步,数据持久化。这里推荐http://www.jianshu.com/p/7616cbd72845其实在刚才推荐的下载的源码的第十一章ch11中讲的非常清楚,Demo代码也非常适用。目前我用的就是修改Demo代码中的。
还有很中要的一点就是界面布局,这点非常重要。因为现在iphone的屏幕尺寸种类多了,目前还是推荐使用自动布局Auto Layout来对界面布局推荐一个非常好的学习地址,相信看完这篇文章,布局是一点问题都不会有了,写得非常详细https://lvwenhan.com/ios/430.html相信大家会有很大收获的。
经过上面这些,框架基本是搭建起来了,下面就介绍一些开发一个App不可避免要用到的一些东西
1.IOS(swift)-scrollView(tableView) ·下拉刷新上拉加载
http://www.jianshu.com/p/94b6d7287faf
2.动态启动界面(有需要时用)
http://fromwiz.com/share/s/0i4C850y0AUf2VM_1t15ktzt2XPmI93U7QMr2rF2y40mYXtX
3.纯代码写的tab bar
http://www.jianshu.com/p/a9808d63408b
4.app的引导页
http://www.jianshu.com/p/024dd2d6e6e6
5.自定义tab bar 并带有动画
http://www.jianshu.com/p/d487a87105e7
http://www.jianshu.com/p/f95080d109a6
TableView是一个非常重要,比其他基本控件要复杂一点的控件,在上面下载的源码的第六章完整的介绍了基本用法。
最后就只剩下App的发布了,之前我写过一篇关于此类的文章,请大家移步http://www.jianshu.com/p/2813abee7187
如果有写的不对的地方,还请指出,我会及时修改。写得不好的地方还请大家见谅,需要大家的支持。