做友盟分享之前的準(zhǔn)備工作有哪些

官方鏈接:http://www.umeng.com/social
嘛旅赢,為了做分享齿桃,建議多去搞幾個(gè)如微信、QQ煮盼、微博的開(kāi)發(fā)平臺(tái)賬號(hào)短纵。把那個(gè)啥AppId、AppKey/AppSecret之類的搞到手就行僵控。就是審核多香到,好麻煩的說(shuō),沒(méi)個(gè)幾天下不來(lái)。

頭文件

在x-code中是肯定要?jiǎng)?chuàng)建橋接頭文件的养渴,如下之類的雷绢,另外的自己找
#import "UMSocial.h"
#import "UMSocialQQHandler.h" //支持QQ
#import "UMSocialWechatHandler.h" //支持微信
#import "UMSocialSinaSSOHandler.h" //支持微博

添加的文件夾

你要分享到那個(gè)平臺(tái),就要添加對(duì)應(yīng)的文件理卑,友盟官方可以下載如YiXin(易信)翘紊、TencentOpenAPI(騰訊)、Wechat(微信)藐唠。手動(dòng)拖和Cocopodes都行
在x-code的target中的building settings里還要記得添加

 $(SRCROOT)/“你的工程名”/Bridge-Header.h(橋接頭文件的名字帆疟,我寫的是這個(gè))

x-code的target中的Build Phases里的Link binary with libraries中還要記得添加剛才那些文件夾的底層依賴文件哦,當(dāng)然用Cocopodes安裝的同學(xué)已經(jīng)自動(dòng)添加了宇立。不知道有那些依賴文件的去友盟官方網(wǎng)站找踪宠。

代碼相關(guān)
1.在AppDelegate中的代碼
 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
{
   //設(shè)置友盟的AppKey,用于標(biāo)示應(yīng)用程序
    UMSocialData.setAppKey("5779d71f67e58eb2fa001ffe")
    
    //注冊(cè)QQ和QQ空間的Appkey和AppId,這兩個(gè)參數(shù)是在騰訊開(kāi)放平臺(tái)上申請(qǐng)獲得的,(需要在騰訊開(kāi)放平臺(tái)上注冊(cè)賬號(hào)妈嘹,填寫相關(guān)信息柳琢,個(gè)人需上傳個(gè)人手持身份證正反面照片,公司需上傳公司營(yíng)業(yè)執(zhí)照润脸,審核時(shí)間在7個(gè)工作日之內(nèi)),url指的是分享的url柬脸,一般填寫對(duì)應(yīng)應(yīng)用在AppStore里的鏈接或者公司官網(wǎng),默認(rèn)為友盟的官方網(wǎng)址
    UMSocialQQHandler.setQQWithAppId("100424468", appKey: "5779d71f67e58eb2fa001ffe", url: "http:www.baidu.com")
    
    //注冊(cè)微信和微信朋友圈的AppKey和AppSecret毙驯,這兩個(gè)參數(shù)是在微信開(kāi)放平臺(tái)上申請(qǐng)獲得的(需要在微信開(kāi)放平臺(tái)上注冊(cè)賬號(hào)倒堕,填寫相關(guān)信息,無(wú)論是個(gè)人還是公司爆价,都需要上傳對(duì)應(yīng)應(yīng)用的appIcon垦巴,審核時(shí)間大概在3~5個(gè)工作日內(nèi)),url同QQ的
    UMSocialWechatHandler.setWXAppId("wxd930ea5d5a258f4f", appSecret: "db426a9829e4b49a0dcac7b4162da6b6", url: nil)
    
    //注意:為了配合蘋果的審核政策铭段,需要對(duì)未安裝的客戶端進(jìn)行隱藏,主要針對(duì)財(cái)大氣粗的QQ和微信
    UMSocialConfig.hiddenNotInstallPlatforms([UMShareToQQ,UMShareToQzone,UMShareToWechatSession,UMShareToWechatTimeline])
    
    return true
}

配置系統(tǒng)回調(diào)骤宣,特別是和微信支付或者支付寶支付的時(shí)候需要區(qū)分

func application(application: UIApplication, handleOpenURL url: NSURL) -> Bool {
    return true
}
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool
{
    //調(diào)用回調(diào)
    UMSocialSnsService.handleOpenURL(url)
    
    return true
}

2.在ViewController中的代碼

//坑:實(shí)現(xiàn)分享時(shí),特別是自定義分享面板時(shí)稠项,需要添加CoreLocation框架
import CoreLocation

class ViewController: UIViewController,UMSocialUIDelegate
{

//屏幕寬度
let screenWidth = UIScreen.mainScreen().bounds.size.width
//屏幕高度
let screenHeight = UIScreen.mainScreen().bounds.size.height

//自定義分享面板
var customView = UIView()

override func viewDidLoad()
{
    super.viewDidLoad()
    //創(chuàng)建自定義分享面板
    self.customView = UIView(frame: CGRectMake(0,screenHeight,screenWidth,200))
    self.customView.backgroundColor = UIColor.lightGrayColor()
    self.view.addSubview(self.customView)
    
    //新浪
    let sinaButton = UIButton(type: UIButtonType.Custom)
    sinaButton.frame = CGRectMake(10, 20, 40, 40)
    sinaButton.setImage(UIImage(named: "sina"), forState: UIControlState.Normal)
    sinaButton.addTarget(self, action: "shareToSina", forControlEvents: UIControlEvents.TouchUpInside)
    self.customView.addSubview(sinaButton)
}

@IBAction func customShareStyle(sender: AnyObject)
{
    
    //顯示自定義分享面板
    UIView.animateWithDuration(0.3) { () -> Void in
        self.customView.frame = CGRectMake(0, self.screenHeight - 200, self.screenWidth, 200)
    }
    
}
func shareToSina()
{
    //自定義分享面板的時(shí)候需要用postCommentWithContent實(shí)現(xiàn)評(píng)論內(nèi)容的發(fā)布
    //參數(shù)一:需要分享的平臺(tái)
    //參數(shù)二:需要分享的內(nèi)容
    //參數(shù)三:需要分享的圖片
    //參數(shù)四:位置涯雅,一般不作處理
    //參數(shù)五:分享資源
    //參數(shù)六:作用的控制器
    //參數(shù)七:分享完成之后的回調(diào)
    
    let urlResource = UMSocialUrlResource(snsResourceType: UMSocialUrlResourceTypeImage, url: "http://www.baidu.com/img/bdlogo.gif")
    UMSocialDataService.defaultDataService().postSNSWithTypes([UMShareToSina], content: "我是一個(gè)自定義樣式分享", image: nil, location: nil, urlResource: urlResource, presentedController: self) { (shareResponse: UMSocialResponseEntity?) -> Void in
        
        if shareResponse?.responseCode == UMSResponseCodeSuccess {
            print("分享成功")
        } else {
            print("分享失敗")
        }
    }
    
    //在分享的同時(shí)隱藏分享面板
    UIView.animateWithDuration(0.3) { () -> Void in
        self.customView.frame = CGRectMake(0, self.screenHeight, self.screenWidth, 200)
    }
}

//點(diǎn)擊屏幕隱藏自定義分享面板
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    UIView.animateWithDuration(0.3) { 
        self.customView.frame = CGRectMake(0, self.screenHeight, self.screenWidth, 200)
    }
}

//默認(rèn)分享樣式
@IBAction func defaultShareStyle(sender: AnyObject) {
/*
    //默認(rèn)快速實(shí)現(xiàn)分享
    //參數(shù)一:作用的控制器對(duì)象
    //參數(shù)二:appKey
    //參數(shù)三:要分享的文字
    //參數(shù)四:需要分享的圖片
    //參數(shù)五:準(zhǔn)備分享到的第三方平臺(tái)
    //參數(shù)六:代理對(duì)象
    UMSocialSnsService.presentSnsIconSheetView(self, appKey: "5779d71f67e58eb2fa001ffe", shareText: "走過(guò)路過(guò)千萬(wàn)不要錯(cuò)過(guò)", shareImage: nil, shareToSnsNames: [UMShareToWechatTimeline,UMShareToWechatSession,UMShareToQzone,UMShareToQQ,UMShareToSina], delegate: nil)
*/
    //默認(rèn)詳細(xì)分享
    //設(shè)置分享標(biāo)題
    UMSocialData.defaultData().extConfig.title = "分享標(biāo)題"
    //設(shè)置分享url,以qq舉例
    UMSocialData.defaultData().extConfig.qqData.url = "http://www.baidu.com"
    //設(shè)置分享的內(nèi)容
    UMSocialData.defaultData().extConfig.qqData.title = "分享到qq的內(nèi)容"
    UMSocialSnsService.presentSnsIconSheetView(self, appKey: "5779d71f67e58eb2fa001ffe", shareText: "走過(guò)路過(guò)千萬(wàn)不要錯(cuò)過(guò)", shareImage: nil, shareToSnsNames: [UMShareToWechatTimeline,UMShareToWechatSession,UMShareToQzone,UMShareToQQ,UMShareToSina], delegate: self)
    
}

//實(shí)現(xiàn)回調(diào)方法,需要遵守協(xié)議UMSocialUIDelegate
func didFinishGetUMSocialDataInViewController(response: UMSocialResponseEntity!)->Void 
{
    
    if response.responseCode == UMSResponseCodeSuccess
 {
        
        print("分享成功")
    }else
    {
        print("分享失敗")
        
    }
}

3.白名單

也不知道為啥這么搞展运,反正要弄活逆。
在info.plist文件上點(diǎn)右鍵打開(kāi)菜單,選open as ->source code拗胜,在把官方文檔中的白名單中你需要的內(nèi)容拷過(guò)來(lái)就OK了蔗候。
哦,還要記得打開(kāi)plist中的網(wǎng)絡(luò)連接喲埂软。

總結(jié)

寫了這么多锈遥,還得結(jié)合著友盟官方文檔來(lái)看纫事,要不然還是抓瞎。記得上官網(wǎng)哦所灸。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末丽惶,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子爬立,更是在濱河造成了極大的恐慌钾唬,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侠驯,死亡現(xiàn)場(chǎng)離奇詭異抡秆,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)吟策,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門儒士,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人檩坚,你說(shuō)我怎么就攤上這事着撩。” “怎么了匾委?”我有些...
    開(kāi)封第一講書人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵睹酌,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我剩檀,道長(zhǎng),這世上最難降的妖魔是什么旺芽? 我笑而不...
    開(kāi)封第一講書人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任沪猴,我火速辦了婚禮,結(jié)果婚禮上采章,老公的妹妹穿的比我還像新娘运嗜。我一直安慰自己,他們只是感情好悯舟,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布担租。 她就那樣靜靜地躺著,像睡著了一般抵怎。 火紅的嫁衣襯著肌膚如雪奋救。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 52,475評(píng)論 1 312
  • 那天反惕,我揣著相機(jī)與錄音尝艘,去河邊找鬼。 笑死姿染,一個(gè)胖子當(dāng)著我的面吹牛背亥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼狡汉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼娄徊!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起盾戴,我...
    開(kāi)封第一講書人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤寄锐,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后捻脖,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體锐峭,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年可婶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了沿癞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡矛渴,死狀恐怖椎扬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情具温,我是刑警寧澤蚕涤,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站铣猩,受9級(jí)特大地震影響揖铜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜达皿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一天吓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧峦椰,春花似錦龄寞、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至滔金,卻和暖如春色解,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背餐茵。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工冒签, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人钟病。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓萧恕,卻偏偏與公主長(zhǎng)得像刚梭,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子票唆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,308評(píng)論 25 707
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理朴读,服務(wù)發(fā)現(xiàn),斷路器走趋,智...
    卡卡羅2017閱讀 134,711評(píng)論 18 139
  • 就讓我用這樣的方式懷念你 用滿身的傷痛 用黑暗里絕望的凝視 用你僅存的力量 努力向上溯源找到回家的燈 承諾永不會(huì)放...
    RosemaryShu閱讀 182評(píng)論 1 1
  • 前兩天衅金,朵兒說(shuō)要給我們展現(xiàn)一下她的手廚藝!我們當(dāng)然求之不得簿煌! 主食:涮牛肉咖喱蛋包飯氮唯,飯后甜點(diǎn):芒...
    依然朵兒閱讀 290評(píng)論 0 0
  • 正常號(hào)轉(zhuǎn)銀行卡號(hào) - 增加4位間的空格 輸入框每4位加一個(gè)空格
    鄒鄒_ZZ閱讀 386評(píng)論 1 2