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' 以根据您所针对的 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
于 2012-09-19T20:24:21.797 回答