AppleサポートAppおよびYouTubeチャンネルのお知らせ

* iOS向けAppleサポートAppのバージョン5.6.1が公開されました。

YouTube - Apple Japanチャンネルで有用なヒントや使い方を配信中です。

コミュニティでの投票方法と通知設定

コミュニティでの投票方法や通知の設定方法に関する記事を公開しました。

Apple Account(Apple ID)の不正利用を確認する方法

Apple Accountに関するよくある質問についてはこちらのページを、また不正利用を確認する方法についてはこちらのドキュメントをご参照ください。

しばらく返答が寄せられていないようです。 再度ディスカッションを開始するには、新たに質問してください。

Xcode15 自作のアプリケーションから関連付けしたファイル名を求めたい

Xcode15を使用してアプリケーションを作成しています。そのアプリをFinderで関連付けさせたのですが、アプリからどのファイルを選択してかを知る方法がわかりません。ProcessInfo.processInfo.arguments に設定されていないようです。ご教示のほどよろしくお願いします。

MacBook Pro 13″

投稿日 2024/03/11 12:19

返信

類似の質問

返信: 4

2024/03/11 14:04 品川地蔵 への返信

ご返事ありがとうございます。初めての投稿でうまく表現できていませんでした、すみません。

ご指摘の通りなのですが、任意のファイルに対して自作のアプリケーションを「このアプリケーションで開く」に設定しておいて、そのファイルをダブルクリックしてアプリを起動した時に、自作のアプリケーションからどのファイルをクリックしたかを知りたかったのです。

たとえば .txt のファイルをダブルクリックすると、テキストエディタがそのファイルを開くということはテキストエディタはファイルパスを渡されているということなので、同じようなことができないか、と思い色々探してみたのですが、見つからなかったので投稿させていただきました。

2024/03/11 14:23 macha184 への返信

そういうことであればApplication delegateの次のメソッドを定義すれば受け取れますね。

Objective-Cの場合でSwiftだとフォームが変わりますが。


// User double clicked file icon or drop them on to App icon, whenever app is already started or not.

- (void)application:(NSApplication *)application openURLs:(NSArray<NSURL *> *)files {

}

2024/03/11 13:34 macha184 への返信

Finderで関連付けさせた というのは ファイルのFinder Info を開いて

「このアプリケーションで開く」に設定したということでしょうか?

その場合ファイルの拡張属性に設定されるだけなので、アプリケーション側から

そのファイルを見つける方法は無いと思います。


2024/03/11 17:33 品川地蔵 への返信

Swiftに置き直して

 func application(_ application: NSApplication, open urls:[URL]) { }

これで受け取ることができました。

Developer DocumentationのOpening Filesの項目でも確認できました。

ありがとうございました、解決しました。




Xcode15 自作のアプリケーションから関連付けしたファイル名を求めたい

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。