2015-02-27 2 views
0

При попытке локализовать SpriteKit игру я вдруг начал получать сообщение об ошибке:Не удалось найти раскадровку под названием «Главная» в комплекте NSBundle?

«Не удалось найти раскадровку с именем„Main“в расслоении NSBundle»

Я не использовать раскадровку, и я думаю, я фактически удалил файл, когда я впервые начал разработку игры. «Основное имя основной раскадровки» было установлено в «Main» (было установлено и раньше, когда оно работало, и не было раскадровки). Я удалил эту запись, и теперь программа просто выполняет файл AppDelegate и по существу останавливается. Чего не хватает, прежде чем он будет автоматически запускать корневой контроллер вида, а теперь это не так?

Я попытался следующие в приложение делегата:

*self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
FirstViewController *First = = [[FirstViewController alloc]init]; 
[self.window setRootViewController: First]; 
[self.window makeKeyAndVisible]; 

но когда он движется к FirstViewController он выходит из строя здесь:

SKView * skView = (SKView *)self.view; 
skView.showsFPS = YES; 

Но прежде, чем я никогда не нуждался в том, что первый надрез его из код для запуска контроллера корневого представления. Любые идеи, которые могли бы пойти не так? Все началось во время размытия локализующего, уборка, смена языков, удаление Localizable.string файлов и т.д ....

ответ

1

«... Очистка ...»

SpriteKit шаблон приложения включает в себя основной. раскадровка & используется как представление, в которое загружается GameScene. Вполне возможно, что вы удалили его и продолжали работать нормально, пока не убрали проект намного позже; по крайней мере, мой опыт заключается в том, что после удаления раскадровки или другого ресурса вы действительно хотите сделать чистую и сборку сразу, чтобы узнать, сломаете ли вы что-то, поскольку они, похоже, в конечном итоге попали в сгенерированный пакет некоторое время после его удаления.

Ваш текущий код создает FirstViewController, но я не вижу, правильно ли вы обрабатываете все макеты в методе init, но так как вы рушитесь, может быть, нет?

Мне нравятся раскадровки, поэтому, если бы я был вами, я бы создал новый проект игры с spritekit, чтобы вы могли извлечь из него Main.storyboard, но если бы вы действительно исправили код, который у вас есть, я думаю, мы могли бы необходимо увидеть FirstViewController.m.

Кроме того, какое сообщение, которое вы получаете в отладчике при его сбоях, вероятно, будет полезно для получения лучшего ответа.

+0

Комментарий «Очистка» объясняет многое. Если бы я мог дать вам репутацию, я бы это сделал. Я думаю, что создам новую Main.storyboard. Я расскажу об этом позже ... Теперь, если я смогу заставить свою локализацию работать ... Я раздели ее на скелеты в побочных проектах без успеха ... это похоже на то, что я пропустил простую настройку. .. но это другой вопрос. –

+0

Да, я думаю, что я видел этот другой вопрос, к сожалению, ничто не выскочило на меня, как проблема Storiesboards vs Cleaning. Удачи! – tripleshotsw

+0

Ваш ответ сработал. Я создал новую игру spritekit, как вы рекомендовали, схватил Main.storyboard и переименовал контроллер вида. Все работает отлично. Фактически, я думаю, что «очистка» проекта до того, как каждая новая попытка локализации устранила мою проблему с локализацией. Большое спасибо! –