2011-04-21 92 views
1

我想测试我的应用程序的旧手机,并得到一个3.1.2。但是当我尝试运行它时,它只是显示启动画面,然后崩溃。Xcode 4模板不适用于iOS 3.1.2

然后我试图从Xcode 4模板中创建一个新的Hello World基于视图的应用程序,但即使使用这个,它也可以正常构建,但在启动时崩溃。我将部署目标设置为3.1。

如果我尝试使用iPad 3.2模拟器运行这一个,它也会崩溃。

问题在哪里?

当我在iOS设备上运行它,它给出了这样的警告,然后就停止,而不是真的崩溃:

警告:与加载的库检测UUID不匹配 - 在磁盘上是: /开发/平台/的iPhoneOS平台/设备支持/ 3.1 /符号/系统/库/ Priv

更新: 我发现我之前由于某种原因在DeviceSupport文件夹中创建了从3.1.2(7D11)到3.1.2的快捷方式。我删除了,现在我不再收到警告。刚碰撞;)

0 gdb-arm-apple-darwin
0x000000010010974a internal_vproblem + 308 1 gdb-arm-apple-darwin
0x0000000100109924 internal_verror + 27 2 gdb-arm-apple-darwin
0x00000001001099c2 align_down + 0 3
gdb-arm-apple-darwin
0x0000000100150c5e macosx_solib_add + 794 4 gdb-arm-apple-darwin
0x000000010016417c remote_macosx_complete_create_or_attach + 187 5 gdb-arm-apple-darwin 0x000000010016489e remote_macosx_create_inferior + 1252 6 gdb-arm-apple-darwin
0x000000010005f6c3 run_command_1 + 586 7 gdb-arm-apple-darwin
0x0000000100107b7f execute_command + 557 8 gdb-arm-apple-darwin
0x00000001000171e7 mi_execute_async_cli_command + 204 9
gdb-arm-apple-darwin
0x00000001000168e5 captured_mi_execute_command + 344 10 gdb-arm-apple-darwin
0x0000000100072a62 catch_exception + 57 11 gdb-arm-apple-darwin
0x000000010001443e mi_execute_command + 140 12 gdb-arm-apple-darwin 0x0000000100077721 process_event + 133 13 gdb-arm-apple-darwin
0x0000000100078435 gdb_do_one_event + 1049 14 gdb-arm-apple-darwin
0x0000000100072b49 catch_errors + 70 /SourceCache/gdb/gdb-1518/src/gdb/macosx/macosx-nat-dyld.c:1648: internal-error: unrecognized shared library breakpoint A problem internal to GDB has been detected, further debugging may prove unreliable.

当运行iPad的模拟器,它崩溃在这条线中HelloWorldAppDelegate.m: self.window.rootViewController = self.viewController;

此消息: 2011-04-21 11:46:09.006的HelloWorld [5492:207] * - [一个UIWindow setRootViewController:]:无法识别的选择发送到实例0x4c11bb0 2011-04-21 11点46: 09.007的HelloWorld [5492:207] 终止应用程序由于未捕获的异常 'NSInvalidArgumentException',理由是: ' ** - [一个UIWindow setRootViewController:]:无法识别的选择发送到实例0x4c11bb0'

UPDATE: 这是通过解决这个:

// self.window.rootViewController = self.viewController; 
    [self.window addSubview: [self.viewController view]]; 
+0

你可以发布崩溃日志吗? – kubi 2011-04-21 09:32:24

+0

我更新了我的帖子。 – Snilleblixten 2011-04-21 09:49:08

+0

尝试使用NSLog()来确定应用程序停止在哪一点。 – dasdom 2011-04-21 14:23:24

回答

2

在您的应用程序委托中使用[window addSubview: [myRootViewController view]];而不是[window: setRootViewController: myRootViewController];

+0

谢谢,这使得它在iPad 3.2模拟器中工作,但仍然旧iPhone停止(没有错误)。 – Snilleblixten 2011-04-21 11:02:05

2

我和你有完全相同的问题,而我从Xcode 4模板创建的每个应用程序都会给我你描述的错误。通过查看一些示例代码包含在Xcode 4的在线文档,我发现,它的工作原理上的iPhone 3G运行3.1.3如果我换成

self.window.rootViewController = self.navigationController;

[self.window addSubview:self.navigationController.view];

这为iPhone运行3.1.3做了。

相关问题