Например, один из флагов назывался YouMamaCombatBoots
, что переводится как «боевые ботинки твоей мамы». В финальной версии системы запросы типа isYoMamaWearsCombatBootsActive
«рассекречены» как isStillImageStabilizationActive;
.
-- (void)setYoMamaWearsCombatBootsAutomaticallyWhenAvailable:(BOOL)arg1; -- (BOOL)yoMamaWearsCombatBootsAutomaticallyWhenAvailable; -- (BOOL)isYoMamaWearsCombatBootsActive; +- (BOOL)isStillImageStabilizationActive; - (BOOL)isEV0CaptureEnabled; - (void)setHDRCaptureEnabled:(BOOL)arg1; - (BOOL)isHDRCaptureEnabled; - (void)configureAndInitiateCopyStillImageForRequest:(id)arg1; - (BOOL)isRawCaptureSupported; +- (BOOL)isStillImageStabilizationSupported;
Прятать новые функции для их обкатки — стандартная практика у разработчиков Google, Microsoft и прочих. Чтобы протестировать новый функционал, его внедряют в систему, но дают доступ только ограниченному количеству бета-тестеров, для остальных же доступ максимально затрудняют. Название функции не должно давать намека на ее значение.
Apple традиционно выпускает операционную систему раньше официального анонса устройств и стремится, к тому же, до последнего дня сохранить в тайне список новых функций, отсюда у мамы и появляются «боевые ботинки» и «причудливые очки».
-- (BOOL)isYoMamaWearsFancyGlasses; -- (void)setYoMamaWearsFancyGlassesDetectionEnabled:(BOOL)arg1; -- (BOOL)isYoMamaWearsFancyGlassesDetectionEnabled; -- (BOOL)isYoMamaWearsFancyGlassesDetectionSupported; +- (BOOL)isHighDynamicRangeScene; +- (void)setHighDynamicRangeSceneDetectionEnabled:(BOOL)arg1; +- (BOOL)isHighDynamicRangeSceneDetectionEnabled; +- (BOOL)isHighDynamicRangeSceneDetectionSupported;
Иногда «пасхальные яйца» встречаются в коде без всякого смысла. Например, константа гравитации на Звезде смерти GRAVITY_DEATH_STAR_I
, зачем-то зашитая в список констант SensorMananger операционной системы Android.
ссылка на оригинал статьи http://habrahabr.ru/post/193470/
Добавить комментарий