Architecture Xcode 12 Apple M1 arm64-可设计错误:“1”;“错误的架构”;

Architecture Xcode 12 Apple M1 arm64-可设计错误:“1”;“错误的架构”;,architecture,interface-builder,xcode12,silicon,Architecture,Interface Builder,Xcode12,Silicon,我当前的项目在基于苹果硅的机器上使用Interface builder时会抛出可设计错误。。 我尝试排除用于调试的arm64体系结构,以及在internet上找到的一些其他提示,但没有成功 该项目在模拟器和真实设备上构建得很好,但interface builder似乎无法在基于arm64的系统上正确绘制这些IB设计……奇怪 希望有人知道该设置哪个标志来纠正此错误..bc这让我发疯:/ 错误: "dlopen(MYAPP.app, 1): no suitable image found.

我当前的项目在基于苹果硅的机器上使用Interface builder时会抛出可设计错误。。 我尝试排除用于调试的arm64体系结构,以及在internet上找到的一些其他提示,但没有成功

该项目在模拟器和真实设备上构建得很好,但interface builder似乎无法在基于arm64的系统上正确绘制这些IB设计……奇怪

希望有人知道该设置哪个标志来纠正此错误..bc这让我发疯:/

错误:

"dlopen(MYAPP.app, 1): no suitable image found. Did find MYAPP.app: mach-o, but wrong architecture"

希望你们能帮助我,我知道这是早期采用者问题的一部分,但这必须以某种方式解决

以下是我如何在我的项目中修复它的

  • 我所有的IBDesignable视图都在自己的框架中,没有其他依赖项(我已经有了这个设置)

  • 在生成设置中,将调试生成的“仅生成活动体系结构”更改为“否”

  • 在构建设置中,更改“受支持的平台”以包括调试构建的“macxos”以及iOS默认值

  • 令人沮丧的是,尽管我没有任何依赖于我的IBDesignable视图的框架,但我得到了一些与我的应用程序的依赖性相关的错误——我通过以下答案修复了这些错误:它为我的cocoapod依赖项禁用了“ONLY_ACTIVE_ARCH”

  • 在故事板中,您需要通过选择编辑器->刷新所有视图来触发重建


这里也一样。M1 MacBook Air上的Xcode 12.4、macOS 11.2

通常,InterfaceBuilder会尝试从以下位置查找二进制文件:
~/Library/Developer/Xcode/DerivedData/[…]/Build/Products/${Configuration}-iphonesimulator

但在M1 Mac上,InterfaceBuilder可以在这里找到:
~/Library/Developer/Xcode/DerivedData/[…]/Build/Products/${Configuration}-iphoneos

我猜这是Xcode的错误

正如您所知,
${Configuration}-iphoneos
适用于iOS设备。不适用于模拟器。InterfaceBuilder确实需要iOS模拟器的工件

以下是简单但不太好的解决方案:

  • 为某些iOS模拟器构建
  • cd~/Library/Developer/Xcode/DerivedData/[…]/Build/Products/
  • cp-r${Configuration}-iphonesimulator${Configuration}-iphoneos
  • 重新启动Xcode
  • 最后,我可以修复
    @IBDesignable
    预览。但是我不太推荐这个解决方案

    (以下附加内容)

    我编写了解决方案shell脚本:

    (下面再增加一个)


    似乎固定在Xcode 13测试版上。苹果界面构建团队干得好

    有同样的问题。在M1 Mac mini上运行Xcode。12.3并没有解决这个问题。我用一个新的示例项目提交了一个雷达。一定是由于Xcode将其编译为x86左右,然后无法打开它造成的。很高兴看到其他人至少也有同样的经历:)如果有什么变化,我会更新此线程,或者我会找到解决方案;)我认为,在某些情况下,还必须再迈出一步——在找到这篇文章之前,我曾与同一问题斗争过一段时间,你的解决方案为我解决了这个问题。然后,我不得不回去重做/撤销一大堆cocoapod的东西,这导致我基本上把所有的设置都恢复为默认设置(再次破坏我的IBDesignables)。不过,这次回过头来查看您的解决方案并没有解决问题,所以在stackoverflow上找到此问题之前,我一定做了一些调整,这也是必要的-不知道是什么。嘿,我返回了M1 mac,因此无法再提供帮助,抱歉:(我的修复有时也会起作用,但每次我重新启动Xcode并清理项目时,它都会自行修复。不确定如何/为什么。最终我能够尝试这个解决方案。我自己尝试,我也不得不归还我的M1书籍。现在我终于找到了替代品。但不幸的是,现在这并不能解决我的IBDesignable问题。在我看来,这很奇怪c xcode应该已经准备好在自己的机器上正常工作了。但显然还没有。下次出现错误时,我会尝试一下。我实际上是通过将所有可设计的代码复制粘贴到自己的代码中来“解决”它的(手动安装而不是Cocoapods),但这不适用于更大的库虽然最正确的答案是苹果在Xcode中修复这个问题,但我认为这个答案是最好的。我们尝试了许多构建设置修复,但没有一个对我们有效。这一个有效!谢谢!是的!非常感谢!这对我在M1 Mac mini上的Xcode 12.4、macOS 11.2.3中有效。运行你的,但是,终端return that>find:-regextype:unknown primary or operator哦,很抱歉,此解决方案脚本需要
    GNU find
    。Mac上的默认
    find
    命令是
    BSD
    版本。您可以通过
    brew安装findutils
    使用。您可能还需要设置
    路径。