8

我正在尝试将 iOS(纯 Objective-C)项目转换为 ARC。转换在 octest 目标 CreateUniversalBinary 阶段失败,并出现以下错误。项目和目标架构构建设置对我来说看起来是正确的,所以我很难理解为什么会失败:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo:无法确定架构类型:/Users/andybowskill/Library/Developer/Xcode/DerivedData/Make- Up_Kit-axtbxqtkmnlfmlcafkoetwqmeufc/Build/Intermediates/Make-Up Kit.build/Debug-iphoneos/Make-Up KitTests.build/Objects-normal/armv7/Make-Up KitTests 命令/Applications/Xcode.app/Contents/Developer/Platforms/ iPhoneOS.platform/Developer/usr/bin/lipo 失败,退出代码为 1

前面提到的 CreateUniversalBinary 命令如下:

CreateUniversalBinary“/Users/andybowskill/Library/Developer/Xcode/DerivedData/Make-Up_Kit-axtbxqtkmnlfmlcafkoetwqmeufc/Build/Products/Debug-iphoneos/Make-Up KitTests.octest/Make-Up KitTests”正常“armv7 armv7s”cd“/Users /andybowskill/Development/iOS/Make-Up Kit"setenv PATH"/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr /bin:/usr/bin:/bin:/usr/sbin:/sbin" lipo -create"/Users/andybowskill/Library/Developer/Xcode/DerivedData/Make-Up_Kit-axtbxqtkmnlfmlcafkoetwqmeufc/Build/Intermediates/Make-Up Kit .build/Debug-iphoneos/Make-Up KitTests.build/Objects-normal/armv7/Make-Up KitTests" "/Users/andybowskill/Library/Developer/Xcode/DerivedData/Make-Up_Kit-axtbxqtkmnlfmlcafkoetwqmeufc/Build/Intermediates/Make-Up Kit.build/Debug-iphoneos/Make-Up KitTests.build/Objects-normal/armv7s/Make-Up KitTests”-输出“/Users/andybowskill/Library/Developer/Xcode/DerivedData/Make-Up_Kit-axtbxqtkmnlfmlcafkoetwqmeufc/Build/Products/Debug-iphoneos/Make-Up KitTests.octest/Make-Up KitTests”

请有人帮忙解释错误吗?提前谢谢了!

4

3 回答 3

14

从目标中的“有效架构”中删除“armv7”(只留下“armv7s”)为我解决了这个问题。我的 iOS 部署目标是 4.3。

将“armv6”添加到目标中的“有效架构”并将我的 iOS 部署目标更新到 6.1 不起作用。

在 XCode 版本 4.6 (4H127) 中转换为 Objective-C ARC 时遇到

于 2013-03-07T19:03:46.873 回答
3

我再次搜索了我的项目构建设置,并注意到我已经删除了 armv6 架构支持,但仍然将部署目标设置为低于 4.3 的 iOS 版本。将部署目标更新到 iOS 4.3 或更高版本解决了该问题。

于 2013-02-05T21:01:47.363 回答
3

从 NON-ARC 迁移到 ARC 时,我也遇到了同样的问题。在挖掘和敲击头部之后,我知道了 2 个解决方案

  1. 在目标中的有效拱门中添加 armv6,或者
  2. 设置构建 Active Arch。只对NO。
于 2013-02-04T12:29:25.600 回答