i'm not sure what you're doing differently, what version of the dev
tools are you dealing with? its entirely possible that the version of
code sign that you're using isn't recognizing some aspect of the
binary properly.
I ran similar commands on a directly downloaded Growl.framework off of
growl.info and it resigned it fine for me.
gaius:Framework rudy$ codesign -f -s "Developer ID Application"
Growl.framework/Versions/A/
Growl.framework/Versions/A/: replacing existing signature
gaius:Framework rudy$ codesign -dvvvv Growl.framework/Versions/A/
Executable=/Volumes/Forever/Users/rudy/Downloads/Growl-1.3.1-SDK/
Framework/Growl.framework/Versions/A/Growl
Identifier=com.growl.growlframework
Format=bundle with Mach-O universal (i386 x86_64)
CodeDirectory v=20100 size=1833 flags=0x0(none) hashes=85+3
location=embedded
Hash type=sha1 size=20
CDHash=5e9adfd00086630a6c9024b8e2bbfb55e64783f7
Signature size=4240
Authority=Developer ID Application: Ambrosia Software, Inc.
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Signed Time=Mar 1, 2012 7:53:32 PM
Info.plist entries=17
Sealed Resources rules=4 files=1
Internal requirements count=1 size=368
The XPC is something we added to simplify the process of getting
approved for the Mac App Store for developers that don't need the in/
out-bound network communication entitlement for their application. It
is a far more attractive prospect for the developer to not have to
justify why they need network for their whole app just to talk to
Growl. Their app would just claim their normal entitlements, include
the XPC (which claims network for itself and only itself) and have a
far easier time getting approved. That isn't the only benefit to the
XPC but it is a pretty nice one. The real benefit is that you've
segmented off a possible attack vector into your app's address space
by using the XPC, if a vulnerability was discovered in the network
implementation that growl uses (GCDAsyncSockets) or the code that
we've layered onto of GCDAsyncSockets the impact would be limited to
the XPC process. It was one of the big messages Apple was pushing at
WWDC last year. All that said Growl will work without the XPC, its an
optional enhancement.
What code did you download exactly? hopefully you pulled from the
right hg tag and didn't build something using the default branch. If
you used default you shipped something 6 months out of date...
-rudy