关于App版本号和暗开关

版本号并不是一个数字,而是一个字符串
所谓 暗开关 是指我通过服务端写接口来控制通过appstore审核的,例如用来屏蔽微博分享或者一些苹果审核禁止的功能.

1.版本号

版本号的获取,很简单

 [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]

版本号会有两个小数点, 形如1.1.1, 故不能用浮点数来判断版本号大小.
在iOS中用compare:方法判断字符串.

NSString *currentSystemVersion = kSystemVersion;
if ([currentSystemVersion compare:@"5.1"] != NSOrderedAscending) 
{
  //当前iOS版本大于5.1
}
else if ([currentSystemVersion compare:@"5.0.1"] != NSOrderedAscending) 
{    
  //当前iOS版本大于5.0.1
}

NSOrdered 说白了,实际上就是>=<, -1,0,1,返回值是一个比较的结果.
NSOrderedAsceding是其中一个枚举, 详细参见文档.
这种比较方法很方便,不仅可以进行5.1与6.1的比较,还可以细化到5.1和5.0.1版本的比较。之所以需要细化,是因为每一个小版本之间,sdk还有有一些差异的,就比如避免文件被备份到iCloud,实现方式在5.1和5.0.1不同。

php中的方法

")) 
{ 
  //("PHP 5.2 or greater is required!!!"); 
}
?>
2.暗开关

由于开关是服务器控制, 所以我们不能在开关关闭时关闭所有已经上线的版本. 只能对最新的版本进行操作.
因此参数要传递当前版本号, 判断是否为最新版本, 若为最新版本返回已经设置好的开关, 如果是旧版本则永远为true,不干涉老版本.

你可能感兴趣的:(关于App版本号和暗开关)