質問

こんにちはすべての

したい一つのアプリfor iPhone2.2となります。* およびバージョン3.0です。何らかの方法は2.2*ました3.0です。(UITableViewCell setTextとsetLabel)

必要があります。を確認するファームウェアバージョンを使用していiPhoneの設定の異なる手法の利用

役に立ちましたか?

解決

あなたは、このような__IPHONE_3_0として条件付きコンパイルのためのプリプロセッサディレクティブを使用して2つの別々の実行可能ファイルを構築する必要があります。

 #ifdef __IPHONE_3_0
 // code specific to version 3
 #else
 // code specific to version 2
 #end
あなたは実行時にバージョンを検出する必要がある場合は、

あなたは[[UIDevice currentDevice] systemVersion]を使用することができます。これは、iPhone OSの現在のバージョンを文字列で返します。

他のヒント

私は前のコメントで述べたように、確認してください。特定をターゲットにする方法iPhone版は

は一つのコードベースから二つのアプリケーションを生成するために、プリプロセッサディレクティブを使用することができるが、他の参照スレッドで述べたように、それでも二つのアプリケーション(2.xおよび3.xのための1つに1つ)が必要になります。

コンパイル時のディレクティブは、実行時の意思決定を行うために使用することはできません。

詳細は、他のスレッドにあります。

代替の解いただくことで、オンライン予約を利用respondsToSelector.例えば-

CGSize expectedLabelSize;
    if ([subTitle respondsToSelector:@selector(sizeWithAttributes:)])
    {
        expectedLabelSize = [subTitle sizeWithAttributes:@{NSFontAttributeName:subTitleLabel.font}];
    }else{
        expectedLabelSize = [subTitle sizeWithFont:subTitleLabel.font constrainedToSize:subTitleLabel.frame.size lineBreakMode:NSLineBreakByWordWrapping];
    }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top