0

いくつかのテストを行うための基礎としてSimpleURLConnectionsを使用しました。デバイスで実行してターゲットビルドを4.3に設定するまでは、すべて正常に機能しました。次に、次のメッセージが表示され始めました。5.0より前のiOSをサポートしている場合は、CFStreamCreateBoundPairCompatを再度有効にする必要があります。この問題を解決するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

1

このエラーは、「PostController.m」の#errorステートメントから発生します。iOSの場合、関連する行は次のとおりです。

#if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && (__IPHONE_OS_VERSION_MIN_REQUIRED < 50000)
    #error If you support iOS prior to 5.0, you must re-enable CFStreamCreateBoundPairCompat.
#endif

そのすぐ下には、コードの「if / else」ブロックがあり、最初の行は「if(NO)」です。

その「if(NO)」は、CFStreamCreateBoundPairCompatの使用を無効にしているものです。

これらの「if/else」行を「#if /#else /#endif」に置き換えて、ターゲットとするiOSSDKに応じてコードの最初または2番目のブロックをコンパイルする必要があります。

#if (__IPHONE_OS_VERSION_MIN_REQUIRED < 50000)
    CFStreamCreateBoundPairCompat(
        NULL, 
        ((inputStreamPtr  != nil) ? &readStream : NULL),
        ((outputStreamPtr != nil) ? &writeStream : NULL), 
        (CFIndex) bufferSize
    );
#else
    CFStreamCreateBoundPair(
        NULL, 
        ((inputStreamPtr  != nil) ? &readStream : NULL),
        ((outputStreamPtr != nil) ? &writeStream : NULL), 
        (CFIndex) bufferSize
    );
#endif
于 2012-09-19T20:24:21.797 に答える