That's weird, I do not reproduce this in my environment (trunk)
$ macruby -e "framework 'SyncServices'; p ISyncManager.sharedManager" #<ISyncConcreteManager:0x28a00b0>
$ macirb irb(main):001:0> framework 'SyncServices' => true irb(main):002:0> ISyncManager.sharedManager => #<ISyncConcreteManager:0x2aa47b0> irb(main):003:0> ISyncManager.sharedManager.enabled? => true irb(main):004:0>
Ah. Worked after a "make clean; make; make install-nodoc"
Hmmm... Spoke too soon. It worked from the command line, not from inside my app. I also have two macruby processes hanging around I can't seem to kill. Ok, Restarting! Trying again: Ok, I've figured out that print ISyncManager.sharedManager prints out: #<ISyncConcreteManager:0x12baed0>=> nil The nil was misleading, because: ISyncManager.sharedManager.enabled? works. So that was my bad. It does work from the command line. Still not working in my app though. Adding: framework 'SyncServices' ISyncManager.sharedManager to rb_main.rb in my app.. Nope, still dies. Adding: framework 'SyncServices' ISyncManager.sharedManager to rb_main.rb in ABPresence. Hmm... Works there. Hmmm... Something unique to my app. Trying: print framework 'SyncServices' ISyncManager.sharedManager I get "true". Ah! It's because I listed SyncServices in my project. Adding SyncServices to ABPresence. Yep, breaks there now too. So: 1. Change rb_main.rb to have this at the top: framework 'Cocoa' framework 'AddressBook' framework 'InstantMessage' framework 'SyncServices' ISyncManager.sharedManager 2. Add SyncServices to the list of Frameworks in ABPresense 3. Run. Pierce