0

2 つの iOS アプリの統合についての初心者の質問があります。私はiOS 5でアプリを作成しました(私の最初のアプリなので、ストーリーボードの代わりにxibsファイルがあり、ARCが含まれていないという事実を除いて、iOS 4の知識はありません)。ここで、iOS 5 アプリに 1 つの古いスタンドアロン アプリ (xibs と非 ARC を使用して iOS 4 用にビルド) を含める必要があります。メインメニュービューの私のアプリでは、他のアプリのメインメニューを開く新しいボタンがあるとしましょう。

そこで、いくつかの調査を行い、fno-objc-arc フラグで ARC を無効にする方法を見つけました。これで、2 番目のアプリのすべてのファイルをマイニング アプリにインポートし、すべてのクラスにフラグが設定されました。問題なくアプリを実行できます。

新しいボタンで古いアプリの mainViewController を開く方法がわかりません。このアプリには MainWindow.xib (ウィンドウと 1 つのナビゲーション コントローラーが含まれています) があります。この MainWindow は、古いプロジェクトでは Main Interface に設定されています。appMainDelegate ファイルにもいくつかの init 呼び出しがあります。アプリのどこでそれらを呼び出すことができますか?

何をする必要があるか誰か教えてください。ストーリーボードに新しい UIViewController を 1 つだけ追加するという考えがあります。これが古いアプリの出発点となり、すべてが以前と同じように機能します。または、ストーリーボードで (xib ごとに) さらにコントローラーを作成する必要がありますか? これは私が何をすべきかわからないところです。どんな助けでも大いに感謝します。ありがとうございました

4

1 に答える 1

0

次のようなことを試してみてください。それまたはsimmularのようなものは何でもうまくいくはずです:

ボタンのメソッド (新しいボタンと呼ぶもの) で、次のコードを実行します。

OldAppMainViewController *controller = [[OldAppMainViewController alloc] init];
//Here you can assign vallues to any properties that you might want to
[self.navigationController pushViewController:controller animated:YES];

その古いアプリのメイン ビュー コントローラーには、関数という名前の nub を持つ init が必要なので、動作するはずです。これが機能しない場合は、次の行に沿って何かを試してください。

OldAppMainViewController *controller = [[OldAppMainViewController alloc] initWithNibName:@"OldAppMainViewController" bundle:nil];

NIB 名は、拡張子を除いた .xib ファイル名です。

また、インターフェースビルダーのすべての接続が正しく設定されていることを確認してください

于 2012-06-28T07:54:26.357 に答える