最近 Jenkins 打包又報錯了:
Codesigning /Users/Shared/Jenkins/Home/workspace/***/build/DerivedData/Build/Intermediates.noindex/ArchiveIntermediates/***/InstallationBuildProductsLocation/Applications/***.app/Frameworks/libswiftCoreMedia.dylib
/usr/bin/codesign --force --sign 2A252DD1931364B8ED615013655551EEF4C66515 --verbose /Users/Shared/Jenkins/Home/workspace/***/***/build/DerivedData/Build/Intermediates.noindex/ArchiveIntermediates/***/InstallationBuildProductsLocation/Applications/***.app/Frameworks/libswiftCoreMedia.dylib
/Users/Shared/Jenkins/Home/workspace/***/***/build/DerivedData/Build/Intermediates.noindex/ArchiveIntermediates/***/InstallationBuildProductsLocation/Applications/***.app/Frameworks/libswiftCoreMedia.dylib: errSecInternalComponent
error: Failed with exit code 1
** ARCHIVE FAILED **
The following build commands failed:
CopySwiftLibs /Users/Shared/Jenkins/Home/workspace/***/***/build/DerivedData/Build/Intermediates.noindex/ArchiveIntermediates/***/InstallationBuildProductsLocation/Applications/***.app
(1 failure)
複製程式碼
原因就是伺服器證書沒有了,然後又重新建立了一個,但是匯入進去之後就報錯。
網上說法是:
出現errSecInternalComponent 可能是xcode簽名機制(code signing mechanism) 的 bug, Xcode 中賬號多了,就會產生很多過期的PP檔案,Xcode 沒有自帶刪除功能會導致重複匯入provisioning profile. 解決辦法:
Xcode 中所有的PP檔案,都在 ~/Library/MobileDevice/Provisioning Profiles 這個資料夾下;進入該資料夾,刪除不需要的;重新匯入新的 provisioning profile
2、重啟Mac
但是這樣做之後沒有用,還是報錯。
最後參考這裡,
開啟命令列終端,進入工程根目錄,執行命令
xattr -rc .
還不行就刪除下面目錄的專案:/Users/denny/Library/Developer/Xcode/DerivedData/
xattr -rc .
用來刪除檔案的擴充套件屬性。
而且把證書刪除,又重新匯入了一遍,然後還把證書的信任設定改了下。
參考:github.com/fastlane/fa…