11

iOS 6 以降でのみ動作するコードがあります。

control.tintColor = [UIColor greenColor];

のようなすぐに使用できるコンパイラ ディレクティブはあり#ifdef iOS6_or_greaterますか?

4

3 に答える 3

17

iOS のバージョンではなく、機能を確認することをお勧めします。

たとえば、 RespondsToSelector を使用して、特定のメソッドがサポートされているかどうかを確認できます。

[someObject respondsToSelector:@selector(someMethod)]

それができない場合は、プリプロセッサ ディレクティブがあります。

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000
- (BOOL)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}
#endif
于 2013-09-02T11:25:28.293 に答える
0

あなたはこれに行くことができます........

float currSysVerFloat = [[[UIDevice currentDevice] systemVersion]floatValue];
if (currSysVerFloat>=6.0) {
    isversion6=TRUE;
    control.tintColor = [UIColor greenColor];
    //This is iOS6 or greater
} else {
    //do nothing
    isversion6 = FALSE;
}
于 2013-09-02T11:25:58.873 に答える
0

システムバージョンの比較の基本的なコードを提供するだけです

に次のコードを記述します

#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

projectName-Prefix.pchどこからでもアクセスできます。

そして、次のような条件として適用します

if( SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6") )
{

}
else
{

}
于 2013-09-02T11:42:10.617 に答える