试图为iPhone 4.3构建SimpleURLConnection

时间:2012-05-13 08:48:01

标签: iphone build cfstream

我将SimpleURLConnections作为进行一些测试的基础。一切正常,直到我尝试在我的设备上运行它并将目标构建设置为4.3。然后我开始收到以下消息:如果您支持5.0之前的iOS,则必须重新启用CFStreamCreateBoundPairCompat。 我知道如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分: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 /#endif'替换那些'if / else'行,以根据您要定位的iOS SDK编译第一个或第二个代码块:

#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