У меня есть приложение, созданное на Objective-C. Это приложение всегда работало правильно. Вчера мой Xcode игнорировал все новое, что я создал, поэтому я обновил его до Xcode 10.1 (10B61). Во всяком случае, я редактировал другое приложение, а не следующее.
После этого версия приложения была обновлена в App Store (я отправил ее 2 дня назад), и в 18:00 мой босс позвонил мне на телефон и сказал, что приложение вылетает.
Сегодня я убедился, что приложение не вылетает, оно зависает. Холодно, когда происходит что-то из перечисленного:
Я попытался выполнить проверку с помощью git для инициализации месяца, но это все еще не сработало. Итак, я выполнил проверку инициализации за последний месяц (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.
Кто-нибудь имеет представление о том, что происходит?
==== РЕДАКТИРОВАТЬ0 ====
В настоящее время мы заметили, что приложение может быть встроено на другой компьютер, как и раньше. Итак, приложения, которые создаются на моем Mac, зависают, проблема не в коде, какой-то библиотеке, обновлении или чем-то еще. Вероятно, это мой компьютер, мы попробуем использовать другой Mac для создания и отправки приложений.
Если это решит проблему, я отправлю решение здесь и поговорю со службой поддержки Apple.
Если вы вызываете dispatch_sync из той же очереди, значит, вы зашли в тупик.
похоже, вам нужен новый Mac





Проблема заключалась в том, что каждое приложение iOS, встроенное в мой Mac, начало случайным образом зависать в функциях dispatch_sync. Я попробую отформатировать свой компьютер или куплю новый.
В этом буквально нет смысла, но проблема решена.
Я предлагаю вам создать MCVE. Создайте пустой проект, добавьте AFNetworking и посмотрите, сможете ли вы выявить проблему. Скорее всего, вы этого не сделаете, поэтому вам придется начать добавлять код, созданный по образцу того, как он у вас есть в вашем приложении, пока вы не сможете проявить проблему. (Другой подход состоит в том, чтобы скопировать ваш проект, начать извлекать все, не связанное с проблемой, и продолжать повторять этот процесс до тех пор, пока вы не перестанете проявлять проблему.) Но этот вопрос слишком широк в том виде, в каком он стоит сейчас.