我以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)"。
"如果(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