Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Simple, scheduled iSync-ing with automatic bluetooth control, all from your menu bar.
Objective-C C
Branch: master
Failed to load latest commit information.
Growl.framework Fixed incorrect Growl notifications under Snow Leopard.
Sparkle.framework Converted NIBs to XIBs for better storage in repository, re-added old…
iSyncIt.xcodeproj Added master images.
.gitignore Update gitignore.
Alternate Menu Bar Icon.psd Added master images.
Application Icon.psd
Application.psd
Bluetooth-Info.plist Massive overhaul of preferences system complete, appears working.
ChangeLog.rtf This is probably better as a minor release.
Credits.rtf Updated copyrights.
DPGrowl.h Added license message to top of class files.
DPGrowl.m Added license message to top of class files.
DPLoginItem.h Added license message to top of class files.
DPLoginItem.m Added license message to top of class files.
Growl Registration Ticket.growlRegDict Added the last bit of the puzzle for Growl.
ISI_Bluetooth.h Added license message to top of class files.
ISI_Bluetooth.m Added license message to top of class files.
ISI_Bluetooth.tif Initial repository layout.
ISI_BluetoothPrefController.h
ISI_BluetoothPrefController.m Added license message to top of class files.
ISI_BluetoothView.xib Converted NIBs to XIBs for better storage in repository, re-added old…
ISI_ChangeLog.xib Converted NIBs to XIBs for better storage in repository, re-added old…
ISI_ChangeLogController.h Added license message to top of class files.
ISI_ChangeLogController.m Added license message to top of class files.
ISI_Icon.icns Initial repository layout.
ISI_LoginItem.tif Initial repository layout.
ISI_LoginItemPrefController.h Added license message to top of class files.
ISI_LoginItemPrefController.m Added license message to top of class files.
ISI_LoginItemView.xib Updated code flagged by static analysis.
ISI_Main.m Missed a couple of files.
ISI_MenuIcon.tif Initial repository layout.
ISI_MenuIconAlternate.tif Initial repository layout.
ISI_MenuIconAlternate_On.png Initial repository layout.
ISI_MenuIconItem.tif Initial repository layout.
ISI_MenuIconPrefController.h Added license message to top of class files.
ISI_MenuIconPrefController.m Added license message to top of class files.
ISI_MenuIconView.xib Converted NIBs to XIBs for better storage in repository, re-added old…
ISI_MenuIcon_On.png Initial repository layout.
ISI_Menus.xib Updated code flagged by static analysis.
ISI_MenusController.h
ISI_MenusController.m Added license message to top of class files.
ISI_Prefix.pch Missed a couple of files.
ISI_Scheduling.h Added license message to top of class files.
ISI_Scheduling.m Added license message to top of class files.
ISI_Scheduling.tif Initial repository layout.
ISI_SchedulingPrefController.h Added license message to top of class files.
ISI_SchedulingPrefController.m Added license message to top of class files.
ISI_SchedulingView.xib Converted NIBs to XIBs for better storage in repository, re-added old…
ISI_StartupChecks.h Added license message to top of class files.
ISI_StartupChecks.m Added license message to top of class files.
ISI_Sync.h Added license message to top of class files.
ISI_Sync.m Added license message to top of class files.
ISI_Updates.tif Initial repository layout.
ISI_UpdatesPrefController.h Added license message to top of class files.
ISI_UpdatesPrefController.m Added license message to top of class files.
ISI_UpdatesView.xib Converted NIBs to XIBs for better storage in repository, re-added old…
ISI_WindowController.h Added license message to top of class files.
ISI_WindowController.m Added license message to top of class files.
Info.plist Updated copyrights.
InfoPlist.strings Updated copyrights.
LICENSE Updated LICENSE.
LoginItem-Info.plist Massive overhaul of preferences system complete, appears working.
Menu Bar Icon.psd Added master images.
Menu Bar.psd Added master images.
MenuIcon-Info.plist Massive overhaul of preferences system complete, appears working.
README.markdown Improved README.
SS_PreferencePaneProtocol.h Updated copyrights.
SS_PrefsController.h Updated copyrights.
SS_PrefsController.m Updated copyrights.
Scheduling-Info.plist Massive overhaul of preferences system complete, appears working.
Updates-Info.plist Massive overhaul of preferences system complete, appears working.
appcast.xml Added appcast.

README.markdown

iSyncIt

Simple, scheduled iSync-ing with automatic bluetooth control, all from your menu bar.

A Little History

iSyncIt is a small utility that I started writing in early-2006 to make it quicker to use iSync for it's primary purpose - syncing my phone with OS X, when a PowerBook became my primary computer I added functionality to iSyncIt to help preserve the battery life of my computer by automatically controlling the power of bluetooth.

Disclaimer

This was my first piece of OS X software (written before I knew what object-oriented programming was) and over the past few years I've made some, effort to improve the quality of the code based on Cocoa & Objetive-C paradigms that I have learnt, my main focus however has been adding features and making the software as stable as possible.

Useful Bits

These are some of the more useful classes in the application;

  • DPGrowl - Very quick & dirty way of producing a Growl alert.
  • DPLoginItem - Quickly add and remove the application from a user's login items, taken from several sources & not the best way to do it in Snow Leopard (and probably Leopard).
  • ISI_Bluetooth - Control the bluetooth power & check it's current status.
  • ISI_ChangeLogController - Loading an RTF file into an NSTextView.
  • All Over The Place - Running AppleScript from Objective-C.
  • ISI_Scheduling - Executing periodic events and scheduled events, might be useful but I've never been quite sure if I implemented it correctly.
  • SS_PrefsController - Not my code, it was created by Matt Gemmell and is therefore awesome code.

Past Versions

Development on iSyncIt started before I cared to learn what a version control system was, let alone even consider using Git. The GitHub repository contains all versioned code dating back to when I started using SVN (somewhere around version 1.3 of iSyncIt) however I kept archives of all the code at each release, you can download these from the 'downloads' section of the GitHub project page (along with the compiled binary versions of every release).

Licenses

As I mentioned above, some of the code that makes up this application is not mine. The main piece of code that comes to mind that isn't mine is SS_PrefsController (and associated) by Matt Gemmell. When I started developing iSyncIt 'licenses' didn't really enter my mind. I have endeavoured to make sure all the code I used is correctly licensed before this release to open source but I am aware that I may have forgotten where code originally came from, if you see something that belongs to you please let me know so I can correct the situation and apply appropriate licenses. I haven't knowingly gone out of my way to avoid giving people credit where credit is due.

All of my code is licensed under the terms found in the LICENSE file, the license is essentially based on the BSD new license but breaks down into the following points (and yes, they're a little bit stolen from Matt Gemmell);

  1. You can use the code wherever you wish.
  2. You can modify the code as much as you want and use the modified code wherever you wish.
  3. You can redistribute the original, unmodified code, but you have to include the full license text.
  4. You can redistribute the modified code as you wish (without the full license text).
  5. In all cases, you must include an attribution mentioning Alex Pardoe as the original creator of the source.
  6. I’m not liable for anything you do with the code, no matter what. So be sensible.
  7. You can’t use my name or other marks to promote your products based on the code.

All other code licenses are contained within the files to which they apply.

Legal

I realised several months into development that the name 'iSync' is probably trademarked and all sorts of copyright of Apple (TM) and obviously, that's the way it'll stay. Unless I receive a much coveted letter from Apple (TM) legal however, the name iSyncIt will remain.

Conclusion

Feel free to fork, improve and reuse all the code contained within this repository. Hopefully, at least some of the code will be helpful to new developers - perhaps even veteran developers.

If you find any mistakes, problems or want to get your improvements into a release feel free to contact me using the information below (or through GitHub).

Happy forking!

Website: http://digitalpardoe.co.uk/, Twitter: http://twitter.com/digitalpardoe/

Something went wrong with that request. Please try again.