Как использовать идентификатор forVendor во время разработки?

Apple рекомендует использовать [UIDevice currentDevice].identifierForVendor. Значение этого изменяется каждый раз, когда вы запускаете свое приложение в iOS-симуляторе.

Первоначальная функциональность моего приложения требует, чтобы я распознал устройство как форму легкой аутентификации. Это делает разработку утомительной, и в идеале я мог бы сохранить уникальную ценность во время сеансов отладки/запуска. Есть ли какие-либо рекомендации для этого?

Ответ 1

Это довольно четко документировано, что это значение изменится при создании и запуске в симуляторе. На реальном устройстве он будет изменяться только тогда, когда пользователь удалит все ваши приложения со своего устройства и переустановит приложение.

Если вы хотите, чтобы приложение симулятора использовало согласованный идентификатор во время разработки, вы могли бы определить этот UUID и использовать его только для сборки симулятора:

NSUUID *devId;
#if TARGET_IPHONE_SIMULATOR
devId = [NSUUID initWithUUIDString:@"SOME-STATIC-UUID-STRING"];
#else
devId = [UIDevice currentDevice].identifierForVendor;
#endif

Обратите внимание, что вам нужно заменить SOME-STATIC-UUID-STRING на реальную строку UUID.