web-dev-qa-db-ja.com

Xcode 6はSwiftでオートコンプリートしていません

正確な名前を思い出せないさまざまなライブラリをインポートしようとしています。残念ながらXcode 6(Swiftを使用)は、objective-cを使用してXcode 5で行われたように自動補完されません。

例えば:

ALAssetsLibrary
MPMediaPlayer

等.

正確なフレームワーク名をGoogleに強制してから、戻ってコピーペーストします。

一般に、オートコンプリートの動作は非常に悪いです。 Xcode 6で何か間違ったことをしていますか?

設定でフラグを設定して機能させる必要がありますか?

63
Avner Barr

この修正はApple devフォーラムでうまくいきます。ベータ5以降、パフォーマンス/オートコンプリートの問題が発生しました。

  1. Xcodeを終了します。
  2. コンピューターを再起動します(これはメモリ内のキャッシュをクリアするためです)。
  3. DerivedDataフォルダー(〜/ Library/Developer/Xcode/DerivedData)の内容を削除します
  4. [これが重要な動きです。]〜/ Library/Caches/com.Apple.dt.Xcodeを削除します。

Xcodeをもう一度起動します…

143

これは、上記で正しく選択された答えと同じですが、少しだけ簡単になりました。

私はそれを何回かしなければならなかったし、私のテストでは、Macの再起動をスキップできます。

1)Xcodeを閉じます

2)ターミナル-> rm -rf〜/ Library/Developer/Xcode/DerivedData/*

3)ターミナル-> rm -rf〜/ Library/Caches/com.Apple.dt.Xcode

Xcodeを再起動すると、通常の状態に戻ります。

67
Travis M.

展開ターゲットが8.1の場合、オートコンプリートは常に機能することがわかります。しかし、そうでない場合は信頼できません。

enter image description here

17
Steve Rosenberg

XCodeの速度を向上させ、トリックを再利用する最も簡単な方法は、エイリアスを作成し、必要なときに呼び出すことです。

1。ターミナルを開く:
2。端末に入力(またはコピーして貼り付け):
alias xcodeclean="rm -frd ~/Library/Developer/Xcode/DerivedData/* && rm -frd ~/Library/Caches/com.Apple.dt.Xcode/*" 3.最後のステップはxcodecleanと入力することです(次回、xCodeをクリーンしたいときはxcodecleanを呼び出すだけです)

5
Dardan

私はこれをかなり頻繁に起こしましたが、最新のベータ版を使用していることを確認してください。残念ながら、毎回開発者ポータルから最新のものをダウンロードする必要があります。

また、Swiftコンパイラーがエラーがなくても、何かをコンパイルするのに苦労しており、コードの正しい行をコメントアウトまたは削除すると、機能が戻ってきたときにオートコンプリートがなくなることに気付きましたベータ品質のソフトウェアから最も確実に生じます。

先週、Swiftコンパイラがsqrt()関数でNiceをプレイしていなかったため、壁に頭を打ちました。これらの問題は、フルリリース。

申し訳ありませんが、実際の「修正」はまだありません!

3
jaco129

場合によってはオートコンプリートもできません。これは、Xcode 6がまだベータ版であるという事実によると思います。ところで、Xcode 6ベータ版を更新しましたか?現時点では、最新版はベータ5です。 App StoreがXcode 6ベータ版を更新しないことにしばらく気づかなかったため、しばらくの間ベータ1にとどまりました。更新していない場合は、更新してください。たぶんそれはこのようなバグの助けになるでしょう。

2
adam10603

これは非常に迷惑です。派生データをクリアするための回答を投稿すると防弾効果がありますが、フォルダをクリアする前にxcodeを閉じる必要があります。作業を行うための小さなスクリプトを作成しました。

#!/bin/bash

echo "Start fixing xCode"
echo "Closing xCode"
osascript -e 'tell app "Xcode" to quit'
sleep 2
echo "Clearing DerivedData..."
rm -rf "$HOME/Library/Developer/Xcode/DerivedData"
sleep 2
echo "Launch xCode again"
osascript -e 'tell app "Xcode" to run'
echo "Finish fixing xCode"

これで、xCodeから指が届くたびに単純に実行されます。ただし、すべてを再コンパイルする必要があるという問題は依然として存在します。

[〜#〜] edit [〜#〜]

@Nikolay Spassovからのコメントの提案のおかげで、スクリプトを調整して、ホームディレクトリを変更するのではなくキャプチャするようにしました。したがって、以下の手順は必要ありません。

古いステップ

システムで動作させるには、「/ Users/iphonedev5 ...」の部分を変更する必要があることに注意してください。

2
hris.to

Fonts&Colorをデフォルトに変更してみましたが、うまくいきました。私は通常MidNight2でそれを持っています。

1
Progr3ss

私はこれらすべてを試しましたが、何の効果もありませんでした。私の状況は、Swiftクラス "A"があり、私のブランチに大規模なマージを実行した後、他のいくつかのSwift=ファイル( "B" -「F」)私のプロジェクト内から別のグループに位置していた。

興味深いのは、「A」はメインプロジェクトターゲットの両方に属しているが、UnitTestターゲットにも属しているのに対し、「B」、「C」、「D」、「E」、および「F」はメインプロジェクトターゲットのみに属していることです。

UnitTestsのメンバーシップにそれらを含めることによって、突然のXcodeのすべてがこれらのクラスを正しく表示できるようになりました-おそらく同じターゲットのメンバーである必要がありますか?

いくつかの問題が修正されました。1)コード補完が機能するようになりました。 2)行番号の隣にある小さな赤いエラーマーカー(「未解決の識別子」エラー)もクリアされました。この最後の1つは、CMD-Bをビルドしてクリアするとコードが正常にコンパイルされ、正常に実行されるため、非常に迷惑でした。ただし、任意の変更(たとえば、単一の空白の追加)を行うと、これらは常に再表示されます(もちろん、コード補完も再び機能しなくなります)。

これがSwiftまたはXcodeの問題であるかどうかはわかりませんが、これが私にとってそれを修正したものです。

0
BonanzaDriver

上記のすべてのフォルダを見つけることができない場合、またはターミナルに入力するのが面倒な場合は、以下を試してください。

•デスクトップに新しいフォルダーを作成する

•アプリケーションフォルダーに移動し、Xcodeアプリケーションをコピーします。

•デスクトップに作成したフォルダーにアプリケーションを貼り付けます

*アプリケーションフォルダーに戻り、アプリケーションフォルダーからXcodeを削除します。 cleanMyMac2または他のクリーナーアプリを使用してXcodeアプリを削除すると、com.Apple.Xcodeなどのすべてのファイルを使用できます。

•完了後、コンピューターを再起動します

•早く開いたXcodeを作成したフォルダーに移動すると、契約条件が表示され、プロジェクトを受け入れて開始するだけです。

幸運を

0
bawasuru