iPhone 5上的应用程序崩溃

问题描述:

我做了一个显示来自AWS服务器的图像的应用程序。它适用于iPhone 4及更高版本,但是当我在iPhone 5上运行我的应用程序时,应用程序在使用WiFi或3G连接时崩溃。我做了很多测试,告诉我,当我使用S3GetObject ...iPhone 5上的应用程序崩溃

3GetObjectResponse *getObjectResponse = [[AmazonClientManager s3] getObject:getObjectRequest]; 

UIImage *tampon = [[UIImage alloc] initWithData:getObjectResponse.body]; 

应用崩溃,我不知道,如果AWS-SDK与iOS 6或不兼容,请帮助我。

+1

又是什么崩溃日志说,返回的值? –

+0

没有日志,因为当我运行的应用程序连接到Mac,但工作正常,但当我执行应用程序的连接WiFi或3g的崩溃=回到主屏幕的iPhone –

+0

@MedReda我帮助维护适用于iOS的AWS SDK和两者最新版本支持iPhone 5和iOS6。如果你可以在你的代码片段中包含S3GetObjectRequest的创建,这将会很有帮助,因为如何创建它可以对响应产生影响。 此外,您可以通过连接设备并转到Xcode>管理器>设备>您的设备>设备日志,从坠毁的应用程序获取日志。 –

根据您other questions之一,看来你仍可以包括一个旧版本的AWS SDK适用于iOS,其曾与时因为释放内置崩溃的问题包含GTMLogger库。

请确保删除对以前版本的适用于iOS的AWS开发工具包的任何引用,并更新您的项目框架包含路径。

可以确认您使用的是最新版本的SDK登录从

[AmazonSDKUtil userAgentString] 
+0

谢谢鲍勃金尼我在这个论坛上找到了解决方案https://forums.aws.amazon.com/thread.jspa?threadID=100271 –

+0

其解决方案:D => [AmazonLogger turnLoggingOff]; –

+0

@MedReda我很高兴你能解决眼前的问题,但我的回答是确保你使用最新版本仍然很重要。确保您使用的是最新版本的SDK。 –

看起来您正在使用带有Grand Central Dispatch的AWS SDK,并在同一线程上调用同步getObject:并更新UI。您需要确保在后台线程上调用getObject:,并更新主线程上的UI。你的代码看起来应该像下面这样:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 

    for(int i=0;i<ads.count;i++){ 

     NSString *phot =[ads objectAtIndex:i]; 
     NSLog(@"hna%@",phot); 
     S3GetObjectRequest *getObjectRequest = [[S3GetObjectRequest alloc] initWithKey:phot withBucket:@"olfactifPhoto"]; 
     S3GetObjectResponse *getObjectResponse = [[AmazonClientManager s3] getObject:getObjectRequest]; 

     dispatch_async(dispatch_get_main_queue(), ^{ 

      UIImage *tampon = [[UIImage alloc] initWithData:getObjectResponse.body]; 
      UIImageView *tempImageView = [[UIImageView alloc] initWithImage:tampon]; 
      tempImageView.frame = CGRectMake(10,currentXLocation, 300, 310); 

      NSLog(@" il est dans la position %f",tempImageView.frame.origin.y); 
      self.monImage = tempImageView; 

      [scroll addSubview:monImage]; 
     }); 
    } 

}); 
+0

它不起作用我猜加载在iPhone 5崩溃的图像的速度 –