xcnotary !使用xcrun notarytool --wait如Apple文檔中所述的等待:自定義公證工作流程
這裡給出了一個簡潔的示例:#22(評論)

公證MacOS應用程序涉及一系列手動步驟,包括將捆綁包,將其上傳到Apple以及對公證服務進行輪詢。
xcnotary為您自動化這些步驟。它:
stderr 。
# Install
brew install akeru-inc/tap/xcnotary
# Upgrade
brew update
brew upgrade akeru-inc/tap/xcnotary在未提交的情況下對輸入執行各種代碼簽名檢查:
xcnotary precheck < input path >要執行代碼簽名檢查,請提交公證服務,並阻止等待響應:
xcnotary notarize < input path >
--developer-account < Apple Developer account >
--developer-password-keychain-item < name of keychain item, see below >
[--provider < provider short name > ]
[--no-precheck]支持的輸入:
此工具無法處理您的Apple開發人員密碼。取而代之的是,Xcode的Helper altool直接從鑰匙鏈讀取了特定於應用的Apple開發人員ID密碼。請參閱xcrun altool --store-password-in-keychain-item設置合適的鑰匙扣項目。
如果開發人員帳戶與多個團隊相關聯,則應指定可選的--provider參數。可以通過運行以下命令並註意顯示的“ ProviderShortName”來獲得此值。
xcrun altool --list-providers -u " $DEVELOPER_ACCOUNT_USERNAME " -p " @keychain: $PASSWORD_KEYCHAIN_ITEM "Xcode的altool將連接到文檔中概述的幾個Apple主機。
當公證失敗時, xcnotary將連接到https://osxapps-ssl.itunes.apple.com/ on port 443上以檢索故障日誌。
Apple文檔建議:“即使公證成功成功,請務必檢查日誌文件,因為它可能包含您可以在下次提交之前修復的警告。”
xcnotary將在完成後獲取並顯示公證服務響應。
xcnotary嘗試在將其上傳到Apple之前檢查輸入是否有一些常見的公證問題。儘管沒有萬無一失,但這些檢查可能會節省您的幾分鐘,等待響應僅由於不正確的代碼簽名標誌而失敗。

當輸入是應用程序包時,將執行以下檢查:
當輸入為.dmg或.pkg時,僅執行開發人員ID簽名檢查,即目前唯一可以執行的檢查而無需提取內容。在您的工作流程中,您可能需要在包裝之前在捆綁目標上運行xcnotary precheck 。
在極少數情況下,使用公證服務響應直接解決代碼簽名問題可能會有所幫助。為此,請指定--no-precheck調用xcnotary notarize時,請勿進行。
以下示例設置了各種必要的構建標誌,例如使用“安全時間戳”的代碼簽名。
xcodebuild
-target < target >
-scheme < scheme >
-configuration Release
-derivedDataPath .xcodebuild
" CODE_SIGN_IDENTITY=Developer ID Application: <team name> "
" OTHER_CODE_SIGN_FLAGS=--timestamp --options=runtime "
CODE_SIGN_INJECT_BASE_ENTITLEMENTS=NO
CODE_SIGN_STYLE=Manual CODE_SIGN_IDENTITY應匹配相應的鑰匙扣證書。
請注意, --options=runtime將具有選擇二進制的運行時環境中的效果。您最有可能首先要在Xcode的目標設置>“簽名和功能”中手動啟用“硬化運行時”功能,並確保您的應用程序按預期運行。在那裡,您也可以添加任何權利以放鬆運行時限制。
pkgbuild
--component < path to bundle built according to above specs >
--sign " Developer ID Installer: <team name> "
--timestamp
< output_pkg_name.pkg >創建DMG之後的代碼:
codesign -s " Developer ID Application: <team> " < dmg >更改日誌
功能請求/評論/問題?寫:[email protected]