2016-12-14 6 views
4

画像をトリミングしてサービスにアップロードできる共有拡張があります。 UIImageJPEGRepresentationにアップロードする前に画像のデータを取得するように呼びますが、メモリの過剰なメモリが原因でクラッシュします。これは、大きな画像でのみ発生し、SE上で(われわれが知る限り)didReceiveMemoryWarningは最初に呼び出されません。これは、フォトアプリを使用しているときに起こります。iPhone SEのShare ExtensionでUIImageJPEGRepresentationがクラッシュする

UIImageJPEGRepresentationを安全に呼び出すか、イメージがあまりにも大きいかどうかを確認してください。

+0

イメージ全体をメモリに読み込むのではなく、単にイメージURLを取得したと考えましたか? – eshirima

+0

アップロードする前に写真を切り抜くことができるので、データに変換するのは 'CGContext'から作成された' UIImage'です。 – rob

+0

@robこれまでの解決方法を見つけましたか?これでも苦労します。 – rocky

答えて

0

イメージファイルのサイズを確認してみませんか?イメージファイルのサイズが一定のクォータを超えている場合は、サイズを変更します。

let image: Data = UIImagePNGRepresentation(image) 
var imageSize: Double = (image.length)/1024 // in KB 
+0

'UIImagePNGRepresentation'でもクラッシュする – rob

+0

@robスローされたエラーを投稿できますか?それに加えて、あなたのコードをデバッグできるように、あなたの問題を含むサンプルGithubリポジトリを作成できますか? – eshirima

+0

@eshirimaそのためメモリ例外 – Suresh

関連する問題