我在Xcode 3.2.5中开始了一个新项目,其中一切都是在代码中完成的。虽然我期待在Xcode 4中集成IB,但我不想这次使用xib。
当我在json文件中编辑一个字符串时出现了问题。在运行代码时,我注意到旧的字符串出现,即使文件确实已更改,因此我删除了Library/Application Support/iPhone Simulator
文件夹,期望我的json更改将被加载到包中,然后代码将看到预期的值
然后命令-Y构建并运行它不会运行。虽然我的项目文件夹中没有MainWindow.xib,但我的Info.plist文件引用了MainWindow.xib。 (我使用Xcode的New Project模板创建了这个iPhone应用程序后删除了它)所以我从plist中删除了该键,在我第一次运行模拟器后安装到模拟器中时,xib必须已经在应用程序包中。应用
然后我再次运行应用程序。 didFinishLaunchingWithOptions
上没有任何投诉,只有黑屏 - 以及我的应用代表中的断点。
我在main.m中没有改变任何东西。该应用程序无法启动怎么样?
答案 0 :(得分:2)
我认为当你删除MainWindow.xib
时,有些事情搞砸了。请尝试以下步骤,看看它是否能解决问题。
在“项目”菜单下,选择Edit Active Target
。选择“属性”选项卡,并清空“主笔尖文件”字段。关闭“目标信息”窗口。
在Other Sources组下,编辑main.m文件。在UIApplicationMain函数调用中,将最后一个参数更改为应用程序委托类的名称。
int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
在您的应用程序委托中,您需要创建一个窗口对象。我在-applicationDidFinishLaunching中执行此操作:如果你在MainWindow.xib中定义了其他任何东西,你也可以在这里创建它。
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
UIWindow *appWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window = appWindow;
[appWindow release];
}
如果这不起作用,请告诉我,我可以用另一种方式给你。
答案 1 :(得分:0)
听起来你没有在XIB中连接view
。
答案 2 :(得分:0)
这与@“AppDelegate”相同,但您也可以这样写:
(argc, argv, nil, NSStringFromClass([AppDelegate class]))