从第一个iOS项目开始

昨天完成了了第一个iOS项目,功能很简单,就是把大众点评的团购信息,新闻头条,网络笑话, 微信精选,历史上的今天集中组合在了一个App中,这样我就可以在一个App里面把自己每天用手机要观看的,日常感兴趣的几件事情全部都干完,这样比跑几个App看很多的广告,申请很多账号要效率的多。以后可能会将每天用手机做的事情更多的添加进来,但是目前就是这么简单的一个App,我把它叫做M记。

从有开发这个App的想法到完成功能用了20天左右的时间,当然还花时间在阅读Coding的源码,有时间会将每个阶段阅读Coding源码的收获也写成博客,不过那估计就是一个系列文章了。在独立开发App的时候总会遇上一些和在企业开发不同的困难,当然解决了这些问题都有了不小的收获。

开发时候我很快就遇上了第一个问题没有图标,网上找的很多图标都是要么每次只能找一个,需要一个个的进行保存,然后调尺寸和名称。因为同一个图标没有不同尺寸的,当图标的大小发生变化的时候要么让系统自动ScaleTofill要么就只能自己切,结果出来的效果简直不能太美,完全影响写代码的心情。原本在网上搜索到的可以简单的解决图标问题的软件要么是付费的,要么就有一点学习门槛,我并不打算在这上面浪费更多时间。所幸最后让我发现了一个神奇软件ICON8(记得掏广告费),只要在google上面搜索下载安装到电脑上以后你就会使用了,零门槛太棒了!它提供上千种icon图片,每个图片都有25px、32px、50px、75px、100px、128px、256px、512px这八种尺寸的,在不付费的情况下也可以使用他们的100px以下尺寸。最重要的是里面很多图片可以根据调色板自己来选择图标的颜色。这样甚至一次性解决了我们在高亮状态下显示的问题,只需要把同样的一组图片改一下颜色就好了,对于我这个一点PS都不会的人来说简直不要太友好,所有图标的问题都解决了。

然后是第二个问题没有数据源,公司的App数据都是由公司的服务器来提供的,服务器端可以有很多方法来解决这些问题,可是写一个简单的App就没办法这么大费周章了,就算是在网上爬数据也需要我会写爬虫,我可没这么多闲工夫(——酒桶)。费了一番功夫找到了大众点评的API,但是其他的API还需要解决。果然这个问题很多人都遇到过,而且已经有人找到了解决方案,在知乎有人提到聚合数据。注册以后,填写了实名认证,第二天我就看到了很多可以用的免费接口。包括一些笑话,头条,快递查询等也有收费的,但是对于我来说免费的就够了。所以这个问题完美解决。

我相信这两个问题是很多iOS自己开发项目,或者初学者找项目练手时候都会遇到的问题,那么我的经验就是解决方案,或许有更好的解决方式,这毕竟是其中一种,不是么。

第三个问题是在申请完聚合接口时候遇到的,用AFNetWorking来进行网络请求的时候返回的是failed,但是在error里面又有数据,而用原生框架NSURLSession请求的时候就正常了返回正常的数据,用Charles进行抓包显示的reponse也是正常的。翻阅AFNetWorking文档,当在请求出现错误或者返回的数据AFNetWorking不能解析的时候就会返回failed。所以问题就出在返回的数据不能解析,最终找到解决方式是因为聚合数据返回的数据是@“text/html"的,而原本的AFNetWoring里面可接受的内容类型是:

self.acceptableContentTypes= [NSSetsetWithObjects:@"application/json",@"text/json",@"text/javascript",nil];

里面没有@"text/html",把它加进去

self.acceptableContentTypes= [NSSetsetWithObjects:@"application/json",@"text/json",@"text/javascript",@"text/html",nil];

就一切顺利,返回正常解析正常。

第四个问题是PCH文件,在xcode 7 之前系统会在项目里默认生成一个PCH文件,作为一个预编译文件,我们需要在里面加些预编译指令和头文件进去,比如经常使用的库的头文件,屏幕的长宽高,各种API等等,但是在xcode 7 以后系统就将这个文件从默认生成的文件中取消了,如果要用需要自己去创建。本着苹果不提倡的就是我们所舍弃的的原则,看来这个文件是不能用了,试着自己创建添加了一下,就出现了好几个莫名其妙的错误,要么Pod库文件报错,要么路径报错,总是各种不得劲。只好删掉自己然后自己创建了一个头文件来引用。

第五个问题是用MJRefresh的时候,因为就是实现了简单的下拉上拉刷新功能,没有细致的研究,结果在使用的时候发现,设置了上下拉属性以后在UI上面不显示,这个在换了另外一个下拉上拉动画后好了。

第六个问题在使用XIB设置UI的时候,设置自定义的CELL,Cell里面加载的子控件,两个控件设置的约束一模一样,但是位置就会出现偏差。比如两个label ,每个都设置距离底部为10,在显示的时候就会发现一个比另一个高出一截,查看约束会发现计算距离的起始位置居然不一样。还有一个是XiB设置完约束后跑起来整个页面就乱成一团糟,检查约束也没有发现问题,将XIB删掉用Masonry按照设置约束的思路重新写一遍就正常了。这两个问题没有进行深追,但是已经坚定了我以后用纯代码进行UI布局的决心。

这个小小的个人项目目前会停止更新有好的点子以后再考虑更新,接下来会仿做一个App并把它记录下来。

M记的项目托管在git上  https://github.com/scholarin/MyAssistant/commits/master 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,076评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,658评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,732评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,493评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,591评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,598评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,601评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,348评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,797评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,114评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,278评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,953评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,585评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,202评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,180评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,139评论 2 352

推荐阅读更多精彩内容