0

しばらく前にXcodeで構築されたiOSアプリをAppStoreに持っていますが、それを最初から書き直していくつかの悪い決定を解決することを考えています。今回は、AppceleratorTitaniumRhodesなどのクロスプラットフォームフレームワークを使用してAndroidサポートを追加しますまた。

現在のiOSユーザーがユーザーデータを保持したまま新しいバージョンにシームレスにアップグレードすることは可能ですか(もちろん、新しいアプリには移行者が必要です)。新しいバージョンでは、アプリの識別子やその他のデータを保持する必要があると思います。

または、まったく新しいアプリとして作成し、ユーザーがデータを移行できるようにする必要があります(おそらくOpen in...スキームを使用して)。これの欠点は、現在のユーザーがアプリを再購入する必要があることです。これにより、一部のユーザーが追い出される可能性があります。

4

2 に答える 2

2

現在のiOSユーザーがユーザーデータを保持したまま新しいバージョンにシームレスにアップグレードすることは可能ですか(もちろん、新しいアプリには移行者が必要です)。新しいバージョンでは、アプリの識別子やその他のデータを保持する必要があると思います。

原則として可能です。別の開発プラットフォームに移動するという事実は、ユーザーがすでに保存しているデータにアクセスする能力に影響を与えません。結局、それはあなたがそのデータをどのように保存したかに大きく依存します:それが通過した場合NSUserDefaults、それはかなり透明になります。XML / JSONファイルにある場合は、新しいアプリにXML / JSONパーサーを追加する必要があります(Appcelerator TitaniumまたはRhodesがまだ提供していない場合)。それがsqliteを介している場合、たとえば、Titaniumがそれをサポートしていることを私は知っています。Core Dataを使用している場合は、既存のデータ用に何らかのコンバーターを作成する必要があるかもしれません。しかし、結局、それは間違いなく可能です。

または、まったく新しいアプリとして作成し、ユーザーがデータを移行できるようにする必要があります(おそらく、Open in ...スキームを使用します)。これの欠点は、現在のユーザーがアプリを再購入する必要があることです。これにより、一部のユーザーが追い出される可能性があります。

ここで考慮すべきことは、新しいアプリが古いアプリとどの程度異なるかということです。顧客ベースを失望させるリスクがある場合は、別のバージョンを選択することもできます。そうすることで、古いバージョンの料金を支払っている一部のユーザーに迷惑をかけることは明らかです。私が知っている少なくとも1つのケースで適用されているスキームの1つは、初期期間中にアプリを無料で提供することです。しかし、これが賢明であるかどうかは、アプリの見通しに完全に依存します。

おそらく最善のアプローチは、大幅に改善された新しいバージョンを目指して努力することです。そうすることで、失望した顧客の数を最小限に抑え、シームレスな更新のために同じバンドルIDを維持できます。

于 2012-09-18T08:51:54.227 に答える
1

ゼロから書き直すのではなく、現在のiOSコードベースをリファクタリングすることをお勧めします。コードをリファクタリングしてクリーンアップできる場合、最初から書き直すことはほとんどの場合間違った決定です。それは常にあなたが期待するよりも難しく、あなたが期待するよりも長くかかり、そしてしばしばあなたがそれを期待した利益を提供することにはならないでしょう。リファクタリングは、より安く、より速く、より安全です。

私の意見では、Objective-Cで記述された完全にネイティブなアプリに慣れた後、クロスプラットフォームフレームワークを使用してアプリを書き直すことで、ユーザーに不利益をもたらすことになります。あなたはコードを捨てることによってあなた自身を不幸にするでしょう。どんなに醜いものであっても、悪いコードは修正できます。

Javaを使用してAndroidアプリを作成し、Androidアプリが完成したらiOSアプリをリファクタリングすることをお勧めします。この方法で、両方のプラットフォームに最高のエクスペリエンスを提供できます。最初にAndroidサポートを追加する理由は、ストアにすでに動作中のiOSアプリがあるため、クロスプラットフォームフレームワークに触れることなくすでに1/2の方法でそこにいるからです。Androidアプリを作成することで、iOSアプリをリファクタリングする方法のアイデアを具体化することもできます。

現在のユーザーをアップグレードする限り、ユーザーがアプリストアを介してシームレスにアップグレードできるようにするには、バンドルIDを同じに保つ必要があります。データをアップグレードすることも可能ですが、そのデータが現在のアプリ内にどのように保存されているかについての詳細を提供する必要があります。可能であれば、ユーザーが手動で設定をロードする必要があるOpenIn...スキームよりも自動アップグレードの方が適しています。

于 2012-09-18T08:16:12.060 に答える