2

iOS フォンとタブレットの両方のアプリケーションを開発する必要があります。アプリケーションのロジックは同じですが、UI はまったく異なります。私はこれにどのように対処すべきか疑問に思っています: 両方に 1 つの大きなアプリを作成するか、電話用のアプリとタブレット用のアプリを作成します (その後、2 つの ipa を 1 つのアプリとして市場にアップロードします)。

1 つのアプリケーションを作成するときは、適切なアクティビティにリダイレクトするコードで、それが電話かタブレットかを確認する必要があります。また、電話用にコンパイルするための互換性コードを含める必要があります。2 つのアプリを作成する場合、そのチェックは不要で、互換性コードも含める必要がないため、アプリははるかに小さくなります。ただし、その場合、開発中にアプリケーションロジックをあるプロジェクトから別のプロジェクトに常にコピー/貼り付けする必要があります。

だからこそ、この場合のベストプラクティスは何ですか?これに関する情報を探していましたが、さまざまな xml レイアウトを管理する方法に関する記事か、あまり情報が含まれていない記事しか見つかりませんでした。

私はグーグルで検索し、ここでアンドロイドの記事を見つけました携帯電話とタブレット用のAndroidアプリ:1つまたは2つのアプリ?

しかし、私はiOSアプリについて知る必要があります

4

2 に答える 2

2

2 つのアプリまたはユニバーサル アプリを作成する場合、それは実際にはマーケティングの問題です。ユーザーが一度だけ購入して、両方のプラットフォームで実行できるようにしたいですか? iPad バージョンは、プレミアムを請求したいほど多くの機能を備えていますか?

必要に応じてコードを簡単に共有できると判断したら、2 つの別個のアプリケーションがある場合、iPad 用のターゲットと iPhone 用のターゲットを作成できます。各ターゲットは、好きなコード、リソース、またはデータ モデルを共有できます。 . また、iPad と iPhone のバージョンが継承する最小限のアプリケーション デリゲートを用意することもお勧めします。

普遍的なものであれば、使用しているプラ​​ットフォームを確認することになるかもしれませんが、通常、メイン インターフェイス ファイルをロードすると、それ以上の検出を行う必要はありません。

于 2012-09-27T06:05:07.077 に答える
1

このコードをアプリのデリゲート クラスに入れ、

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    UINavigationController *navController;

    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {

         _iPhonehomeScreen = [[NFHomeScreen_iPhone alloc] initWithNibName:@"NFHomeScreen_iPhone" bundle:nil];
        navController = [[UINavigationController alloc] initWithRootViewController:_iphonehomeScreen];
        [navController setNavigationBarHidden:YES];
        self.window.rootViewController = navController;
    }
    else {
        _iPadhomeScreen = [[NFHomeScreen_iPad alloc] initWithNibName:@"NFHomeScreen_iPad" bundle:nil];
        navController = [[UINavigationController alloc] initWithRootViewController:_iPadhomeScreen];
        [navController setNavigationBarHidden:YES];
        self.window.rootViewController = navController;

    }

    [navController release];
}

iPad と iPhone に 2 つの xib を使用し、共通の .h と .m ファイルを使用するようになりました。

于 2012-09-27T06:10:31.830 に答える