Существует конфликт между документами и файлом заголовка относительно значения по умолчанию kCGImageSourceShouldCache. Они говорят точную противоположность. Очевидно, что обходной путь заключается в том, чтобы установить значение явно, но было бы полезно узнать истинное поведение по умолчанию для работы с устаревшим кодом.Каково значение kCGImageSourceShouldCache по умолчанию?
документы говорят:
kCGImageSourceShouldCache
ли изображение должно быть кэшируются в декодированной форме. Значение этого ключа должно быть значением CFBoolean. Значение по умолчанию - kCFBooleanTrue в 32-битном, kCFBooleanFalse в 64-битном. Этот ключ может быть предоставлен в словаре параметров, который вы можете передать функциям CGImageSourceCopyPropertiesAtIndex и CGImageSourceCreateImageAtIndex.
Доступно в iOS 4.0 и новее.
Объявлено в CGImageSource.h.
Файл заголовка говорит:
/* Specifies whether the image should be cached in a decoded form. The
* value of this key must be a CFBooleanRef.
* kCFBooleanFalse indicates no caching, kCFBooleanTrue indicates caching.
* For 64-bit architectures, the default is kCFBooleanTrue, for 32-bit the default is kCFBooleanFalse.
*/
IMAGEIO_EXTERN const CFStringRef kCGImageSourceShouldCache
IMAGEIO_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0);
Теперь [документ говорит] (https://developer.apple.com/documentation/imageio/kcgimagesourceshouldcache?language=objc) «Значение по умолчанию - kCFBooleanFalse в 32-битном, kCFBooleanTrue в 64-разрядном режиме». – Pang