【问题标题】:CocoaPods use_frameworks! causes "Class X is implemented in both Y and Z"CocoaPods 使用_frameworks!导致“X 类在 Y 和 Z 中都实现”
【发布时间】:2015-06-14 01:11:15
【问题描述】:

我想通过CocoaPods v0.37.2 将一些 obj-c 库集成到我的 Swift 项目中。

这是我的 Podfile:

platform :ios, '8.0'
use_frameworks!

target 'MyApp' do
pod "FBSDKCoreKit", '~> 4.2.0'
pod 'FBSDKLoginKit', '~> 4.2.0'
pod 'FBSDKShareKit', '~> 4.2.0'
end

在模拟器上运行我的项目时,我总是在控制台上收到以下消息:

objc[40546]:FBSDKAccessToken 类在 /Users/brian/Library/Developer/CoreSimulator/Devices/2146BB4A-B290-4538-A090-41DA702BD959/data/Containers/Bundle/Application/8F5457C5-253A-4E65 中实现-B21A-12438B642201/MyApp.app/Frameworks/FBSDKCoreKit.framework/FBSDKCoreKit 和 /Users/brian/Library/Developer/CoreSimulator/Devices/2146BB4A-B290-4538-A090-41DA702BD959/data/Containers/Bundle/Application/8F5457C5- 253A-4E65-B21A-12438B642201/MyApp.app/MyApp。将使用两者之一。哪一个是未定义的。

(我收到很多类似的消息,这只是一个例子)

我确定这是由use_frameworks! 引起的。如果我从我的 Podfile 中删除这个语句并使用一个桥接头,这个错误就会消失并且一切都很好。

我已经用谷歌搜索了一段时间,但似乎没有人在 Internet 上遇到此错误。

在使用use_frameworks! 时如何消除此错误?

【问题讨论】:

    标签: swift cocoapods


    【解决方案1】:

    原来我不是从一开始就使用use_frameworks!,而是在我开始做我的项目之后才使用它。这触发了一个错误,导致我的模拟器上有 2 个相同库的源并引发了此错误。

    删除模拟器并重新添加它拯救了我。 (重置模拟器不起作用,您必须删除模拟器并通过Window > Devices重新添加它们)

    【讨论】:

      猜你喜欢
      • 2015-05-26
      • 2013-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-27
      • 1970-01-01
      • 2019-09-29
      相关资源
      最近更新 更多