2015-12-23 2 views
1

У меня был отчет пользователя, на котором мое приложение замерзало на экране запуска на его iPad Pro, но работало на всех других устройствах - iPhone 6 плюс и iPad Mini - все, начиная с iOS 9.2. У меня не было отчетов о сбоях в этом выпуске, а также можно увидеть, что другие устройства iPad работают отлично, поэтому я подозревал, что проблема локального повреждения файлов. Так же, как я писал пользователю о том, как удалить переустановку, я попробовал запустить приложение на симуляторе iPad Pro. Boom. Он был прав. Замерзает на экране запуска и выдает исключение. (Да, мой внутренний Барт Симпсон пишет 100x на доске: тест на всех симуляторах перед выпуском).Приложение iOS Crash on iPad Pro только: NSUnknownKeyException

Нагрузочного приложение из-за неперехваченное исключением 'NSUnknownKeyException', причину: "[ SetValue: forUndefinedKey]: этот класс не является значением ключа кодирования-совместимым для ключа зрения.

В другом месте на Stackoverflow эта ошибка была attributed to a bad outlet. Насколько я могу судить, проблем нет: Screen shot of MainViewController.xib and outlets

или Viewcontroller having a bad class. Я устраняю это как кандидата, поскольку я не думаю, что это будет сбой одного устройства, и потому что мое приложение построено в Кордове, оно передает веб-просмотр.

Исключение брошено в main.m, Cordova сгенерированный файл:

#import <UIKit/UIKit.h> 

int main(int argc, char* argv[]) 
{ 
    @autoreleasepool { 
     int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate"); 
     return retVal; 
    } 
} 

Я также читал о проблемах неправильно отформатированных экранов запуска, вызывающих проблемы, и с я добавил для экрана запуска изображения iPad Pro - новое дополнение к моему коду с последней версии, это был мой первый подозреваемый. Но я проверил размеры пикселей и разрешения и все изображения моего запуска экрана comply to the specs at Apple's developer site.

So. Любые идеи о том, что касается iPad Pro, вызвали бы замораживание сразу при запуске? Первым шагом приложения является поиск файла, написанного на локальном хранилище, - и написать его, если он его не найдет. Опять же, если нет ничего особенного в том, как Pro обрабатывает локальное хранилище, я не думаю, что это может быть так, как этот процесс работает во всех других устройствах iOS. Если работа на реальном оборудовании поможет любому диагнозу, the app's here in the app store, и я рад отправить код загрузки.

+0

Вам не удалось это выяснить, не так ли? –

+0

сделал. Извиняюсь за то, что он не опубликовал его раньше: возможно, это было огорчением, что заставило меня забыть, что я попросил о помощи в этом. Ответ ниже. – brianfit

ответ

2

Это была смущающая проблема: не знаю, как, но основная панель интерфейса была прокручена до MainViewController.xib только для ipad. Для приложения «Кордова» оно должно быть пустым, которое было в представлении iPhone по умолчанию для страницы «Сведения о развертывании». Когда я нажал кнопку iPad, обнаружился странный выбор. Замаскированный, перекомпилированный, все было хорошо. screen shot of deployment info showing ipad main interface choice as mainviewcontroller

Смежные вопросы