Siphon and Settings Bundles
Da PiemonteWireless.
Using Settings.bundle in Siphon project instead of SiphonSettings project
The Siphon project come with a particular settings configuration (SiphonSettings), the same method that Apple uses to present settings to the user (like in Preferences.app). This method give more power to settings configuration; what you can't do with the usual Settings.bundle way is:
"[...] Number one, you cannot execute code within the Settings application. Number two, you are limited to using only certain types of table cells within your settings. And most importantly, your Settings.bundle needs to be located in your application bundle, in ~/Applications/. This cannot be if you are coding for a jailbroken environment which wants your application to live in /Applications/"
Looking at Siphon, using the Settings way instead the Preference ones has a positive and a negative aspect.
The negative (the bad the first) is that you can't distinguish so well between ipod and iphone in settings. In details you can't replicate this features:
- In Phone.plist
<dict>
<key>defaults</key>
<string>com.googlecode.siphon</string>
<key>cell</key>
<string>PSSwitchCell</string>
<key>label</key>
<string>Cellular button</string>
<key>key</key>
<string>cellularButton</string>
<key>default</key>
<false/>
<key>set</key>
<string>setCellularButton:specifier:</string>
<key>requiredCapabilities</key>
<array>
<string>telephony</string>
</array>
</dict>
- In Network.plist
<dict>
<key>requiredCapabilities</key>
<array>
<string>telephony</string>
</array>
<key>cell</key>
<string>PSGroupCell</string>
</dict>
The positive is that you can compile Siphon in a non-jailbroken environment.
Using Preference Bundles is not difficult (and is amusing). You need to get the header of Preferences.framework and all is ok. I like alot this method, you can use features Apple do not want you use (this alone is a strong motivation to use it).
If you are interested in details about this look here
Anyway, if you are interested to use Siphon in a non-jailbroken enviroment, I think the simple way is using Settings.bundles method (if you can giveup ipod-iphone conf). Just becouse the migration is very simple but very boring, I'll attach here the plist files you need.
For migration, open Siphone project and create a new file ("Resource" -> "Settings bundle"). This will create a Root.plist file in your Settings.bundle dir.
Then, those are the plist files you needs:
File:SiphonSettingsBundles.zip
Simply, extract in your Siphon2 project dir, then add in Resource (using existing file), finally use the terminal to copy those files in Settings.bundle directory.
Clear, recompile and all will work well.
I hope this infos will be usefull.
Riferimenti:
- Siphon project
- CompilationForiPhoneOS2_X
- creating-a-preferencebundle-for-the-iphone
- iPhone Dev infos
Remove the script inside it. or just remove Run Script folder.
This works great.

/Users/mac12/siphon/Siphon2/build/Siphon.build/Debug-iphoneos/Siphon.build/Script-7E432FB710661F8F00949182.sh: line 3: ldid: command not found Command /bin/sh failed with exit code 127
any help?