iOS版本号相关问题

为了iOS10 的适配,可能需要区分版本问题

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 

// iOS 10.0以后
#else 

#endif

获取当前的版本号

// 获取当前 info 的版本号
- (NSString*)loadAppVersion
{
    // 获取 info 字典
    NSDictionary* info = [NSBundle mainBundle].infoDictionary;
    
    // 获取当前程序的版本号
    NSString* appVersion = info[@"CFBundleShortVersionString"];
    return appVersion;
}

版本号比较问题
使用自带的NSString 类中的方法

// NSOrderedDescending是降序,如果oldVersion > newVersion用这个函数相比较那么就等于降序
NSString *oldVersion = @"2.1.0";    NSString *newVersion = @"2.3.0";    
if ([oldVersion compare:newVersion options:NSNumericSearch] ==NSOrderedDescending)   
{        
    NSLog(@"%@ is bigger",oldVersion);    
}
else    {        
    NSLog(@"%@ is bigger",newVersion);    
}

跳转到AppStore,评分或者更新

#if TARGET_IPHONE_SIMULATOR//模拟器
    
    NSLog(@"这是模拟器,无法打开appstore");
    
#elif TARGET_OS_IPHONE//真机
 // 贪吃蛇大作战 https://appsto.re/cn/RKGYcb.i    这种地址在appStore中很难打开
    
// 支付宝地址: NSString *str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/idXXXXXXXX"];
    NSLog(@"这是真机");
    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"itms-apps://itunes.apple.com/app/id333206289"]];
#endif

你可能感兴趣的:(iOS版本号相关问题)