Skip to content
Tua Rua edited this page Aug 23, 2020 · 38 revisions

Welcome to the Firebase-ANE wiki!

N.B. You must use a Mac to build an iOS app using these ANEs. Windows is NOT supported.

iOS

The latest version (0.13.0) is built against iOS 13.3 SDK and now working. You must use a device with at least iOS 12.2 and set this as minimum version in you InfoAdditions

<key>MinimumOSVersion</key>
<string>12.2</string>

Prerequisites

You will need

  • AIR 33.1.1.217+
  • Xcode 11.6
  • wget on macOS via brew install wget
  • Powershell on Windows
  • 7-Zip on Windows

Downloading Required Files

Using Terminal on Mac | Command Prompt on Windows

Check out the repo

git clone https://github.com/tuarua/Firebase-ANE.git

Change directory into the example folder eg

cd /MyMac/dev/AIR/Firebase-ANE/example

Run the "get_dependencies" scripts for iOS

bash get_ios_dependencies.sh

Run the "get_dependencies" scripts for Android

bash get_android_dependencies.sh

If using Windows for Android use Powershell

get_android_dependencies.ps1

These scripts download the FirebaseANEs and dependencies. eg:

  • example/ios_dependencies/*
  • example/android_dependencies/com.google.firebase.firebase-firestore-17.0.1.ane
  • native_extension/FirestoreANE/ane/FirestoreANE.ane
  • native_extension/AnalyticsANE/ane/AnalyticsANE.ane
  • etc ...

iOS: Packaging Frameworks Dependencies

The iOS FirebaseANEs are written in Swift. We need to package the Swift libraries (along with a couple of dynamic frameworks) with our AIR app

https://raw.githubusercontent.com/wiki/tuarua/Firebase-ANE/images/frameworks-package.png

To find out more about writing Swift based ANEs see FreSwift

Modifications to AIR SDK

We need to patch some files in AIR SDK.

  • Copy the files from AIRSDK_additions into the corresponding folders in your AIRSDK.
  • Create a file called adt.cfg under lib/ with the following contents:

UncompressedExtensions=jpg,jpeg,tflite,lite,emd,pb,tfl,wav,mp3,mp4

AIR 32 & 33

This ANE is built against AIR 33 SDK. AIR 32 is no longer supported.

IDE Java Memory

If you are including many FirebaseANEs (or many ANEs in general) you may get Memory errors from ADT when compiling your app. Ensure you are allocating a large enough JVM heap size:

For IntelliJ:

https://raw.githubusercontent.com/wiki/tuarua/Firebase-ANE/images/heap-size.png

For Flash Builder:

https://helpx.adobe.com/flash-builder/kb/sluggish-performance-out-memory-errors.html

Clone this wiki locally