我們的自動化版本正在Jenkins上運行。構建本身在從屬服務器上運行,并且從屬服務器通過SSH執行。我收到一個錯誤:00:03:25.113 [codesign-app] build/App.app: User interaction is not allowed.我已經嘗試了到目前為止在其他帖子中看到的所有建議:簽名前立即使用安全性解鎖鑰匙串以解鎖鑰匙串。將簽名密鑰移到其自己的鑰匙串中。將簽名密鑰移到登錄密鑰鏈中。將簽名密鑰移到系統密鑰鏈中。手動將列表鑰匙串設置為僅包含鑰匙的鑰匙串。在所有情況下,我都會遇到相同的錯誤。為了診斷問題,我嘗試在本地終端上運行“ security unlock-keychain”命令,發現它實際上并沒有解鎖鑰匙串-如果我在“鑰匙串訪問”中查看,則鎖符號仍然存在。無論是在命令行上通過密碼還是讓我提示輸入密碼,都是這種情況。使用GUI解鎖相同的鑰匙串會提示我輸入密碼,然后將其解鎖。另外,如果我運行“ security lock-keychain”,則在運行命令后我會立即看到密鑰鎖。這使我認為解鎖鑰匙串實際上不起作用。我在Lion(我們用于構建奴隸)和Mavericks(我正在開發)上遇到相同的行為。接下來,我嘗試將-v添加到所有安全命令:list-keychains "-d" "system" "-s" "/Users/tester/.secret/App.keychain"Listing keychains to see if it was added: (( "/Library/Keychains/System.keychain"))unlock-keychain "-p" "**PASSWORD**" "/Users/tester/.secret/App.keychain"build/App.app: User interaction is not allowed.由此看來,列表鑰匙串是行不通的。也許都不行。:/這里也有類似的問題。解決方案很有趣-在launchctl中將“ SessionCreate”設置為true。但是我不是在主服務器上構建的-我的構建過程是從從屬構建計算機上的SSH開始的。運行“ SessionCreate”時,也許有一種命令行方式可以執行launchctl在做什么?
3 回答

海綿寶寶撒
TA貢獻1809條經驗 獲得超8個贊
好吧,我想我今天可以回答我自己的問題,因為在經過兩天半的時間刺傷之后,我嘗試過的其中一件事情似乎奏效了。我現在要退出它,希望它能繼續工作。
從本質上講,它看起來可以歸結為-d system無法實際工作。因此,應該對此處周圍其他問題的很多答案進行更新以反映這一點。
security -v list-keychains -s "$KEYCHAIN" "$HOME/Library/Keychains/login.keychain"
security list-keychains # so we can verify that it was added if it fails again
security -v unlock-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN"
codesign --sign "$SIGNER_IDENTITY" --force --signature-size 9600 \
--resource-rules src/AppResourceRules.plist --timestamp --verbose \
"$APP"
- 3 回答
- 0 關注
- 750 瀏覽
添加回答
舉報
0/150
提交
取消