web-dev-qa-db-ja.com

企業がiOSApp Storeのアプリを別の「アプリ」に移動する必要があるのはなぜですか?

これを尋ねるSEサイトはわかりませんが、これはSEコミュニティの誰かが答えを持っているものだと思います。これが間違った場所である場合は、この質問を自由に移動してください。

最近、iPhoneでゲームVaingloryを久しぶりにリリースしました。私が最初に気付いたのは、アプリが私の電話を遅くするかもしれないというポップアップでした(つまり、64ビットの実行可能ファイルがないということです。これは多くのアプリが持っているものです)。ゲームに参加すると、メインメニューにアプリを更新する必要があるという画面が表示されましたが、自動更新がオンになっているので奇妙な印象を受けました。アプリの[更新]ボタンをタップすると、アプリを更新するのではなく、Vaingloryという名前の別のアプリをダウンロードするためにAppStoreに移動しました。 -)、しかし明らかにゲームの更新バージョンでした。

これは、ストアにバンドル識別子com.companyname.app1のアプリを置いてから、識別子com.companyname.app2のアプリを起動するのと同じことです。

しかし、ストアにいくつかのエントリがあるアプリ開発者として、私が理解していないのは、少なくとも無料のアプリでは、技術的またはビジネス上の理由で会社がこれを実行する理由です(「続編」をアプリと人々が再び支払うことを望んでいた)。

なんらかの奇妙な問題が発生しているのではないかと思いましたが、Appleは、Apple TVを制御するためにリモートアプリの新しいバージョンをリリースしました。 Apple TV 3ユニットを制御していた数年前のバージョンですが、このバージョンは現在Apple TV4とAppleテレビ3台です。古いRemoteアプリを更新しなかったのはなぜですか。

会社の所有権に問題があるのではないかと思いました(つまり、SkypeがSkypeアプリを出し、Microsoftに買収されたため、SkypeアプリはMicrosoftからのもののように見える必要があります)が、プロセスがありますAppleは、企業間でアプリを転送する必要があります。さらに、Appleは、リモートアプリに対してこれを行う必要はありません。

会社のアプリが無料のアプリを1つの「アプリ」識別子から別の「アプリ」識別子に移動する必要があるのは、どのような技術的またはビジネス上の理由ですか?


追加するもの-開発を完了しましたAndroid開発があり、そこに「恒久的にねじ込む」シナリオが1つあります。アプリに署名するためのキーストアファイルを紛失した場合または、パスワードを紛失した場合、Google Playでアプリを再度更新することはできません。別の識別子で別のアプリを送信する必要があります。また、古いアプリを更新して、新しいアプリに移動するメッセージを送信することはできませんアプリも。

また、Googleには、無料アプリを有料アプリに変更できないというルールがあります(またはありました)。そのため、GooglePlayで新しいアプリを送信するもう1つの理由になる可能性があります。

しかし、ここではVaingloryまたはRemoteアプリではどちらも発生していません。また、アプリの署名はAppleの世界では異なる方法で処理されます(開発者アカウントにアクセスできる人が証明書を取得できる限り、アプリは再署名して再アップロードできます)。

5
Tom Kidd

現在のバージョンのXcodeを使用して64ビットをサポートするアプリをビルドすると、iOS5.0以前を実行しているiOSデバイスとの互換性がなくなります。おそらく、開発者は、古いアプリの完全なツールチェーンを維持し、新しいコミットやツールによって変更されないようにすることで、古いデバイスにアプリをダウンロード/購入した顧客を個別にサポートしたいと考えています(古いバージョンのXcodeは異なる互換性のないバージョンのSVNを使用していましたCVS)。

おそらく開発者は、顧客に、新旧両方のバージョンのアプリを別々のまたは同じ顧客のデバイス上でダウンロード、保存、および/または実行するオプションがあることを望んでいます。これにより、両方のバージョンがそのプロセスをサポートするように更新されている場合、バージョン間(URLなどを介して)でアプリ制御のデータ移行が可能になります。これは、iCloudデータまたは他のサーバー/プロトコルのサポートがバージョン間で極端に互換性がなく、両方を一定期間並行して実行する必要がある場合に重要になる可能性があります。

おそらく、開発者は、App Storeに両方のバージョンを一時的に入れて、両方のクラスの顧客との間でダウンロードや更新を行えるようにすることを望んでいます。これにより、異なるバージョンからの個別のユーザーメッセージまたは通知(など)が可能になります。

考えられるビジネス上の理由は、一部の所有権、サブロイヤルティ、および/またはサードパーティのライセンス契約がアプリのバージョン間で変更されている可能性があり、開発者が2つのバージョンを公式の販売/トレンドおよびAppleからの財務報告は、法的/契約上の理由によるものです。

5
hotpaw2

hotpaw2はいくつかの良い可能性を提供しますが、この質問を書いて以来、私はVaingloryの答えを偶然見つけました:開発者が最初に分離していた何らかの理由で判明しましたiPhoneとiPadのアプリは、1つのユニバーサルアプリに統合されました。具体的には、iPadアプリをUniversalに更新してから、iPhoneアプリを変更して、今やUniversalになったiPadアプリを紹介し、ストアからiPhoneアプリを引き出しました。

https://www.imore.com/vainglory-now-universal-app-iphone-and-ipad-its-latest-update

アプリの間引きが役割を果たした可能性があります。以前は、すべてのバージョンのすべてのアセットを同じアプリにパッケージ化する必要があり、ダウンロードが膨大になる可能性がありました。現在、Appleは、バージョンに必要なリソースのみをダウンロードする必要があるデバイスを持つことができます(つまり、iPhone7の場合は@ 2xリソース、iPhone7以降の場合は@ 3xリソースなど)。

2
Tom Kidd