今日のウィジェットの拡張機能を持つアプリケーションを作成しようとしています。このアプリは、単に画像がいっぱいのフォルダにアクセスし、読み込んで画面に描画する必要があります。 1時間に1枚の写真。ウィジェットは同じように、ウィジェットは賢明にする必要があります。ココアがパスを壊す?
NSString *tildePath = @"~/Documents/Adrian/Art/desertMovie.jpg";
NSString *path = [tildePath stringByExpandingTildeInPath];
_image = [[NSImage alloc] initWithContentsOfFile:path];
を拡張が完全パスを台無しにメインアプリの画像をロードし、画面にそれを描きながら は完璧にこれを行う動作します。メインアプリケーションと同じコードを使用しますが、パスを完全に覆い隠します。
から:
~/Documents/Adrian/Art/desertMovie.jpg
へ:
/Users/Adrian/Library/Containers/ac.at.hulala.AK.ImageViewer2.ImageViewerWidget/Data/Documents/Adrian/Art/desertMovie.jpg
私は "〜" せずにパスを使用する場合、パスは同じままですが、画像はまだロードされません。
誰かが、メインアプリケーションと同じフォルダにアクセスする必要があることを教えてもらえますか?
EDIT: アプリをアーカイブしてエクスポートすると、その問題が解決されたようです。しかし、私はまだ開発中にこれを動作させる方法を知りたいです。
EDIT2: これはとても変です! Todays Extensionウィジェットを使って作業する場合、@"~/Pictures
のようなパスはf ***のような/Users/Me/Libraries/Containers/ac.at.ImageViewerWidget/Data/
につながります。なぜですか? パスを@"/Users/Me/Documents/Pictures
に強制して実行すると、メモリ使用量が徐々に増加して限界に達し、システムが異常終了します。私は本当にそれを取得しません。私はウィジェットがファイルを見つけていないと思うので、ssd全体をロードしようとします。私は推測する。私は本当にここで何が問題か分からない。
誰かが私を光の中に導くことができますか?
私は本当にこれについていくつかの助けが必要です。私はまた、拡張機能についてリンゴのドキュメンテーションで何も見つけられません。 – user148013