.weblocファイルの作成



Crafting Webloc File



解決:

あまり知られていませんが、webloc用の単純なplistベースのファイル形式もあります。

weblocファイルを作成するとき 必要はありません 他の3つのポスターが説明しているリソースメソッドを使用してそれらを保存します。簡単なplistを書くこともできます:



URL http://apple.com

バイナリリソース形式はまだアクティブに使用されており、plistファイルを読み取りたい場合は、両方のファイル形式を読み取る必要があることを確認してください。しかし、ファイルを作成するときは(plistベースの形式を使用してください)、はるかに簡単です。


.weblocファイルのデータフォークには何もありません。代わりに、リソースとして参照するURLをリソースフォークに格納します。これは、DeRez(1)ツールを使用してコマンドラインで確認できます。



ここで私はそれを実行しましたこの質問のためにSafariアドレスバーからドラッグした.weblocファイル:

%DeRez'Desktop / Crafting .webloc file-Stack Overflow.webloc 'data'drag'(128、 'Crafting .webloc file-#1701953'){$ '0000 0001 0000 0000 0000 0000 0000 0003' / *...。 ............ * / $ '5445 5854 0000 0100 0000 0000 0000 0000' / *テキスト............ * / $ '7572 6C20 0000 0100 0000 0000 0000 0000 '/ * url ............ * / $' 7572 6C6E 0000 0100 0000 0000 0000 0000 '/ * urln ............ * /}; data'url '(256、' Crafting .webloc file-#1701953 '){$' 6874 7470 3A2F 2F73 7461 636B 6F76 6572 '/ * http:// stackover * / $' 666C 6F77 2E63 6F6D 2F71 7565 7374 696F '/ * flow.com/questio * / $ '6E73 2F31 3436 3537 352F 6372 6166 7469' / * ns / 146575 / Crafti * / $ '6E67 2D77 6562 6C6F 632D 6669 6C65' / * ng-webloc-file * /};データ 'TEXT'(256、 'Crafting .webloc file-#1701953'){$ '6874 7470 3A2F 2F73 7461 636B 6F76 6572' / * http:// stackover * / $ '666C 6F77 2E63 6F6D 2F71 7565 7374 696F' / * flow.com/questio * / $ '6E73 2F31 3436 3537 352F 6372 6166 7469' / * ns / 146575 / Crafti * / $ '6E67 2D77 6562 6C6F 632D 6669 6C65' / * ng-webloc-file * /}; data'urln '(256、' Crafting .webloc file-#1701953 '){$' 4372 6166 7469 6E67 202E 7765 626C 6F63 '/ * Crafting .webloc * / $' 2066 696C 6520 2D20 5374 6163 6B20 4F76 '/ *ファイル--Stack Ov * / $ '6572 666C 6F77' / * erflow * /};

おそらくそこにある必要がある唯一のリソースは「url」とID 256の「TEXT」リソース。おそらくリソース名も必要ありません。 NS「urln」リソースは、URLが指すドキュメントのタイトルも含める場合に便利です。 NS「ドラッグ」リソースは、これがクリッピングファイルであることをシステムに通知しますが、この時代に存在する必要があるかどうかはわかりません。

リソースとファイルのリソースフォークを操作するには、リソースマネージャーを使用します。これは、元のMacに戻るCarbonの基盤となる部分の1つです。ただし、Nathan DayのNDResourceForkなど、ResourceManager用のCocoaラッパーがいくつかあります。




.weblocファイル(より一般的には、インターネットロケーションファイル)は、定義がMac OS8.xに戻る形式で記述されています。これはリソースベースであり、テキストや画像などのドラッグされたオブジェクトからファイルを作成するときに取得するクリッピング形式から派生しています。

書かれたリソースは'url'256およびURLを格納する「TEXT」256、およびオプションで、URLに関連付けられたテキストを含む「urln」256。「ドラッグ」128は、他の2つ(または3つ)のリソースを指します。

CocoatechオープンソースフレームワークCocoaTechFoundation(BSDライセンス)の一部であるNTWeblocFileは、Objective-Cからのこれらのファイルの書き込みをサポートしています。 URLとは別にタイトルを指定する場合は、クラスを変更して、URL以外のものをURLに書き込むようにする必要があります。'urln'リソース。

Mac OS X 10.3以降では、URLはファイルのデータフォークのプロパティリストにも書き込まれます(書き込まれる場合もあります)。これがどのように機能するかについては、他の回答を参照してください...