マスク処理でエラーが出た場合の対処方法

Objective-Cでマスク処理をしていたら

<Error>: ImageIO: CGImageDestinationAddImage image could not be converted to destination format.
<Error>: ImageIO: CGImageDestinationFinalize image destination does not have enough images

とエラー表示されマスクが出来ませんでした。ちょっとハマったので自分用メモ

原因は bitsPerPixel の値が違うとエラーが出るようです。
自分は(CGImageGetBitsPerPixelで取得できる)bitsPerPixelが8と32で処理しようとしてました。
対処方法としては 8bitカラー(256色)を32bitフルカラーに変換すれば無事マスク処理できます。

参考サイト:
256色画像からフルカラーへ変換
How to Mask an Image