一个天气App案例(一)

原文:raywenderlich ios-7-best-practices-part-1

翻译:http://www.cocoachina.com/industry/20140224/7868.html

在这个两部分的系列教程中,您将探索如何使用以下工具和技术来创建自己的App:

1.Cocoapods

2.Manual layout in code(纯代码布局)

3.ReactiveCocoa

4.OpenWeatherMap

开始

打开Xcode新建Single View Application,将项目命名为SimpleWeather。下一步将要集成第三方工具,首先关闭Xcode,确保不会影响下一步。

1.Cocoapods

你将要下载Cocoapods的代码,在Xcode项目中添加文件来使用,并配置项目需要的设置。

2.Mantle

Mantle由于Github团队开发,目的是去除Objective-C把JSON数据转为NSObject子类的所有样板代码。Mantle也能做数据转换,通过一种神奇的方式把JSON原始数据(strings, ints, floats)转换为复杂数据,比如NSDate、NSURL甚至是自定义类。

3.LBBlurredImage

LBBlurredImage是一个继承自UIImageView,轻而易举使图像模糊的项目。你将仅仅用一行代码来创建一个神奇的模糊效果。

4.TSMessages

TSMessages是另一个非常简单的库,用来显示浮层警告和通知。当出现错误信息而不直接影响用户的时候,最好使用浮层来代替模态窗口(例如UIAlertView),这样你将尽可能减少对用户的影响。在网络失去连接或API错误的时候,你将看到类似这样的一个浮层:

5.ReactiveCocoa

ReactiveCocoa也是来自于GitHub团队。ReactiveCocoa给Objective-C带来了函数编程,类似与.NET的Reactive Extensions。你将在第二部分花费大部分时间去实现ReactiveCocoa。

设置你的Cocoapods

先要确保你已经安装了Cocoapods。为此,打开命令行程序,并输入:

which pod

你将会看到类似这样的输出:

/usr/bin/pod

这决定于你如何管理Ruby gems,例如你使用rbenvRVM,路径可能有所不同。如果命令行简单的返回提示,或显示pod not found,表示Cocoapods未安装在你的机器上。可以查看Cocoapods教程作为安装说明。这也是一个很好的资源,如果你想更多得了解Cocoapods的话。

设置你的podfile

podfile用来告诉Cocoapods哪些开源项目需要导入。

要创建你的第一个Cocoapod,首先在命令行中用cd命令导航到你的XCode项目所在的文件夹,在命令行中输入vim podfile启动编辑器,输入i进入编辑模式并输入:

source ‘https://github.com/CocoaPods/Specs.git‘
platform :ios, ‘8.1’
target ‘SimpleWeather‘ do
pod ‘Mantle‘ 
pod ‘LBBlurredImage‘
pod ‘TSMessages‘
pod ‘ReactiveCocoa‘
end

按esc退出编辑模式,并输入:wq退出编辑器。podfile文件做了两件事情:

1.告诉Cocoapods你的目标平台与版本,这里的你目标是iOS 8.1。

2.列给Cocoapods一个项目所有需要引入和安装的三方库清单。

在命令行中输入pod install进行安装。

这可能需要花一到两分钟的时间去安装各种包。你的命令行应该输出如下所示:

若你之前安装过Cocoapods的话,这里安装报错的话,可以看看http://blog.cocoapods.org/Repairing-Our-Broken-Specs-Repository/ 修复问题

用Xcode打开SimpleWeather.xcworkspace。看看你的项目设置,现在有一个Pods项目在你的项目工作区,以及在Pods文件夹放着每一个你引入的库,如下所示:

确保你已经选择SimpleWeather项目,如图所示: Select SimpleWeather Project,构建并运行App,以确保一切工作正常:

待续...

时间: 2024-08-05 18:07:02

一个天气App案例(一)的相关文章

自己写着玩的一个天气APP

打开的界面: 向上滑动,进入主界面: 省份界面: 城市界面: 加载天气界面: 显示天气界面: 侧滑,显示地区,然后根据天气来显示一首诗句(晴,多云,雪,雨什么的): 第一次启动App的时候才会加载数据. 首先进去到省份界面,然后根据省份的城市绘制城市页面,点击了城市后,找数据库里面的城市编号,补全URL去爬取天气数据. 然后更新界面三的UI. 比较综合的一个APP,用了滑动相关的东西,自定义ListView,自定义字体,访问网络,爬虫(天气数据不是用的API,是我自己网上爬的),侧滑,数据库(不

DB天气app冲刺第六天

更改计划 以前是准备完全自己写一个天气App 而且加上自己已经成功的做了一个安卓开发的小例子了,就感觉可以做的出来了.结果这五天证明自己一开始的思路就错了.所以上次跟别的同学问了一下.看了一下他们的方案.决定想从网上个找几个模板,然后自己按照自己的设计思路进行创作开发. 例子昨天已经找好了,而且我也已经自动忽略了昨天的的冲刺了.所以昨天就没有算作自己冲刺的一天. 更改计划如下 今天算作是自己重新冲刺的第一天.基本熟悉模板的各部分功能与作用,读懂各部分作者的代码. 第二三四天 按照自己的设计思路吧

DB天气app冲刺二阶段第十天

昨天困到不行了 所以就写了那么几句..所以今天好好写写了要.. 今天的收获了一个很重要的问题 就还是api接口的事情,以前的那个接口虽然能用但是总是不稳定,今天由决定百度的一下然后就发现了一个很好用的接口,虽然简单但是很稳定,而且还是json格式的.所以该起来不会太费力,目前的问题就是图片显示的那一部分再换了接口以后老是显示不正常,但总算有一个准确的天气预报了.这个让我异常激动的原因就是因为以前说是做天气APP 但是接口总是找不好,一点也不稳定,每次选择城市都是有时会没有反应,这次不会了,而且还

DB天气app冲刺第十天

好了 这是第十天了,按照白板任务上的来说的话,今天没有完成,所以等一下还要继续看看今天能不能把他做完,今天出的问题在于我又自己调整了一下UI设计,因为发现以前的设计发面有重复,浪费了屏幕.所以还不如省下来安排一些其他的事情.导致今天没有做关于天气城市数据库的了解,等会应该会继续看一下数据库的建立的事情,找一下其他的天气APP的模板来看一下,今天做的主要还是UI的调整,但发现现在来说越调整越出错,感觉应该先放一下做其他方面的了,不然就困在里面了. 还有一个作业没有完成的就是老师流的每个组140字的

一个社交App是如何构建高伸缩性的交互式系统

摘要:本文旨在通过一个社交App的成长历程来从技术角度分析如何在云端构建大规模分布式系统,其中包括平台的可伸缩性.网络层面的扩展.数据和业务层面的扩展等. 一个社交App需实现的功能 用户关注的常规社交功能.活动.地理位置.探索功能.新鲜事.视频照片分享等等,需要提供的功能不胜枚举,所以从技术角度来说,开发者需要解决的问题也是异常复杂的. 当一款社交App发布之初,用户访问量比较小,使用一台服务器就能够支撑全部的访问压力和数据存储需求,但是互联网应用具有病毒式的传播特点.一款App很可能会面临一

个人作业2——集大通APP案例分析

个人作业2--集大通APP案例分析 产品:集大通 我认为这个是我们学校的APP,我们应该支持一下. 一.个人体验 1.下载并使用,描述最简单直观的个人第一次上手体验. ①界面美观,可以感受到丰富的校园气息. ②内容丰富,不仅可以交友,也有社区一类和微信朋友圈一样的功能. ③有丰富的学校办事管理功能,可以查看成绩,课表,图书馆借书归还等功能. ④还有校园新闻,新生宝典和微博一样的关注人的功能. 2.按照<构建之法>13.1节描述的 bug 定义, 找出几个功能性的比较严重的 bug,至少2个.

Android之天气APP

做一个天气信息APP,通过读取公开发布的气象数据,提供实时天气更新,帮助用户时刻了解天气情况.通过APP可以查询到自己所处位置的天气预报,也可以通过定位系统,获取省内任意位置的气象环境信息. API接口: 1.查询天气的接口 百度车联网API http://developer.baidu.com/map/carapi-7.htm 通过网络读取天气信息,并保存到sqlite数据库中. 天气查询返回的JSON: JSON返回示例 : { errNum: 0, errMsg: "success&quo

另辟蹊径 直取通州的“墨迹天气”APP应用的成功故事

一个天气应用,曾被认为是要挑战国家气象局,网站也莫名其妙地被封,两个合伙人先后离开.创始人金犁是如何把这么一款工具类应用做到人所共知的? 采访 | 郑江波 翟文婷 文 | 翟文婷 出生时间:1982年12月30日 籍贯:沈阳 教育背景:大连交通大学毕业 创业城市:北京 创业次数:1次 首次创业年龄:26岁 前不久,“墨迹天气”的商务部接到个陌生来电,对方自称是湖南电视台<天天向上>节目组,邀请墨迹天气的创始人金犁上节目.接电话的人第一反应是,“又是骗子吧?”出于礼貌,此人象征性地请对方先发封信

两天撸一个天气应用微信小程序

这是一个完整的已经线上运行的天气应用小程序,点击可查看源码,可随意 star.也可以扫描下方的小程序码直接体验. 效果图: 说明 鸣谢:pure 天气 APP:首页样式借鉴了 pure天气 APP.如侵删. 数据来源 地理编码.天气数据均来自百度地图开放平台.个人开发完全免费,有对应的小程序 sdk,加入即可,但是返回的天气数据较少. 运行前准备 注册微信小程序,获取 appid 注册百度地图开放平台开发者,创建应用,获取 ak(其他配置自行查看) 在 app.js 中替换 globalData