IKPictureTaker で「Choose」ボタンをクリックすると、奇妙なハングの問題に直面しています。IKPictureTaker を使って以下の操作を行っています。
ユーザーがプロフィール写真を変更したい場合、[イメージの変更] ボタンをクリックすると、IKPictureTakerallowsFileChoosingKey を YES に設定して、[選択] ボタンとともに IKPictureTaker ビューを表示します。
「Choose」ボタンを初めてクリックすると、開いているパネルが表示され、ユーザーは好みの画像を選択できます。
次に、「設定」ボタンをクリックすると、内部的に別のスレッドでサーバーのプロフィール写真のアップロード機能を呼び出しており、すべてがうまく機能しています。
次に、ユーザーが操作 1) と 2) を再度実行しようとすると、[選択] ボタンをクリックするとアプリケーションがハングします。
調査の結果、この問題はサーバーで行っているバックグラウンド アップロード操作に関係していることがわかりました。コードのアップロード部分にコメントを付けると、すべてがうまく見えるからです。
別のスレッドで実行されるアップロード操作に問題は見られず、アップロード操作が完了すると実行ループが放棄され、UI 関連のすべての操作が再びメイン スレッドで処理されます。
「選択」ボタンをクリックした場合にのみ、アプリケーションがハングします。最近の写真を選択するか、カメラを使用して新しい写真を撮ると、すべてうまくいきます。
同じ問題に直面した人はいますか?「選択」ボタンをクリックしたときに表示される NSOpenPanel と関係がありますか?