iOS5でも使えるUIActivityViewControllerの代替ライブラリ。
FacebookやTwitterの他、tumblrやpokcetなども用意されている。
こんな感じで使いたいActivityのインスタンスを作ってコントローラーを呼び出す。
REFacebookActivity *facebookActivity = [[REFacebookActivity alloc] init];
RETwitterActivity *twitterActivity = [[RETwitterActivity alloc] init];データはNSDictionary経由で渡す。activityViewController.userInfo = @{
@"image": [UIImage imageNamed:@"Flower.jpg"],
@"text": @"Hello world!",
@"url": [NSURL URLWithString:@"https://github.com/romaonthego/REActivityViewController"],
@"coordinate": @{@"latitude": @(37.751586275), @"longitude": @(-122.447721511)}
};ActivityはREActivityのサブクラスにしてinitを作るだけ。
- (id)init
{
return [super initWithTitle:@"Copy"
image:[UIImage imageNamed:@"REActivityViewController.bundle/Icon_Copy"]
actionBlock:^(REActivity *activity, REActivityViewController *activityViewController) {
[activityViewController dismissViewControllerAnimated:YES completion:nil];
NSDictionary *userInfo = activityViewController.userInfo;
NSString *text = [userInfo objectForKey:@"text"];
UIImage *image = [userInfo objectForKey:@"image"];
NSURL *url = [userInfo objectForKey:@"url"];
if (text)
[UIPasteboard generalPasteboard].string = text;
if (url)
[UIPasteboard generalPasteboard].URL = url;
if (image) {
NSData *imageData = UIImageJPEGRepresentation(image, 0.75f);
[[UIPasteboard generalPasteboard] setData:imageData
forPasteboardType:[UIPasteboardTypeListImage objectAtIndex:0]];
}
}];
}ライセンス:MIT
CococaPod対応



