1
我正在嘗試構建一個小應用程序,用codesign
實用程序和鑰匙串中的我的開發人員證書對一個Mac OS X應用程序進行編碼簽名。要做到這一點我用NSTask
,這樣的:在Mac應用程序中使用來自Keychain的證書
[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
...
但是如果我手動啓動該命令通過終端,應用程序簽名很好(所以它不是證書安裝不當的問題等)。
我認爲問題是因爲我的應用程序無法訪問鑰匙串中的證書(但我可以通過終端)。
有人已經遇到過這個問題嗎?
在此先感謝,最佳。
哦,我的...你是對的!我一定會對此進行測試。恥辱對我來說:s非常感謝:) – Beny
啊,我記得我的錯誤...之前,我沒有額外的引號,但我忘記了'第三方Mac開發應用程序:'和'名字姓氏'之間的空間,所以同樣的消息'沒有發現身份證'(但不是出於同樣的原因)。一個愚蠢的問題,馬丁很快就解決了。 – Beny