IB Designables: 渲染和更新自动布局状态失败(Google Maps)

4

最近几天,我遇到了以下问题:

Main.storyboard: error: IB Designables: Failed to render and update auto layout status for SomeViewController (BeW-27-X9H): dlopen(GoogleMaps.framework, 1): no suitable image found.  Did find:
    GoogleMaps.framework: mach-o, but wrong filetype

我有28个不同的视图控制器出现同样的错误,即使我只在其中几个中使用了Google Maps。因为这个问题,我不能编辑一些视图控制器(它们通常是空白的)。我可以编辑其他控制器,但它们经常不会更新自己(我更改了一些内容,但看不到它),除非我重新打开storyboard或重新启动Xcode。
我阅读了无数的解决方案,但没有一个有效。我已经读到了cocoa pods的原因,然而我不能降级到1.4,因为我的一些pods需要1.5。post_install fixes也没有帮助。
我尝试过清理构建文件夹和派生数据。 我尝试重新运行pod update。 我尝试多次重启XCode和Mac OS。
问题仍然存在。有一次,毫无理由地,它消失了几分钟,我可以轻松地编辑storyboard。然后它又回来了。
如果这真的是cocoa pods的问题,我尝试手动集成,而没有使用cocoa pods。然而,仍然出现同样的错误。
我还尝试了以下解决方案:
import GoogleMaps

class GoogleMapView: GMSMapView {

}

但这个问题并不会消失。有什么方法可以解决这个烦人的问题吗?它突然出现了。


应用程序在设备/模拟器上打开时是否会崩溃? - Pancho
是的,它运行得非常好。 - Makalele
目前我遇到了这个问题,我注意到每次打开Storyboard时Xcode都会自动进行一些更改,我总是需要还原才能使视图正确渲染,但现在我无法再显示它们了...你已经解决了这个问题吗?如果你解决了,可以分享一下方法吗?@Makalele - clementiano
它只是自己消失了,之前正常运行了一个月左右,几天前重新出现了,今天在我安装了Mac OS更新后又消失了(也许重启有帮助,很难说)。这是一个非常烦人的问题,因为没有好的方法来摆脱它。 - Makalele
3个回答

0
也许您可以创建一个包含GMSMapView(不是子类)的自定义视图, 然后在Storyboard中使用该自定义视图。

即使我将 GMSMapView 的子类更改为 UIView,错误也不会消失。它们看起来像是“缓存”了。 - Makalele

0

我在Storyboard文件中遇到了一些渲染问题(还有其他组件)。 我还没有理解主要原因,但我认为与硬件性能有关(不确定)。 解决方法是暂时更改导致问题的视图类别(使用标准UIView),以便轻松编辑storyboard,并在完成更新后撤销此更改。 希望这有所帮助。


问题是我必须在所有控制器中都这样做,因为即使一个控制器没有这个设置,整个故事板也会崩溃。更糟糕的是,当我编辑xib文件时,我也遇到了错误,并且在任何xib文件中都没有Google Maps。这个问题突然出现了... - Makalele
我甚至尝试将类GoogleMapView:GMSMapView更改为类GoogleMapView:UIView,但错误仍然存在。 - Makalele
你能分享一个导致问题的样板故事板吗?我会尝试在我的机器上检查,并回复你反馈。 - Mourad Brahim
这不是一项容易的任务。我有很多控制器,而且要耗费太多时间。我也不能分享整个项目。无论如何,我创建了一个空项目,加入了地图,它可以正常工作。我想这可能是地图和其他UI组件之间的冲突。但这只是太多了,无法弄清楚。 - Makalele

0

这很愚蠢,但有时我会从Storyboard中删除@IBDesignable视图,然后撤消。


我已经尝试过了,但没有起作用。甚至在根本没有GMSMapView的视图控制器中也出现了这个愚蠢的错误。 - Makalele

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接