他のいくつかのアプリケーションのラッパーとなるアプリケーションを作成し、それらのアプリケーションをメイン アプリケーション内で実行することは可能ですか?
アイデアは、一度だけ書きたいメニューがあるだろうということですが、それを他の多くのアプリケーションの最上層として統合したいと考えています。
私が考えた別の方法は、最上位で UIWindow を作成してそこで実行することですが、タッチの受け渡しに問題があります。
ありがとう!
他のいくつかのアプリケーションのラッパーとなるアプリケーションを作成し、それらのアプリケーションをメイン アプリケーション内で実行することは可能ですか?
アイデアは、一度だけ書きたいメニューがあるだろうということですが、それを他の多くのアプリケーションの最上層として統合したいと考えています。
私が考えた別の方法は、最上位で UIWindow を作成してそこで実行することですが、タッチの受け渡しに問題があります。
ありがとう!
これは全体として間違ったアプローチだと思います。コードを再利用可能にしたい場合は、ライブラリを作成します。
1 つのアプリで「複数のアプリケーション」をホストすることはできません。私の知る限り、Apple のサンドボックスはこれを防ぎ、一度に 1 つのアプリしか実行できないためです。
ただし、目的の機能をエミュレートするためのオプションがいくつかあります。
UINavigationController
またはを使用してUITabViewController
異なるビューコントローラー間を移動し、最上位メニューからアプリ内のさまざまな「機能」にアクセスできるようにします。(つまり、UIWindow を明示的に使用する必要はありません。Storyboard と Storyboard セグエを使用して、これらのさまざまな機能部分を接続できます) 利点: すべてが 1 つのアプリです。短所: アプリ ストアに 1 つのリスト。
カスタム URL スキームを使用して、2 つの個別の iOS アプリ間を移動します。すべての iOS アプリは (通常) 独自のプロジェクトであり (各ビルドから特定のファイルを省略できる「ターゲット」をカウントしない場合)、すべてのアプリがすべてのデバイスにインストールされるわけではありません。ただし、顧客が両方のアプリを持っていると仮定すると、そのような URL スキームを使用して別のアプリから 1 つのアプリを開き、データを渡すことさえできます。私自身のアプリは、URL スキームを使用して「ライト」バージョンから「プロ」バージョンにデータを渡します。利点: アプリ ストアでの複数のリスト。欠点: ユーザーが両方のアプリをインストールしていない場合は機能しません。
複数のアプリで「最上位メニュー」コードを再利用し、いくつかのロジックを実行して、他のアプリがインストールされている場合にのみアプリがカスタム URL スキームを使用するようにします。次に、まだインストールしていないアプリのアプリ ストア ページに誘導することもできます。利点: ストアでの複数のリスト、統一されたエクスペリエンス、およびアプリがまだインストールされていない場合にユーザーをアプリ ストアに誘導します。(アプリがインストールされているかどうかを確認するコードをまだ実装していません...この質問はここで尋ねられたようです。)
編集:あなたの他の質問を読みました。「トップレベル」とは、画面上でグラフィカルに固定され、ユーザーがアプリをナビゲートするときに他のビューによって削除されないことを意味するように見えますか? Foundation でこれを行う方法はわかりませんが、Quartz2D (ユーティリティ アプリ向け) または Cocos2D (ゲーム向け) でできるかもしれません。