ios - 使用 swift 发布 OS X 和 iOS 项目构建配置的 Lipo 错误

标签 ios xcode macos lipo

我有一个项目 (Flappy Thing),它有 iOS (Flappy-Thing-iOS) 和 OS X (Flappy-Thing-OSX) 目标,完全使用 swift(没有 obj-c)。我正在使用 Xcode 6.1.1。当我在我的 Mac 或模拟器上运行该应用程序时,它编译并运行良好,没有任何错误。但是当我尝试分析应用程序时(我认为它使用发布构建配置而不是调试),我得到了一堆错误:

当我在 iOS 上(在模拟器上)分析时:

1.

Lipo error
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: 
can't open input file: 
/Users/Dan/Library/Developer/Xcode/DerivedData/Flappy_Thing-cjnzzxiecdblbkcftlklzfplyfny/Build/Intermediates/Flappy Thing.build/Release-iphonesimulator/Flappy-Thing-iOS.build/Objects-normal/i386/Flappy-Thing-iOS (No such file or directory)

2.

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc 
failed with exit code 1

3.

Command /usr/bin/ditto failed with exit code 1

4.

clang: error: linker command failed with exit code 1 (use -v to see invocation)

5.

Dsymutil error
(null): error: unable to open executable '/Users/Dan/Library/Developer/Xcode/DerivedData/Flappy_Thing-cjnzzxiecdblbkcftlklzfplyfny/Build/Products/Release-iphonesimulator/Flappy-Thing-iOS.app/Flappy-Thing-iOS'

当我针对 OS X 进行概要分析时:

1.

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1

2.

Command /usr/bin/ditto failed with exit code 1

3.

clang: error: linker command failed with exit code 1 (use -v to see invocation)

4.

Dysmutil error
(null): error: unable to open executable '/Users/Dan/Library/Developer/Xcode/DerivedData/Flappy_Thing-cjnzzxiecdblbkcftlklzfplyfny/Build/Products/Release/Flappy-Thing-OSX.app/Contents/MacOS/Flappy-Thing-OSX'

我已经阅读了其他针对 Lipo 错误的解决方案,例如将 build active architecture only 设置为 yes 用于发布配置。但是他们都没有工作

有人可以解释这些错误的含义、导致它们的原因以及如何修复它们。

提前致谢:]

编辑:这些是当前的架构build设置:

iOS 目标: architecture build settings iOS

OS X 目标: architecture build settings OS X

编辑 2: 我只在模拟器上运行并分析了 iOS 目标。当我分析它时,OS X 目标也会出现这些错误(但不是 lipo 错误)(但它通常构建良好)

最佳答案

可能是因为您分析了模拟器(即 i386),而有效的 archs 仅在您的build设置中是 arm(因此,没有可用于链接和运行的 i386 obj 文件)。

当你为 MAC 配置文件时,你会自动为 i386 构建。

关于ios - 使用 swift 发布 OS X 和 iOS 项目构建配置的 Lipo 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28528799/

相关文章:

ios - 检查 Core Data managedObject 中的多个 nil 值?

arrays - Xcode 在处理文件时卡住

ios - 子类化并使用 UIActivityItemProvider 和 UIActivityViewController

objective-c - 具有高分辨率图像的 NSImageView 在调整窗口大小时会导致极度减速

ios - 如何使用xcodebuild正确构建armv7静态库

ios - 在 Swift 中,当 false 意味着 true

ios - 约束不重新调整堆栈 View 的大小

ios - 快速组合 : prepend() before share() prevents initial sink execution

ios - Mac 上 SwiftUI 中的 UIDocumentPickerViewController (macCatalyst)

iphone - 如何在 UItableview 下使用 UItableview 创建 Accordion ?