我有一个公司(与公司苹果许可证)应用程序,它是一种公司的社交网络,它有大约1200名iOS 10用户和其中一些用户( ~2%)报告应用程序可以落入黑屏并没有任何帮助(杀死应用程序和重启设备无用),只删除应用程序并重新安装。它可能会在任何时候发生,即使是第一次启动,或可以工作一周罚款,然后黑屏。我认为这是iOS 10和公司许可证的问题,但我无法确定,因为我仍然无法获得有此问题的设备。
App在Obj-C中。没有xib或故事板。在iOS 6 - 9上一切都很好。
任何人都面临同样的问题?
答案 0 :(得分:0)
如果应用程序具有活动的下载会话且用户杀死应用程序(或者它已粉碎),则会在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];