これまでのところ、送信先のパスapplication:openURL:sourceApplication:annotation:
は次のとおりであることがわかりました。
file://localhost/private/var/mobile/Applications/<GUID>/Documents/Inbox/file
実行しようとしているファイルシステム操作が実際に成功する可能性が高いことを確認するには (および、指定された URL がサンドボックス外の場所ではないことを確認します)、次のようにする必要があります。
NSString* hdurl = [[@"file://localhost/private" stringByAppendingString:NSHomeDirectory()] stringByAppendingString: @"/"];
NSString* path = url.absoluteString;
if ([path hasPrefix:hdurl]) {
// now ready to e.g. call fopen on: [path substringFromIndex:@"file://localhost".length]
さて、私は過去にfile:///
スタイル URL が使用されているのを見たことがあることを漠然と思い出しているようです (これはおそらく間違っています)。これにより、このコードが失敗することは明らかです。
file://localhost
常にURL プレフィックスが付けられることをどのように知ることができますか?
URL に関するApple のドキュメントには、奇妙にもファイル URL に関するセクションがありません。