私の次のコードは iOS6+ では正常に動作していますが、iOS5では3 回ごとにクラッシュします。はい、2 回は正常に動作し、3 回目はクラッシュします。同じボタンを何度もタップするだけで、特別なことはしていません。次のコード行を含むこのメソッドを呼び出すボタン。
self.imagePopover = nil;
UIImagePickerController* imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
UIPopoverController *imagePop = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
[imagePop presentPopoverFromRect:self.profileImageButton.frame inView:self.profileImageButton permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
self.imagePopover = imagePop;
そして、そして
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
picker.delegate = nil;
[self.imagePopover dismissPopoverAnimated:YES];
}
以下は、クラッシュのコンソールでの内容です
*** -[PLUISavedPhotosAlbumViewController hash]: message sent to deallocated instance 0x6dbd390
Some time PLUISavedPhotosAlbumViewController
is replace by UIImagePickerController
but format of log is same Something
hash]: message sent to deallocated instance something
. そして、最初のコードの次の行でクラッシュします
[imagePop presentPopoverFromRect:self.profileImageButton.frame inView:self.profileImageButton permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];