Après une présentation récente, j'ai obtenu l'erreur suivante:
Signature non valide - la imbriquée app bundle (FooBar.app/Contents/Frameworks/GData.cadre) n'est pas signé, la signature n'est pas valide, ou il n'est pas signé avec une Pomme de présentation de certificat. Reportez-vous à la Signature de Code et l'Application de Sandboxing Guide pour plus d'informations.
Signature non valide - la imbriquée app bundle (FooBar.app/Contents/Frameworks/Growl.cadre) n'est pas signé, la signature n'est pas valide, ou il n'est pas signé avec une Pomme de présentation de certificat. Reportez-vous à la Signature de Code et l'Application de Sandboxing Guide pour plus d'informations.
Signature non valide - la imbriquée app bundle libcurl (FooBar.app/Contents/Frameworks/libcurl.cadre) n'est pas signé, la signature n'est pas valide, ou il n'est pas signé avec une Pomme de présentation de certificat. Reportez-vous à la Signature de Code et l'Application de Sandboxing Guide pour plus d'informations.
Donc j'ai signé tous les cadre de grappes par Technote 2206:
codesign -f -v -s "3rd Party Mac Developer Application: Name" ./libcurl.framework/Versions/A/libcurl
codesign -f -v -s "3rd Party Mac Developer Application: Name" ./libcurl.framework/Versions/A/libssh2.1.dylib
codesign -f -v -s "3rd Party Mac Developer Application: Name" ./Growl.framework/Versions/A/Growl
codesign -f -v -s "3rd Party Mac Developer Application: Name" ./GData.framework/Versions/A/GData
Technote 2206 dit:
La Signature De Cadres
Voyant que les cadres sont bundles il semble logique de conclure que vous pouvez signer un cadre directement. Cependant, ce n'est pas le cas. Pour éviter les problèmes lors de la signature de cadres assurez-vous de signer une version spécifique par opposition à l'ensemble du cadre:
# C'est la mauvaise façon:
codesign -mon-signature-de l'identité ../FooBarBaz.cadre
# C'est la bonne façon:
codesign -mon-signature-de l'identité ../FooBarBaz.framework/Versions/A
Et quand j'ai essayer de vérifier les résultats, il me semble bon:
% codesign -vvv FooBar.app/Contents/Frameworks/libcurl.framework
FooBar.app/Contents/Frameworks/libcurl.framework: valid on disk
FooBar.app/Contents/Frameworks/libcurl.framework: satisfies its Designated Requirement
% codesign -vvv FooBar.app/Contents/Frameworks/Growl.framework
FooBar.app/Contents/Frameworks/Growl.framework: valid on disk
FooBar.app/Contents/Frameworks/Growl.framework: satisfies its Designated Requirement
Pour le fun, j'ai essayé de signer le cadre bundle directement et il a toujours rejeté. Mais c'est exactement ce que la documentation a dit de ne pas le faire.
Toute devine pourquoi ce serait considéré comme non valide? Je suis en utilisant le même cert que j'utilise pour le code de signer mon app -- celui qui a travaillé dans le passé.
Ma seule imagine être quelque chose à faire avec l'existant plists (ai-je besoin de posséder des identifiants dans le cadre de l'Info.les plists?) ou des droits -- des suggestions?