iOS Social框架
現(xiàn)在很多應(yīng)用都內(nèi)置“社交分享”功能,可以將看到的新聞、博客、廣告等內(nèi)容分享到微博、微信、QQ、空間等,其實從iOS6.0開始蘋果官方就內(nèi)置了Social.framework專門來實現(xiàn)社交分享功能,利用這個框架開發(fā)者只需要幾句代碼就可以實現(xiàn)內(nèi)容分享。下面就以一個分享到新浪微博的功能為例來演示Social框架的應(yīng)用,整個過程分為:創(chuàng)建內(nèi)容編輯控制器,設(shè)置分享內(nèi)容(文本內(nèi)容、圖片、超鏈接等),設(shè)置發(fā)送(或取消)后的回調(diào)事件,展示控制器。
?
程序代碼:
1 // 2 // ViewController.m 3 // Social 4 // 5 // Created by HO on 16/3/28. 6 // Copyright ? 2016年 HO. All rights reserved. 7 // 8 9 #import "ViewController.h" 10 #import <Social/Social.h> 11 12 @interface ViewController () 13 14 @end 15 16 @implementation ViewController 17 18 #pragma mark - UI事件 19 - (IBAction)shareClick:(id)sender { 20 [self shareTosina]; 21 } 22 23 #pragma mark 私有方法 24 - (void)shareTosina{ 25 //檢查新浪微博服務(wù)是否可用 26 if (![SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) { 27 NSLog(@"新浪微博服務(wù)不可用."); 28 return; 29 } 30 //初始化內(nèi)容編寫控制器,注意這里指定分享類型為微博 31 SLComposeViewController * composeController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo]; 32 //設(shè)置默認信息 33 [composeController setInitialText:@"標題:iOS Social框架 新浪微博分享測試 內(nèi)容:順手給我new一個對象技術(shù)博客"]; 34 //添加圖片 35 [composeController addImage:[UIImage imageNamed:@"1.png"]]; 36 //添加鏈接 37 [composeController addURL:[NSURL URLWithString:@"http://www.cnblogs.com/HOYF/"]]; 38 //設(shè)置發(fā)送完成后的回調(diào)事件 39 __block SLComposeViewController * composeControllerForBlock = composeController; 40 composeController.completionHandler = ^(SLComposeViewControllerResult result){ 41 if (result == SLComposeViewControllerResultDone) { 42 NSLog(@"開始發(fā)送..."); 43 } 44 [composeControllerForBlock dismissViewControllerAnimated:YES completion:nil]; 45 }; 46 //顯示編輯視圖 47 [self presentViewController:composeController animated:YES completion:nil]; 48 } 49 50 51 52 - (void)viewDidLoad { 53 [super viewDidLoad]; 54 // Do any additional setup after loading the view, typically from a nib. 55 } 56 57 - (void)didReceiveMemoryWarning { 58 [super didReceiveMemoryWarning]; 59 // Dispose of any resources that can be recreated. 60 } 61 62 @end運行效果:
發(fā)送成功后:
在這個過程中開發(fā)人員不需要知道新浪微博的更多分享細節(jié),Social框架中已經(jīng)統(tǒng)一了分享的接口,你可以通過ServiceType設(shè)置是分享到Facebook、Twitter、新浪微博、騰訊微博,而不關(guān)心具體的細節(jié)實現(xiàn)。那么當運行上面的示例時它是怎么知道用哪個賬戶來發(fā)送微博呢?其實在iOS的設(shè)置中有專門設(shè)置Facebook、Twitter、微博的地方:
必須首先在這里設(shè)置微博賬戶才能完成上面的發(fā)送,不然Social框架也不可能知道具體使用哪個賬戶來發(fā)送。
轉(zhuǎn)載于:https://www.cnblogs.com/HOYF/p/5331141.html
總結(jié)
以上是生活随笔為你收集整理的iOS Social框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机控制课程设计体会,计算机控制技术课
- 下一篇: 十字链表表示矩阵c语言,十字链表法,十字