You could use a custom URL scheme. Apps like Facebook and WhatsApp generally have their own schemes that you can use to send data into those apps. See WhatsApp’s info here: Link
Alternatively, you could use a UIActivityViewController. This also supports other data types, not just strings (see this SO question).
NSString *textToShare = @"要分享的文本内容";
NSArray *activityItems = @[textToShare];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
[self presentViewController:activityVC animated:YES completion:nil];
Here’s a nice blog post on this method: Link
範例2號:
NSString *textToShare = @"要分享的文本内容"; UIImage *imageToShare = [UIImage imageNamed:@"iosshare.jpg"]; NSURL *urlToShare = [NSURL URLWithString:@"http://blog.csdn.net/hitwhylz"]; NSArray *activityItems = @[textToShare, imageToShare, urlToShare];
@property(nonatomic,copy) UIActivityViewControllerCompletionHandler completionHandler; // set to nil after call
typedef void (^UIActivityViewControllerCompletionHandler)(NSString *activityType, BOOL completed);
UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:nil];
//给activityVC的属性completionHandler写一个block。
//用以UIActivityViewController执行结束后,被调用,做一些后续处理。
UIActivityViewControllerCompletionHandler myBlock = ^(NSString *activityType,BOOL completed)
{
NSLog(@"activityType :%@", activityType);
if (completed)
{
NSLog(@"completed");
}
else
{
NSLog(@"cancel");
}
//放回上一级界面
[self.navigationController dismissModalViewControllerAnimated:YES];
};
// 初始化completionHandler,当post结束之后(无论是done还是cancell)该blog都会被调用
activityVC.completionHandler = myBlock;