2

MFMailComposeViewControllerを使用して、プロジェクトに追加した画像を送信しようとしています。

シミュレーターでこれを試しましたが、正常に動作し、テキストフィールドに画像も表示されますが、メールを送信しようとすると、コンソールで次のエラーが発生します。

2月10日16:22:02markuss-macbook-pro.speedport.ipRMC Konus [1825]:CGImageCreate:無効な画像サイズ:0x0。

私のコード:

//Get the Image
UIImage *image = [UIImage imageNamed:@"image.png"];

NSData *imageData = UIImagePNGRepresentation(image);

//Create the Mail View
MFMailComposeViewController *mailCV = [[MFMailComposeViewController alloc] init];

[mailCV setMailComposeDelegate:self];



[mailCV addAttachmentData:imageData mimeType:@"image/png" fileName:@"exGraphic.png"];

//Show the View Controller
[self presentViewController:mailCV animated:YES completion:nil];
4

2 に答える 2

2

問題はシミュレーターでのみ発生します。私は多くの異なるデバイスでこれらのコードをチェックしましたが、それでも問題なく動作します。だから私は、それはシミュレーターの問題だと思います...

于 2013-06-02T03:13:03.477 に答える
0

UIImagePNGRepresentationの戻り値(アップルドキュメントから)-

PNGデータを含むデータオブジェクト。データの生成に問題があった場合はnil。画像にデータがない場合、または基になるCGImageRefにサポートされていないビットマップ形式のデータが含まれている場合、この関数はnilを返すことがあります。

これは、画像がpng形式のNSDataに変換できるかどうかを確認することを意味します。これは、ここでNULLを受け取っているためです。エラーCGImageCreate: invalid image size: 0 x 0.は、画像がNULLであることを示しています。
画像を変更して確認してください。[UIImage imageNamed:@""]また、この方法には多くの欠点があるため、使用せずにチェックしてください。

もう1つ、image.png画像をNSDataに変換し、別の画像exGraphic.pngを添付ファイルとして送信しました。確認してください。

于 2013-02-10T17:04:39.063 に答える