Универсальное приложение для iPhone / Ipod Touch только 4-го поколения + IPad - PullRequest
2 голосов
/ 06 июня 2011

Я занимаюсь разработкой универсального приложения, которое предназначено для использования только с сенсорными устройствами Retina IPhone / IPod + IPad.Как я могу указать это на листе или в другом месте в моем приложении / бинарном?

UIRequiredDeviceCapabilities не подходит для обоих устройств, поскольку я мог бы указать, что мне требуется front-facing-camera для IPhone / IPod, но это исключило бы IPad 1.

Ответы [ 2 ]

0 голосов
/ 07 июня 2011

Я не рекомендую делать это на самом деле, но вы можете просто узнать, какое это устройство, а затем основывать загрузку вашего приложения, если метод isCorrectDevice возвращает true:

- (BOOL) isCorrectDevice
{
    size_t size;
    sysctlbyname("hw.machine", NULL, &size, NULL, 0);
    char *machine = malloc(size);
    sysctlbyname("hw.machine", machine, &size, NULL, 0);
    NSString *platform = [NSString stringWithCString:machine];
    free(machine);

    if ([platform isEqualToString:@"iPhone3,1"] ||
        [platform isEqualToString:@"iPhone3,2"] ||
        [platform isEqualToString:@"iPod4,1"] ||
        [platform isEqualToString:@"iPad1,1"] ||
        [platform isEqualToString:@"iPad2,1"] ||
        [platform isEqualToString:@"iPad2,2"] ||
        [platform isEqualToString:@"iPad2,3"])
        return true;
    else
        return false;
}

Есть несколько проблем с этим. Во-первых, как только Apple выпустит новое устройство, оно устареет и не будет включать новые устройства; но также это не остановит пользователей других устройств от загрузки. Я думаю, вы могли бы просто загрузить экран с надписью "Доступно только на ..."? Просто идея.

0 голосов
/ 07 июня 2011

Этого нельзя сделать. UIRequiredDeviceCapabilities следует использовать для ограничения возможностей, которые ваше приложение / игра действительно нуждается или исключает, оно не должно использоваться для ограничения определенного набора устройств только потому, что разработчик не хочет их поддерживать. Таким образом, в основном вы должны всегда проектировать с учетом всех устройств, которые в настоящее время обновляются до последней ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...