Funniest Thing I've Ever Seen In An Apple Doc

by Matthew Russell

Related link:

Really, the doc says it all. And I quote: As if it were a swarm of bees, you should stay away from the SyncServices folder in Mac OS X 10.4. You can read more about it here.

I ran across this humorous suggestion while trying to compile the SimpleStickies sample code that's supposed to run you through the SyncServices framework. I say "supposed to ..." because the darn thing won't compile. You see, I'm having the same issue that's described in this thread. (And BTW, if anyone happened to run across a fix other than reinstalling the OS -- something I hope to never ever do again since leaving a platform that shall not be named -- please speak up.)

But until then, let's see if we can find any other gems like that embedded into the docs from the folks out in Cupertino. It really did lighten the mood when I ran across that line after being frustrated and irritated over something that's not making much sense.

A lively bunch they are...but my compilation issue fixed they have not.

What's the most outlandish thing you've done after strugging with a non-sensical compiler error?


2005-12-31 19:30:10
i heard it
This was mentioned in DrunkenBlog a while back. It's still funny though.
2005-12-31 22:41:38
works for me
Not that this does you much good, but I downloaded the DMG of the StickiesExample, copied the two folders from the mounted DMG into my Examples folder, then double-clicked each of the Xcode project files in turn, okayed the conversion to the new project format, then clicked on the Build button in Xcode's toolbar, and compilation proceeded without any problem at all.
This is on my iBook G4 running 10.4.3 with Xcode 2.2
2006-01-01 00:15:27
works for me
Out of curiousity, did you have a clean install of Tiger? The thread mentioned that the only folks who had success had done a clean install.
2006-01-01 19:11:53
The fix is in the thread....
Did you do what Vince DeMarco said in the thread.... It seems that that fixes it.... You didn't mention if you did or not....

2006-01-01 21:50:32
The fix is in the thread....
Unless I'm blind, that's not the fix at all. There aren't any headers from the SyncServices framework that are being imported improperly like that from the SimpleStickies example code -- they all check out and are being imported like

#import <SyncServices/SyncServices.h>

I wish it would have been that simple.

2006-01-02 13:54:14
works for me
Yes - I did do a clean install of Tiger.
I recommend doing that for every major OS upgrade.

I recommend that even for "ordinary" users but for developers I think it is even more important to do this. The development tools and environment is necessarily much less tested than the "ordinary" parts of the OS. As a developer you want your machine to be as close as possible to that used by the Apple developers - since that is where the real (effective) testing of the development environment happened.

If you didn't do a clean install of Tiger then I think the solution is indeed to do one now.

2006-01-02 14:13:49
works for me
In my dreamworld, a reinstall would never be the solution to an OS problem...but I guess my dreamworld doesn't really exist, so my point is made moot by reality.

I may do a reinstall here in a while. Since I already have a copy of CCC and an external drive, I suppose I can save myself in case I forget something.

Still, I can't help but wonder what the "real" problem is here. This is one of those things that just doesn't make any sense at all.

2006-01-02 15:02:18
Shake docs
The Shake documentation (and the professional learning books) tend to have a large amount of humorous material. It was definitely at its zenith with 2.5 (when they purchased Nothing Real) but the tounge in cheek aspect remains in a lot of the tutorials and docs.
2006-01-02 21:02:20
works for me
Well, I'm sure that it would be possible to fix this without a reinstall if someone took the time to figure out exactly what wrong versions of what files are causing the problem.

It's possible that the problem was always there from the beginning of your 10.4 install - i.e. that the update procedure is buggy. (Note that an update installer is inherently more complicated than a clean installer and hence much more likely to be buggy. That's one reason why I recommend a clean install.)

Or that the problem was related to a conflict between files that were supplied as part of the OS in 10.3 but which moved to be part of the developer tools in 10.4 - or vice versa. Lots of stuff got changed.

2006-01-03 06:23:15
An oldie but a goodie
This isn't from Apple, but as a long time UNIX user, when I saw this post I immediately thought of the man page for "tunefs." Sure enough, Apple hasn't changed it and under the "BUGS" section it still reads, "You can tune a file system, but you can't tune a fish."
2006-02-06 03:51:34
Important Update All - good news! With some help from a friend, we just discovered that if you switch the build settings to build against the Universal SDK instead of the default, the SimpleStickies example will build just need to clean install. Now, why this is the case, I still don't know. But it does work and it's pragmatic.
2006-04-27 14:24:28
Well, the trick is related to SyncServices.framework in /System/Library/PrivateFrameworks. It looks like some legacy stuff brought from OS X 10.3.

If you look into this framework it does not contain Header directory.

For some reason xcodebuild adds mentioned directory to -F serach path for gcc and if you uses "Current Mac OS" as your SDK it takes over SyncServices in /System/Library/Frameworks.

If you remove framework from PrivateFrameworks it works.

Problem solved (in terms we have a clean solution) but we do not know (at least I do not know) what stuff is in PrivateFrameworks and where it came from.