В коде iOS7 найдено несколько забавных фрагментов — названия флагов для активации неких функций, суть которых компания пыталась скрыть от посторонних.
Например, один из флагов назывался 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.
Автор: alizar