Как создать игру, которая поддерживает игровой центр только в том случае, если она доступна на iPhone?

StackOverflow https://stackoverflow.com/questions/3990035

  •  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, а также поддерживает старые устройства.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top