1

UIGestureRecognizerを初めて使用していますが、アプリをiOS3.0以降で実行したいと考えています。AppleはライブラリがiOS3.2以降で利用可能であると明確に述べているので、私は次のコードを使用しました。

// Make sure that Gesture recognition technology is supportted by the device SDK version
if ([UIGestureRecognizer instancesRespondToSelector:@selector(initWithTarget:action:)])
{
    [self initGestureRecognizers];
}

驚いたことに、SDK3.0を実行している唯一のターゲットでアプリを実行すると、正常に動作します。


条件を次のように置き換えました。

if ([[[UIDevice currentDevice] systemVersion] compare:@"3.2"] != NSOrderedAscending) 
{ 
    [self initGestureRecognizers]; 
}

コメントをお願いします。

ありがとう

4

2 に答える 2

5

これはおそらく、UIGestureRecognizerが3.2より前にプライベートと見なされていたためです。3.0でUIGestureRecognizerを使用している場合、バグがあったり、期待どおりに機能しなかったりしても驚かないでください。

于 2010-09-12T16:01:57.503 に答える
1

すべてのiOSリリースには文書化されていないAPIがたくさんあり、Appleはこれについて言及しています。ただし、これらの文書化されていないAPIの使用は、AppStoreの拒否の理由になります。OSの特定のリリース/リビジョンでは文書化されていないが、アプリがサポートしている別のリリース/リビジョンでは文書化されているAPIの使用を拒否されるリスクがあります。

于 2010-09-12T16:03:52.040 に答える