私は iPhone 開発には比較的慣れていませんが、Windows プログラマーとして 20 年以上の経験があります。
私は最近、外部センサー データを読み取り、メモリ内のヒート マップ画像を作成し、その画像を画面にレンダリングするアプリの開発を依頼されました。
Xcode v4.6.2 - iOS 6.1 シミュレーター/iPhone 5。
(少し努力した後)私は成功しました。シミュレーターでセンサーが読み取られ、イメージ ファイルがビルドされ、ライブラリから CGImageRef として返されます。次に、次のコードを使用して、View Controller 内の UIImageView オブジェクトに読み込みます。このような:
// Line edited to remove transcription error
CGImageRef cgimg = [sensor getSensorImage : 200 : 200];
UIImage* image = [UIImage imageWithCGImage : cgimg];
imageView.image = image;
これは 6.1 シミュレーターで問題なく動作し、ヒート マップは正しく表示され、画面にレンダリングされます。iPhone 5 を接続して実行すると、何もレンダリングされません。UIImageView は灰色のままです。私が見つけることができるエラーはなく、例外もスローされません。画像オブジェクトは null ではなく、コードのすべての行が正常に実行されます。
setNeedsDisplayを呼び出しても、役に立たないようです。
私はこれについて何日も頭を悩ませてきました。
それは可能ですか:
(a) ハードウェア プロビジョニング プロファイルが不完全ですか? または (b) ハードウェアで実行すると、ビュー内の UIImageView が何らかの形でコード参照から切断されますか?