Xcode - @IBDesignables - X.framework 缺少必需的代码签名

Posted

技术标签:

【中文标题】Xcode - @IBDesignables - X.framework 缺少必需的代码签名【英文标题】:Xcode - @IBDesignables - Required code signing missing for X.framework 【发布时间】:2018-04-16 07:44:00 【问题描述】:

我知道以前有人问过类似的问题,但似乎没有什么对我有用。

我正在使用 CocoaPods 并安装框架“X”。这可以是可以在情节提要中直接编辑的任何内容。两个例子是“MBCircularProgressBar”和“UICircularProgressRing”。

我将它添加到 UIView 并立即收到此错误。它弄乱了我的 Storbyboard,但应用程序运行良好。

我正在使用最新版本的 Xcode,最新的 MAC 操作系统。

我尝试了什么?

删除了 Xcode 的 DerivedData 中的所有内容 清理、构建、刷新视图 ++ 删除有问题的 pod 并重新安装/尝试不同的 pod 在“常规”中禁用“自动代码签名”并手动将其设置为我的公司

此时显示错误:

Main.storyboard: error: IB Designables: Failed to render and update auto layout status for Dashboard_UsageVC (mqT-RZ-029): dlopen(MBCircularProgressBar.framework, 1): no suitable image found.  Did find:
    MBCircularProgressBar.framework: required code signature missing for 'MBCircularProgressBar.framework'

23.04.2018 更新 - 仍未解决

还是有这个问题。我已经走到了极端,完全重置了我的 MAC。重新安装了一切。同样的问题。即使将 CocoaPods 降级到 1.4.0 并将 Xcode 降级到以前的版本。为了避免把我所有的头发都拉出来,我现在完成了应用程序的其余部分,没有什么特别需要,并希望在更接近应用程序发布的时候找到一个神奇的解决方案。

【问题讨论】:

试试这个命令rm -rf ~/Library/Developer/Xcode/DerivedData 然后构建你的项目 正如我的问题中提到的,这已经完成了。参考“为 Xcode 删除 DerivedData 中的所有内容” 你试过了吗?刷新所有视图或从编辑器调试选定视图 【参考方案1】:

已在 Cocoapods 1.5.2 中修复(可能是 1.5.1,但我已直接从 1.5.0 升级到 1.5.2)。

更新

我可能说得太快了。 几次构建后错误再次出现。

但是,这种解决方法似乎可以工作(适用于 Cocoapods 1.5.x),直到合并错误修复:

清理您的项目 关闭 Xcode 并删除 DerivedData

在你的项目中打开 Podfile,然后添加:

post_install do |installer| installer.pods_project.build_configurations.each do |config| config.build_settings.delete('CODE_SIGNING_ALLOWED') config.build_settings.delete('CODE_SIGNING_REQUIRED') end end

然后在命令行中执行:

pod updatepod install

来源:

https://github.com/CocoaPods/CocoaPods/issues/7606#issuecomment-381279098 https://github.com/evgenyneu/Cosmos/issues/105 https://github.com/Skyscanner/SkyFloatingLabelTextField/issues/201#issuecomment-381915911

【讨论】:

你好。在我开始拔头发之前再次尝试。这是 1.52 版本的解决方法吗?我问的原因是我在 1.5 和 1.4 版本中完全按照你所说的做了,但没有任何成功。就像你提到的那样。在您开始更改变量等之前不久它似乎正在工作,然后错误再次出现。 @Sourcey86 你好。我只为 Cocoapods 1.5.2 做了这个,到目前为止它仍然有效。不要忘记在 pod 更新之前清理您的项目并删除 DerivedData。 我不需要清理项目或删除派生数据即可。只需确保将代码放在 pod 文件的最末尾,在上一个最后一个“end”标记之后。【参考方案2】:

对我来说同样的错误。

对我来说,它是在安装最后一个版本 cocoapods 1.5.0 之后出现的。于是我把它降级到 1.4.0,这个 bug 就消失了。

sudo gem uninstall cocoapods
sudo gem install cocoapods -v 1.4.0

希望对你也有帮助。

【讨论】:

更新:没有解决问题。它短暂地与三分之一的豆荚一起工作,但现在我又回到了同样的问题。一个工作的 pod 可以正常工作一天,直到它在 .swift 文件中编码时再次随机出现,该文件甚至与 pod 处于活动状态的 UI 无关。上帝我有时讨厌 XCode(也就是大多数时候)。修复此类烦人的错误需要花费大量时间。【参考方案3】:

这对我来说很好。当我将 cocoapods 降级到 1.4.0 时,问题就消失了。 我正在使用DownloadButton。

【讨论】:

参考:github.com/CocoaPods/CocoaPods/issues/…另一种方式。

以上是关于Xcode - @IBDesignables - X.framework 缺少必需的代码签名的主要内容,如果未能解决你的问题,请参考以下文章

Xcode - IB Designable:无法渲染和更新自动布局(找不到合适的图像)

IB Designables:无法渲染和更新自动布局状态(谷歌地图)

@IBDesignable 错误:IB Designables:无法更新自动布局状态:Interface Builder Cocoa Touch Tool 崩溃

FSCalendar 无法检测到

Spring框架StoryBoard渲染错误

CGContextRef 不适用于@IBDesignable(错误:代理崩溃)