仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1385|回复: 10
打印 上一主题 下一主题

[学习教程] IOS制作之浅谈 iOS 版本号仓酷云

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:26:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最近一直都在学习有关ios(苹果系统)的知识,而学习ios的最好方法就是研究iPhone和ipad。因为iPhone和iPad的应用程序都是用Objective-C语言来开发的,所以在接触ios之前,我必须有一定的Objective-C基础。FIR.im一向在只管兼容分歧利用习气的版本号情势,可是在利用中我们发明很多多少开辟者对怎样更好的用版本号来标示使用很生疏.这是篇基本文章,复杂先容iOS的版本号.

<br>
名词注释



  • Version,一般说的版本号,是使用向用户宣扬申明时分用到的标识.一样平常有2段大概3段式,如:2.1,8.1.2
Version一样平常由产物部门断定,完整悬殊的更新必要改动主版本号,好比QQ4.0的变更十分年夜,主版本的变更会加倍吸援用户的眼球,以是有的使用会频仍的更新主版本号,好比FireFox20.0.两段式的副版本号既包括小功效更新也会包括bug修复等,三段式副版本基础都是新功效增加和年夜成绩修复,第三段则暗示不乱版本基础都是修复bug


  • Build,编译号指一次独一编译标识,一般是一个递增整数(安卓强迫为数字,iOS能够是字符串)
Build都是给外部利用,用来断定一个独一版本.与后面提到的Version不会有太年夜接洽.
iOS开辟中,这个2个号码都能够恣意字符串或数字.
我们今朝碰到的情形有:


  • 疏忽了Version或Build.这两个号中的一个终年的不会产生变更.
  • 倒置了Version和Build.

<br>
猎取办法也很复杂:
  1. NSDictionary*info=[[NSBundlemainBundle]infoDictionary];info[@"CFBundleShortVersionString"];//Versioninfo[@"CFBundleVersion"];//Build
复制代码
为何利用版本号

1.便利标示和相同

后面提到版本号更新会给推行发生必定的主动感化.以是版本号不要太长,假如像如许"我们盛大推出了某某某1.7.14.19257!",这个会让用户感到很有趣很像电视购物,并且也倒霉于传布.假如是"某某3.0,年夜有分歧!"大概就会发生更好的相同效果.
2.便利追踪Bug

一个使用有Bug是一定的,可是很快的定位办理成绩却表现出团队和程序员的才能.我们常常碰到有开辟者说我提交一个版本,可是下载上去有仍是旧的.我们帮他办理成绩的时分,他本人都弄不清哪一个是哪一个了,假如能在"关于"之类的中央显现以后的版本,就会简单找到成绩.
大概是测试团队的同事,大概手里同时有几个分歧分支的版本在测试,他们必要准确的形貌一个测试版本.
主动改动Build号

后面提到,Version是不必要主动变更的,依据产物大概市场部门的需求,合时的手动改一下就好.
1.agvtool(Apple-genericversioningtool)

agvtool,是苹果的命令行工具,也是集成在Xcode中最便利的工具.我们在主动编译SDK的剧本顶用的就是这个办法.实在就用了一行(其他的初级用法能够参考后面的链接):
  1. agvtoolnext-version
复制代码
利用前必要在Xcode里复杂设置一下,如图:

<br>
2.基于SCM的版本把持号

SCM如今经常使用的有Git和SVN,另有一些绝对小众的好比hg这里就未几做先容了.
假如用Git/SVN来办理代码(信任已没有人不必了)我们能够用代码的提交次数来取代Build号.


  • Git
  1. REV=`gitrev-listHEAD|wc-l|awk{print$1}`
复制代码
个中HEAD是分支名,代表以后分支,能够间接交换成其他分支名,好比master,dev.
这个剧本放到


  • SVN
  1. REV=`svnversion-nc|sed-es/^[^:]*://;s/[A-Za-z]//`
复制代码
前面都是一样的:
  1. PlistBuddy-c"Set:CFBundleVersion${REV}""${TARGET_BUILD_DIR}"/${INFOPLIST_PATH}
复制代码
如许每次编译app的时分就主动把版本号加到Info.plist的CFBundleVersion键值下
把下面2行代码加到"BuildPhase>RunScript"就能够了:

<br>
3.基于日期工夫

用公布日期作为版本好也是很多使用经常使用的体例,由于好记好了解.这里间接附上代码:
  1. REV=`date+%y%m%d`#输入格局141120的六位日期格局,能够依据本人喜好改动格局
复制代码
前面都是一样的:
  1. PlistBuddy-c"Set:CFBundleVersion${REV}""${TARGET_BUILD_DIR}"/${INFOPLIST_PATH}
复制代码
利用办法同上.

Model的改变最好通过Notification来传播之前吃过这样的亏最好不要用delegate模式)UIViewController
若天明 该用户已被删除
沙发
发表于 2015-1-21 06:51:09 | 只看该作者
AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
深爱那片海 该用户已被删除
板凳
发表于 2015-1-21 08:57:18 | 只看该作者
看《iPhone 4与iPad开发基础教程》,跟着一步步来
冷月葬花魂 该用户已被删除
地板
发表于 2015-1-31 16:53:30 | 只看该作者
到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了
精灵巫婆 该用户已被删除
5#
发表于 2015-2-6 20:35:39 | 只看该作者
培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦,
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-7 20:09:11 | 只看该作者
AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
谁可相欹 该用户已被删除
7#
发表于 2015-2-23 09:37:16 | 只看该作者
down下code4app网站的每个分类的代码挨着看
透明 该用户已被删除
8#
发表于 2015-3-7 06:41:37 | 只看该作者
看完这个你就可以有多种选择来踏入做应用的阶段
第二个灵魂 该用户已被删除
9#
发表于 2015-3-8 11:50:35 | 只看该作者
我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。
海妖 该用户已被删除
10#
发表于 2015-3-15 22:26:48 | 只看该作者
要学会通过各种方法将面前的事情变成自己感兴趣的,那专研起来就不会是无聊和折磨了。
再现理想 该用户已被删除
11#
发表于 2015-3-22 17:09:26 | 只看该作者
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-9 00:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表