Предупреждение о памяти Xcode - не удалось загрузить какую-либо информацию о классе Objective-C

Я получаю эту ошибку только на старом iPhone4s при регистрации пользователя с помощью Facebook и Parse. Когда я запускаю его на симуляторе, эта ошибка никогда не возникает.

Когда это происходит, приложение занимает всего 21,2 МБ из памяти, что составляет всего 4,2% памяти, доступной на моих тестовых 4s.

Я не уверен, с чего начать, чтобы исправить эту ошибку. Совсем проиграл, если честно.

2015-11-12 08:09:27.647 APPNAME[3883:426582] Получено предупреждение о памяти. предупреждение: не удалось загрузить какую-либо информацию о классе Objective-C. Это значительно снизит качество доступной информации о типах. (lldb)

Некоторые обновления по вопросу, если вы все еще думаете, что это дубликат, я удалю его. Хотя вопрос, который вы предложили в качестве реплики, на самом деле не помогает мне решить проблему.

Я мог бы частично устранить ошибку, уменьшив количество запросов, которые выполняются одновременно, и используя Parse. Приложение, чтобы получить первый запуск и зарегистрировать нового пользователя, мне нужно:

  • войти через фейсбук
  • запросить данные графика facebook
  • добавить данные графика facebook в пользователя Parse
  • создать таблицу репутации и связать
  • запустить главный экран
  • репутация запроса
  • условия запроса
  • статус учебника запроса

Удалив два последних, я смог убрать предупреждение в первые секунды использования приложения. И затем я получаю предупреждение/ошибку через 10 минут после запуска приложения без взаимодействия.

Это заставляет меня задуматься, если у вас одновременно выполняется много запросов в фоновом режиме, может ли это вызвать такое предупреждение о памяти? Или это чисто ошибка в Xcode, как предполагает другой вопрос?


person GuiSoySauce    schedule 11.11.2015    source источник


Ответы (2)


Я столкнулся с этим предупреждением при создании своего приложения Cocoa (OS X). но, по-видимому, это произойдет и с приложением iOS.

warning: could not load any Objective-C class information. This will significantly reduce the quality of type information available

С этим предупреждением Xcode 7.3.1 привел меня к строке кода внутри сторонней библиотеки -SwifyJSON. Но я знал, что это никак не связано со сторонней библиотекой, потому что она работала очень хорошо, пока не появилось предупреждение.

У меня был MainViewController с TabViewController, у которого было несколько пользовательских представлений (и, конечно, контроллеры).

Я столкнулся с предупреждением сразу после установки экземпляров моего второго пользовательского класса для передачи данных между ними.

В MainVC мой код был

private var firstTabVC = FirstTabVC
var jsonInfo:JsonInfoClass  = JsonInfoClass
private var secondTabVC = SecondTabVC // waring had occured after this was added

Xcode привел меня к сторонней библиотеке только тогда, когда строка экземпляра jsonInfo находилась прямо над строкой экземпляра secondTabVC. (JsonInfoClass — это пользовательский класс, работающий с данными JSON со сторонней библиотекой)

Я переместил проблемную строку кода чуть ниже строки «firstTabVC». а затем Xcode перестал жаловаться на «загрузку класса Objective-C». Я получил только ошибку «EXC_BAD_ACCESS» в строке «firstTabVC». Именно здесь я начал не верить тому, что сказал Xcode.

Итак, я пошел в пользовательский класс SecondTabVC и увидел, что я объявил экземпляр MainVC.swft (я понятия не имел, почему я так сделал), например:

var mainVC:MainViewController = MainViewController()

чтобы установить в нем «я» (MainVC), чтобы я мог передавать данные из MainVC, например:

override func prepareForSegue(segue: NSStoryboardSegue, sender: AnyObject?) {
    .
    ..
    secondTabVC.mainVC = self
    ....
}

после того, как я изменил объявление в SecondTabVC.swif на

 var mainVC: MainViewController!

Варинг пропал и работал нормально. Я надеюсь, что это помогает кому-то.

person Kyle KIM    schedule 17.07.2016

Эта ошибка произошла со мной сегодня утром после появления сообщения об ошибке: «Предупреждение: не удалось загрузить какую-либо информацию о классе Objective-C. Это значительно снизит качество доступной информации о типах».

Но моя ситуация, возможно, отличалась от вашей. Я создал класс с именем «ILViewController», который был унаследован от «UIViewController» и не владел свойством «представление» напрямую. Когда я получил доступ к «ILViewController.view» (на самом деле «ILViewController» не имел свойства «представление», а «UIViewController» имел), возникла эта ошибка. Поэтому я предлагаю вам проверить, не владели ли ваши пользовательские классы некоторыми свойствами, но вы все равно обращались к ним! Удачи!

person CoderLeonidas    schedule 24.03.2016