“可执行路径是一个目录”Xcode 弹出错误

Nig*_*LxD 17 xcode ios xcode-build-settings

我有一个包含 3 个目标的 iOS Xcode 项目 - AppTarget、Lib1 和 Lib2。

等级制度:

  • AppTarget 依赖于 Lib1 和 Lib2。它没有代码(SceneDelegate、AppDelegate 等已移至 Lib1)。
  • Lib1 是一个静态库,包含 AppDelegate 和 SceneDelegate(我们不要深入了解为什么它们从 AppTarget 移到这里)。
  • Lib2 是静态库,依赖于 Lib1。它使用swift 扩展扩展了 SceneDelegate 类。

为了获得上述结构,我必须添加、删除文件引用并设置依赖项。

当我运行 AppTarget 时,构建成功后会出现以下弹出窗口, 在此输入图像描述

将上述错误粘贴为文本,

Details

Executable Path is a Directory
Domain: DVTMachOErrorDomain
Code: 5
Recovery Suggestion: /Users/<user_name>/Library/Developer/Xcode/DerivedData/<project_name>-bnytgzvocmpwyuajjxxjivpkymui/Build/Products/Debug-iphonesimulator/<project_name>.app is not a valid path to an executable file.
User Info: {
    DVTErrorCreationDateKey = "2022-11-03 08:04:49 +0000";
}
Run Code Online (Sandbox Code Playgroud)

我不知道为什么会发生这种情况。我没有弄乱 Xcode->Preferences->Location 选项卡中的默认可执行路径。

有一个苹果论坛帖子描述了类似的错误(不一样)。解决方案是检查旧文件的引用,这些文件现在不存在。我已经验证了所有 3 个目标的目标 -> 构建阶段 -> 编译源,一切都符合预期......没有看到任何“微弱文件”。

我在这里缺少什么?任何帮助将不胜感激。

我正在使用 Xcode 14.0.1 和 swift 5+。

小智 5

构建模拟器时排除 arm64 arch。原因是模拟器使用基于 X86 的架构。当为真实设备(如 iPhone)构建时,您必须删除架构排除。iPhone 使用基于手臂的拱形结构。请参阅此处的快照:

快照


Abh*_*i_M 2

造成这种情况的原因之一可能是应用程序目标中没有源。如果没有代码,则不会按预期生成可执行文件。看看添加虚拟/示例源代码是否有效,即只需一个带有空类的 swift 文件也应该可以解决问题。