2012-05-06 7 views
1

私のアプリはiPhone4 +とiPad2 +上で素晴らしいように見えるが、古いデバイスではちょっとチョークする「すべてを輝かせる」傾向に続きます。次の2つの方法が選択できます。古いデバイスにOpenGLエフェクトを残した方が良いですか、それともslooooowのパフォーマンスを受け入れる方が良いですか?

  1. アプリには何も関係なく表示されます。一部のユーザーの読み込み時間が長いことに同意します。私の経験では、これが最も一般的なアプローチだと思われますが、いくつかの偉大なアプリ(Sword & Sworcery)は、iPhone 3Gで耐え難いほどの読み込み時間があります。

  2. 電話機のモデルを検出して、テストベンチマークに基づいて、古いデバイスの重要でないアニメーションやエフェクトをスキップします。これは、誰かが古いアプリでそれを見て、 "うわー"ではなく "このアプリは大丈夫だと思う"と考えてしまう危険性があります。

「コンテキストに依存します」とは別に、「ベストプラクティス」または業界標準がありますか?

編集:私は(もっと客観的に有用、懐疑論者であるかもしれない)を使用していますが、これをある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; 
} 

答えて

0

私は関連性がある唯一の「ベストプラクティス」と思いますあなたの状況には、は100%必要がない場合は、ユーザーを待たせないと言うものです!

そして、あなたがブランディングを心配している場合は、まあ、それは問題ではありません: あなたは、 を(私は個人的に同意しない)古いデバイスをサポートしていないという決定をすることができるか、あなたが見て、見ることができ、そのアップル古いデバイスではまったく同じインターフェースを実装していません。彼らは古いデバイス(あなたは売り上げやCPUに関する理由があると主張することができます)で涼しいSiriを表示せず、などの特定のグラフィック要素を許可しません。背景イメージ

多くの人が背景画像や3Gでマルチタスクをしたいと思っていますが、脱獄して許可すると、なぜAppleがそれを無効にしたのかが分かります。私はダウンつもりのよう

+1

あなたが、しかし、「最高の新しいデバイスで視聴」という小さなバッジを追加することができますが、それはあなたの顧客が悲しいや嫉妬作ることができ、そう...グッドobservations-が見えます暗黙の「あなたのハードウェアに最適化された」ルート、つまり誰も悲しいことをしないでください。 – buildsucceeded

+0

@ickydog幸運:-) –

関連する問題