Как отладить проблему с зависанием в моем приложении для iOS - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть приложение, созданное с помощью Objective-C.Это приложение всегда работало правильно.Вчера мой Xcode игнорировал все новое, что я создал, поэтому я обновил его до Xcode 10.1 (10B61).В любом случае, я редактировал другое приложение, а не следующее.

После этого в App Store была обновлена ​​версия приложения (я отправил его 2 дня назад), и в 18 часов мой босс позвонил мне на телефон исказал мне, что приложение зависало.

Сегодня я убедился, что приложение не падает, оно зависает.Когда происходит какая-либо из этих вещей, она замерзает:

  1. Открыть или закрыть клавиатуру
  2. Открыть или закрыть любое действие
  3. Выполнить запрос с использованием инфраструктуры AFNetworking

Я пытался сделать git checkout к началу месяца, но он все еще не работал.Поэтому я сделал проверку в начале прошлого месяца (9 октября), и она все еще замерзает.Но эти версии приложения работали без ошибок.

Я пробовал отлаживать его до тех пор, пока на сборке я не смог исправить AFNetworking, изменив код Framework впервые.При попытке установить заголовок запроса происходит 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 голосов
/ 30 ноября 2018

Проблема заключалась в том, что каждое приложение iOS, встроенное в мой Mac, начинает произвольно зависать в функциях dispatch_sync.Я попробую отформатировать мой компьютер или куплю новый.

Это буквально не имеет смысла, но решило проблему.

...