32

我们刚刚更新到 XCode 5 GM,在 DP 5 下构建良好的项目(iPhone 仅针对 iOS 7)现在给出了错误:

ld: in /Users/dan/Documents/Projects/ImageProApp/Pods/SparkInspector/SparkInspector.framework/SparkInspector(ExplorerViewState.o), too many compact unwind infos in function anon for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我们使用 CocoaPods 来包含几个组件,CocoaAsyncSocket、CocoaLumberack、Spark Inspector 和 Reachability。我的猜测是,如果我们删除 Spark Inspector,这个错误只会引用另一个组件。

任何人都可以推荐一个修复?告诉我使用非紧凑展开信息的编译器/链接器标志是什么?

谢谢,

4

4 回答 4

33

更新:谷歌发布了谷歌分析库的修复 https://code.google.com/p/analytics-issues/issues/detail?id=338

在此处查看版本 v3.01: https ://developers.google.com/analytics/devguides/collection/ios/resources

FWIW,使用 Google Analytics 库,链接错误仅在部署目标设置为 7.0 时发生。例如,如果您将部署目标降至 6.1,则链接可以正常工作。

作为参考,关于 Google Ananlytics,我在Google 的 bug tracker中发布了一个问题。

于 2013-09-11T16:57:23.127 回答
7

将“ iOS 部署目标”更改为低于“iOS 7.0”的内容

里面

“项目”-> 构建设置-> 部署

为我工作,我想这与用于构建外部库的配置有关。当包含 Jot Touch SDK 时,我只面临模拟器的问题

于 2013-10-13T11:55:00.117 回答
7

解决方法:为设备构建。

与其说是修复,不如尝试为设备而不是模拟器构建您的应用程序。可能与64位的引入有关。

我可以存档我的应​​用程序,但是当我尝试为模拟器构建/运行时,它无法链接到您收到的相同错误。

需要明确的是,我也在使用 cocoapods。

于 2013-09-11T03:52:13.120 回答
1

这个答案可能来得有点晚,但我对第三方框架也有同样的问题。出于某种原因,我们在构建设置中添加了 -all_load 标志,但是当我删除它时,我们能够构建项目。

所以去:

项目 -> 构建设置 -> 其他链接器标志

并删除 -all_load 标志。

希望这可以帮助。

于 2014-09-24T15:45:02.897 回答