Ios 比较捆绑包版本

Ios 比较捆绑包版本,ios,compare,version,bundle,Ios,Compare,Version,Bundle,将应用程序上载到appStore时,苹果会检查捆绑包版本是否高于现有版本。 有没有一种自己做这件事的方法?我正在通过一个企业程序发布一个应用程序,我有一个内置的机制,可以检查一个新版本的URL。 目前我只使用 if (![currentVersion isEqualToString:onlineVersion]) 但这太粗糙了,因为如果有旧版本,它也会返回TRUE 现在,意识到1.23.0>1.3.0,我必须在组件中分离版本,然后将每个本地组件与其相关的在线组件进行比较 如果我必须这样做,我也

将应用程序上载到appStore时,苹果会检查捆绑包版本是否高于现有版本。 有没有一种自己做这件事的方法?我正在通过一个企业程序发布一个应用程序,我有一个内置的机制,可以检查一个新版本的URL。 目前我只使用

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;