未定义的符号(针对架构armv7):cocoaPods iPhone 5。

10

只有在尝试在 iPhone 5 上构建和运行时,我才会遇到此错误。在 iPhone 6 或更高版本上运行良好。所有这些错误都是由 CocoaPods 生成的。我已经运行了 pod install、pod update,清除了 pods 并从头开始,但没有用:

在这里输入图片描述

我尝试过这里所有的答案:Undefined symbols for architecture armv7 for Cocoapods libraries,但没有成功。这是 pod install 的详细输出。

Analyzing dependencies

Inspecting targets to integrate
  Using `ARCHS` setting to build architectures of target `Pods-Celeo`: (``)

Finding Podfile changes
  - Braintree
  - ConciseKit
  - EDStarRating
  - Google
  - IDMPhotoBrowser
  - KAProgressLabel
  - MBProgressHUD
  - MagicalRecord
  - SFHFKeychainUtils
  - TwilioConversationsClient
  - TwilioSDK

Resolving dependencies of `Podfile`

Comparing resolved specification to the sandbox manifest
  - Braintree
  - ConciseKit
  - DACircularProgress
  - EDStarRating
  - FirebaseAnalytics
  - FirebaseInstanceID
  - Google
  - GoogleAnalytics
  - GoogleInterchangeUtilities
  - GoogleSymbolUtilities
  - GoogleUtilities
  - IDMPhotoBrowser
  - KAProgressLabel
  - MBProgressHUD
  - MagicalRecord
  - SDWebImage
  - SFHFKeychainUtils
  - TwilioCommon
  - TwilioConversationsClient
  - TwilioSDK
  - pop

Downloading dependencies

-> Using Braintree (4.3.1)

-> Using ConciseKit (0.1.2)

-> Using DACircularProgress (2.3.1)

-> Using EDStarRating (1.1)

-> Using FirebaseAnalytics (3.2.0)

-> Using FirebaseInstanceID (1.0.6)

-> Using Google (3.0.3)

-> Using GoogleAnalytics (3.14.0)

-> Using GoogleInterchangeUtilities (1.2.1)

-> Using GoogleSymbolUtilities (1.1.1)

-> Using GoogleUtilities (1.3.1)

-> Using IDMPhotoBrowser (1.8.4)

-> Using KAProgressLabel (3.2)

-> Using MBProgressHUD (0.9.2)

-> Using MagicalRecord (2.3.2)

-> Using SDWebImage (3.7.6)

-> Using SFHFKeychainUtils (0.0.1)

-> Using TwilioCommon (0.2.2)

-> Using TwilioConversationsClient (0.24.1)

-> Using TwilioSDK (1.2.10)

-> Using pop (1.0.9)
  - Running pre install hooks

Generating Pods project
  - Creating Pods project
  - Adding source files to Pods project
  - Adding frameworks to Pods project
  - Adding libraries to Pods project
  - Adding resources to Pods project
  - Linking headers
  - Installing targets
    - Installing target `Braintree` iOS 7.0
    - Installing target `ConciseKit` iOS 4.3
    - Installing target `DACircularProgress` iOS 5.0
    - Installing target `EDStarRating` iOS 4.3
    - Installing target `IDMPhotoBrowser` iOS 7.0
    - Installing target `KAProgressLabel` iOS 4.3
    - Installing target `MBProgressHUD` iOS 4.3
    - Installing target `MagicalRecord` iOS 6.1
    - Installing target `SDWebImage` iOS 5.0
    - Installing target `SFHFKeychainUtils` iOS 4.3
    - Installing target `pop` iOS 6.0
    - Installing target `Pods-Celeo` iOS 9.0
  - Running post install hooks
  - Writing Xcode project file to `Pods/Pods.xcodeproj`
    - Generating deterministic UUIDs
  - Writing Lockfile in `Podfile.lock`
  - Writing Manifest in `Pods/Manifest.lock`

Integrating client project

Integrating target `Pods-Celeo` (`Celeo.xcodeproj` project)
  - Running post install hooks
    - cocoapods-stats from
    `/Library/Ruby/Gems/2.0.0/gems/cocoapods-stats-1.0.0/lib/cocoapods_plugin.rb`

Sending stats
      - Braintree, 4.3.1
      - ConciseKit, 0.1.2
      - DACircularProgress, 2.3.1
      - EDStarRating, 1.1
      - FirebaseAnalytics, 3.2.0
      - FirebaseInstanceID, 1.0.6
      - Google, 3.0.3
      - GoogleAnalytics, 3.14.0
      - GoogleInterchangeUtilities, 1.2.1
      - GoogleSymbolUtilities, 1.1.1
      - GoogleUtilities, 1.3.1
      - IDMPhotoBrowser, 1.8.4
      - KAProgressLabel, 3.2
      - MBProgressHUD, 0.9.2
      - MagicalRecord, 2.3.2
      - SDWebImage, 3.7.6
      - SFHFKeychainUtils, 0.0.1
      - TwilioSDK, 1.2.10
      - pop, 1.0.9
  Pod installation complete! There are 11 dependencies from the Podfile and 21
  total pods installed.

你在目标的构建设置中指定了哪些有效的架构? - Shubhank
@Shubhank arm64 armv7 armv7s。没有加粗,所以我从未更改过它。我还应该说一下,这个问题只是在我更新了CocoaPods到1.0.0版本之后才开始出现的。 - Travis Beck
@TravisBeck,您能否在必要时添加警告信息? - sage444
在你的Pods->Products文件夹中,是否有libBraintree.a或libBT.a? - Vashum
你尝试过 pod deintegrate 吗? - srvv
3个回答

32
在Xcode中,按住Option键并选择Product / Clean Build Folder。 然后重新构建。 我曾经遇到过这个确切的问题,而这种“深度清理”对我很有帮助。
另外,请确保您的Pods项目的构建设置中,Build Active Architecture Only设置为NO。

2
它对我有效!问题发生在从0.39.0迁移到1.0.1期间。谢谢! - Palleraccio
1
这对我没有用。像Travis一样,我不得不回退到0.39.0,然后再次安装pod。Pod库在我的arm64设备上工作正常,但是当我尝试在我的armv7(iPad mini)上运行时,架构就无法构建。因此,这绝对是较新版本的Cocoapods存在的问题。 - Jason Shehane
谢谢...恰好这个解决了问题...可能与cocoapod版本有关.... - iSaalis
清理构建文件夹救了我的一天。为这个错误浪费了6个小时。谢谢啊。 - jayellos
@Mayr,感谢您的回复!但是对于我的特定情况,使用框架而不是静态库解决了我的问题。请参见下面的答案。 - Jason Shehane
显示剩余2条评论

8

大多数情况下,这很有效:

  1. 确保你的项目目标在构建设置中的 Other Linker Flags 中有 $(inherited)
  2. 如果上述方法未解决问题,请关闭Xcode。
  3. 打开Finder,在菜单栏中选择 前往文件夹
  4. 粘贴以下内容 - ~/Library/Developer/Xcode
  5. 找到名为 DerivedData 的(魔鬼)文件夹
  6. 删除它,即将其移动到垃圾箱(可选:清空垃圾箱)
  7. 现在在Xcode中打开你的工作区(可选:清理你的项目)
  8. 构建你的项目…感谢我以后再说吧。

如果这些方法都不起作用,请创建一个新问题,并在那里发布您的 pod install 日志。安装本身可能出现问题。确保您正在使用稳定的最新版本的Cocoapod。


我也是,$(inherited) 是关键! - Carles Estevadeordal

1

以上答案都没有帮到我。结果是使用框架而不是静态库来管理我的Pods解决了问题。在Podfile中添加use_frameworks!即可解决:

platform :ios, '9.3'
use_frameworks!

...rest of podfile

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接