CocoaPods trunk is moving to be read-only. Read more on the blog, there are 18 months to go.
TestsTested | ✓ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | Dec 2014 |
Maintained by Matzo.
AB testing framework for native apps of iOS and Android.
Jails > iOS Device
then Project > Build
.Jails > iPhone 5.0 Simulator
then Project > Build
.libJails.a
and Jails.h
from Release-universal or Debug-universal
into your project.-ObjC -all_load
to Other Linker Flags
of Build Setting.// AppDelegate.m
#import "Jails.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
:
[Jails breakWithConfURL:[NSURL URLWithString:@"http://your.domain.com/path/to/conf/jails.json"]];
:
}
Select Project > Configure > Convert to AspectJ Project
.jails.jar
and aspectjrt.jar
(check AspectJ Runtime Library
at Order and Export in Java Build Path) to your project.ActivityAspect.aj
to your project.// MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
:
Jails.breakWithConfURL("http://your.domain.com/path/to/conf/jails.json");
:
}
{"ClassNameOfViewController": [
{ "ratio": 0 }, // A: 0%
{ "ratio": 100, // B: 100%
"branchName": "b",
"properties": [{
"name": "scrollView",
"frame": ["+0", "+44", "+0", "-44"]
},
{
"name": "view",
"createSubviews": [{
"class": "UIButton",
"background": "http://button/image.png",
"frame": ["0", "0", "320", "44"],
"action": "http://open/this/url/"
}]
}]
}
]}
Key | required | Description |
---|---|---|
ClassNameOfViewController | o | This class name can be changed. You can specified subclasses of UIViewController or UIView. |
ratio | o | Percentage for A/B test. |
branchName | - | You can use this name as parameter for your analytics tools. |
properties | - | You can change each properties with specified name. |
Key for properties or createSubviews | required | Description |
---|---|---|
name | o | variable name as a property |
background | - | If you specified as URL of image, draw as pattern tile. Or, draw color if you specified HEX color code. |
frame | - | UIView's frame for iOS. You can specify relatively position. |
text | - | For UILabel: changing labes's text. For UIButton: change buttons title. For UIWebView: change html contents. |
action | - | For UIWebView: you can specify URL for HTML contetnts. For UIButton: you can specify URL for to call openURL:, or selector for addTarget:action:forControlEvents: |
hidden | - | Change visibility of UI perts. |
createSubview | - | You can use this param for original properties. So you cannot build tree hierarchy. |