将设备升级到iOS 8.3后我的应用程序冻结了

时间:2015-06-22 07:08:08

标签: ios objective-c iphone

我最近将设备从8.1升级到iOS 8.3。

,当我的应用程序设置为8.1版本时,我的应用程序在设备上工作正常,但现在升级后它就冻结了。

我调试并弄清楚它冻结的时间和原因。 我有5个容量为50的数组,每个数组包含从不同地方收到的字符串(ble,gps,video)。 当NSArray达到它的容量时,我将所有内容写入文件并从NSArray中删除所有对象。我有一个UIButton,当它被按下时,我开始将数据收集到NSArray并将其写入文件 - >当它冻结时!

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:fileName];

//check if file exisits, if not creates one.
if(![[NSFileManager defaultManager]fileExistsAtPath:filePath])
{

    [[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil];
}
//writes and adds data the content to the specifec file.
NSFileHandle *fileHandler = [NSFileHandle fileHandleForUpdatingAtPath:filePath];
[fileHandler seekToEndOfFile];
[fileHandler writeData:[content dataUsingEncoding:NSUTF8StringEncoding]];
[fileHandler closeFile];

为什么升级版本的设备会对我的应用程序产生影响?

编辑: 控制台日志似乎仍然在运行(我让他打印当前的功能)虽然设备已冻结。

1 个答案:

答案 0 :(得分:2)

正如Ashwin建议我将我的活动转移到后台主题并且效果很好!