Как создать игру, которая поддерживает игровой центр только в том случае, если она доступна на iPhone?
-
10-10-2019 - |
Вопрос
Я собираюсь начать создавать игру для iPhone, в которой будут использоваться достижения в игровом центре и высокие оценки, но я также хотел бы иметь версию, которая работает на iPhone, у которых нет игрового центра (т.е. версия iOS <4.1) Анкет Могу ли я иметь две версии одного и того же приложения в App Store, одна для игрового центра, одна без? Или я должен спроектировать приложение таким образом, чтобы, если у iPhone нет игрового центра, оно не использует его, и если оно это сделает, оно использует его?
Я собираюсь продолжать исследовать это, просто подумал, что опубликую этот вопрос и в то же время получу некоторые отзывы. Спасибо большое!
Решение
Вот окончательный ответ, который я получил от одного из инженеров Apple ...
«Мы рекомендуем сделать одну версию приложения, которая динамически обнаруживает, доступен ли игровой центр и использует его (или нет) на основе этого».
Другие советы
Возможно, создайте игру без нее, затем создайте возможности для игрового центра, но отключите их и включите их только в том случае, если у них есть правильная версия.
Я делаю то же самое. Если у вас есть возможности GameCenter, вы можете использовать функции. Если вы этого не сделаете, вы не можете.
Я бы не запрограммировал бы игру, а затем добавил ее позже. В моем случае я отключаю многопользовательскую пользу для пользователей без GC.
Кроме того, вы можете хотеть, чтобы ваша игра работала, если у устройства есть возможности GC, но пользователь не может по какой -либо причине подключиться к GC в настоящее время.
Вы можете использовать следующую функцию для определения того, поддерживает ли устройство игровое центр:
BOOL isGameCenterAvailable()
{
// Check for presence of GKLocalPlayer API.
Class gcClass = (NSClassFromString(@"GKLocalPlayer"));
// The device must be running running iOS 4.1 or later.
NSString *reqSysVer = @"4.1";
NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
BOOL osVersionSupported = ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending);
return (gcClass && osVersionSupported);
}
Однако я обнаружил, что многие люди не обновились до iOS 4.1 или наивны в игровом центре. Количество пользователей в моей игре довольно мало, хотя есть так много загрузок. Я на самом деле рассматривал возможность перехода на открытый Feint, который намного проще реализовать, чем Game Kit, а также поддерживает старые устройства.