为了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