2013-07-27 26 views
4

我正在为设置中的开/关按钮创建cydia应用程序的sbsettings切换。编辑应用程序的.plist文件

我已经从疯狂的cydia回购下载了“SBsettings Scripty”,这是一个预置的开关。当按钮打开和关闭时,我需要编写要执行的命令。

有2个文件进行编辑:

1- com.mytoggle.toggle1推出-时,肘是上

它默认包含:

#!/bin/sh 
rm /var/mobile/Library/Preferences/com.mytoggle.toggle1.flagfile 
echo "the toggle is now OFF" >>/var/mobile/scripty.txt 

这圈切换关闭并在scripty.txt中写入“切换关闭”。

另一个文件com.mytoggle.toggle1-launch-when-toggle-off-off恰好相反:将开关打开并写入“开关已打开”。

我试图替换这个脚本;而不是在scripty.txt中编写文本,我想更改应用程序的.plist中的值。

这是我的plist文件:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>something1</key> 
    <false/> 
    <key>something2</key> 
    <false/> 

</dict> 
</plist> 

我想</true>这将打开该按钮来代替<key>something1</key></false>

回答

0

在OS X中实际上有一个很棒的工具,叫做PlistBuddy,所以你不必做疯狂的sed或者perl来更新这些值。 (有关详细信息,请参阅its manual。)

样品使用,切换您的密钥命名为“something1”真的还是假的:

/usr/libexec/PlistBuddy -c "Set :something1 true" /path/to/your.plist 
/usr/libexec/PlistBuddy -c "Set :something1 false" /path/to/your.plist 

因此,解决你的问题,只是更换反响,打印到“指令码.txt“与适当的PlistBuddy调用打开或关闭该键。