CocoaPods trunk is moving to be read-only. Read more on the blog, there are 14 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. |