我以 SimpleURLConnections 为基础做了一些测试。一切正常,直到我尝试在我的设备上运行它并将目标构建设置为 4.3。然后我开始收到以下消息:如果您支持 5.0 之前的 iOS,则必须重新启用 CFStreamCreateBoundPairCompat。知道如何解决这个问题吗?
谢谢。
该错误来自“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