试图在 Xcode 12 (beta 5) 中构建一个大型(并在 Xcode 11 上工作!)项目以准备 iOS 14。代码库以前是 Obj-C,但现在包含 Obj-C 和 Swift,并使用了Obj-C 和/或 Swift 也是如此。
我已经使用 Xcode 12 支持(目前是 1.10.0.beta 2)拉取了 Cocoapods 的新测试版。
Pod 安装成功。当我进行构建时,我在 pod 框架上收到以下错误:
为 iOS 模拟器构建,但链接为 iOS 构建的目标文件,用于架构 arm64
当我lipo -info在框架上运行时,它有:armv7s armv7 i386 x86_64 arm64。
以前,该项目的有效架构设置为:armv7、armv7s 和 arm64。
根据 Apple 的文档,在 Xcode 12 中,该设置将消失。Architectures 设置为 $(ARCHS_STANDARD)。我在排除的架构中没有设置任何内容。
任何人都知道这里可能发生什么?我还没有能够用一个更简单的项目来重现这个。
为了为我的程序构建安装程序,我添加了一个"安装程序"Xcode项目/目标,它将所有需要的二进制文件复制到一个临时位置,然后运行必要的逻辑来构建程序包.
我遇到的问题是我想直接映射这个安装程序项目依赖于其他一些项目,以便每次我尝试构建安装程序项目时都构建它们(如果需要).
我将所有目标添加到安装程序的构建目标列表(在架构中),并按如下顺序排列:
Project A
Project B
Project C
Installer (self)
Run Code Online (Sandbox Code Playgroud)
但是当我做一个干净的构建时,我看到一个构建顺序(在构建日志中),如下所示:
Project C
Installer
Project A
Project B
Run Code Online (Sandbox Code Playgroud)
我需要强制执行某个构建顺序,否则安装程序将无法使用这些文件.XCode允许您在UI中更改这些项目的顺序,但顺序似乎没有做任何事情.有没有办法强制依赖的构建顺序?
我已经将我的 Mac 更改为 MacBook m1,我的 Xcode V 是 12.4 我的项目在模拟器上正常运行,但在真实设备上运行不正常 我尝试删除 Pod,但它对我不起作用
Command PhaseScriptExecution failed with a nonzero exit code
Run Code Online (Sandbox Code Playgroud)
谢谢
xcode ×4
apple-m1 ×1
cocoa ×1
dependencies ×1
installer ×1
ios ×1
project ×1
swift ×1
xcode12 ×1
xcode12beta5 ×1
xcode12beta6 ×1
xcodebuild ×1