2011-01-08 11 views
7

私は自分のアプリをアップデートしていますが、ジレンマがあります。アプリでiOS 4の新機能を使用する必要がありますか?なぜ?

iOS 4のユニークな機能を追加したかったのですが、私は選択肢がありませんでした。

ジレンマは、「古い方法」と「新しい方法」で同じ効果を達成する2つの方法がある場合です。

[UIView animateWithDuration:2 animations:^{ 
    self.segmentedControl.alpha=0; 
}]; 

のiOS 4.0でのみサポートされます。 A良い例は、アニメーションのためのブロックを使用している、私はこの構文を使用することができます。またはこれを含むすべてのバージョンでサポートされる古い方法を使用してください(他にも多くの類似の例があります)。

あなたは何をしていますか、なぜですか?

ブロックは本当に素晴らしいですが、以前のバージョンをサポートしたい場合は、もっとコードを書く必要がありますか?そのような状況で私は何を得ることができますか?

+1

古いバージョンのiOSをサポートするかどうかにかかわらず、電話をかけてください。 iOS 4をサポートしていないデバイスをまだ使用している顧客は何人ですか?誰もあなたのためにこの質問に答えることはできません。 –

答えて

9

一般的に、このルールは、必要な製品を提供するための機能を提供するOSの最低バージョンをサポートすることです。私は、アプリケーションの電子メールと同様に、カスタムのコピーアンドペーストをサポートする必要があったため、私はすべてのアプリケーションにiPhone OS 3.0が必要になってから約1ヶ月後に起動しました。私のアプリケーションの無料版では、私はiAdを試してみたかったので、私はそれを4.0のみ作成しました。

新しいOSによって提供される内部コードの改善の可能性は、ルールを作成するのが少し面倒です。 Joeが指摘しているように、あなたが新しいOSバージョンに移行することで救われる可能性のある古いことと闘う時間は、あなたがバグを修正したり、次の大きな新機能を追加したりしなくてはならない時です。ある時点で、ブロックやGCDのような新しいやり方の優雅さは、アプリケーションに新しい機能を直接追加することはできないかもしれませんが、無視しすぎるほど魅力的です。

Macでは、多くの開発者が現在のバージョンのOSとそれ以前のバージョンのApple(現時点ではSnow LeopardとLeopard)をサポートしています。新しいOSが出て初めて、以前の1つのバージョンのサポートが中止されます。 Wil Shipleyのような他の人たちは、すぐに新しいOSを独占的に乗り越え、古いバージョンを無視することを提唱している。ここでの議論は、アップル社の新しいOSバージョンの料金を払わない人や、システムを最新の状態にしない人は、サードパーティのアプリケーションを購入する可能性が非常に低いということです。

これはiOSでも同様です。たとえば、3.0の発売時(iPod touchユーザーがOSのアップデートを支払った場合)に、さまざまなバージョンをターゲットとした広告のテストを実施しました。私のアプリケーションの無料版のダウンロードは、2.x vs 3.xユーザーの間で比較的一貫していましたが、2.xユーザーはアプリケーションを支払っていませんでした。

私の有料ユーザーの間で、3への早期移行について誰も苦情を言わなかった。0(彼らは新機能についてよく話しました)、問題なくアップグレードした56,000に比べて、私の無料版が4.0のみに不満を訴えたのは2人だけです。私は移行期に少し時間を割いていますが、立ち上げ後すぐに新しいOSバージョンに移行すると信じています。現在、私はコードベースを近代化できるように、私のすべてを4.0専用にするプロセスに入っています。

最後に、新しいOSバージョンを使用した場合の最後のメリットは、新しいデバイスとOSバージョンで新機能を使用してアプリケーションを宣伝したいと考えるAppleにとってもっと魅力的なものになることです。

0

別のメソッドを作成するのではなく、ブロックを使用して完了することができます。完了時に何かを行う必要がある複数のアニメーションがあれば、はるかにクリーンです。またそれは普及していないので、読むのが簡単です。いくつかの技術的な利点があるはずですが、私は物事のその面についてはわかりません。

1

あなたのソフトウェアを販売するには、できるだけ多くのバージョンのOSをサポートする必要があります。これを行う最も簡単な方法は、すべてを実行する1つのコードを書くことですバージョン - したがって、古いスタイルのアニメーションブロックを使用します。

+0

@Joe Blow:あなたはトロールですか?あなたは確かに本当のようには聞こえませんから。 –

+0

Joe Blowのコメントは、ビジネス意思決定の文脈において意味をなさない。現在のOSの次の偉大なアプリのアイデアで10時間を費やすよりも、より多くの収入を生み出す可能性がある古いデバイスを10時間テストしていますか?新しいアプリのアイデアがゼロの場合、おそらくはいです。 – hotpaw2

+0

@ジョーブロー:私はあなたを刺激していると思っていますが、何とかあなたの行為は実際には面白いです。あなたは、私のSTAGGERING、素晴らしい新しい音楽的アイデア!!!!!!!に戻ってくるよう促しました – MusiGenesis

2

このアプリを開発する目標は何ですか?

収益(またはダウンロード数が多いことから名声)の場合は、追加のマーケットセグメントのサイズと購買力と開発(およびテストとQAとサポート)のコストを見てください。

古いデバイスの所有者と古いOSのユーザーは、(1)少数派(現在の数字を分析して10%以下の順番で落として落とす)、(2)最新のデバイスとOSバージョンを持っている人。ブロックバスター以外のアプリでは、潜在的なダウンロードのこの小さな付加的なパーセンテージは、これらの顧客をサポートする追加のデバイステストとQA時間は、開発努力をはるかに少なくする価値がありません。

チャリティやラーニングのためのアプリを作成している場合は、古いデバイスの新しいアプリが好きな1人のユーザー(または他の少数)に献身してください。あなたが大多数のユーザーがデバイスのOSをアップグレードしてからマッチさせる数週間前に、最新のOSリリースでいくつかの新機能を使用するようにしたい場合は、優れたスキルです。

関連する問題