web-dev-qa-db-ja.com

Swift stdlibツールエラー

Xcode 8.1とSwift 3:でコンパイルするとこのエラーが発生します。

Swift 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'
}

非常に奇妙なことは、プロジェクトを含むフォルダーをデスクトップにコピーすると、エラーなしでコンパイルされることです。他の場所にコピーすると、エラーが発生します。確認のために数回前後に移動し、最終的に3回目の移動の後、デスクトップでもエラーが発生しています。

何か案は?

事前に感謝します。

21
Dribbler

症状の非決定的な性質により、XcodeのDerivedDataフォルダー内の古いデータに問題があると思います。

/Users/..../Library/Developer/Xcode/DerivedData/の内容をゴミ箱に捨てると、問題が解決するはずです。

このフォルダーのコンテンツを削除しても問題はありません。Xcodeが欠落している場合、必要なものが再作成されるためです。

13
ayaio

今日、私は以前にも同じ問題を抱えていました。

私はXcodeを初めて使用し、Swiftと実験を開始しました。最初のチュートリアルの1つでは、シミュレーター用にコンパイルしてから、デバイス用にコンパイルすることをお勧めします。

デバイス用にコンパイルすると、キーチェーンパスワードが要求されましたが、最初に試してみたときにパスワードが間違っていたので、必要ではないと仮定して、キーチェーンボタンへのアクセスを拒否しました。

同じトピックに関するいくつかのスタックオーバーフロークエリを読んで、Macの再起動を提案するクエリを見つけました。

これは私のために働いた。

  1. macを再起動します
  2. xcodeプロジェクトを開きます
  3. デバイスをターゲットとして選択します
  4. コンパイル
  5. キーチェーンパスワードを入力し、[許可]または[常に許可]をクリックします
17

DerivedDataをクリアしてもうまくいかない場合は、すべてのプロファイルを再ダウンロードして、認証にiOS開発があることを確認してください。

確認するには、Xcode→Xcode→Preferences→Accountsを開きます。リストでappleIdをクリックし、Download All Profilesをクリックして、すべてのプロファイルがダウンロードされるのを待ちます。次に、「証明書の管理」をクリックし、+記号をクリックします(iOS開発)。

5
benyamin

簡単な再起動で問題が解決しました。

5
Amer Meer

Racl101と同様( https://stackoverflow.com/a/49266114/3612595 )、DerivedDataディレクトリの削除もコンピューターの再起動も問題を解決しませんでした。

ログインキーチェーンの削除を回避するために、以下で問題を解決しました。

  1. Xcodeを閉じる
  2. ログインキーチェーンのパスワードを(現在のパスワード以外のものに)変更します
  3. Xcodeプロジェクトを再度開き、再度コンパイルを試みます。パスワードの入力を求められたら、「常に許可」を選択します

ログインキーチェーンパスワードを元の値に戻す場合は、このプロセスを繰り返します。

2
FishSaidNo

私の特定のケースでは、DerivedDataディレクトリの削除もコンピューターの再起動も機能しませんでした。

Swift stdlib tool Errorに遭遇する前の問題は、キーチェーンのキーへのアクセスを許可するためにXcodeでシステム/ルートパスワードを求められたときにApple ID(無料)プロビジョニングプロファイルを作成したときに発生したと考えられますパスワードを入力しましたが、Allowボタンをクリックしました。

これにより、Xcodeはパスワードをノンストップで再度要求し、何度入力しても受け入れられませんでした。 Xcodeが初めてパスワードを受け入れたが、単にグリッチが発生したと仮定して、誤ってEscキーを押しました。

それにもかかわらず、私は間違っていて、その時点からキーチェーンキーにアクセスするためのパスワードを求められませんでしたが、代わりに、ビルドして実行しようとするたびにSwift stdlib tool Errorエラーで文句を言うでしょうiOSデバイスでアプリを実行します。

これを修正するために、次のことを行いました。

  1. このAppleのドキュメントに従って、login keychainを削除しました: 必要に応じて、新しいログインキーチェーンを作成します
  2. 古いログインキーチェーンに関連付けられているため、Xcodeに保存されたApple ID(無料)プロビジョニングプロファイル(つまり、[設定]> [アカウント])を削除しました。
  3. コンピューターを再起動しました。
  4. Apple ID(無料)プロビジョニングプロファイルを再作成しました(これにより、キーチェーンのキーにアクセスするためのシステムパスワードの入力が再度求められます。今回は許可ボタンをクリックします常に許可ボタン。 。

このソリューションの1つの大きな注意点:

ログインキーチェーンを削除すると、以前にパスワードを保存した可能性のある多くのアプリケーションからコンピューターがログアウトします。たとえば、Sparkメールアプリクライアントを使用すると、個々の電子メール(Gmail)アカウントのパスワードを再入力することになり、Evernoteアプリからもログアウトしました。 だから、注意してください!それでも、それは私の大した問題ではありませんでした。最悪の場合、単に迷惑です。

2
racl101

今日、私は以前にも同じ問題を抱えていました。

私はXcodeを初めて使用し、Swiftと実験を開始しました。最初のチュートリアルの1つでは、シミュレーター用にコンパイルしてから、デバイス用にコンパイルすることをお勧めします。

デバイス用にコンパイルすると、キーチェーンパスワードが要求されましたが、最初に試してみたときにパスワードが間違っていたので、必要ではないと仮定して、キーチェーンボタンへのアクセスを拒否しました。

  • 新しいバンドル識別子を使用して、新しい証明書を作成します。この後
  • デフォルトでシステムパスワードであるキーチェーンパスワードを入力してください
1
Ankit Rathi

私の成功の3つのステップ:

1)デバイスを再起動します

2)Macを再起動します

3)フォルダー/ Users/YOR-NAME/Library/Developer/Xcode/DerivedData /を削除します(エラーにリストされます)報告する)

1
OrdoDei