【问题标题】:How to get CocoaPods-based project to work in the simulator?如何让基于 CocoaPods 的项目在模拟器中工作?
【发布时间】:2017-01-25 16:38:45
【问题描述】:

我是第一次尝试 CocoaPods,因为我继承了一个项目,该项目依赖于多个库。像this one 这样的文章听起来应该都是 Just Work,即使在模拟器中也是如此。

但这对我不起作用 — 对于 pod 库中定义的每个类,我都会收到“架构 i386 的未定义符号”。此外,还有一堆 ld 警告,类似于“ld: warning: ignoring file blah/blah/Build/Products/Debug-iphonesimulator/SocketRocket/libSocketRocket.a, file is built for archive which is not the architecture is linked (i386)”。我为每个 CocoaPods 库获取其中一个。

如何让 Xcode 为模拟器构建 pod 库(或链接正确的库,如果它们正在构建中)?

【问题讨论】:

  • 使用pod install 安装pod 后,您确定要打开ProjectName.xcworkspace 而不是ProjectName.xcodeproj 文件吗?

标签: ios xcode cocoapods


【解决方案1】:

好的,我已经成功了,但我不知道它是否需要这两个步骤:

  1. 按照建议here删除了派生数据
  2. 在 Pods 项目中,根据一些 cmets here 的建议,也将 Debug 的“Build Active Architectures Only”更改为“No”(对于 Ad Hoc 和 Release,它已经设置为 No)。李>

我知道仅第 1 步并没有做到这一点......但我不知道第 2 步本身是否就足够了。当然,他们两个一起为我做了诀窍。

【讨论】:

  • 我已经有了这些设置并遇到了不同的问题。我添加我的答案只是为了补充你的答案,这是正确的答案。
【解决方案2】:

添加此答案以防它对任何人都有帮助。

令我惊讶的是,我使用的是模拟器版本;不支持iPhone 5Xcode 没有给我任何迹象,直到我切换到 iPhone 6 simulator,它起作用了。当切换回iPhone 5 时,Xcode 随即抱怨“MyApp 没有 iPhone 5 可以执行的架构。”

这都是真的,我知道这一点,但我没有想到它,因为 Xcode 给我的前一个错误是 -lPods-MyApp 丢失了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-14
    • 2014-06-22
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多