2016-11-12 26 views
12

我得到這個錯誤在編譯和Xcode 8.1和斯威夫特3:斯威夫特STDLIB工具時出現錯誤

斯威夫特STDLIB工具時出現錯誤

編譯日誌的結尾是這樣的:

/Users/..../Library/Developer/Xcode/DerivedData/.../Build/Products/Debug/.../Contents/Frameworks/libswiftCore.dylib: replacing existing signature 
/Users/..../Library/Developer/Xcode/DerivedData/.../Build/Products/Debug/.../Contents/Frameworks/libswiftCore.dylib: CSSMERR_CSP_INVALID_CONTEXT_HANDLE 
In architecture: x86_64 
Probing signature of /Users/..../Library/Developer/Xcode/DerivedData/.../Build/Products/Debug/.../Contents/Frameworks/libswiftXPC.dylib 
    /usr/bin/codesign '-r-' '--display' '/Users/..../Library/Developer/Xcode/DerivedData/.../Build/Products/Debug/.../Contents/Frameworks/libswiftXPC.dylib' 
error: Task failed with exit 1 signal 0 { 
    /usr/bin/codesign '--force' '--sign' '-' '--verbose' '/Users/..../Library/Developer/Xcode/DerivedData/.../Build/Products/Debug/.../Contents/Frameworks/libswiftCore.dylib' 
} 

非常奇怪的是,如果我將該項目的文件夾複製到我的桌面,它會在沒有錯誤的情況下編譯。如果我在其他地方複製它,它會出錯。將它來回移動幾次來驗證,最後在第三步之後,它也在桌面上出現錯誤。

任何想法?

非常感謝提前。

+1

刪除爲我工作的派生數據文件夾。檢查[這](https://stackoverflow.com/questions/38227783/how-to-delete-derived-data-in-xcode8)出 –

回答

8

症狀的非確定性性質使我認爲這是Xcode的DerivedData文件夾中陳舊數據的問題。

垃圾內容/Users/..../Library/Developer/Xcode/DerivedData/,這應該可以解決你的問題。

刪除此文件夾的內容並不成問題,因爲如果Xcode缺失,它將重新創建它所需的內容。

3

如果清除DerivedData你沒有工作,請嘗試重新下載所有配置文件,然後確保你有iOS開發在您的認證。

您可以通過選中此項確認:打開Xcode → Xcode →首選項→帳戶。點擊列表中的appleId,點擊下載所有配置文件,然後等待它下載所有配置文件。然後點擊管理認證→點擊+符號→ iOS開發

10

今天早些時候我有同樣的問題。

我是Xcode和swift的新手,剛剛開始嘗試。在第一個教程中,它建議編譯一個模擬器,然後嘗試編譯爲您的設備。

當我爲我的設備編譯時,它詢問我的鑰匙串密碼,第一次嘗試時我的密碼錯誤,假設沒有必要,我單擊拒絕訪問鑰匙串按鈕。

我在同一主題上閱讀了幾個堆棧溢出查詢,發現其中一個建議重新啓動Mac。

這對我有效。

  1. 重新啓動Mac
  2. 打開你的Xcode項目
  3. 選擇您的設備作爲目標
  4. 編譯
  5. 輸入鑰匙串密碼,然後單擊允許或總是允許
+1

'按運行啓動應用程序。此時,您可能會收到一個彈出式菜單,其中提示「codesign想要使用鑰匙...在鑰匙串中籤名」。如果是這樣,請回答總是允許。這是Xcode試圖使用剛剛創建的新開發證書 - 您只需要首先授予它許可權 - IOS Apprentice 6.0(Ray Wenderlich) – 7stud

1

一個簡單的重新啓動爲我解決了這個問題。