新しく撮影したスクリーンショットを開く機能を持つアプリケーションを構築しています。Mac App Store を利用して配布したいと考えています。残念ながら、サンドボックス化する必要があります。
新しいスクリーンショットを見つけるために、NSMetaDataQuery を実行します。いくつかのエントリが返されますが、残念ながらそれらの URL はデスクトップ (アプリのサンドボックスの外) にあるため取得できません。
どうすればこれを修正できますか?
ここにコードの一部があります
query = [[NSMetadataQuery alloc] init];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryUpdated:) name:NSMetadataQueryDidStartGatheringNotification object:query];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryUpdated:) name:NSMetadataQueryDidUpdateNotification object:query];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryUpdated:) name:NSMetadataQueryDidFinishGatheringNotification object:query];
[query setDelegate:self];
[query setPredicate:[NSPredicate predicateWithFormat:@"kMDItemIsScreenCapture = 1"]];
[query startQuery];
numberOfScreenshots = [query resultCount];
[self uploadToAmazonS3:[[[query results]objectAtIndex:([query resultCount]-1)]valueForAttribute:NSMetadataItemURLKey]];
ありがとう