iOS 10 обновить черный экран моего приложения, переустановить помогает, перезапустить приложение - нет

У меня есть корпоративноекорпоративной лицензией Apple) приложение, это своего рода социальная сеть компании, около 1200 пользователей с iOS 10 и некоторые из них (~2%) сообщают, что приложение может упасть на черный экран, и ничего не помогает (убить приложение и перезагрузка устройства бесполезно), только удалить приложение и установить заново. Это может произойти в любое время, даже сразу после первого запуска, или может нормально работать неделю, а затем и черный экран. Я думаю, что это проблема с iOS 10 и корпоративной лицензией, но я не могу быть уверен, потому что я все еще не могу получить устройство с этой проблемой.

Приложение находится в Obj-C. Нет XIBS или раскадровки. На iOS 6 - 9 все отлично.

Кто-нибудь сталкивается с той же проблемой?

1 ответ

Решение

Черный экран появляется на iOS 10, если приложение активно загружает сеанс, и пользователь убивает приложение (или оно разрушается). Доза перезагрузки устройства не помогает.

Решение, которое я нашел: вы должны сгенерировать случайную часть идентификатора сеанса загрузки.

NSString *seed = [NSString stringWithFormat:@"%ul", arc4random()];
NSString *identifier = [NSString stringWithFormat:@"com.company.app.%@", seed];
NSURLSessionConfiguration *sessionConfiguration = nil;
if([NSURLSessionConfiguration respondsToSelector:@selector(backgroundSessionConfigurationWithIdentifier:)])
    sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:identifier];
else
    sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfiguration:identifier];
Другие вопросы по тегам