7

I am using Cocoapods to integrate Flurry Ads in my project as per the instructions on the Flurry Developer Documentation.

I have my podfile as below:

platform :ios, '9.0'
use_frameworks!

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

I am not using a Bridging Header since in Cocoapods 0.39 we can use use_frameworks! to avoid the bridging header. I have set the 'Build Active Architecture' to Yes for Debug and No for Release.

This is the error I get: _OBJC_CLASS_$_FlurryXXXXXX referenced from FooViewController, linker command failed with exit code 1

enter image description here

rgamber
  • 5,749
  • 10
  • 55
  • 99
  • I am having same problem http://stackoverflow.com/q/34478279/1378447 Opened an issue https://github.com/flurry/Flurry-iOS-SDK/issues/18#issuecomment-171512734 – Warif Akhand Rishi Jan 14 '16 at 10:19

2 Answers2

0

As posted in the github issue https://github.com/flurry/Flurry-iOS-SDK/issues/18 and in this SO answer: Use of unresolved identifier 'FlurryAdInterstitial': need to specify -all_load linker flag in the Flurry-iOS-SDK/FlurryAds podspec. Here is a working patch (hopefully will be merged into the oficial spec soon, or they will solve in other ways):

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

Hope this will save you some time

Community
  • 1
  • 1
justadreamer
  • 2,410
  • 2
  • 21
  • 24
  • Thanks for the effort, though I would wait for the official response. I have contacted the Flurry support and they said they are looking into it. – rgamber Jan 18 '16 at 22:44
-1

I integrate Flurry from Scratch using your CocoaPods Settings. You have to add some libraries and frameworks which are requires to run app successfully.

Please attach below given Frameworks and libraries as given in Images:

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

Add this line to 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
}

enter image description here

enter image description here

technerd
  • 14,144
  • 10
  • 61
  • 92