「Xamarin.Macでplistファイルを読み書きする」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) 細 (Administrator がページ「Xamarin.Mac/plistファイルを読み書きする」を「Xamarin.Macでplistファイルを読み書きする」に移動しました) |
2019年12月25日 (水) 08:04時点における最新版
概要[編集 | ソースを編集]
Mac OS Xではプロパティリスト(plistファイル)と呼ばれるデータを読み書きする際の標準形式が存在する。 このプロパティリストはMac OS Xでのプログラミングでは避けては通ることができないと思われる。
プロパティリストの拡張子はplist一種類だが中身の形式は大きく分けて以下の3種類がある。
- NeXTSTEP
- Binary
- XML
このプロパティリストを扱う方法は複数が存在するようだが、それぞれ対応する「読める」および「書ける」形式が若干異なるようだ。
方法:NSDictionaryで読み書きする[編集 | ソースを編集]
NSDictionary.FromFileメソッドで読み込み、NSDictionary.WriteToFileメソッドで書き込むだけである。読み込みはバイナリ形式もXML形式も自動で判別し適切に処理してくれる。書き込みは問答無用でXML形式となる。
using System;
using System.IO;
using MonoMac.Foundation;
using MonoMac.AppKit;
namespace DockAccess
{
class MainClass
{
static void Main(string[] args)
{
NSApplication.Init();
// Dock情報が格納されているplistファイルのパス
var file = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
"Library/Preferences/com.apple.dock.plist");
Console.WriteLine(file);
// 読み込む
var dic = NSDictionary.FromFile(file);
Console.WriteLine(dic);
// 書き込む
dic.WriteToFile(file + ".tmp");
}
}
}
関連項目[編集 | ソースを編集]
- MonoMac/特殊ディレクトリのパスを取得する
- Xamarin.Mac/NSApplicationのサブクラスを使う
- Xamarin.Mac/Dockアイコンを非表示にする
- Xamarin.Mac/OSのバージョンを取得する
- Xamarin.Mac/アクセシビリティの許可の有無を取得する