【问题标题】:Unable to instantiate the UIApplication subclass instance无法实例化 UIApplication 子类实例
【发布时间】:2014-05-22 18:33:32
【问题描述】:

我正在构建一个 SpriteBuilder 项目并收到以下错误:

" * int UIApplicationMain(int, char **, NSString *, NSString *)(), /SourceCache/UIKit_Sim/UIKit-2903.23/UIApplication.m:2380 中的断言失败 无法实例化 UIApplication 子类实例。没有加载名为 NSApplication 的类。”

对于main.m的代码:

#import <UIKit/UIKit.h>

int main(int argc, char *argv[]) {

@autoreleasepool {
    int retVal = UIApplicationMain(argc, argv, nil, @"AppController");
    return retVal;
   }
}

什么原因?

【问题讨论】:

  • 您是否对项目进行了任何修改,或者这纯粹是来自 sprite builder 模板?
  • 这是来自修改后的项目,但我不明白为什么会出现此错误?
  • 很难说。您能总结一下所做的更改吗?如果你从标准的 sprite 构建模板中创建一个全新的项目,那行得通吗?如果是这样,可能是对项目所做的修改。
  • 当我检查时,我的 info.plist 已损坏。我用另一个 info.plist 替换它,但仍然收到错误。我的另一个项目正在运行。有什么建议吗?
  • 创建一个可以工作的新项目。将修改后的版本一一移植过来,看看它是否最终崩溃。这可能会也可能不会很乏味,具体取决于有多少变化。一个不错的差异工具应该有助于加快这项工作。除了 info.plist 之外还有更多变化吗?

标签: objective-c cocos2d-iphone spritebuilder


【解决方案1】:

XCode 引用了错误的 info.plist 文件。在 Build Settings 中,info.plist 路径应该是“Source/Resources/Info.plist”而不是“$(SRCROOT)/Source/libs/cocos2d-iphone/external/Chipmunk/xcode/main-Info.plist”。更改路径修复它。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
  • 1970-01-01
  • 1970-01-01
  • 2011-08-14
  • 2018-09-05
  • 2020-11-06
  • 2015-06-23
相关资源
最近更新 更多