URLといくつかのテキストとともに、画像を共有していUIActivityViewController
ます. 画像ファイル名が常に拡張子のない「Image-1」であることを除いて、すべてがうまく機能します。場合によっては、拡張子のない画像をまったく開けないメール アプリなど、大きな問題が発生することがあります。
イメージはアプリケーションによって生成され、UIImage
.
ファイル名を制御し、正しい拡張子を画像に追加する方法はありますか?
URLといくつかのテキストとともに、画像を共有していUIActivityViewController
ます. 画像ファイル名が常に拡張子のない「Image-1」であることを除いて、すべてがうまく機能します。場合によっては、拡張子のない画像をまったく開けないメール アプリなど、大きな問題が発生することがあります。
イメージはアプリケーションによって生成され、UIImage
.
ファイル名を制御し、正しい拡張子を画像に追加する方法はありますか?
そのアプリケーションが画像(UIImage
参照)を生成した場合は、以下のコードを使用できます。
[mailComposer addAttachmentData: UIImagePNGRepresentation(viewImage) mimeType:@"" fileName:@"myImage.png"];
私は自分のプロジェクトに同じコードを使用しました。このコードでは、メソッドを使用して独自のPNG形式の画像を作成できますUIImagePNGRepresentation()
。
JPEG画像が必要な場合は、UIImageJPEGRepresentation()
メソッドを使用してください。次に、上記の方法で.jpg
拡張子を付けてファイル名を変更します。
両方のメソッドの詳細については、UIKitクラスリファレンスを参照してください。
UIImage のファイル名またはエンコーディング タイプを制御する唯一の方法は、それをデバイス上のファイルに保存し、そのファイルの URL を UIActivityViewController にフィードすることです。これを達成するために使用できるコードについては、この回答をご覧ください。このアプローチにはいくつかの明らかな欠点がありますが、ほとんどのアプリケーションにはおそらく十分です。