我的应用程序遵循“让一切都闪闪发光”的趋势,在 iPhone4+ 和 iPad2+ 上看起来很棒,但在旧设备上有点窒息。有两种路线可供选择:
无论如何,在应用程序上保持相同的外观。接受一些用户将有很长的加载时间。以我的经验,这似乎是最常见的方法,但例如,一些出色的应用程序(Sword & Sworcery)在 iPhone 3G 上的加载时间长得令人无法忍受。
检测手机型号并决定(基于我的测试基准)跳过某些非关键动画或旧设备上的效果。这可能会导致有人在较旧的应用程序上看到它并认为“这个应用程序看起来不错,我猜”而不是“哇”。
除了“取决于上下文”之外,是否有“最佳实践”或行业标准?
编辑:我正在使用的(这可能在客观上更有用,怀疑论者)是这个,从Erica Sadun 的伟大但更大的课程中瘦身:
+ (NSString *) platform {
char *m = (char *)"hw.machine";
return [self getSysInfoByName:m];
}
+ (BOOL) deviceIsLegacy {
NSString *platform = [self platform];
// LEGACY DEVICES:
// iPhone 1, iPhone 3G
// iPod 1, iPod 2
// iPad 1
if ([platform isEqualToString:@"iPhone1,1"]) return YES;
else if ([platform isEqualToString:@"iPhone1,2"]) return YES;
else if ([platform isEqualToString:@"iPod1,1"]) return YES;
else if ([platform isEqualToString:@"iPod2,1"]) return YES;
else if ([platform isEqualToString:@"iPod2,2"]) return YES;
else if ([platform isEqualToString:@"iPad1,1"]) return YES;
return NO;
}