私のアプリはiPhone4 +とiPad2 +上で素晴らしいように見えるが、古いデバイスではちょっとチョークする「すべてを輝かせる」傾向に続きます。次の2つの方法が選択できます。古いデバイスにOpenGLエフェクトを残した方が良いですか、それともslooooowのパフォーマンスを受け入れる方が良いですか?
アプリには何も関係なく表示されます。一部のユーザーの読み込み時間が長いことに同意します。私の経験では、これが最も一般的なアプローチだと思われますが、いくつかの偉大なアプリ(Sword & Sworcery)は、iPhone 3Gで耐え難いほどの読み込み時間があります。
電話機のモデルを検出して、テストベンチマークに基づいて、古いデバイスの重要でないアニメーションやエフェクトをスキップします。これは、誰かが古いアプリでそれを見て、 "うわー"ではなく "このアプリは大丈夫だと思う"と考えてしまう危険性があります。
「コンテキストに依存します」とは別に、「ベストプラクティス」または業界標準がありますか?
編集:私は(もっと客観的に有用、懐疑論者であるかもしれない)を使用していますが、これをある、Erica Sadun's great but bigger classからスリム:
+ (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;
}
あなたが、しかし、「最高の新しいデバイスで視聴」という小さなバッジを追加することができますが、それはあなたの顧客が悲しいや嫉妬作ることができ、そう...グッドobservations-が見えます暗黙の「あなたのハードウェアに最適化された」ルート、つまり誰も悲しいことをしないでください。 – buildsucceeded
@ickydog幸運:-) –