[Objective-C]CGImageRefで強制終了した話
1099 ワード
Swiftが流行る中でObjective-Cの記事かよというツッコミはあると思いますが、多分、Swiftでも起こる話なので見ていってください。
CGImageRefって何?という方は下の記事が結構細かく書かれているので読んでください。
コードを組んでいる最中にXcodeでdebugビルドしたところ問題なく、releaseビルド時のみ強制終了したところから始まります。
始め、どこで強制終了しているか不明で調査するしたところ、どうやら以下のコードで強制終了しているようでした。
// imgのcgImageRefはライブラリで定義されていたもの
CGImageRef imageRef = [img cgImageRef];
UIImage *image = [UIImage imageWithCGImage:imageRef];
解決方法は簡単で一度定義されているCGImageRefを直接入れればいいということでした。
// imgのcgImageRefはライブラリで定義されていたもの
UIImage *image = [UIImage imageWithCGImage:[img cgImageRef]];
直前で定義したものが次の行で解放されていることに驚きを隠せませんでした。
因みにStackOverflowの英語記事にあったような気がしますが、見つけにくかったのでメモ書き程度にこちらで記載しました。
Author And Source
この問題について([Objective-C]CGImageRefで強制終了した話), 我々は、より多くの情報をここで見つけました https://qiita.com/KanaYuzusora/items/e47b2ed48e9425d75cce著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .