インターフェイスビルダーファイルの不明なクラス[複製
-
26-09-2019 - |
質問
この質問にはすでに答えがあります:
かなりシンプルなiPhoneアプリを作成しました。その後、アプリのiPadバージョン(ユニバーサル)を作成すると考えました。 「アップグレード」オプションを使用してみましたが、それはワークアウトしませんでした。そこで、別のユニバーサルアプリを作成し、XIBファイルをプロジェクトにコピーしました。それもうまくいかなかったので、XIBファイル(および関連する.m&.hファイルを削除しました。
これで、iPhoneバージョンを実行すると、インターフェイスビルダーファイルに不明なクラスipadsample1Appdelegateが表示されます。エラーとuisplitviewcontrollerは、uiuserinterfaceidiompadの下で実行されてから出るときにのみサポートされます。だから、iPadの冒険に着手する前に撮ったスナップショットに復元しました...同じエラーが発生しました。 Xcode検索とスポットライト検索を試しました。私のプロジェクトのどこにもそのクラスまたはuisplitviewcontrollerへの言及はありませんが、何らかの理由でXcodeはあると考えています。
存在しない参照を削除する方法はありますか?笑
アップデート:
それは私のXcode環境がジャッキされていることと関係があるかもしれません。ここで他のいくつかの投稿を見つけた後、私はクリーンなすべての /ビルド /タッチを試しました、そして、私がタッチをしたとき、私はXcodeで次のエラーを得ました:
捕捉されなかった例外:
- [xcbuildlogwarningmessage setFilelocations:]:instance 0x2014dd0a0に送信された認識されていないセレクター
とにかく、他のすべてを台無しにすることなくXcodeを再インストールするのですか?
解決
iPhoneシミュレーターのビットがXcodeと同期していなかったことがわかりました。私は「コンテンツと設定をリセット」しましたが、すべてが機能します:)誰が知っていましたか?
他のヒント
ターゲット内のビルドフェーズにアクセスすると、コンパイルソースが表示されます。必要な各Mファイルがリストされていることを確認してください。そうでない場合は、ここに追加するだけで、警告がなくなるはずです。
ストーリーボードを右クリック - > as->ソースコードを開きます
ストーリーボードソースファイルで不明なクラス名を見つけます。 Uiviewサブクラスのいずれかに誤ってカスタムクラス名を割り当てたからかもしれません。
私はいくつかの研究をしました そしてそれを見つけました
for my case
プロジェクトナビゲーターの不満ファイルに右クリックする必要があります。
選ぶ View/Utilities/Show File Inspector.
そして何らかの理由で Target Membership
選択されていません。
そのため、リンカーはクラスの存在がわからないと言っています。
私はそれを選ぶためにチェックしました、そして、すべてが魅力のように機能します。
私は同じ問題を抱えていましたが、上記の解決策によって解決されませんでした。 info.plistファイルから「メインストーリーボードファイルベース名(iPad)」エントリを削除することで、それを機能させることになりました。
私のためにそれを修正したのは、シミュレータのAPを「削除」し、再び再構築することでした。
おそらく、このクラスは、iPhoneシミュレーターのローカル設定でまだ再生されていました。
私の場合、このエラーはクラス名をリファクタリングした後に表示されました。どういうわけか、classNameは.xibファイルで変更されません。 TextEditでこのXIBファイルを開き、すべてのOldClassVCをNewClassVCに置き換えました。その後、新しいビルドの前にXibファイルとクリーンプロジェクトを保存しました。プロジェクトはうまく実行されます。
ココアポッドを使用している場合は、.framework/.aファイルをプロジェクトにドラッグします。