Ios 比较捆绑包版本
将应用程序上载到appStore时,苹果会检查捆绑包版本是否高于现有版本。 有没有一种自己做这件事的方法?我正在通过一个企业程序发布一个应用程序,我有一个内置的机制,可以检查一个新版本的URL。 目前我只使用Ios 比较捆绑包版本,ios,compare,version,bundle,Ios,Compare,Version,Bundle,将应用程序上载到appStore时,苹果会检查捆绑包版本是否高于现有版本。 有没有一种自己做这件事的方法?我正在通过一个企业程序发布一个应用程序,我有一个内置的机制,可以检查一个新版本的URL。 目前我只使用 if (![currentVersion isEqualToString:onlineVersion]) 但这太粗糙了,因为如果有旧版本,它也会返回TRUE 现在,意识到1.23.0>1.3.0,我必须在组件中分离版本,然后将每个本地组件与其相关的在线组件进行比较 如果我必须这样做,我也
if (![currentVersion isEqualToString:onlineVersion])
但这太粗糙了,因为如果有旧版本,它也会返回TRUE
现在,意识到1.23.0>1.3.0,我必须在组件中分离版本,然后将每个本地组件与其相关的在线组件进行比较
如果我必须这样做,我也必须这样做,但我认为这是一条捷径
有人吗?好吧,好吧,我最后都是自己做的。很抱歉这么懒。 不过,我希望这会对某些人有所帮助,或者有人会指出一个明显的错误,或者愚蠢的低效率:
- (BOOL) compareBundleVersions: (NSString *) old to: (NSString *) new {
NSMutableArray *oldArray = [[old componentsSeparatedByString:@"."] mutableCopy];
NSMutableArray *newArray = [[new componentsSeparatedByString:@"."] mutableCopy];
// Here I need to make sure that both arrays are of the same length, appending a zero to the shorter one
int q = [oldArray count] - [newArray count];
NSString *zero = @"0";
if (q>0) {
for (int i = 0; i < q; i++)
{
[newArray addObject:zero];
}
}
if (q<0) {
for (int i = 0; i < q*-1; i++)
{
[oldArray addObject:zero];
}
}
for (int i = 0; i < [oldArray count]; i++)
{
if ([[oldArray objectAtIndex:i] intValue] < [[newArray objectAtIndex:i] intValue]) {
return TRUE;
}
}
return FALSE;
}
-(BOOL)比较bundleverions:(NSString*)旧到:(NSString*)新{
NSMutableArray*oldArray=[[old componentsSeparatedByString:@.'']mutableCopy];
NSMutableArray*newArray=[[new componentsSeparatedByString:@.”]mutableCopy];
//在这里,我需要确保两个数组的长度相同,在较短的数组后面加一个零
int q=[oldArray计数]-[newArray计数];
NSString*zero=@“0”;
如果(q>0){
对于(int i=0;i
updateAvailable = [newversion compare:currentversion options:NSNumericSearch] == NSOrderedDescending;