NSInternalInconsistencyException Не удалось загрузить перо в пакете

Я создал приложение для детской игры.

Он загружает 12 различных вопросов для каждого раунда. После 4-го раунда приложение вылетает со следующим логом:

ImageIO: CGImageRead_mapData 'open' failed '/var/mobile/Applications/4B0202F9-5961-4AC7-A327-604620AF1F94/test.app/pi_ok.png'
         error = 24 (Too many open files)


2011-03-24 02:26:34.743 [424:707] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </var/mobile/Applications/4B0202F9-5961-4AC7-A327-604620AF1F94/VisualMath.app> (loaded)' with name 'ThemePickerController''
*** Call stack at first throw:
(
    0   CoreFoundation                      0x3182464f __exceptionPreprocess + 114
    1   libobjc.A.dylib                     0x3651dc5d objc_exception_throw + 24
    2   CoreFoundation                      0x31824491 +[NSException raise:format:arguments:] + 68
    3   CoreFoundation                      0x318244cb +[NSException raise:format:] + 34
    4   UIKit                               0x330d2a53 -[UINib instantiateWithOwner:options:] + 1110
    5   UIKit                               0x330d3e09 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 92
    6   UIKit                               0x3304d5e9 -[UIViewController _loadViewFromNibNamed:bundle:] + 36
    7   UIKit                               0x3301afa5 -[UIViewController loadView] + 80
    8   UIKit                               0x32effebf -[UIViewController view] + 30
    9   VisualMath                          0x00062875 -[DragTriangleViewController hideThemePicker] + 40
    10  VisualMath                          0x0005fe93 -[DragTriangleViewController clickDone] + 26
    11  CoreFoundation                      0x31794571 -[NSObject(NSObject) performSelector:withObject:withObject:] + 24
    12  UIKit                               0x32ee5ec9 -[UIApplication sendAction:to:from:forEvent:] + 84
    13  UIKit                               0x32ee5e69 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 32
    14  UIKit                               0x32ee5e3b -[UIControl sendAction:to:forEvent:] + 38
    15  UIKit                               0x32ee5b8d -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 356
    16  UIKit                               0x32ee6423 -[UIControl touchesEnded:withEvent:] + 342
    17  UIKit                               0x32ee4bf5 -[UIWindow _sendTouchesForEvent:] + 368
    18  UIKit                               0x32ee456f -[UIWindow sendEvent:] + 262
    19  UIKit                               0x32ecd313 -[UIApplication sendEvent:] + 298
    20  UIKit                               0x32eccc53 _UIApplicationHandleEvent + 5090
    21  GraphicsServices                    0x32977e77 PurpleEventCallback + 666
    22  CoreFoundation                      0x317fba97 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 26
    23  CoreFoundation                      0x317fd83f __CFRunLoopDoSource1 + 166
    24  CoreFoundation                      0x317fe60d __CFRunLoopRun + 520
    25  CoreFoundation                      0x3178eec3 CFRunLoopRunSpecific + 230
    26  CoreFoundation                      0x3178edcb CFRunLoopRunInMode + 58
    27  GraphicsServices                    0x3297741f GSEventRunModal + 114
    28  GraphicsServices                    0x329774cb GSEventRun + 62
    29  UIKit                               0x32ef7d69 -[UIApplication _run] + 404
    30  UIKit                               0x32ef5807 UIApplicationMain + 670
    31  VisualMath                          0x00002207 main + 70
    32  VisualMath                          0x000021bc start + 40
)

Я пробовал много вариантов, но ни один не работает, пожалуйста, помогите мне.


person Crazy Developer    schedule 24.03.2011    source источник
comment
Не публикуйте один и тот же вопрос дважды в течение двух дней. Дублирование вашего собственного вопроса stackoverflow.com/questions/5402161/   -  person zrzka    schedule 24.03.2011


Ответы (7)


Похоже, вы пытаетесь создать экземпляр пера с именем ThemePickerController.nib, но его нет. Перо включено в проект?

person par    schedule 13.04.2011

В проекте -> Этапы сборки

Убедитесь, что .xib добавлен в Copy Bundle Resources.

person Jasper    schedule 17.04.2012
comment
Это именно то, что случилось со мной.. Я не знаю, как я пропустил это, но ошибка есть ошибка.. Спасибо за вашу ценную помощь.. - person Apple_iOS0304; 22.09.2012

Другая распространенная проблема — попытка загрузить перо в методах инициализации viewControllers. Должен быть в представленииDidLoad.

person Michael    schedule 03.05.2013

Это просто... выберите файл XIB и убедитесь, что желаемая цель проекта отмечена в разделе "Целевое членство" (на вкладке "Показать инспектор файлов"), и ваша проблема решена.

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

person holex    schedule 30.05.2012

установите изображение нажатия кнопки следующим образом:

NSString *path1 = [[NSBundle mainBundle] pathForResource:@"btn_twelve_month" ofType:@"png"];
[btn_twelve_month setImage:[UIImage imageWithContentsOfFile:path1] forState:UIControlStateNormal];

вместо этого :

[btn_twelve_month setImage:[UIImage imageNamed:@"btn_twelve_month.png"] forState:UIControlStateNormal];

Оно работает..

person RaviM    schedule 16.08.2012

Вы можете переименовать свой ViewController, который должен быть обновлен в файле AppDelegate, поэтому перейдите к AppDelegate.m и выполните следующие действия.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.viewController = [[XXXXViewController alloc] initWithNibName:@"XXXXXViewController" bundle:nil];

В этом XXXX переименуйте свое последнее имя ViewController (т.е. переименуйте ViewControllerName). Теперь это будет работать.

person Sugan S    schedule 02.11.2012

Существует вероятность того, что интернационализация базы вызовет сбой с тем же сообщением об ошибке, потому что функция поддерживается только в iOS 5 и выше!

Однако, поскольку вы можете запустить приложение, и оно выйдет из строя только через некоторое время, это не должно быть связано с базовой интернационализацией.

person samwize    schedule 29.03.2013