将我的框架迁移到Xcode 10 beta(10L176w)之后,我开始收到如下警告:
将体系结构arm64映射到x86_64。确保针对iOS Simulator平台正确配置了此目标的“体系结构”和“有效体系结构”构建设置。
...和:
将架构armv7映射到i386。确保针对iOS Simulator平台正确配置了此目标的“体系结构”和“有效体系结构”构建设置。
尽管有这些警告,构建和单元测试都通过了Ok。我正在使用Swift 4.2。
尽管如此,这些警告是关于什么的?
Answers:
There are no valid architectures to compile for because the VALID_ARCHS build setting is an empty list
通过将“有效体系结构”设置更改为$(ARCHS_STANDARD)
也与“我的体系结构”设置相匹配的方式,我能够使这些警告消失。
奇怪的是,它显示为armv7 arm64
(与的默认设置相比armv7 armv7s arm64
),但是手动将其设置为该值仍会引起警告。不知道这样做的意义是什么,但是我尚未在测试中发现任何问题。
您可能会覆盖目标或其项目的VALID_ARCHS(“有效体系结构”)构建设置。这是一个构建设置,应根据要构建的运行目标自动获取其值。当您确定此替代的来源(构建设置被替代时将以粗体显示)时,选择它并按Delete键将其恢复为默认值。
VALID_ARCHS
。它包含arm64
调试和发布。
VALID_ARCHS
以将其设置为默认值,然后再次清理并关闭/打开Xcode,以使其对我完全起作用
解决方案更简单:在有效架构中,只需将arm64替换为x86_64即可。
更换:
(如警告中所述)是我的解决方案。在结果有效的架构设置是:
更换后,我上面的三个警告消失了。
有关架构的更深入的信息可以在这里找到:https : //docs.elementscompiler.com/Platforms/Cocoa/CpuArchitectures/
我认为在Xcode中此警告的表达有点混乱。
构建框架时,我看到了同样的警告。过了一会儿,这些有效的体系结构值会根据设备的类型而变化,而不管构建设置中的值如何。
Real devices-> arm64
Simulator devices ->x86-64
ARCHS = $(ARCHS_STANDARD_64_BIT)
和来构建64位时进行设置时看到了这一点VALID_ARCHS = $(inherited) x86_64 i386