2

codesignキーチェーンにユーティリティと開発者証明書を使用して、 1つのMacOSXアプリケーションをコード署名するミニアプリケーションを構築しようとしています。それを行うために、私はそのNSTaskように使用します:

[task setLaunchPath:@"/usr/bin/codesign"];
// ...
NSString *certificateName = @"\"3rd Party Mac Developer Application: Firstname Lastname\"";
NSString *appName = @"\"/path/to/My App.app\"";
NSArray *args = [NSArray arrayWithObjects:@"-s", certificateName, appName, nil];
// ...
[task launch];

を使用しNSPipeて出力をキャッチすると、次のエラーメッセージが表示されます:no identity found...
しかし、ターミナルを介してこのコマンドを手動で起動すると、アプリケーションは適切に署名されます(したがって、証明書が正しくインストールされていないなどの問題はありません)。

アプリケーションがキーチェーンの証明書にアクセスできないために問題が発生すると思います(ただし、ターミナル経由でアクセスできます)。

誰かがすでにこの問題を経験しましたか?

よろしくお願いします、ベスト。

4

1 に答える 1

2

NSTask:への引数に追加の引用符を埋め込まないでください。

NSString *certificateName = @"3rd Party Mac Developer Application: Firstname Lastname";
NSString *appName = @"/path/to/My App.app";

引数のスペースは自動的に処理され、引用符は必要ありません。

于 2013-01-20T15:53:13.437 に答える