界面生成器 – 无法从path加载devise器(null)
我有我创build的一些自定义控件,我是他们在一个新的项目中使用。 但是,我不断收到界面构build器中的错误:
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)
我testing了另一个项目中的控件,他们似乎在界面生成器中正确渲染,但我不能让他们在当前项目中工作。 什么原因导致这个错误,我该如何解决?
提前致谢…
我遇到过同样的问题。 我使用cocoapods,并有一个使用可devise的荚。 所以诀窍是添加“use_frameworks!” 到Podfile。 做一个'pod更新'重新打开xcode项目,错误信息不应该显示出来。
编辑**
打开Xcode(但不要打开你的项目),然后点击窗口(从右边的第二个)
点击pipe理器,确保你在项目上,然后删除所有的派生数据。 closuresXcode,然后重新打开你的项目,让Xcode重新索引你的文件,看看是否清除了这个问题
我正在运行Xcode 7.3,并且通过执行以下这些步骤使得我的项目处于确切的状态,即在执行这些步骤之前的准确状态(也就是说,净零更改为任何内容),从而使错误消失。
- 添加“use_frameworks!” (当然没有撇号)到你的pod文件
- 打开一个terminal窗口
- cd到你的项目的根目录
- 从命令行运行“pod install”
- 删除'use_frameworks!' 从你的pod文件
- 再次运行“pod install”
- 尝试再次build设,看看是否修复了错误; 它为我做了
看起来像是我们之前见过的那些偶尔出现的Xcode障碍之一,特别是当你急于完成其他事情时。
此问题已在最新版本的Cocoapods中解决
要安装,只需运行:
[sudo] gem install cocoapods --pre
为了修复错误:“从path(null)加载devise失败”:
use_frameworks! pod '****' end
添加use_frameworks!
给你的Podfile
查找更多: 使用IBDESIGNABLE从一个pod依赖关系实时渲染自定义组件
我不确定这是否能解决您的问题,因为我无法复制它。 但是我想你可以试一试。
首先,像其他人提到的那样,CocoaPods似乎也有同样的问题。 我完成了提交纠错的提交,但没有涉及到你的设置。
不过,我在这个StackOverflow问题中发现了一个不同的相关错误消息,这个消息也与path上的IB没有被发现有关。 我想知道他们的解决scheme是否可以帮助你:
解决scheme是在目标的“ Build settings
Runpath Search Paths
字段中添加$(CONFIGURATION_BUILD_DIR)
。
debugging实时渲染是非常方便的技巧。
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)添加一个liveDebugLog(message:)
并把任何你想知道的。 3)打开Terminal.app
并运行open /tmp/XcodeLiveRendering.log
命令
完成!
积分为MortenBøgh
非CocoaPods项目与自定义IBDesignable
视图有同样的问题。 显然,这是一个Xcode的错误。 这个答案的步骤帮助我解决了这个问题。 简而言之:
- 退出Xcode。
- 在您的机器上杀死所有名为
Interface Builder Cocoa Touch Tool
进程。 - 再次启动Xcode。
我不使用CocoaPods,但是我使用了包含IBDesignable项目的内部框架,并且也遇到了这个问题。 我清理,从我的主要项目中删除派生数据,并重新启动Xcode,但似乎并没有解决这个问题。 为了解决这个问题,我必须去窗口>项目,select框架项目(不是使用框架的项目,而是框架项目本身),并删除派生数据。 所以,完整的步骤:
- 产品菜单>清洁
- 按住选项>产品菜单>清理生成文件夹…>清理
- 窗口菜单>项目>select我的框架项目>删除派生数据
- 窗口菜单>项目>select我的主项目>删除派生数据
- 退出Xcode
- 重新启动Xcode
对任何和所有具有IBDesignable并可能导致错误的框架项目重复步骤3。
我已经通过更新吊舱“吊舱更新”,解决了这个问题,希望它能为你工作
问题是当界面生成器呈现视图时,cocoapods中的IB_DESIGNABLE链接不正确。
use_frameworks!
诀窍应该这样做,但对我来说,只是有点太多的努力来迁移代码。
我的诀窍是inheritance我在故事板中使用的每个IB_DESIGNABLE视图,这些视图直接来自pod。 解决了错误。
当我在xcode和我的项目打开的时候更新了豆荚时出现了这个错误。
我closures了xcode。 再次运行pod更新。 重新启动xcode。
错误没有再出现。