Flurry Documentation - Sentences aren't even finished?

I’ll try to detail the steps I’ve gone through so far, but the end result hasn’t been successful yet. My current build has IOS Flurry enabled and crashes on launch in iOS (both development build through Editor and a packaged IPA through TestFlight), but does not crash on Android since it doesn’t use it. My previous build, without IOS Flurry enabled functions both on iOS and Android without crashing on launch. Tested on an iPhone 5 with iOS 9.1 and iPhone 6 Plus with iOS 9.3. The Android phone is a Xiaomi Redmi 2 with Android 4.4 in case that matters at all.

  1. I grabbed the source version of UE4 4.10.4 from here. Ran into a couple of issues with building the editor initially due to jpgd.cpp but fixed it as mentioned here.

  2. Opened the source version of the editor, and opened my project which it then spent time compiling everything (apparently source 4.10.4 doesn’t recognise binary 4.10.4 projects and vice versa, they treat them as ‘Other’).

  3. Edited IOSFlurry.Build.cs in UnrealEngine-4.10/Engine/Plugins/Runtime/Analytics/Flurry/IOSFlurry/Source/IOSFlurry/ to:


PublicAdditionalLibraries.Add(UEBuildConfiguration.UEThirdPartySourceDirectory + "NotForLicensees/Flurry/IOS/libFlurry_7.6.0.a");

  1. Copied Flurry.h and libFlurry_7.6.0.a into UnrealEngine-4.10/Engine/Source/ThirdParty/NotForLicensees/Flurry/IOS/

  2. Double checked my DefaultEngine.ini file in my project folder under Config contained the [Analytics] items.

  3. Built my iOS package for shipping to be tested on TestFlight and saw the following:

It definitely seems to succeed in building the modules.

While I cannot yet determine exactly what is causing the crash as I am still figuring out how to run the development build through Xcode to see what’s happening when it crashes on launch, I am wondering if one of these could be the reasons:

  1. I am running Start Session node on Event Begin Play instead of the Event Init node.
  2. Start Session node is not being run on the very first level that is loaded by the game, instead it’s run on the second level.
  3. Using 7.6.0 of Flurry does not jive well with UE4. I can move it back down to 7.3.0, but not 6.3.0 since I cannot find the source files for it (libFlurry_6.3.0.a and Flurry.h).

Also, is it possible to move the built IOSFlurry modules to a binary installation of Unreal Engine 4 to be used there?

UPDATE: Success! It finally works. Alright, I had to get through the packaged game crashing first. I’m uncertain what fixed it exactly, but these are the three things I did:

  1. Moved the project back to the binary version of the editor
  2. Unticked “Support Forward Rendering with Metal (A7 and up devices)”
  3. Made sure both certificate and mobile provision were in /Library/MobileDevice/Provisioning Profiles/ directory
  4. Start Session node gets called on very first map that is loaded in Event Begin Play

Now, packaging and running for Development and Shipping both work without crashes and Flurry’s Start Session succeeds! Had to wait the night for Flurry to showcase it (about 8 hours plus).

To answer my own question, I was able to move the IOS modules that were made in the source editor over to the binary editor. In the source editor, it names the modules ProjectName-IOSFlurry.a and ProjectName-IOSFlurry-IOS-Shipping.a. Renaming them to UE4-IOSFlurry.a and UE4-IOSFlurry-IOS-Shipping.a respectively allows the binary editor to recognise them.

To further answer myself, UE4 works with Flurry’s 7.6 SDK just fine. A big thank you Lauren for assisting me in this :slight_smile: