0

ウィンドウベースのアプリケーション用のデフォルトの Xcode テンプレートを使用し、デバイス ファミリを「ユニバーサル」に設定して、最初のユニバーサル iOS アプリを構築しようとしています。(私は Xcode 4 を使用していますが、テンプレートは以前のバージョンの Xcode とほぼ同じであると思います。)

これにより、iPhone および iPad 用の特定のアプリ デリゲートとともに、共有アプリ デリゲートが作成されます。

iPad はアプリの起動時に SplitViewController をロードする必要があり、iPhone は RootViewController (テーブル ビュー) をロードする必要があるため、iPhone の場合のように、デバイス固有のアプリ デリゲートで didFinishLaunchingWithOptions メソッドをオーバーライドしてみることにしました。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [super application:application didFinishLaunchingWithOptions:launchOptions];

    RootViewController *rootViewController = (RootViewController *)[_navController topViewController];
    rootViewController.context = [self managedObjectContext];

    [_window addSubview:_navController.view];

    return YES;
}

ただし、Xcode はデバイス固有のアプリ デリゲート ファイルを「iPhone」または「iPad」グループに配置するため、次の方法でインポートしようとしても、「RootViewController.h」ファイルが見つからないというエラーが表示されます。

#import "RootViewController.h"

それを解決する方法はありますか、それとも私はこれを完全に間違った方法で行っていますか? 「RootViewController.h」ファイルは iPad でも使用されると思われるため、iPhone グループには移動しません。

4

1 に答える 1

0

このモデルに従う必要があります: http://www.kotancode.com/2011/04/05/ios-universal-apps/そして、「RootViewController_iPhone.h」をインポートする必要があります

于 2011-04-14T19:18:19.310 に答える