如何在iOS应用中调试冻结问题

时间:2018-11-29 15:36:08

标签: ios objective-c afnetworking freeze

我有一个用Objective-C制作的应用程序。这个程序总是正常工作。昨天,我的Xcode忽略了我创建的任何新内容,因此将其更新为Xcode 10.1(10B61)。无论如何,我正在编辑另一个应用程序,而不是下面的应用程序。

此后(我在两天前寄给我)在App Store上更新了该应用程序的版本,晚上18点,老板打电话给我,告诉我该应用程序崩溃了。

今天,我验证了该应用程序没有崩溃,它已经死机了。当任何这些事情发生时,它都是冻结的:

  1. 打开或关闭键盘
  2. 打开或关闭任何活动
  3. 使用AFNetworking框架进行请求

我尝试对当月的月初进行git checkout,但仍然没有成功。因此,我对过去一个月(10月9日)的初始付款进行了结帐,但仍处于冻结状态。但是这些版本的应用程序没有任何错误。

我尝试调试它,直到在程序集上,我才可以修复AFNetworking第一次更改框架代码。当尝试尝试设置请求标头时,有一个dispatch_sync冻结了应用程序,我可以将其更改为dispatch_async,它可以解决问题的1/3,请求仍在异步处理中。行:./Pods/AFNetworking/Serialization/AFURLRequestSerialization.m:306

- (NSDictionary *)HTTPRequestHeaders {
    NSDictionary __block *value;
    dispatch_sync(self.requestHeaderModificationQueue, ^{
        value = [NSDictionary dictionaryWithDictionary:self.mutableHTTPRequestHeaders];
    });
    return value;
}

现在我的老板告诉我,这两个应用程序都冻结了。而且我没有提到第一个应用程序中的任何更新。这些应用程序来自同一项目,它们的工作方式类似于Uber。

任何人都知道发生了什么事吗?

==== EDIT0 ====

当前,我们注意到该应用程序可以在另一台计算机上构建,其字眼与以前一样。因此,在我的Mac中构建的应用程序冻结了,问题不在于代码,某些库,更新或其他内容。可能是我的电脑,我们将尝试使用其他Mac来构建和发送应用。

如果它解决了问题,我将把解决方案放在这里,并与Apple支持部门联系。

1 个答案:

答案 0 :(得分:0)

问题在于,我的Mac中构建的每个iOS应用程序开始随机冻结dispatch_sync函数。我将尝试格式化我的PC或购买一台新PC。

这实际上没有任何意义,但是解决了这个问题。