14年12月,我发布了一款名为《老罗语录》的iOS客户端,到15年4月底,更新了三四个版本了,下载量已经快突破4000,下载量不多,但是自己收获的喜悦还是不少的。其实在我发布之前已经有几个老罗语录的APP了,但是既不美观也不全,而且好多都好久没更新了,竟然还有个是收费6块钱的,好在我做的那个发布了之后,他把价格降到了1块钱。我是个老罗的粉丝,正好手上有些资源,于是就想做一个精致些的老罗语录的APP。我有时候甚至觉得这是个简单的小创业。接下来我就分享一下做这个APP前前后后的一些经验吧。

1.开发者证书

我14年初买了一个$99的个人开发者账号,刚开始就是想单纯的练习一下账号相关的各种操作,后来一转眼就过去了半年,感觉有点浪费,一年¥688呢,就决定做一款APP,想来想去没啥别的好点子,就先弄个简单些的吧,也算是自己从头到尾一个人的项目了。关于账号、证书、真机测试等的相关操作,推荐两篇播客:http://my.oschina.net/u/1245365/blog/196263 、http://my.oschina.net/u/1245365/blog/196420。购买证书时候我大概花了一周的时间,中间遇到点小问题,付完款之后一直等待激活,但是等了好几天一直没有激活,后来我打了客服电话咨询了一下,一个台湾腔的妹子,是我的身份证名字和地址都是写的中文,系统无法识别,妹子跟我说要完全是英文的才能识别,我把身份证的名字的地址都按拼音拼了一遍,然后提交,结果第二天就过了,给我的经验就是付完钱等待激活多打个电话,特别方便。

有了证书接下来就开始创建APP,添加测试设备,具体就看上面介绍的那两篇播客吧。

PS:我现在的证书大概添加了60多个设备了,因为每个证书有100台设备可以添加,我把自己的手机朋友的都填加上了,只占用了十几个,后来索性挂到我女票的淘宝店上出售开发者真机测试资格证书了。每个卖八九块钱,买家只要把手机的udid发过来,我添加到测试设备,然后给他把本地的证书和描述文件发过去,那边就可以真机测试了。目测挣了二三百块钱了。

2.关于设计

我做的这个最低支持iOS7了,iOS6适配起来略麻烦,而且用户也越来越少了,现在国内主流的APP都是最低适配到6.0,等iOS9出来后,主流的APP估计都从ios7开始适配了。这个是国外统计的iOS系统版本用户数量,实时统计的,算是比较权威,就是打开的时候比较慢,http://david-smith.org/iosversionstats/。最新看到的iOS6在iPhone上的占有率不到3%了。所以设计上我全是用iOS7的风格去做的。我觉得自从iOS7变得扁平化之后,开发者比以前好开发了好多,且让那些不会设计的开发者变得方便了很多。APP的图标、启动图都不是太复杂,但要有逼格,我找了张老罗拿锤子的照片,自己P上去了,启动图右下方贴了个自己微博的logo。所以稍微会一点PS也是不错的,或者你找个会PS的女朋友(男朋友)。因为个人开发,其实苹果好多东西已经设计的不错了,所以能用系统的就用系统的(NavigationBar、TableView),节省时间且美观,另外导航栏用系统的好处是,push的时候返回可以用滑动返回的方式。

好多切图都是从各大APP中找出来的,或者用系统的,整个项目中我自己做的,只有icon、启动图、还有几张tableView中用到的,都是非常简单的那种图,没有花费太多的时间在这上面。

3.意见反馈

意见反馈我用的新浪微博,感觉够用了,不过用户要先登录后才能写反馈,这样做的好处是,既能防止那些乱写反馈的用户,也能及时的跟用户沟通。

4.第三方库

基本的那些我就不说了,SDWebImage、AFN、FMDB、MBProgressHUD等。

抽屉效果 MMDrawerController

然后就开始构思了,大致决定做一个抽屉的结构,我个人特别喜欢weico,后来就开始找合适的第三方,从github上比较了十多个抽屉第三方,最后觉得有MMDrawerController做的设计比较好,效果也比较丰富,大家可以看一下。但这个库也有个缺点,就是滑动返回的时候老是跟抽屉的手势冲突(具体没研究如何避免),好在我这个APP没有太多界面。

CHTumblrMenuView

一个类似新浪微博点击发微博时弹出那几个圆形图标的那种效果,这个第三方没新浪微博那个做的好。我是在做分享的时候用到这个第三方的。

友盟分享、统计

友盟统计做的算是国内最早的了,目前也是国内最好的统计之一了吧。但是友盟的分享做的真心不怎么样,其实说到第三方的分享,shareSDK(mob)、友盟就这两家做的比较大,我13年的时候用的shareSDK,当时做凤凰视频的分享功能,分享到微信、朋友圈、新浪微博、腾讯微博,当时没感觉有那么麻烦,分享就成功了,但是一年多后我又用了友盟的,感觉文档写的略乱,人人网一直分享失败,后来调了个type弄好的,但是没有一点提示,感觉略坑。但还是用了友盟,因为要跟统计功能统一起来。

GUAAlertView

一个创意的alert。

5.iPhone6的适配

iPhone6和6+的适配其实就一句话,如果大家做个iPhone和iPad同一个项目的,适配iPhone6和6+就一句话,把6和6+当成iPad去适配就行了,有所不同的是你需要先把6和6+相应尺寸的启动图添加上去。不管算什么,都根据屏幕尺寸去算,那样什么都能适配了,以后再出iPhone7、iPhone8。。都不成问题(当然我说的是代码编程,我个人比较偏向于代码编程,看着清净,xib和storyboard实在用不习惯)。我的项目刚开始没有适配iPhone6和6+,还被一个用户评了差评,哎。后来适配发现特别简单,加上6和6+的启动图后发现就一个界面需要适配,其余的都不用适配,因为都是用的系统的东西,而且写的时候好多坐标都是尽量写活,坐标都是根据屏幕尺寸算出来的。

6.项目管理

项目管理有好多网站都可以免费git托管,比如github、oschina,区别是github高大上,且免费的不能创建私有仓库,而且有时候github网速特别慢。oschina则没有那么多限制,私有仓库随便建,而且网速都比较快。所以自然就选择了托管在oschina上。这样在公司和家里,你都可以提交代码,不用U盘来回拷了。git客户端的话,可以直接用Xcode自带的,也可以用sourceTree,或者直接用命令行,现在开始学着用命令行了,关于git学习的教程,讲的非常好,非常详细。

7.分享用的附件服务器

我要拿到的分享链接,无非就是写.mp3结尾的链接,找了好久但是一直没找到免费且方便的第三方,直到同事推荐了一个叫七牛云存储的,实名认证后可以获得每个月免费10

G的流量和总共10G的空间,另外有10万条get请求和10万条post请求。而且特别方便。上传一个文件后,可以直接得到文件的链接,可以当附件服务器用。另外,我是个纯iOS开发者,没学过后台,我想做个简单的get请求,比如应用推荐列表,可以让应用实时的根据后台返回的数据更新列表,有了附件服务器就方便多了,我直接传了一个json格式的文本文件作为附件,用get请求直接去请求这个文件的外链地址达到的效果跟get请求是一样的,当然只是没有参数可传。我用这个方法做了两个接口,一个是应用推荐,另一个是个个人宣传的地址在应用里叫“支持作者”,链接到我推广的那个贴吧地址,后来我改成了我女朋友的淘宝店网址,这样我们不用开发后台就有了可以实时控制应用中显示的后台(PS:如果你是大神,请不要鄙视我等小菜!)。

8.关于运营推广和统计

统计的话,苹果iTunes connect自带的就有统计下载量,我在手机上也装了一个,方便查看下载量。不过苹果的统计不是实时的,每天晚上7:00左右才会出昨天的下载量。1.1加上了友盟的统计,那个就比较详细了,实时统计下载量,分享次数,系统版本,区域,运营商全有。但是跟苹果统计的有些差距,友盟比苹果统计的实际量要大些,不知道哪个更准。

推广的话我没有太好的途径,无非就是老罗的QQ粉丝群、百度贴吧等,其中百度贴吧在罗永浩吧里发了一条,被置为精品,我觉得那个帖子对推广挺有用的。刚发布应用的时候挺激动的,发动了亲朋好友去给我评论,所以在AppStore上面最初的评论有好多水军。

最初的一版没有加分享功能,每天的下载量大概在40左右,后来开始做1.1加入了语音分享功能,我以为下载量会大增,但是跟我想的完全不一样,实际增加的并不明显,甚至还有所下降。后期打算增加个强制分享功能,因为手上还有写语音没有发布,所以,我想让用户听新的语音前,必须得分享后才能听。

后期还打算跟一个叫锤新网的网站合作一下,那个网站也是一个人业余在做,我在App里加上网站的信息,然后他在他的网站上给我加个链接,互惠互利。

9.AppStore搜索优化

关键词可以设好多,我想说的是,一定要把所有的关键词都用完,不要浪费。如果这个关键词搜出来的有好过app,你最好不要用这个,换一个用户在一两屏内就能看到的关键词,比如我在里面设置的关键词有“老罗、罗永浩、锤子科技”,这些词你一搜就能搜到我做的那个老罗语录,但是如果如果你搜“锤子”,会搜出好多app,尽量不要把所有的关键词都设为这样的。还有关键词不要跟标题重复了,有了标题就不用再写关键词相同的了,不要浪费关键词空间,我在里面设置的关键词还有“王自如”、“方舟子”、“Smartisan”、“锤子闹钟”、“锤子便签”等。另外AppStore显示的标题不用跟安装后的标题一样,AppStore显示的标题是你在iTunes connect里设置的,可以是一大长串标题都无所谓的,而应用安装时显示的标题,则是你Xcode设置的DisPlayName。

10.快速加急审核

中间1.1版本遇到一个问题,点击应用推荐就崩溃。之前就听说过iOS可以加急审核,我也体验了一把。要填写加急审核的原因,如果是必然崩溃必然可以加急审核通过,就写得点击应用推荐崩溃,当然是英文的。结果第一天下午提交的,第二天上午就通过了。搜的资料说加急审核一年只能用两次,这个是不对的,有篇帖子专门说的这个,作者试着第三次加急审核也是可以通过的,甚至第四次都没问题,只不过没原来那么快了,可能要等三四天才能通过。

11.后期规划

一个业余开发者开发app除了满足虚荣心练点技术啥的,当然挣点钱是最好不过的了。后期打算挣点钱,因为我手里拿到的老罗语录有几条是有反共倾向的,所以不宜大规模的传播,所以打算这几条收费,所有语音除了这几条以外,其余的都是免费的。单条购买语音的话¥18,购买所有语音¥25,相信所有人都会选25的吧。但我估计很少会有人买,但是无所谓了,既达到了防止大规模传播的作用,也可以挣点钱。

另外,目前的语音都是放在本地的,所以尽管我已经压缩语音了,但还是很大,150左右,原因是本地播放的工作量小些,另外如果全放到服务端下载的话,我估计每个月10G的免费流量是不够的,我得花钱了,因为现在单纯分享出去的流量,每个月是1G左右。但是如果万一挣的钱够交流量费的,我也会规划应用提供在线收听和下载的功能,那样app本身就会小很多了。

就先分享这么多吧,也希望有大神可以帮我指点一下。iOS开发讨论群:172158202。

一个iOS开发者业余开发自己APP的经验分享相关推荐

  1. 转:一个android开发者独立开发社交app全过程

    http://www.cnblogs.com/linguanh/p/5683069.html

  2. IOS开发:一个iOS开发者的修真之路

    在微信上有童鞋问我iOS开发者的入门标准是神马?这个问题难到我了,而且贸然给一个答案出来的话,必定会有万千高手来喷. 凡人修仙,仙人修道,道人修真.当我们还是一个在青石板上蹲马步汗水涔涔的废柴时,或许 ...

  3. 如何成为一个iOS开发者

    如果你想知道如何成为一个专业的iOS开发者,这个清单就是我建议你要做的.我会从我作为5年的iOS顾问.8年的软件开发者以及一个HR--我在最近3年内雇佣了几个iOS开发者来处理我无暇顾及的工作--的经 ...

  4. [转] 一个iOS开发者的修真之路

    在微信上有童鞋问我iOS开发者的入门标准是神马?这个问题难到我了,而且贸然给一个答案出来的话,必定会有万千高手来喷. 凡人修仙,仙人修道,道人修真.当我们还是一个在青石板上蹲马步汗水涔涔的废柴时,或许 ...

  5. 一个iOS开发者的修真之路

    凡人修仙,仙人修道,道人修真.当我们还是一个在青石板上蹲马步汗水涔涔的废柴时,或许天空中偶尔会有御剑飞行的仙人路过.金色的阳光洒在仙人随风舞动的剑穗上,此时不禁会油然而生一种冲动,希望有一天能成为这样 ...

  6. iOS学习:一个iOS开发者的修真之路

    在微信上有童鞋问我iOS开发者的入门标准是神马?这个问题难到我了,而且贸然给一个答案出来的话,必定会有万千高手来喷. 凡人修仙,仙人修道,道人修真.当我们还是一个在青石板上蹲马步汗水涔涔的废柴时,或许 ...

  7. 一个iOS开发者对tvOS SDK的初探

    http://www.cocoachina.com/ios/20151001/13652.html 作者:Chris Wagner  原文地址:tvOS SDK: An iOS Developer's ...

  8. 百度开发者大会-《用HTML5新特性开发移动App》PPT分享

    今天百度开发者大会,移动互联网分论坛,我的主题演讲<用HTML5新特性开发移动App>PPT分享如下. 完整PPT可在Slideshare观看,或者在百度开放云平台上下载到.

  9. 一个画板十年工程师的PCB设计经验分享

    一个画板十年工程师的PCB设计经验分享 一个画板十年工程师的PCB设计经验分享_手机搜狐网 一般PCB基本设计流程如下:前期准备->PCB结构设计->PCB布局->布线->布线 ...

最新文章

  1. Spring Boot + Vue 如此强大?竟然可以开发基于 C/S 架构的应用
  2. Python为图像添加文本内容(Writing Text on Image)
  3. vim - ctags
  4. 云从创始人周曦追忆导师黄煦涛:他是化繁为简的大师,对学生不求回报关怀细微...
  5. Spring 5.1.13 和 Spring Boot 2.2.3 发布
  6. python第三方库numpy-浅谈python的第三方库——numpy(终)
  7. 文件监视器——Filemon
  8. TEG《选择》乘风破浪 · 披荆斩棘
  9. 搜索推荐中的召回匹配模型综述(二):基于表示学习的深度学习方法
  10. android的帧布局,七、Android帧布局FrameLayout和霓虹灯效果
  11. java 类集合_java集合类详解
  12. 安卓按钮设置背景颜色不管用_MIUI10新功能:时钟背景黑白自选、公交卡自定义时段唤起...
  13. 模型算法_生产建模型 算法控效率
  14. 长虹智慧厨房解决方案,让你AI上智慧家居生活
  15. SQL Server高级查询之数据库安全管理 第六章节
  16. 人人网普通登录源码爬取
  17. js alert追加html,利用JQ来美化Js的alert弹出框
  18. 关于Word文档忘记保护密码的强制解除办法
  19. golang vendor目录
  20. 使用 AES 对称加密算法对视频文件进行加密解密(C++ 及 Java 实现)

热门文章

  1. 【观察】更懂业务的数智平台,才能应对数智化转型的“千变万化”
  2. 网络安全高级人才应该具备的安全能力
  3. MATLAB快速入门教程(一)
  4. 大白话聊聊微服务——人人都能看懂的演进过程
  5. linux 微信开发工具报错:System limit for number of file watchers reached, watch
  6. 基于51单片机甲醛气体浓度检测超限报警系统Proteus仿真
  7. 夏季口腔问题多发是天灾还是人祸?
  8. 用Python执行Linux命令
  9. 以太坊的账户(外部账户和合约账户)
  10. 解决PIL没有ImageOps模块问题,以及Windows成功安装torchvision