2013-07-27 2 views
4

설정에서 켜기/끄기 버튼이있는 cydia 앱의 sbsettings 토글을 만듭니다.앱의 .plist 파일 편집

미리 만들어진 토글 인 미친 cydia 레포에서 "SBsettings Scripty"를 다운로드했습니다. 버튼을 켜고 끌 때 실행할 명령을 작성해야합니다.

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 

이 회전

편집 할 2 개 파일이 있습니다 토글을 해제하고 scripty.txt에 "토글이 해제되었습니다"라고 씁니다.

다른 파일 com.mytoggle.toggle1-launch-when-toggle-is-off는 정확히 반대입니다. 토글을 ON으로 설정하고 "토글이 ON으로 설정되었습니다"라고 씁니다.

이 스크립트를 바꾸려고합니다. scripty.txt에 텍스트를 쓰는 대신 앱의 .plist에서 값을 변경하고 싶습니다.

이 내 PLIST 파일입니다 : 나는에있는 버튼을 켜집니다 </true>으로 <key>something1</key></false>을 대체 할

<?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> 

.

답변

0

OSX에는 실제로 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 

, 문제를 해결하기 위해, 그냥 인쇄에 "scripty 반향을 대체 .txt "를 해당 PlistBuddy 호출로 호출하여 해당 키를 켜거나 끕니다.