1

在我当前的应用程序遇到的许多问题中,这是最烦人的问题之一。

在模拟器中,登录对话框工作正常,但在设备上它只是一个冻结的白框,控制台打印以下内容:

void SendDelegateMessage(NSInvocation*): delegate 
(webView:resource:willSendRequest:redirectResponse:fromDataSource:) 
failed to return after waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode

我已经查过了,但我仍然不确定它是什么意思。

如果我尝试切换

[self authorizeWithFBAppAuth:NO safariAuth:NO];

[self authorizeWithFBAppAuth:NO safariAuth:YES];

它切换到 safari 应用程序进行验证,但这以某种方式杀死了我的应用程序并显示错误消息ReturnNotPermittedKillClient

有没有人遇到过类似的问题?在我的上一个应用程序中,它没有任何这些问题,而且据我所知,这次我所做的一切都是一样的。然而,这个项目是从其他人那里继承的,所以可能有我不知道的根本原因。

编辑:刚刚尝试将登录请求从 didFinishLaunchingWithOptions 移动到介绍屏幕类中已加载其他所有内容的点,以防万一这是由于尝试同时运行的任务过多而导致的内存问题。这次没有出现错误消息,但是登录框仍然保持白色,几秒钟后关闭了应用程序。

Edit2:似乎这只是一个内存错误。我将之前发布的所有变量都更改为保留,这解决了我的 3GS 上的问题。但是在我的 iPad 1 上问题仍然存在。顺便说一句,当shouldAutorotateToInterfaceOrientation从使用 Landscaperight 更改为使用 Landscaperight 或 Landscapeleft 时,当我旋转 iPad 时,我会收到内存警告,然后出现同样的崩溃。在这两种情况下,除了内存警告之外没有调试错误消息,并且应用程序只是关闭 - 没有断点等来查看问题所在。

4

2 回答 2

1

如果您使用的是 webview,那么我们需要首先执行此操作 b4 移动到下一个视图 .delegate = nil;

这可能是您想要的:文档中的 NSObject 中还有其他分支。

代码:[self performSelector:withObject:afterDelay:]

于 2012-05-18T11:23:45.007 回答
0

问题只是归结为记忆。在改变它加载图像、声音等的方式后,问题就消失了。

于 2012-06-06T14:46:07.613 回答