« [plutil]他のコマンド類との比較 | トップページ | [edgemac]キャッシュをゴミ箱に入れる(更新 GraphiteDawnCache追加) »

[Plist]Plist まとめ 更新



A:入力
B:編集
C:出力
D:備考


Application
Xcode
https://developer.apple.com/xcode/
Prefs Editor
https://apps.tempel.org/PrefsEditor/


A:入力
1:DATA
[Plist]NSDATAを使って読み込む
https://quicktimer.cocolog-nifty.com/icefloe/2023/07/post-14ff50.html
2:Dict
[PLIST]値の取得 基本
https://quicktimer.cocolog-nifty.com/icefloe/2023/06/post-46307d.html
[Plist]Plistの値の変更 writeToURL:atomicallyが非推奨→ writeToURL:errorに変更
https://quicktimer.cocolog-nifty.com/icefloe/2024/03/post-ee5c62.html
3:キーアーカイブ
セキュリティ上の理由もあるが
NSURL等 PLISTには保存できない形式も保存が可能
[基本]NSKeyedArchiver
https://quicktimer.cocolog-nifty.com/icefloe/cat76056161/index.html
NSKeyedUnarchiver
https://quicktimer.cocolog-nifty.com/icefloe/cat76055043/index.html
4:ファイルから
[PLIST]値の取得 基本 その1 plistを読み込んでPlistで保存
https://quicktimer.cocolog-nifty.com/icefloe/2023/09/post-e591c4.html
[plutil]Plistのフォーマット変更(サービスメニュー用)
https://quicktimer.cocolog-nifty.com/icefloe/2023/09/post-4fcfa5.html
5:JSON
[JSON]JSONの取扱 その1(rootがDict形式の場合
https://quicktimer.cocolog-nifty.com/icefloe/2023/09/post-7ac684.html
[JSON]JSONの取扱 その2(rootがArray形式の場合)
https://quicktimer.cocolog-nifty.com/icefloe/2023/09/post-0ed292.html
その他
https://quicktimer.cocolog-nifty.com/icefloe/cat76049735/index.html


B:編集
[PLIST]値の取得 基本
https://quicktimer.cocolog-nifty.com/icefloe/2023/06/post-46307d.html
1: /usr/bin/defaults
[Plist]defaults read
https://quicktimer.cocolog-nifty.com/icefloe/2023/09/post-035836.html
[Plist]defaults write
https://quicktimer.cocolog-nifty.com/icefloe/2023/09/post-8926ec.html
2: /usr/libexec/PlistBuddy
https://quicktimer.cocolog-nifty.com/icefloe/cat76027586/index.html
3: /usr/bin/plutil
https://quicktimer.cocolog-nifty.com/icefloe/2023/09/post-892166.html
[plutil]他のコマンド類との比較
https://quicktimer.cocolog-nifty.com/icefloe/2024/04/post-99d8b7.html
4: /usr/bin/xmllint
https://quicktimer.cocolog-nifty.com/icefloe/2023/09/post-c9efbb.html
5: AppleScript System Events
https://quicktimer.cocolog-nifty.com/icefloe/cat76056176/index.html
6: AppleScript Oc
https://quicktimer.cocolog-nifty.com/icefloe/2023/09/post-e591c4.html
7:Xcode
https://quicktimer.cocolog-nifty.com/icefloe/2023/09/post-cdefb1.html
8:Visual Studio Code
https://quicktimer.cocolog-nifty.com/icefloe/2023/09/post-d25c0e.html


C:出力
NSDATA
[Plist]Plistの値の変更 writeToURL:atomicallyが非推奨→ writeToURL:errorに変更
https://quicktimer.cocolog-nifty.com/icefloe/2024/03/post-ee5c62.html

writeToURL:options:error:
writeToURL:atomically: での保存になります
Plistはバイナリー形式が基本です。アクセスや読み込みが速いからかな?と思います
1:バイナリ


【スクリプトエディタで開く】|

set ocidFormat to (refMe's NSPropertyListBinaryFormat_v1_0)
set ocidPlistData to refMe's NSPropertyListSerialization's dataWithPropertyList:("ここにDICTデータ") format:(ocidFormat) options:0 |error|:(reference)


2: XMLモバイルコンフィグ等XMLであった方が編集しやすい時は迷わずこちら

【スクリプトエディタで開く】|

set ocidFormat to (refMe's NSPropertyListXMLFormat_v1_0)
set ocidPlistData to refMe's NSPropertyListSerialization's dataWithPropertyList:("ここにDICTデータ") format:(ocidFormat) options:0 |error|:(reference)


3:キーアーカイブ
[基本]NSKeyedArchiver 圧縮
https://quicktimer.cocolog-nifty.com/icefloe/cat76056161/index.html

カテゴリー 解凍 NSKeyedUnarchiver
https://quicktimer.cocolog-nifty.com/icefloe/cat76055043/index.html
4:JSON
https://quicktimer.cocolog-nifty.com/icefloe/cat76049735/index.html



D:備考
mobileconfigは中身はPLIST
[mobileconfig]AppleScriptでの処理の基本(再考)
https://quicktimer.cocolog-nifty.com/icefloe/2022/05/post-9dad8c.html
LSSharedFileListはキーアーカイブされたPLIST
AppleScript LSSharedFileList
https://quicktimer.cocolog-nifty.com/icefloe/cat76055054/index.html
検索条件を記録してあるsavedSearchもPLIST
[savedSearch]検索条件ファイルを作成する
https://quicktimer.cocolog-nifty.com/icefloe/2023/06/post-e476bb.html


[Webloc]ロケーションファイル(com.apple.generic-internet-location)もPLIST
インターネット・ロケーションファイルまとめ
https://quicktimer.cocolog-nifty.com/icefloe/cat76053046/index.html


plutil defaults PlistBuddyの文法の比較


#!/bin/bash
#com.cocolog-nifty.quicktimer.icefloe
#
#plutil
STR_USR_LANG=$(/usr/bin/plutil -extract AppleLanguages.0 raw -expect string $HOME/Library/Preferences/.GlobalPreferences.plist ) 
/bin/echo "plutil:ユーザー設定の第1言語は $STR_USR_LANG です"
#defaults
STR_USR_LANG=$(/usr/bin/defaults read $HOME/Library/Preferences/.GlobalPreferences AppleLanguages| tr -d "[:space:][(][)]\""|cut -d , -f 1 )
/bin/echo "defaults:ユーザー設定の第1言語は $STR_USR_LANG です"
#PlistBuddy
STR_USR_LANG=$(/usr/libexec/PlistBuddy -c "Print:AppleLanguages:0" "$HOME/Library/Preferences/.GlobalPreferences.plist")
/bin/echo "PlistBuddy:ユーザー設定の第1言語は $STR_USR_LANG です"

exit 0




Serialization004_20231028110801


Screen-20231028-110332

|

« [plutil]他のコマンド類との比較 | トップページ | [edgemac]キャッシュをゴミ箱に入れる(更新 GraphiteDawnCache追加) »

AppleScript XML Plist」カテゴリの記事