私のXcodeプロジェクトには、ブレークポイントで停止しないように開始されたファイルが1つ、_SignInViewController.Swift
_あります。 viewDidLoad()
にブレークポイントがあり、viewDidAppear()
にブレークポイントがいくつかあります。両方の関数でいくつかのprint()
呼び出しがあり、それらが実行されていることを確認します。 _AppDelegate.Swift
_を含む他のファイルでもブレークポイントは正常に機能します。
プロジェクトのビルド中に_Invalid redeclaration of 'signInViewController.Swift'
_というエラーが表示され、ビルドが終了してアプリが正常に実行される前に消えてしまうことに気付いたところ、どこが間違っているのかを理解しようとした時点がありました。ファイル内のブレークポイント。 _signInViewController.Swift
_は、名前を_SignInViewController.Swift
_に変更する前の数か月前の古いファイル名です。ブレークポイントの問題が発生するまで、プロジェクトのビルドフォルダーとXcodeの派生データをクリーンアップしたので、レプリケートできませんでした。私はそれが問題の要因になっていると感じていますが、どうして/どうしてかわかりません。
とにかく、これは私がすでに試したものです。それらのほとんどは、一般的には機能しないブレークポイントのためだけのものですが、そうでない場合でも、とにかくそれらをリストする必要があると思います:
- クリーンプロジェクト
- ビルドフォルダーのクリーンアップ
- XcodeのDerivedDataをクリア
- ブレークポイントが有効になっていることを確認する(Cmd Y)
- ビルド設定はデバッグに設定されています
- 常に逆アセンブリの有効化と無効化を表示
- 実行構成でデバッグが有効になりました
どんな助けも大歓迎です。
UPDATE 1(まだ運がありません):
- Neprockerの答えで示唆されているようにXcodeの設定を削除しようとしました here
更新2:
ブレークポイントの問題は、ファイルの他の場所で機能するviewDidLoad()
およびviewDidAppear()
ブレークポイントのみに分離しました。
更新3:
viewDidLoad()
の特定のコードブロックに分離されています。 viewDidAppear()
それでも動作しません。
これがどのように修正されたのかはよくわかりませんが、viewDidLoad()
の特定のコードブロックに問題を切り分けました。次に、そのコードをコメントアウトし、プロジェクトをビルドして実行しました。その後、コードのコメントを外してビルドし、再度実行すると、ブレークポイントが機能しました。
Xcodeプロジェクトの[ビルド設定]に移動し、[デバッグシンボルの生成]を[はい]に設定して、これを解決しました。
助けになったのは、ディレクトリ内のプロジェクトディレクトリ(* .xcodeproj)の下にあるファイルBreakpoints_v2.xcbkptlistを削除することでした:xcuserdata/Fred.xcuserdatad/xcdebugger(「Fred」をユーザー名に置き換えてください)。ターミナルプログラムを使用してそこに移動します。
Xcode 9でも同じ問題を扱っていました。
以下の方法で問題を解決しました。
以下の端末コマンドを使用してXCodeのデフォルトを削除
defaults delete com.Apple.dt.Xcode.LSSharedFileList
defaults delete com.Apple.dt.Xcode
XcodeのDerivedDataをクリア(または削除)
/Users/[Your Mac Username]/Library/Developer/Xcode/DerivedData
アプリケーションからXcode.appを削除(またはアンインストール)し、PCを再起動します
Xcode 9の新しいコピーをインストールする
[必須]アプリプロジェクトへのユーザー権限を次のように設定します
chmod -R 777 "/Users/[Your Mac Username]/Desktop/TestApp/"
[TestAppは、デスクトップを維持するアプリプロジェクトです]
プロジェクトを開き、ビルド設定がデバッグに設定されていることを確認します
Xcodeのユーザーデフォルト自体で値が変更されている場合があります。時々、スタックトレースでデバッガが停止することで同様の問題が発生しました
1.Delete the Xcode preference
defaults delete com.Apple.dt.Xcode
その他の問題は、ターゲットの最適化レベルである可能性があります。ターゲットをnoneに変更すると、デバッガーで停止します
標準エディターで初期ビューのviewController.Swiftファイルを開き、viewDidLoad内で何かを印刷し、アプリケーションを実行します。印刷が正常に機能している場合は、アシスタントエディターでviewController.Swiftファイルを正しく選択したことを確認します。