2017-08-02 8 views
0

100以上の質問を持つiPadアプリを作成しています。ユーザーはそれぞれの質問の回答を取得し、すべての質問についても写真を撮る。 iOS 9でtheaseアプリケーションを実行するとうまくいきますが、プロジェクトがiOS 10に移行すると、アプリケーションがクラッシュします(ユーザーが30以上の画像を撮ると)。私は解決策を見つけることができませんでした。ここ は私のサンプルコードはまた、私は、画像を選んで変換画像ピッカーコントローラを使用すると、アプリケーションがiOS 10でランダムにクラッシュする

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInf{ 


isImageChanged = YES; 
[self.btnSelectImage setImage:image forState:UIControlStateNormal]; 
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) 
{ 
    //Edited by Sarfaraj on 10th Sept, 2014 == > 

    [popOverSelectImage2 dismissPopoverAnimated:YES]; 

    [self.captionView removeFromSuperview]; 

    UIViewController *vc = [[UIViewController alloc]init]; 

    //  vc.view = self.captionView; 

    vc.view.frame = self.captionView.frame; 

    [vc.view addSubview: self.captionView]; 



    /* 

    [vc.view setFrame:self.captionView.frame]; 

    for (UIView *object in self.captionView.subviews) { 



    [vc.view addSubview:object]; 

    } 

    */ 

    // < == 

    [popOverSelectImage dismissPopoverAnimated:NO]; 

    popOverSelectImage = [[UIPopoverController alloc] initWithContentViewController:vc]; 


    [popOverSelectImage setPopoverContentSize:CGSizeMake(self.captionView.frame.size.width, self.captionView.frame.size.height) animated:NO]; 



    //popOverSelectImage.contentViewController = vc; 


    [popOverSelectImage presentPopoverFromRect:currBtnRectForPopoverImage inView:self.view permittedArrowDirections:UIPopoverArrowDirectionRight animated:NO]; 
} 
else 
{ 
    [self dismissModalViewControllerAnimated:YES]; 
} 

imageToSave = image; 

}

....です。誰も私を助けることができますか?それは私にとっては非常に有益です。もう1つ、私はプロジェクトをシミュレータに実行すると、クラッシュしません。コンソール部分は私が取得しています - >通信エラー:{count = 1、contents = "XPCErrorDescription" => {length = 22、contents =「接続中断」}

+1

ワットを使用してみては? –

+0

私は30以上の画像を撮るとき、私はコンソール部にメモリ警告しか持っていません。しかし、IOS 9、私はクラッシュを取得していません。どうして? – Abir

+0

info.plistファイルにフォトギャラリーアクセスプライバシーを追加しましたか? –

答えて

0

私だと思う。この問題を解決することがありディスパッチを使用して、クラッシュが言うん

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{ 

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 

      // your code 

     }); 

    } 
+0

amiこのコードをimagepickerコントローラデリゲートメソッドに使用しますか? @ – Abir

+0

私も [[NSOperationQueue mainQueue] addOperationWithBlockを使用します:^ { imageData = [self useImage:image]; [self.btnSelectImage setImage:[UIImage imageWithData:imageData] forState:UIControlStateNormal]; self.imagePicker = nil; }]; しかし、何も起こりません。 – Abir

+0

はい。してください。編集コードを参照してください –

関連する問題