72

作成したカスタム コントロールがいくつかあり、それらを新しいプロジェクトで使用しています。ただし、インターフェイス ビルダーでエラーが発生し続けます。

Failed to update auto layout status: Failed to load designables from path (null)

また

Failed to render instance of <control>: Failed to load designables from path (null)

別のプロジェクトでコントロールをテストしたところ、インターフェイス ビルダーでは正しくレンダリングされているように見えますが、現在のプロジェクトでは機能しません。このエラーの原因と修正方法を教えてください。

前もって感謝します...

4

16 に答える 16

7

私は Xcode 7.3 を実行していますが、これらの手順に従うことでエラーが魔法のように消え、最終的に、プロジェクトはこれらの手順に従う前とまったく同じ状態になりました (つまり、何も変更されていません)。

  1. 「use_frameworks!」を追加 (もちろん、アポストロフィなしで)ポッドファイルに
  2. ターミナル ウィンドウを開く
  3. プロジェクトのルートディレクトリに移動します
  4. コマンドラインから「pod install」を実行します
  5. 「use_frameworks!」を削除します。あなたのポッドファイルから
  6. 「pod install」を再度実行します
  7. もう一度ビルドしてみて、エラーが修正されるかどうかを確認してください。それは私のためにしました

特に何か他のことを急いでいるときに、これまでに見たことのある時折の Xcode の障害の 1 つに見えます。

于 2016-04-11T22:04:55.777 に答える
3

再現できないため、これで問題が解決するかどうかはわかりません。でも、とにかくやってみようかなと思いました。

まず、他の人が述べたように、CocoaPods にも同じ問題があったようです。修正を行ったコミットを確認しましたが、設定に関連する結果はありませんでした。

ただし、このStackOverflow questionで別の関連するエラー メッセージを見つけました。これは、パス上で IB によって見つからないものにも関連していました。彼らの解決策があなたに役立つかどうか疑問に思いました:

$(CONFIGURATION_BUILD_DIR)解決策は、ターゲットのBuild settings Runpath Search Pathsフィールドに追加することでした。

于 2015-03-16T16:23:55.533 に答える
3

IBDesignableカスタムビューを使用したCocoaPods以外のプロジェクトでも同じ問題が発生しました。どうやら、それはXcodeのバグです。この回答の手順は、問題の解決に役立ちました。要するに:

  1. Xcode を終了します。
  2. マシンで指定されたすべてのプロセスを強制Interface Builder Cocoa Touch Tool終了します。
  3. Xcode を再起動します。
于 2016-04-01T13:03:47.520 に答える
3

CocoaPods は使用していませんが、IBDesignable アイテムを含む社内フレームワークを使用しており、この問題も発生していました。メイン プロジェクトから派生データをクリーンアップして削除し、Xcode を再起動しましたが、修正されていないようです。これを解決するには、[ウィンドウ] > [プロジェクト] に移動し、フレームワーク プロジェクト (フレームワークを使用したプロジェクトではなく、フレームワーク プロジェクト自体) を選択し、派生データを削除する必要がありました。したがって、完全な手順:

  1. 製品メニュー > クリーン
  2. オプション > 製品メニュー > ビルド フォルダーの消去... > 消去を押したままにします。
  3. ウィンドウ メニュー > プロジェクト > フレームワーク プロジェクトを選択 > 派生データの削除
  4. ウィンドウ メニュー > プロジェクト > メイン プロジェクトを選択 > 派生データを削除
  5. Xcodeを終了
  6. Xcode を再起動する

IBDesignables があり、エラーの原因となっている可能性があるすべてのフレームワーク プロジェクトに対して、手順 3 を繰り返します。

于 2016-09-01T23:47:25.557 に答える
2

この問題は、Cocoapods の最新バージョンで修正されました

インストールするには、次のコマンドを実行するだけです:

[sudo] gem install cocoapods --pre

エラーを修正するには: 「パスからデザイン可能要素をロードできませんでした (null)」:

use_frameworks!

   pod '****'



end

use_frameworks!Podfileに追加

詳細: Pod 依存関係から IB_DESIGNABLE を使用してカスタム コンポーネントをライブ レンダリングする

于 2015-09-09T07:28:51.087 に答える
1

ライブ レンダリングをデバッグするための非常に便利なトリックがあります。

1) この拡張機能をプロジェクトに追加します。

    extension UIView {
    public func liveDebugLog(message: String) {
        #if !(TARGET_OS_IPHONE)
            let logPath = "/tmp/XcodeLiveRendering.log"
            if !NSFileManager.defaultManager().fileExistsAtPath(logPath) {
                NSFileManager.defaultManager().createFileAtPath(logPath, contents: NSData(), attributes: nil)
            }

            var fileHandle = NSFileHandle(forWritingAtPath: logPath)
            fileHandle.seekToEndOfFile()

            let date = NSDate()
            let bundle = NSBundle(forClass: self.dynamicType)
            let application: AnyObject = bundle.objectForInfoDictionaryKey("CFBundleName")
            let data = "\(date) \(application) \(message)\n".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
            fileHandle.writeData(data)
        #endif
    }
  }

2) a を追加してliveDebugLog(message:)、知りたいことを入力してください。Terminal.app3)コマンドを開いて実行するopen /tmp/XcodeLiveRendering.log

終わり!

Morten Bøghのクレジット

于 2015-05-10T17:51:40.840 に答える
0

ポッド「ポッド更新」を更新することでその問題を解決しました。うまくいくことを願っています

于 2017-03-01T10:06:06.310 に答える
-1

このエラーは、xcode とプロジェクトが開いているときにポッドを更新したときに発生しました。

xcodeをシャットダウンしました。ポッドの更新を再度実行しました。xcodeを再起動しました。

エラーは再び表示されませんでした。

于 2017-05-19T00:58:41.017 に答える
-1

ココアポッドを使用していませんでしたが、インポートされたクラスを拡張するビューコントローラーでこのエラーが発生しました。StoryBoard を IphoneX ビューに変更したときにのみこのエラーが発生しました。iPhone 8 ビューでは問題なく動作していました。

プロジェクトの設定を New Build System (Preview) から Standard Build system に変更し、プロジェクトをクリーンアップするとエラーが消えました。

理由はわかりませんが、それで問題は解決しました。

于 2018-05-23T10:49:23.430 に答える