2012-02-15 80 views
2

我的第一代iPad(iOS 5.0.1)的测试者之一正在抱怨不断崩溃。从描述给我们的方式来看,我们确信当设备收到低内存警告时会发生崩溃。低内存警告始终导致iPad(第1代)崩溃

为了证明这一点,我们给测试人员提供了一个内存版本,该版本没有足够的内存来降低内存警告并且工作正常。但这不是一个解决办法。

我们有一款优秀的20代第一代iPad作为beta测试者,他们都没有遇到同样的问题。

是否有可能在设备上设置可能导致低内存警告时崩溃的内容?

iOS 5.0.1安装不正确?

有没有人有任何想法,为什么这个设备特别是在低内存警告崩溃,没有其他?

任何帮助将不胜感激, - 丰富

+0

你试过从设备获取崩溃日志,并从它那里得到的任何信息? – adig 2012-02-15 11:53:22

回答

2

可以肯定,你应该尝试从设备的崩溃日志。测试人员必须将设备与iTunes同步,然后导航到iTunes复制任何崩溃报告的文件夹。这取决于你使用的平台。

Mac OS X: ~/Library/Logs/CrashReporter/MobileDevice/<DEVICE_NAME> 
Windows XP: C:\Documents and Settings\<USERNAME>\Application Data\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME> 
Windows Vista or 7: C:\Users\<USERNAME>\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME> 

<USERNAME>是计算机的用户的登录名。 <DEVICE_NAME>是iPod touch或iPhone的名称,例如“我的iPhone”。

有一些方法可以自动收集崩溃报告,我贴在可能性的概述,这里另一个答案的一部分:Including custom data into iOS crash dumps

另外在iOS的模拟器进行测试时,可以自动存储警告。子类UIViewController并在视图控制器出现时自动触发内存警告。

这里是如何做到这一点的一些示例代码:

#import "BaseViewController.h" 

@interface BaseViewController (Private) 
- (void)simulateMemoryWarning; 
@end 

@implementation BaseViewController 

- (void) viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 

#if TARGET_IPHONE_SIMULATOR 
#if defined (CONFIGURATION_Debug) 
    // If we are running in the simulator and it's the DEBUG target 
    // then simulate a memory warning. Note that the DEBUG flag isn't 
    // defined by default. To define it add this Preprocessor Macro for 
    // the Debug target: DEBUG=1 
    [self simulateMemoryWarning]; 
#endif 
#endif 
} 

- (void)simulateMemoryWarning { 
#if TARGET_IPHONE_SIMULATOR 
#if defined (CONFIGURATION_Debug) 
    SEL memoryWarningSel = @selector(_performMemoryWarning); 
    if ([[UIApplication sharedApplication] respondsToSelector:memoryWarningSel]) { 
    [[UIApplication sharedApplication] performSelector:memoryWarningSel]; 
    } else { 
    NSLog(@"%@",@"Whoops UIApplication no loger responds to -_performMemoryWarning"); 
    } 
(CFStringRef)@"UISimulatedMemoryWarningNotification", NULL, NULL, true); 
#endif 
#endif 
} 

@end 

继承自己的视图控制器时,而不是从UIViewController的子类现在用这个。此代码最初张贴在这里https://gist.github.com/956403并调整在Xcode 4.2.1工作从这里https://stackoverflow.com/a/2785175/474794

+0

不确定为什么此问题已关闭,因为我们的部分用户在此硬件和软件上并看到相同的问题。我们确实看到一段时间后,低内存警告会比平时更频繁地弹出,导致iPad无法使用。此处发布的解决方案仅用于重置所有设置,可快速解决问题。 http://www.jackenhack.com/ipad-first-gen-crashing/ – sean808080 2014-08-15 12:10:10

1

将溶液加入我运行5.0.1一个iPad 1用户,我有这个问题的所有各类应用程序的时间(Safari,Dropbox,Pages,愤怒的小鸟,香料盗贼等)。如果你想崩溃日志,我会很乐意提供尽可能多的你喜欢的。

我可以让游戏运行一段相当长的时间的唯一方法是关闭几乎所有额外的“服务”(电子邮件,通知,位置),然后重新启动设备。然后强制所有进程关闭。我已经恢复了设备,并在5.1出现之前将所有设备都恢复正常。

如果你有一个特定的应用程序,你想我测试我会很乐意。

我有一个iPad 3G 16GB

安德烈