【问题标题】:Flurry Ads integration issue when using cocoapds使用 cocoapods 时的 Flurry Ads 集成问题
【发布时间】:2016-04-13 19:53:21
【问题描述】:

按照Flurry Developer Documentation 上的说明,我正在使用 Cocoapods 将 Flurry Ads 集成到我的项目中。

我的 podfile 如下:

platform :ios, '9.0'
use_frameworks!

target 'Foo' do
    pod 'Flurry-iOS-SDK/FlurrySDK'
    pod 'Flurry-iOS-SDK/FlurryAds'
end

使用桥接头,因为在 Cocoapods 0.39 中我们可以使用use_frameworks! 来避免使用桥接头。我已将“Build Active Architecture”设置为 Yes for DebugNo for Release

这是我得到的错误:_OBJC_CLASS_$_FlurryXXXXXX referenced from FooViewController, linker command failed with exit code 1

【问题讨论】:

标签: ios9 cocoapods flurry


【解决方案1】:

我使用您的 CocoaPods 设置从 Scratch 集成 Flurry。 您必须添加一些成功运行应用程序所需的库和框架。

请附上图片中给出的框架和库:

libz.1.1.3.tbd
libz.1.2.5.tbd
libz.1.tbd
libz.tbd
SystemConfiguration.ramework
MediaPlayer.framework
AdSupport.framework
libFlurry_7.3.0.a
libFlurryAds_7.3.0.a
Security.framework
Flurry_iOS_SDK.framework
Pods_ProjectName.framework

将此行添加到 AppDelegate.swift

//  AppDelegate.swift

import Flurry_iOS_SDK

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.

    Flurry.startSession("YOUR_API_KEY");
    return true
}

【讨论】:

  • 所以这些要添加到 Main 项目而不是 Pods 项目中?
  • 将其添加到目标设置。
  • 主项目的目标还是Pods项目的Flurry目标?
  • 主要项目的目标。如果您发现任何问题,请告诉我。
  • 我尝试了上面的所有设置,仍然是同样的问题:(。我没有添加libFlurry*.a,因为这就是我在没有 Cocoapods 的情况下会做的事情。使用 Cocoapods 的全部意义在于我不必手动包含依赖项。
【解决方案2】:

正如在 github 问题 https://github.com/flurry/Flurry-iOS-SDK/issues/18 和这个 SO 答案中发布的那样:Use of unresolved identifier 'FlurryAdInterstitial':需要在 Flurry-iOS-SDK/FlurryAds podspec 中指定 -all_load 链接器标志。这是一个工作补丁(希望很快会合并到官方规范中,或者他们会以其他方式解决):

pod 'Flurry-iOS-SDK', :git => "git@github.com:justadreamer/Flurry-iOS-SDK.git"

希望这会为您节省一些时间

【讨论】:

  • 感谢您的努力,但我会等待官方回复。我已经联系了 Flurry 支持,他们说他们正在调查。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-07
  • 1970-01-01
  • 1970-01-01
  • 2017-05-28
  • 2015-05-26
  • 1970-01-01
相关资源
最近更新 更多