что означает сбой защиты среднего уровня защиты %d?

#ios7 #xcode5

#ios7 #xcode5

Вопрос:

Когда я создаю свое приложение на своем реальном iPhone, область отладки показывает это:

 [Allocator] Middle guard protection failed %d
[Allocator] Allocator invalid, falling back to malloc
 

Он показывает 2-ю строку в общей сложности 30 раз. Я понятия не имею, что это значит или как это исправить. Это не отображается при сборке в симуляторе.

У меня возникли проблемы с сохранением состояния для работы с использованием раскадровок и идентификаторов восстановления, и у меня такое чувство, что это как-то связано с проблемой памяти, поэтому она сбрасывает мою память, и поэтому я не получаю восстановления приложения. В принципе, когда я возвращаюсь к своему приложению, оно показывает мне последний экран, на котором я был на секунду, а затем возвращается на корневую страницу.

В любом случае, я хотел бы исправить этот материал malloc, чтобы я мог, по крайней мере, исключить его виновника, плюс я не хочу иметь проблемы с памятью в целом…

Я тоже гуглю это уже пару недель и ничего не могу найти!

Комментарии:

1. у вас установлен xcode 6?

2. Да, я использую 2-ю бета-версию, выпущенную на прошлой неделе.

3. У меня была такая же проблема, когда я случайно открыл свой проект в бета-версии xcode6. Затем, когда я вернулся к xcode 5, он выдает мне это предупреждение. Очистите проект с помощью xcode cmd shift k, если это не сработает, удалите папку проекта из папки симулятора

4. Спасибо, Андре, поэтому я очистил сборку Xcode, и это все еще вызывает у меня проблему с распределением. Я не уверен, как выполнить 2-й шаг «удалить папку проекта из папки sim»?

5. Ребята, вы используете Crashlytics? Комментирование startWithAPIKey решает проблему, поэтому похоже, что это проблема с их стороны.

Ответ №1:

Похоже, это проблема с платформой Crashlytics. У меня такая же проблема, и я комментирую этот вызов API:

[Crashlytics startWithAPIKey:API_KEY];

удаляет это предупреждение.

Комментарии:

1. Это действительно работает. Но это также полностью отключает Crashlytics.

Ответ №2:

Похоже, это действительно проблема в Crashlytics. Я знаю из других потоков, что они вызвали проблему «Недопустимый распределитель …» в связи с другой средней ошибкой (не сбой защиты от промежуточной защиты %d), которая позже была помечена как исправленная.

Я исправил это, удалив все материалы crashlytics и используя новую структуру fabric / crashlytics. Проблема решена.

(Интересно, что у меня это было только на iPad, мой iPhone 5C вообще не жаловался.)