# GMPhobos

## About The Name 
The name is from the Data Center who named Mars

Phobos (systematic designation: Mars I) is the larger and innermost of the two natural satellites of Mars, the other being Deimos. Both moons were discovered in 1877 by American astronomer Asaph Hall.
Phobos is a small, irregularly shaped object with a mean radius of 11 km (7 mi),[1] and is seven times more massive than Deimos, Mars's outer moon. 
Phobos is named after the Greek god Phobos, a son of Ares (Mars) and Aphrodite (Venus) which was the personification of Horror. 
The name "Phobos" is pronounced /ˈfoʊbəs/ foh-bəs, or like the Greek Φόβος.

## Requirements
Require GMCache and libz

## Installation

GMPhobos is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:

```ruby
pod "GMPhobos"
```

Alternatively, you can install manually.  

1 Get the code:

```ruby
git clone git@git.gengmei.cc:gengmeiios/GMPhobos.git
```
  
2 Drag the Phobos subfolder to your project. Check both “copy items into destination group’s folder” and your target.

## Configuration
While you are free to initialize as many instances of Phobos as is appropriate for your application, there is a shared singleton instance that is globally available. 
This singleton instance is often configured in your app delegate’s application:didFinishLaunchingWithOptions: method:

```objc
#import "Phobos.h"

- (BOOL)application:(UIApplication *)application
  didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
     Phobos *client = [Phobos clientWithAppName:@"appname" channelId:@"appchannel"];
     [Phobos setSharedClient:client];
    /* ... */
    return YES;
}
```

If you would like to specify a user, you can set the userId that is used with the -[setUserId:] Instance method.
```objc
WMUser *user = [[WMLoginManager shareInstance] user];
[client setUserId:user.userId];
```
If you would like to use Phobos, you must set the currentCityId that is used with the -[setCurrentCityId:] Instance method.
```objc
WMCityObject *city = [GMCache fetchObjectAtDocumentPathWithkey:kCurrentCity];
    if (city) {
        [client setCurrentCityId:city.id];
    }
```

## Sending Messages
Sending a basic message:
```objc
[Phobos track:@"event_id"];
```

Sending a message with another attributes:
```objc
[Phobos track:@"event_id" attributes:@{}];
```

Sending a message with another attributes and send immediately:
```objc
[Phobos track:@"event_id" attributes:@{} sendNow:YES];
```


## Author
Guojun Zhai and Thierry Xing

## License

GMPhobos is available under the MIT license. See the LICENSE file for more info.