Home

Awesome

RoboPods

RoboPods are high-quality RoboVM code libraries and bindings for the most popular 3rd party services like social media integration, ad networks or crash reporting. Just add a RoboPod dependency to your project and you are ready-to-go!

Usage

A RoboPod comes in form of a simple JAR file published to Maven Central so you can easily integrate it with Maven or Gradle. Add a depencency to your Maven or Gradle build files, download native frameworks, define frameworks in robovm.xml and you are ready to go!

Versioning

It is recommended that you define the RoboPods version number globally in your build system, so you can refer to that when adding dependencies.

Gradle

In your project's root build.gradle file add the following at the top of the buildscript section:

buildscript {
   project.ext.robopodsVersion = "2.2.3"
}

When you add a dependency, you can refer to the variable like this:

dependencies {
   ... other dependencies ...
   compile "com.mobidevelop.robovm:robopods-facebook-ios:$robopodsVersion"
}

Maven

In your project's root pom.xml file add the following property:

<properties>
   <robopods.version>2.2.3</robopods.version>
</properties>

When you add a dependency, you can refer to the variable like this:

<dependency>
   <groupId>com.mobidevelop.robovm</groupId>
   <artifactId>robopods-facebook-ios</artifactId>
   <version>${robopods.version}</version>
</dependency>

Add native frameworks

Native frameworks can be embedded in the Robopod jars, but often need to be added manually. A robopod jar has embedded its native frameworks if in path META-INF/robovm/ios/libs/ .framework or .a files are present.

If natives are not present, you need to add them manually. Download the native frameworks, add them to the project and update robovm.xml.

Below an example if you'd like to use the Facebook SDK Share dialog.

Download the iOS SDK from https://developers.facebook.com/docs/ios/downloads

Copy the Bolts.framework, FBSDKCoreKit.framework and FBSDKShareKit.framework into ./lib (relative to robovm.xml)

Add to robovm.xml:

<frameworkPaths>
    <path>lib</path>
</frameworkPaths>


<frameworks>
    ...
    <framework>Bolts</framework>
    <framework>FBSDKCoreKit</framework>
    <framework>FBSDKShareKit</framework>
    ...
</frameworks>

Current versions

The RoboPods follow the same versioning as the core of RoboVM. To prevent compatibility issues make sure that you use the same version for the RoboPods and RoboVM.

The current stable version is:

2.2.3

If you want to use the latest and greatest of every RoboPod, use the latest snapshot version for your dependencies:

2.2.4-SNAPSHOT

List of RoboPods

This is the list of currently available RoboPods. Click them to get more information like install instructions.

NameDescription
AppodealThe mobile ad network Appodeal runs multiple premium networks under one integration.
AppsFlyerAppsFlyer mobile attribution & marketing analytics platform.
BoltsThis RoboPod is mainly used to make the Facebook and Parse RoboPods functional. Bolts is a collection of low-level libraries designed to make developing mobile apps easier.
FacebookBuild, grow, and monetize your app with Facebook. The Facebook SDK allows you to natively integrate Facebook into your app.
FirebaseFirebase Analytics and Firebase Messaging bindings.
FlurryMeasure, track and analyze app performance, user acquisition and activity with Flurry Analytics.
Google AnalyticsCollect, configure, and analyze your data to reach the right audience.
Google APIsGoogle APIs is used by several Google services such as Google Analytics to configure them in a single configuration file.
Google Mobile AdsAdMob is a mobile ads network. Gain insights about your users, drive more in-app purchases, and maximize your ad revenue.
Google SignInGet users into your apps quickly and securely, using a registration system they already use and trust—their Google account.
Google Personalized Ad ConsentObtain consent to serve personlized ads with AdMob from users within the EU.
IronSourceIronSource is a mobile ads network and mediation platform.
MapboxThe Mapbox SDK provides vector-based mapping.
ParseFocus on creating a great user experience and stop worrying about server maintenance and complex infrastructure.
ReachabilityMonitor network reachability.

AltPods

You can find additional RoboPods on Demyan Kimitsa AltPods repository.

These are some available AltPods (check repository link for the full updated list).

NameDescription
AppLovinSDKAn advertisement mediator SDK
BranchMetricsThe Branch Metrics iOS SDK for deferred and contextual mobile deep linking
ChartsBeautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart.
FirebaseFirebase (analytics, databases)
HelpShiftDeliver a superior customer service experience at a lower cost with Helpshift’s AI-powered messaging platform.
LottieAn iOS library to natively render After Effects vector animations
OneSignalOneSignal is a free push notification service for mobile apps
PollfishSimple Surveys
SAMKeychainSAMKeychain is a simple wrapper for accessing accounts, getting passwords, setting passwords, and deleting passwords using the system Keychain on Mac OS X and iOS
FacebookUsed to integrate the Facebook Platform with your iOS & tvOS apps

Creating/Updating RoboPods

Java bindings are generated semi-automatically with a Ruby script configured via a .yaml file [This tutorial] (https://dkimitsa.github.io/2017/10/19/bro-gen-tutorial/) explains how to create (and update) a RoboPod from scratch.