Определить, работает ли приложение на iOS бета-версии? - PullRequest
5 голосов
/ 23 июня 2011

У меня есть несколько приложений с поддержкой iAd / AdMob в магазине приложений iOS. Я замечаю, что каждый раз, когда выходит бета-версия iOS, количество запросов на рекламу падает. Я предполагаю, что это происходит из-за того, что многие люди используют бета-версию ОС, и поэтому почти всегда получают тестовое объявление iAd. Есть ли какой-то способ, которым мой код может определить, находится ли приложение в бета-версии ОС? Таким образом, я мог бы по умолчанию использовать AdMob, чтобы получать доход.

Ответы [ 2 ]

7 голосов
/ 23 июня 2011

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

Это будетполучить версию устройства в виде строки:

[[UIDevice currentDevice] systemVersion]

. Вы можете преобразовать это значение в число с плавающей запятой и сравнить его с жестко запрограммированной версией, но это будет означать развертывание новой версии после выпуска новой iOS:

if ([[[UIDevice currentDevice] systemVersion] floatValue] > 4.3) 
{
    // revert to AdMob...
}

В качестве немного лучшего решения вы можете запросить текущую максимальную версию iOS для загрузки с веб-сайта ... просто перетащите файл iosversion.txt на ваш сайт с содержимым «4.3» и используйте его для управленияпереключатель.

К сожалению, похоже, что нет [[UIDevice currentDevice] isBeta] типа метода.

0 голосов
/ 24 июля 2014

По слухам, версия для iOS 8 выйдет в сентябре.

Итак, вы можете использовать:

NSDate *today = [NSDate date];

NSString *releaseDateString = @"2014-09-15 00:00:00";
NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
[dateFormater setDateFormat:@"yyyy-MM-DD HH:mm:ss"];
NSDate *release = [dateFormater dateFromString:releaseDateString ];
NSComparisonResult comp = [today compare:release];

if([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0 && result == NSOrderedAscending) return @"Beta";
else return @"Release Version";

или получить заголовок URL: https://www.apple.com/ios/а проверить iOS?

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    NSString *title = [webView stringByEvaluatingJavaScriptFromString:@"document.title"];
    title = [title stringByReplacingOccurrencesOfString:@"Apple - iOS " withString:@""];
    int version = [title intValue]; // 6, 7, 8...
}
...