I have a large project I'm trying to bring up to date with Xcode 7.
The main deliverable app (direct distribution, this is not for the App Store) has a large number of embedded resources, including background (faceless) Cocoa apps, helper tools, a Finder service, spotlight plugin, and embedded frameworks.
I had previously been not signing any of the sub-components as they were built, and was using the --deep option on the enclosing app to sign everything inside the bundle with the same signature.
I've been reading about this and I get the feeling that this method is not recommended, so I rejiggered the project to sign each individual target (adding some build phase scripts to sign the binary frameworks). But now I can't get past the following error:
error: Embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier.
Embedded Binary Bundle Identifier: com.qrecall.service
Parent App Bundle Identifier: com.qrecall.client
Either my embedded app is signed (and I get this error) or it isn't signed and I get an error that is has to be signed.
I've pored over TN2206, but it only briefly mentions identifier prefixes, and only in the context of an App Store app. I can find no mention of this problem in the troubleshooting section, or even a discussion of the identifier requirements for embedded app bundles when signing with a Developer ID.
So has anyone run into this, and is there an easy fix? Or should I just go back to using --deep?