1

これはちょっとした質問かもしれませんが、iOS6 のすべての減価償却に直面している下位互換性をどのように処理しますか? 私は現在、それらを自分で処理する方法がわかりません。

例:

UITextAlignmentは非推奨ですが、NSTextAlignmentiOS 5 以前を使用しているデバイスでは使用できません

dismissModalViewControllerAnimated:も推奨されていませんdismissViewControllerAnimated: completion:

では、古い iOS バージョンとの互換性を維持するにはどうすればよいのでしょうか? XCode 4.5 シミュレーターで古いバージョンをテストする方法はありますか?

アドバイスをありがとう!

4

3 に答える 3

2

コード内の廃止されたすべてのメソッドを取得するには、アプリケーションの展開ターゲットを iOS 6.0 に設定し、コードをコンパイルするだけで、廃止されたメソッドごとに警告が表示されます。

非推奨を解決するには、次のいずれかを使用します。

1-

float systemVersion = [[[UIDevice currentDevice]systemVersion]floatValue];


    if(systemVersion < 6.0)
    {
        calendarArray = [self.eventStore calendars];
    }
    else
    {
        calendarArray = [self.eventStore calendarsForEntityType:EKEntityTypeEvent];
    }

respondToSelecter2-オブジェクトがそのようなセレクターに応答するかどうかを検出するUSerメソッド。

于 2012-11-28T15:50:32.873 に答える
0

メソッドの場合、メソッドを使用して、新しいメソッドが使用可能respondToSelector:かどうかを検出できます。次に例を示します。

if ([controller respondToSelector:@selector(dismissViewControllerAnimated:completion:)]) {
    [controller dismissViewControllerAnimated:YES completion:nil];
} else {
    [controller dismissModalViewControllerAnimated:YES];
}
于 2012-11-28T15:21:02.040 に答える
0

古いバージョンのシミュレーターをダウンロードできます。Xcode (ローカル アプリケーション メニュー) > [設定] > [ダウンロード] > クリックして必要なシミュレーター バージョンをインストールします。利用可能なバージョン: 4.3、5.0、5.1

于 2012-11-28T15:15:34.907 に答える