Попытка собрать SimpleURLConnection для iPhone 4.3
Я взял SimpleURLConnections в качестве основы для проведения некоторых тестов. Все работало нормально, пока я не попытался запустить его на своем устройстве и установить целевую сборку на 4.3. Затем я начал получать следующее сообщение: Если вы поддерживаете iOS до 5.0, вы должны снова включить CFStreamCreateBoundPairCompat. Любая идея, как я могу решить эту проблему?
Благодарю.
1 ответ
Эта ошибка происходит из оператора #error в "PostController.m". Для 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).
Это "если (НЕТ)" - это то, что запрещает использование 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