Flipswitch: a new centralized toggle system for iOS

By , Jun 4, 2013

Switchicons

We’ve covered hundreds if not thousands of jailbreak apps, tweaks, and themes over the years, and many of them contain some form of toggle to enable and disable functionality on device. Wouldn’t it be great if there was a centralized means of providing toggles, instead of each developer wasting resources to come up with their own? Having a centralized toggle framework would also ensure that functionality remains more or less the same amongst the variety of different apps and tweaks.

That’s where Flipswitch — a new centralized toggle system for iOS — steps in to save the day. A collaboration between developers Ryan Petrich and Jack Willis, Flipswitch is a generalized toggle framework that’s ready to go out of the box. This is a new tool that will make it easy for developers to implement toggles into their apps and tweaks with very few lines of code.

Take a look inside as I talk about FlipSwitch, and showcase its sample tweak — Switchicons — in our video walkthrough…

Video walkthrough

Switchicons is essentially just a demo tweak to show off the toggle framework that is Flipswitch. The toggles supported are as follows:

  • Airplane Mode
  • Auto Lock
  • Bluetooth
  • Do Not Disturb
  • Flashlight
  • Location Service
  • Respring
  • Ringer
  • Rotation
  • Settings
  • VPN
  • Wi-Fi

If the toggles look familiar, that’s because they are. If you’re an Auxo user, then you’ll recognize that these are essentially the same toggles used within Auxo. That’s because the toggles were designed by Sentry, who designed Auxo.

While just a demo, Switchicons can be used if you’d like. The icons themselves can be moved around the springboard, placed in folders, etc. A tap of the icon will toggle its associated function, and the whole setup works just like you’d expect.

Interestingly, we’re already beginning to see some new themes being created for Flipswitch, even at this early stage of the framework’s development. We’ve also heard positive sentiments from a number of developers on Twitter, and Sentry says that he will begin incorporating the framework into his tweaks as well.

Activator support

What’s even more fascinating about Flipswitch is its support for Activator. Once you have Flipswitch installed on your device, you can head over to Activator’s settings to get even more out of the framework.

Activator integration means that you can assign a specific Activator gesture to a switch directly if you want to. For example, I can assign a double press of the Home button gesture to the Do Not Disturb switch directly. Or, if I really want some granular control over the switch, I can assign a specific gesture to an activation of the switch (turning the switch on), or a deactivation of the switch (turning it off). Needless to say, there’s a lot of fine tuning potential with this one.

If you want to try out Flipswitch, and its demo tweak, Switchicons, then head over to Cydia and add Ryan Petrich’s beta repo to your Cydia sources. Really, you should already have his repo as a mainstay on your device, but just in case you don’t already have it, here it is: http://rpetri.ch/repo

If you’re a developer I’d be interested to hear your thoughts on Flipswitch. Is this something you plan on incorporating into your jailbreak apps and tweaks?

  • Share:
  • Follow:
  • J_W97

    Rest assured that when we release Auxo for iPad on Thursday, Flipswitch will be taking centre stage.
    It’ll also be in the Auxo beta’s soon after.

    I’m really looking forward to see what toggles people come up with and watch the API grow

    • No Whammy

      “I’m really looking forward to see what toggles people come up with” this has been said for 5 years or more since the dawn of SB Settings.

      Unfortunately developers don’t actually put much time into new toggles and instead keep coming up with new ways to toggle. The end result is a highly fragmented concept wherein there’s no complete solution.

      All the 13-year-olds will eat it up for a couple months until another one comes along.

      • J_W97

        You’re very much correct in that toggles themselves haven’t changed much over the years but you have to remember that SBSettings was and still is something that both visually and functionally is stuck way back with the original iPhone.

        Although this API makes it far easier and more flexible for toggle devs, the focus is on those who’d use Flipswitch in their tweak. In short, the API aims to remove the fragmentation you mentioned but only if tweaks accept it. On that note, I’ve heard that NCSettings will likely adopt Flipswitch as will future tweaks from A3

      • No Whammy

        What about Intelliscreen, LockInfo, et al? Are they all going to adopt this?

        Reminds me of the episode of The Office where Dunder Mifflin develops it’s own social network under the assumption it’s going to be the new Facebook, hahaha.

        Meanwhile I still can’t toggle my cell radio since iOS 4ish…I wish devs put a little more time into actual functionality instead of reinventing the wheel every 9 months.

      • J_W97

        Your guess is as good as mine in regards to those tweaks. I’m simply saying that going forward, a lot of tweaks should be able to use this same, consistent system

      • No Whammy

        Looks like Apple will finally put this whole debacle to rest in iOS7.

  • J_W97

    Oh, and there are also 3G/LTE, cellular data and Personal Hotspot toggles. They just won’t show on a device that doesn’t support them

  • Sentry

    Best part of this to me is that each toggle icon (or glyph) is completely scalable by the developer to whatever size they need for their tweak. In other words, developers won’t need to design their own toggles, as it comes built in.

    What you see there is a black and white PDF glyph being ‘themed’ by flipswitch to look settings-like, but a developer can theme the provided glyphs to look however they want, as well as add complex effects (multiple outer and internal glows, multiple outer and internal shadows, gradients, textures, etc). It’s really flexible, Ryan did a great job on that.

    • Jeff

      Thanks for the insight.

      • D4x3n0

        Hi Jeff. How did you put the FACETIME ICON on the home screen? Any tutorials? Thanks.

      • http://hbang.ws/ Adam D

        Pretty sure he uses an iPod touch (the cellular signal bars would therefore be faked), because only they and iPads have a FaceTime app

  • benno

    Many tweaks will use this toggle system in the future, one of them being Velox.
    When you install new toggles, those can be used in all your toggle tweaks, not just one, it’s like the centralized Apple approach.

  • zachf914

    This tweak is cool, but I hate that it takes over your homescreen. It don’t like my Homescreen cluttered.

    • Malan Raja

      you didn’t watch the full video did you? :P

  • Jamie Waters

    Hey Jeff, I’ve asked before but you might have missed it – what software do you use to record your videos? Thanks!

    • Arik Shainer

      Display Recorder.

      Also from the great Ryan Petrich

      • Jamie Waters

        Thanks, but its not – display recorder does not do the background effect or highlight where the finger is being pressed like in Jeffs videos

      • Parker Reed

        That’s just some video editing afterwards.

        Edit: And in the Display Recorder settings it has an option to have a dot for taps.

  • Gorgonphone

    omg i am sooooooo tired of toggles tweaks..lolo

  • MPow

    That’s awesome for both developer and user, as an user I have ever hate that every tweak have different toogle, differents graphics … Hope to see that in intelliscreen (if I know intelliborn that won’t happen) , or sbsetting, or I’ ll move myself making a simple widget that use flipswitch, that because as a Developer will be easy, very easy use toggle in mine tweak, witouth spent much time reinventing the whell, thanks to the developers

  • Chuck Finley

    This is better than SBSettings/NCSettings…how exactly?

    • http://hbang.ws/ Adam D

      Switchicons isn’t meant to be; it’s more of an example of the Flipswitch API being used. Flipswitch is superior because of its theming system and the fact that its API is more preferable to SBSettings’, which is mainly as SBS was designed way before the jailbreak community knew as much of iOS’ internals than it does now.

  • Sérgio

    Can we change icon orders? Or deactivate some of the toggles?

  • Ryan James Christensen

    Does this work on a 3GS running iOS 5.1.1?

  • Ozzie Corbitt

    I have a problem with flip switch where it won’t let me install because it can’t overwrite library/flipswitch/flipswitchspringboard.dylib

    Sub-process usr/bin/dpgk turned up with an error (1)

    Any help?

    • Flatline____

      Same prob here… Cant install, cant remove. Guess im stuck :/

    • Tmel4198

      SH Into your idevice then run

      Quote:dpkg -C

      Output:

      Quote:The following packages have been unpacked but not yet configured.
      They must be configured using dpkg –configure or the configure
      menu option in dselect for them to work:
      com.chpwn.iconsupport Support library for safe icon tweaks.

      If That Is The Output Do The Following

      Quote:dpkg –configure com.xxxxxxxx.xxxxxxx

      • Blindfox

        there were 4 packages that were not configured. I did it for 3 of them but one didn’t let me. It was “libactivator” and said something like:

        “dependency problems prevent configuration of libactivator:
        libactivator depends on com.a3tweaks.flipswitch; however:
        Package com.a3tweaks.flipswitch is not installed”

        What should i do?

  • R. Hamilton

    Wishing for something like the “Net Talk” (netatalk, aka afpd plus mdns-sd) SBsettings toggle. Pain to turn those on/off by hand, and SBsettings doesn’t work on iOS 7 yet.

    • R. Hamilton

      Thank you MikTr and BigBoss – I see there’s now a Netatalk Flipswitch toggle! Almost the only thing missing from what I used on SBsettings on iOS 6 (except the Veency toggle, which will have to wait for Veency, hint hint).