我有一个项目 (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 目标:
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/