Lipo错误!!无法打开输入文件

时间:2013-06-27 16:51:06

标签: ios objective-c lipo

我的应用程序工作得非常好,然后我开始集成SDK用于推送通知并停止其间的集成。我甚至从我的项目中删除了SDK并试图存档或运行应用程序,它给了我错误:

  

脂肪错误!!无法打开输入文件。

任何帮助都会受到很多赞赏,我已经给了足够的时间来解决这个问题,但失败了。

  

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo:无法打开输入文件:   /Users/XYZ/Library/Developer/Xcode/DerivedData/MyAPP-hjbmqpnmsoruqxbwlayqkjsojccv/Build/Intermediates/MyAPP.build/Debug-iphoneos/MyAPP.build/Objects-normal/armv7s/MyAPP(没有这样的文件或目录)

21 个答案:

答案 0 :(得分:68)

我得到了它的工作,我只是在我的项目目标中做了一个简单的改变 - >构建设置 - >仅构建Active Architecture并将此Build Active Architecture仅设置为YES。它现在工作正常..

更新6个月后:

在更新到Xcode5之后,我再次面对这个问题。这次我必须更新项目目标 - >构建设置 - >有效架构到armv7。我删除了armv7s和arm64。

答案 1 :(得分:12)

通过设置"启用Bitcode"到"不"适合我。

现在我可以在设备上运行并提交到App商店。

enter image description here

答案 2 :(得分:7)

请注意,从Carthage切换到CocoaPods时我得到了这个。解决方案是删除Build Phases部分中的“Remove Unneeded Architectures”。

答案 3 :(得分:5)

这件事发生在我身上,因为我正在使用cocoapods,而工作区中的Pods项目与我的主项目(分别为YES和NO)的“Build Active Architecture Only”设置不同。当我将两者设置为“NO”时,我能够在我的设备上构建和运行。

答案 4 :(得分:4)

尝试删除您已从项目目标中删除的文件 - >构建阶段 - >编译来源。

希望有所帮助。

答案 5 :(得分:3)

尝试删除已连接的iPad / iPhone。这适用于我的情况。

答案 6 :(得分:1)

这对我来说是一个cocoapods问题。我正在运行0.35.0,Xcode 6.1.1,显然我需要在podfile中提及我的目标,以便我的所有cocoapod都可以正常使用我的目标。

在我的podfile底部,我添加了:

link_with 'Target A', 'Target B' ...

添加所有目标名称,关闭Xcode,运行pod install,打开Xcode,它应该为您构建。

以下是github问题:https://github.com/CocoaPods/CocoaPods/issues/2627

答案 7 :(得分:1)

当我决定清理Derived数据文件夹时发生了错误。 我不得不拨打carthage update --platform iOS然后在Xcode中调用Clean并重新构建。 希望可以帮助某人

答案 8 :(得分:1)

在我的情况下,我在一些更新后执行了我的应用程序,然后尝试在git上提交它,并且冲突破坏了我的代码。那是一个悲伤的故事。

但幸运的是,我的系统上有一个备份,我用我的本地代码替换了破坏的代码。

现在执行时我感觉到同样的问题。然后清理项目对我来说是一个神奇的棍子。我清理了项目,我很高兴。

答案 9 :(得分:0)

这些都不适合我。

经过一些挖掘(git reset等)后,我发现我的工作区已损坏。我删除了project.xcworkspace的内容,所有内容都恢复正常。

甚至重置不起作用的原因是因为.xcworskpace在我的.gitignore中(就像我想的那样)。

答案 10 :(得分:0)

在我的情况下,出现问题的原因是我在两个控制器中使用相同的名称声明了一个对象(AVAudioPlayer)实例变量 - 应用程序委托和另一个控制器。奇怪,但当我重命名其中一个时,问题就消失了。

答案 11 :(得分:0)

在我的框架搜索路径中放入一堆无法访问的目录(一遍又一遍)后,我遇到了这个错误。有人直到最后才导入他们正在处理的框架,并在代码中留下了对自己目录的引用。通过比较分支和从pbxproj中删除违规代码来解决

答案 12 :(得分:0)

Swift的新潜在答案:我们将此错误分解为类别文件中nil合并运算符(??)的单次使用。操作符在我们项目的其他地方使用没有问题,但在此特定文件中,删除它修复了lipo错误。

答案 13 :(得分:0)

Bundle Compile Source Files

你必须在编译Bundle Target的源代码中添加.m文件。

答案 14 :(得分:0)

从Mac上断开设备时出现此错误,按项目名称上的项目(左上角的播放/停止构建按钮附近),选择设备 - > [iOS设备]并按产品 - >建立 另外我想提一下,该项目有很多第三方库和一些安装了pod的库。

答案 15 :(得分:0)

对我来说,这是因为我的主要可执行文件和我静态链接的库在Build Settings>中有不同的设置。架构。该库仅设置为“标准体系结构”,但主exe设置为“标准体系结构(包括64位)”。

我认为发生的事情是,当构建过程链接所有内容时,它发现它缺少64位版本的库,导致此错误。

将它们全部设置为相同的值(有或没有64位)解决了我的问题。

答案 16 :(得分:0)

我在我的项目中更新了一个框架,但不知何故错过了提交/推送其中一个文件' info.plist'(因为我的gitignore文件中存在一些问题)。从那时起,其他所有人都开始收到此错误。所以只是提交错过的info.plist文件修复了问题。希望这有助于某人。

答案 17 :(得分:0)

我尝试重新选择调试和发布的配置文件签名。这确实解决了这个问题。

答案 18 :(得分:0)

这通常是在XCode中更改部署目标之后发生的,并且在尝试构建之前可以通过“产品>清理”轻松解决。

答案 19 :(得分:0)

我同时使用迦太基和可可豆荚,这是我在不删除“构建阶段”部分中的“删除不需要的体系结构”的情况下解决问题的方法:

•转到目标中的“构建阶段”标签

•将“删除不需要的体系结构”(或您所谓的脚本)拖到更高的行(例如,在“编译源代码”上方)。

•清理并构建

希望有帮助!

答案 20 :(得分:0)

转到您的项目目录,找到构建文件夹并将其删除。 然后进行构建清理,然后构建项目。

我希望这对您有帮助