2017年5月2日火曜日

plistの型指定

defaultsコマンドでplistファイル内の値を書き換えたらアプリが動作しないというかクラッシュするのに出くわしました。
結論としてはdefaults writeした際に型指定をしていなかったために元のDate型からString型に変わっていることが原因でした。

これってplistをdefaults readで読んでいると気付かないので注意が必要ですね。
面倒くさくてもXcodeで読むようにしなければ、、、

defaults readの例


Xcodeの例


上の例は、気付く原因となったplistではないですがDate型が入っているものです。
defaults writeで書き換える場合はちゃんと型指定してあげましょう。
ダブルクウォートで囲っているので型指定がないとStringになります。
### NG
defaults write FILENAME DOMAIN "VALUE"
### OK
defaults write FILENAME DOMAIN -date "VALUE"

0 件のコメント:

コメントを投稿