問題
Outletが接続できなくなるエラーが発生。
Actionもダメみたい。
対処方法
以下のように自分で@IBOutletや@IBActionのコードを入力し、そこに対して接続すれば使える。
@IBOutlet weak var test: UIBarButtonItem!
根本的解決方法はあるのか?
ただし根本的な解決にはなっていないので、以下を試してみた。プロダクトのClean
⌘+Shift+K
DerivedDataの削除
DerivedDataはプロダクトのビルドフォルダーにある中間ファイルで、 /ユーザ名/Library/Developer/Xcode/DerivedData/ にある。
Xcodeから ⌘+Option+Shift+K でその一部を削除できる。
よりちゃんと削除するにはDerivedDataフォルダ内の該当プロダクトのフォルダもしくは、DerivedDataフォルダごと削除してもいい。
よりちゃんと削除するにはDerivedDataフォルダ内の該当プロダクトのフォルダもしくは、DerivedDataフォルダごと削除してもいい。
プロダクトをXcodeで開けば再作成されるので問題はない。
Storyboardのリファレンス削除と再登録
Main.storyboardをRemove Referenceだけし、すぐにプロジェクトにドラッグで戻す
たとえばViewController.swiftに接続できないなら、それを上記Storyboard同様にRemove Referenceだけしてまた戻す。
念のため、戻す前にXcode終了、DerivedDataを削除、Xcode再起動後にプロダクトcleanなどを行なった。
Xcode関係plistをいじる
/ユーザ名/Library/Preferences/com.apple.dt.Xcode.plist に対し、コマンドラインもしくはXcodeで開いて変更を加える。
その1
こちらのページ参照
plist中の IDEIndexDisable の値が1になってたら0に戻すというもの。
ユーザ名/Library/Cashces/com.apple.dt.Xcode と、 ユーザ名/Library/Saved Application State/com.apple.dt.Xcode.savedState の2ファイルをゴミ箱に捨てて「ゴミ箱を空にして」からじゃないと、値が元に戻ってしまいうまくいかなかったようだ。
plist中の IDEIndexDisable の値が1になってたら0に戻すというもの。
ユーザ名/Library/Cashces/com.apple.dt.Xcode と、 ユーザ名/Library/Saved Application State/com.apple.dt.Xcode.savedState の2ファイルをゴミ箱に捨てて「ゴミ箱を空にして」からじゃないと、値が元に戻ってしまいうまくいかなかったようだ。
その2
こちらのページ参照
その1に近いが、 com.apple.dt.Xcode を削除し、plistのDisable値を削除、Enable値を1に設定しているようだ。
ターミナルで以下3つを実行する。
rm -rf ~/Library/Caches/com.apple.dt.Xcode
defaults delete com.apple.dt.Xcode IDEIndexDisable
defaults write com.apple.dt.Xcode IDEIndexEnable 1
しかしcom.apple.dt.Xcodeを削除した段階でIDEIndexDisableがすでにないらしく、
その1に近いが、 com.apple.dt.Xcode を削除し、plistのDisable値を削除、Enable値を1に設定しているようだ。
ターミナルで以下3つを実行する。
rm -rf ~/Library/Caches/com.apple.dt.Xcode
defaults delete com.apple.dt.Xcode IDEIndexDisable
defaults write com.apple.dt.Xcode IDEIndexEnable 1
しかしcom.apple.dt.Xcodeを削除した段階でIDEIndexDisableがすでにないらしく、
Domain (com.apple.dt.Xcode) not found.
Defaults have not been changed.
などと出たので、2番目はいらないのかも?
Target MembershipのチェックOFF/ON
ユーティリティエリアにあるTarget Membershipにアプリ名のところに✔が入ってるが、これをOFF → ONしてみる。
再度Index処理が開始される。
Xcodeの再インストール
Xcodeを削除し、AppStoreから再インストールしてみた。
XcodeとMacの再起動
そのまんま。
しかし、いずれをやってもダメだった。
人によってうまくいく場合、いかない場合があるようだ。
他のプロジェクトでは問題ないようなので、プロジェクトファイルのどこかが壊れちゃったんだろうね。
このままじゃ不便なので、今後も継続して調べる。わかったら追記する。
0 件のコメント:
コメントを投稿